- 1.OpenStack + KVM = .com VPS #2 vnc, snapshotOpenStack + KVM =
.com VPS#2 vncsnapshotGMO K-OF 2012, Osaka:
2012/11/10http://www.slideshare.net/chroum/2012-osc-kyoto-openstack-vps-kvm
1
2. OpenStack + KVM = .com VPS #2 vnc, snapshot .com VPS VPS
CentOS 6.x + griddynamics.net OpenStack Diablo OpenStackVPS :1)
html5 VNC (vmvga ) :2) html5 VNC (us keymap) :3) snapshot 2 3.
OpenStack + KVM = .com VPS #2 vnc, snapshot (, Naoto Gohko)
@naoto_gohko , : GMO : : GMOSI-er : Bekkoame INTERNET, 3WEB,
webmail, .com web .com VPS VZ(Virtuozzo) ; GMO; .com VPS KVM ; ; w
3 4. OpenStack + KVM = .com VPS #2 vnc, snapshotGMO (1) .com VPS
VZ(2) GMO Virtuozzo(OpenVZ) OSswapEL6, Best EffortKVM .com VPS KVM
Linux KVM KVM VPSweb LB(Brocade ADX) VDI, Desktop Fusion-IO (3)
.com Desktop Hyper-V3, Thin ClientWindows8Hyper-V VM, WindowsGMOGMO
VPS GMO Public (Xen, KVM) SQALE (payperboy&co)KVMPlesk API
PaaSAPI4 5. OpenStack + KVM = .com VPS #2 vnc, snapshotGMO
http://cloud.gmo.jp/LB/ Fusion IO ioDriveUnit, US-Unit (Unit) TGS
2012 5 6. OpenStack + KVM = .com VPS #2 vnc, snapshotGMOXen (CentOS
5.3 dom0 + Xen 3.2)Scientic Linux / CentOS 6.0 KVM==>
VPS-KVMOpenStack Diablo.com VPS KVM/ 6 7. OpenStack + KVM = .com
VPS #2 vnc, snapshotSQALE (Payperboy&co,
PaaS)RubygithubdeploywebRuby on RailsSinatraPaaS==> web,
dbdeploy 7 8. OpenStack + KVM = .com VPS #2 vnc, snapshot.com VPS
VZ (Virtuozzo)VPS VZ(Virtuozzo := OpenVZ)VirtualHostOS (OS)Linux
(FreeBSDReactOS)SwapdiskHostOOMkillerVPS KVMOpenStack(OpenVZ, LXC)8
9. OpenStack + KVM = .com VPS #2 vnc, snapshot.com VPS VZ
(Virtuozzo)OS()chroot ==> OScong ==> VPS VZ Linux
KVMlibguestfsOS()kernelOSHost OSGuest OS/dev (VPN) 9 10. OpenStack
+ KVM = .com VPS #2 vnc, snapshot.com VPS KVM (native KVM)ISO
uploadOSLive CD boothttp/https/sshvirtIO
ON/OFFGMO()VIF(spoongIP)REST APIOpenStack Diablo() (1) 10 11.
OpenStack + KVM = .com VPS #2 vnc, snapshot.com VPS KVM web (.Net +
IIS) Windows ServerDB (mysql) (Linux
KVM)websocket-VNC(noVNC)ssh/consolesftprabbitmqdhcpldap(dhcp,
ssh)nova/keystone DB(mysql)nova Manage/APIISO upload storage
(GlusterFS, NFS)Linux KVM (nova Compute) CentOS 6.x nova Compute,
collectd, kvm11 12. OpenStack + KVM = .com VPS #2 vnc, snapshot.com
VPS KVM InternetL3 SW L3 SWAPI / Manage web (.Net) API / Manage
mysqldb API/ DBAPI / Manage API/nova Managenova Computenova
Computenova Computenova Computenova Computenova Compute glancenova
Computenova Computenova Computenova Compute sftpconsoleconsole
consolesftpconsoledhcpvnc RAID 10 local diskRAID 10 local disk
mqAPI / Manage mqldapmysqlmqdbnova DB Storagekeystone DBStorage ISO
storage (NFS) 12 13. OpenStack + KVM = .com VPS #2 vnc,
snapshot.com VPS KVM .com VPS VZ(Virtuozzo)IN/OUTFirewall>>
Port80 port, 22 port(php...)>> >> Linux bridgemail
gateway(SPAM)>> >> VPS KVMFirewallLinux
bridge(ebtables) 13 14. OpenStack + KVM = .com VPS #2 vnc,
snapshot.com VPS KVM Flat DHCP + VLAN bridge(FirewallLinux bridge)
GMONet() L3 SW(dhcp relay) L2 SW Rack L2 SW Linux
bonding(act.-stan.) Linux VLAN Linux bridge VM VIF(tap - virtio
NIC)14 15. OpenStack + KVM = .com VPS #2 vnc, snapshot.com VPS KVM
Internet GMO core backbone L3 SWL3 SWL3 SWL2 SW L3 SWdhcp relay
dhcp eth0 eth1 consolenova Computedhcpbond0bridge.VLAN1 libvirt
network lter consoleldapbridge.VLAN2 ebtalbesbridge.VLAN3 tc htb
(iproute)LDAPVMMACcollectdADDRESSIP eth0 VMeth0 eth0eth0VMVM VM 15
16. OpenStack + KVM = .com VPS #2 vnc, snapshotOpenStack
griddynamics.net Diablo CentOS6 CentOS 6.xpythonpython 2.6back port
libvirtCentOS http://yum.griddynamics.net/yum/diablo-centos/ =>
() src.rpm github.spec stable CentOS 6.3OSlibvirt diablo-centos
(EPEL(6) OpenStack)16 17. OpenStack + KVM = .com VPS #2 vnc,
snapshotOpenStack griddynamics.net Diablo CentOS6 shut off VPS VM
!= Cloud VM TerminateACPI shutdown noVNC nginx websocket proxy
https(active-active) VNIC (>>> noVNCEssex(python)>>
noVNC (javascript) noVNC (html5 Canvas +
WebSocketvnc(rfb))OpenStackauthhttp://www.moongift.jp/2011/02/20110219-2/https://github.com/kanaka/noVNChttp://novnc.com/python-nova-*.rpm
/usr/lib/python2.6/site-packages/nova/vnc/... Essex
(EssexnoVNCxvp)18 19. OpenStack + KVM = .com VPS #2 vnc,
snapshotOpenStack: html5 vnc (1)OpenStack dashboardvncnoVNC>>
Top>>ajaxAPIw19 20. OpenStack + KVM = .com VPS #2 vnc,
snapshothtml5 vnc (2)noVNCwebsocketCanvasweb browser(IE8Chrome
Frame) 20 21. / DB OpenStack + KVM = .com VPS #2 vnc, snapshotAPI /
Manage API/nova Manag html5 vnc (3) g sftpconsoleconsole
consolesftpconsoledhcpvnckmq API / Managemq ldap mysql mqdb nova
DBekeystone DBgee21 22. OpenStack + KVM = .com VPS #2 vnc,
snapshothtml5 vnc (3): nginxwebsocketreverse proxy + dnsnginx
websocket reverse proxy patch(nginx
1.3)https://github.com/yaoweibin/nginx_tcp_proxy_modulePort
6080vncproxyPort 80/443[n-gohko@vnc1001 ~]$ ps axu | grep nova |
grep -v greproot 15509 0.4 2.0 451048 81164 ? S Jul11 152:13
/usr/bin/python /usr/bin/nova-vncproxy
--flagfile=/etc/nova/nova.conf
--logfile=/var/log/nova/nova-vncproxy.log
--pidfile=/var/run/nova/nova-vncproxy.pid[n-gohko@vnc1001 ~]$ ps
axu | grep nginx | grep -v greproot 1303 0.0 0.0 93188 1492 ? Ss
Jun26 0:00 nginx: master process /usr/sbin/nginx -c
/etc/nginx/nginx.confnginx 1304 0.1 0.0 94100 3472 ? S Jun26 54:44
nginx: worker process 22 23. OpenStack + KVM = .com VPS #2 vnc,
snapshothtml5 vnc (3): nginx websocket reverse proxytcp
{proxy_read_timeout 6000;proxy_send_timeout 6000;upstream
websockets { server 172.20.113.31:6080;#check interval=3000 rise=2
fall=5 timeout=1000;check_http_send "GET / HTTP/1.0rnrn";}server {
#listen 6081; server_name _; listen 443;access_log
/var/log/nginx/access.ssl.log;ssl on;ssl_certificate
/etc/nginx/ssl/ast.myvps.jp/ast.myvps.jp.pem;ssl_certificate_key
/etc/nginx/ssl/ast.myvps.jp/ast.myvps.jp.key;ssl_protocolsSSLv3
TLSv1;ssl_ciphers HIGH:!ADH:!MD5;tcp_nodelay on;proxy_pass
websockets;}}23 24. OpenStack + KVM = .com VPS #2 vnc,
snapshothtml5 serial console: anyterm +
conservernova-console(ajax-term)anyterm(OpenStack
Diabloajax-term)http://anyterm.org/anytermweb (anyterm -->
console)(OpenStack Essexajax-term)Pointpop-upURL [Enter `^Ec? for
help]iu1-000007ff 24 25. OpenStack + KVM = .com VPS #2 vnc,
snapshothtml5 serial console: anyterm token
https://console1001.myvps.jp/anyterm/proxy/11048/
anyterm.html?token=bb268280-8e4e-41c1-894f-
ac325079530f&title=iu1-000007ff nova-consolehttpd apache
reverse proxy (Port 80/443)[root@console1001 ~]# ps -aef | grep
httpd | grep -v greproot 1523 1 0 Jul09 ? 00:00:38
/usr/sbin/httpdapache 3385 1523 0 Jul29 ?00:00:04
/usr/sbin/httpdapache 3386 1523 0 Jul29 ?00:00:04
/usr/sbin/httpdapache 3387 1523 0 Jul29 ?00:00:04
/usr/sbin/httpdapache 23084 1523 0 Jul31 ?00:00:03
/usr/sbin/httpdapache 26971 1523 0 Aug01 ? 00:00:02
/usr/sbin/httpd[root@console1001 ~]# netstat -antp | grep
pythontcp0 0 172.20.113.36:33841 172.20.113.54:3306 ESTABLISHED
2712/pythontcp0 0 172.20.113.36:44081 172.20.113.32:5672
ESTABLISHED 2712/pythontcp0 0 172.20.113.36:44084
172.20.113.32:5672 ESTABLISHED 2712/python 25 26. OpenStack + KVM =
.com VPS #2 vnc, snapshotssh serial console: ldap ssh +
conserverssh serial consolessh loginshellconsolesshvmanytermssh
serial console [Enter `^Ec? for help]conservervirsh console 26 27.
OpenStack + KVM = .com VPS #2 vnc, snapshot1)
vmvgalibvirtdenekvmVideoOpenStack cirrusvmvgavmware) debian
6.0.6kernel...VMvirsh dene .xml - + + 27 28. OpenStack + KVM = .com
VPS #2 vnc, snapshot2) us keymap libvirtdenekvmVNCkeymap ja (jis)
US en-us keymap 28 29. OpenStack + KVM = .com VPS #2 vnc,
snapshot3) snapshotvm disk image*1) *2) revert disk(applie)*3)
convertdisk()1VPS!!OOSSUUbbuunnttuuddeesskkttooppBBlluueeOOnnyyxx55110088RRSSmmaarrttOOSS!!!!29
30. OpenStack + KVM = .com VPS #2 vnc, snapshot3) snapshot ;
snapshot create*1) # qemu-img snapshot -c disk.img
OOppeennSSttaacckk vviirrsshhssnnaappsshhoott 30 31. OpenStack +
KVM = .com VPS #2 vnc, snapshot3) snapshot ; snapshot create31 32.
OpenStack + KVM = .com VPS #2 vnc, snapshot3) snapshot ; snapshot
revert disk*2) # qemu-img snapshot -a disk.imgsimple !32 33.
OpenStack + KVM = .com VPS #2 vnc, snapshot3) snapshot ; snapshot
revert disk 33 34. OpenStack + KVM = .com VPS #2 vnc, snapshot3)
snapshot ; convert*3) disk image# qemu-img convert -f qcow2 -O
qcow2 disk.img(old) disk.img(new)disk!! >> compute
nodeDiabloVPSnova-clientAPIVNC, API1) VNC keymap en-us 2) VNC
vmvga3) 50 51. OpenStack + KVM = .com VPS #2 vnc,
snapshot(2)snapshotIP(Floting IP)IPv6>> >> NICIP
Alias>> IPv6webwebcong>> injection>> cloud-init51
52. OpenStack + KVM = .com VPS #2 vnc, snapshot60(1GB memory)GMO
K-OF 2012 52 53. OpenStack + KVM = .com VPS #2 vnc, snapshotSpecial
Thanks!GMO Internet Inc., System Div., SI Team and Cloud
Team,Hostingh Team53 54. OpenStack + KVM = .com VPS #2 vnc,
snapshot 54 55. OpenStack + KVM = .com VPS #2 vnc, snapshotTGS 2012
Honda Fit55 56. OpenStack + KVM = .com VPS #2 vnc, snapshot TGS
2012 PixiveGMOw 56