Ubuntu Cloud - 9.10
Sisukord
Sissejuhatus
Ubuntu 9.10 operatsioonisüsteem sisaldab populaarset cloud computing tarkvara Eucalyptus http://open.eucalyptus.com/. Kuigi üldiselt pilvelahendused ei ole seotud virtualiseerimisplatvormidega kasutab nt konkreetselt Ubuntu 9.10 KVM lahendust virtuaalarvutite pidamiseks.
Tööpõhimõte
Ubuntu Cloud koosneb sellistest komponentidest
- Cloud Controller (CLC) - ...
- Cluster Controller (CC) - ...
- Storage Controller (SC) - ...
- Node Controller (NC) - ...
Eesmärk
internet ... ....... | _|_ | | tulemüür |___| | 10.0.13.1, vaikelüüs | -------|-------------|----------------|----------------------------|------ | | | _|_ _|_ _|_ | | CLC | | NC | | VM virutaalne arvuti (nö asub NC sees KVM guestina) |___| |___| |___| eth0 - 10.0.13.180/24 vlan513 - aadressi pole eth0 - 172.19.1.2/27 eth0:priv - 172.19.1.1/27 br513 - 10.0.13.190 eth0:pub - 10.0.13.183/24
kusjuures
- UEC genereerib sellised paketifiltri reeglid public aadressidelt private aadressidele, st liiklus käib läbi CLC arvuti
# iptables -L -n -v -t nat Chain PREROUTING (policy ACCEPT 51 packets, 7851 bytes) pkts bytes target prot opt in out source destination 32 1920 DNAT tcp -- * * 172.19.0.0/16 169.254.169.254 tcp dpt:80 to:169.254.169.254:8773 7 492 DNAT all -- * * 0.0.0.0/0 10.0.13.183 to:172.19.1.2 Chain POSTROUTING (policy ACCEPT 32 packets, 6328 bytes) pkts bytes target prot opt in out source destination 30 2035 SNAT all -- * * 172.19.1.2 !172.19.0.0/16 to:10.0.13.183 19903 1194K MASQUERADE all -- * * 0.0.0.0/0 !172.19.0.0/16 Chain OUTPUT (policy ACCEPT 19922 packets, 1200K bytes) pkts bytes target prot opt in out source destination 9 636 DNAT all -- * * 0.0.0.0/0 10.0.13.183 to:172.19.1.2
CLC ettevalmistamine
CLC (Cloud Controller) arvuti ei pea ise olema virtualiseerimise võimelisel riistvaral, arvutisse tarkvara paigaldamiseks tuleb öelda
# apt-get install eucalyptus-cloud eucalyptus-cc eucalyptus-walrus eucalyptus-sc
CLC tööd juhib /etc/eucalyptus/eucalyptus.conf debconf abil moodustatud seadistusfail, mis võiks olla nt sellise sisuga
# egrep -v "^#|^$" /etc/eucalyptus/eucalyptus.conf EUCALYPTUS="/" EUCA_USER="eucalyptus" DISABLE_DNS="Y" ENABLE_WS_SECURITY="Y" LOGLEVEL="DEBUG" CC_PORT="8774" SCHEDPOLICY="ROUNDROBIN" POWER_IDLETHRESH="300" POWER_WAKETHRESH="300" NODES=" 10.0.13.190" NC_SERVICE="axis2/services/EucalyptusNC" NC_PORT="8775" HYPERVISOR="not_configured" INSTANCE_PATH="not_configured" VNET_PUBINTERFACE="eth0" VNET_PRIVINTERFACE="eth0" VNET_BRIDGE="br0" VNET_DHCPDAEMON="/usr/sbin/dhcpd3" VNET_DHCPUSER="dhcpd" VNET_MODE="MANAGED-NOVLAN" VNET_SUBNET="172.19.0.0" VNET_NETMASK="255.255.0.0" VNET_DNS="10.0.13.1" VNET_ADDRSPERNET="32" VNET_PUBLICIPS="10.0.13.183-10.0.13.189"
kus
- VNET_MODE - peab langema kokku NC arvutite vastavate parameetrite väärtustega
- VNET_SUBNET, VNET_NETMASK - virtuaalsete arvutite privaatsed aadressid, mis seadistatakse VM arvutile endile
- VNET_PUBLICIPS - CLC paketifiltrisse seadistatud nö avalikud teenuste aadressid, mille CLC süsteem seadistab viitama virtuaalsetele arvutite privaatsetele aadressidele
CLC paigaldamisel tuleb debconf dialoogis näidata
- klustri nimi
- nn avalike aadresside vahemik (nt 10.0.13.183-10.0.13.189)
- tundub, et Ubuntu 9.10 Postfixi seadistamisel on midagi katki, seepärast võiks paigaldamisel valida No configuration ja hiljem seadistada
NC ettevalmistamine
NC (Node Controller) arvutis peab olema seadistatud sobivalt võrk, nt sellise sisuga /etc/network/interfaces
auto lo iface lo inet loopback # NC ARVUTI HALDUS auto eth0 iface eth0 inet static address 10.0.5.248 netmask 255.255.255.0 gateway 10.0.5.1 # TEENUS auto vlan513 iface vlan513 inet manual vlan-raw-device eth1 auto br513 iface br513 inet static bridge_ports vlan513 bridge_fd 9 bridge_hello 2 bridge_maxage 12 bridge_stp off address 10.0.13.190 netmask 255.255.255.0
Vajaliku tarkvara paigaldamiseks tuleb öelda
# apt-get install eucalyptus-nc
NC tarkvara käivitamiseks sobib öelda
# /etc/init.d/eucalyptus-nc start
NC arvutit juhib seadistusfail /etc/eucalyptus/eucalyptus.conf
# egrep -v "^#|^$" /etc/eucalyptus/eucalyptus.conf EUCALYPTUS="/" EUCA_USER="eucalyptus" DISABLE_DNS="Y" ENABLE_WS_SECURITY="Y" LOGLEVEL="DEBUG" CC_PORT="8774" SCHEDPOLICY="ROUNDROBIN" POWER_IDLETHRESH="300" POWER_WAKETHRESH="300" NODES="" NC_SERVICE="axis2/services/EucalyptusNC" NC_PORT="8775" HYPERVISOR="kvm" INSTANCE_PATH="/var/lib/eucalyptus/instances" VNET_PUBINTERFACE="vlan513" VNET_PRIVINTERFACE="vlan513" VNET_BRIDGE="br513" VNET_DHCPDAEMON="/usr/sbin/dhcpd3" VNET_DHCPUSER="dhcpd" VNET_MODE="MANAGED-NOVLAN"
kus
- VNET_PUBINTERFACE, VNET_PRIVNTERFACE ja VNET_BRIDGE - millistel seadmetel toimub virtuaalse arvuti andmevahetus CLC ja süsteemi teenuste kasutajatega
- VNET_MODE - peab langema kokku CLC vastava parameetriga
Selleks, et süsteem saaks CLC arvutis SSH abil sisse logida NC arvutisse tuleb kopeerida CLC kasutaja eucalyptus avalik võti NC arvuti eucalyptus kasutaja alla, vastavad failid on kummaski arvutis kataloogis
/var/lib/eucalyptus
Ubuntu Cloud kasutamine
VM käivitamine
Virtuaalse arvuti käivitamiseks sobib öelda
$ euca-run-instances emi-DD45105A -k mykey -t c1.medium
Virtuaalse arvuti seiskamiseks sobib öelda
$ euca-terminate-instances i-3542075A