Ubuntu Cloud - 9.10

Allikas: Kuutõrvaja
Redaktsioon seisuga 6. detsember 2009, kell 20:11 kasutajalt Imre (arutelu | kaastöö) (Ubuntu Cloud kasutamine)

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

NC seadistusfailis muudatuste tegemise järel tuleb öelda restart

 # /etc/init.d/eucalyptus-nc restart

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

NC registreerimine CLC süsteemis

Ettevalmistatud NC tuleb CLC juures registreerida öeldes

 # euca_conf --no-rsync --discover-nodes
 New node found on 10.0.13.190; add it? [Yn] Y
 --2009-12-06 15:55:04--  http://127.0.0.1:8774/axis2/services/
 Connecting to 127.0.0.1:8774... connected.
 HTTP request sent, awaiting response... 200 OK
 ....
 INFO: We expect all nodes to have eucalyptus installed in //var/lib/eucalyptus/keys for key synchronization.
 
 Trying scp to sync keys to: eucalyptus@10.0.13.190://var/lib/eucalyptus/keys/...
 done.

Ubuntu Cloud kasutamine

Ülidselt on CLC juhtimiseks mitmeid võimalusi, nt

Veebipõhine kasutajaliides

CLC süsteemi veebipõhine kasutajaliides asub aadressil https://10.0.13.180:8443/

Uec-1.gif

Käsurealt ehk euca2ools kasutamine

CLC süsteemi saab juhtida põhimõtteliselt suvalisest arvutis, mis saab üle võrgu pöörduda CLC poole, oluline on sellesse arvutisse paigaldada euca2ools pakett öeldes

 # apt-get install euca2ools

Selles, et saaks euca2oolisid kasutama asuda on vaja kopeerida CLC süsteemis sobivad võtmed, selles tuleb minna

https://10.0.13.180:8443/

Elastic Fox

TODO

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

Kasulikud lisamaterjalid