OpenStack

From EIK wiki

Veiko Virk A21

Mis on OpenStack

OpenStack on pilvepõhine haldustarkvara mis annab kasutajale võimaluse disainida,koostada ja hallata iseenda pilveteenust. OpenStack arhitektuur koosneb järgmistest põhi komponentidest

  • Compute (Nova) – on kõige peamine programm mille eesmärgiks on kogu süsteemi kordineerimine
  • Object Storage (Swift) – on efektiivne andmesalvestus süsteem mille eesmärgiks on suuremahuliste andmete transport ja nende salvestamine üle HTTP.
  • Image Service (Glance)- on erinevate Image failide halduseks väljatöötatud programm. OpenStack toetab erinevaid Image põhiseid formaate nagu:

Raw;Machine (kernel/ramdisk AMI;VHD (Hyper-V; VDI (VirtualBox); qcow2 (Qemu/KVM); VMDK (VMWare); OVF (VMWare, teised)

  • Identity (Keystone) – on OpenStacki kasutajate haldus teenus, läbi mille käib kõik kasutajatega seonduvad tegevused nt. projektide ligipääsud,erinevad õigused, paroolid jne.
  • Dashboard (Horizon) - on veebipõhine kasutajaliides läbi mille saab kasutaja kasutada teisi teenuseid.
  • Networking (Quantum) – on OpenStacki osa mille ülesandeks on pakkuda võrguliiklust erinevate seadmete vahel
  • Block Storage (Cinder) – On Novas olevate projektide eraldamine ja nende muutmine eraldi iseseisvateks. Kuna Nova on üpriski keeruline osa OpenStack projektist siis parema ülevaate saamiseks kasutatakse Cinderit.

OpenSack paigaldus Ubuntu 12.04

Kui on plaan reaalselt pilve meisterdada siis on soovituslikud nõuded: Arvutusvõimeline seade millel on 8GB RAM, 4 tuumaline protsessor, 2 kõvaketast, 2 võrgukaarti ja värskelt paigaldatud serveri OS. Järgnevalt paigaldame OpenStack'i Ubuntule 12.04. Järgnevate toimingute käigus kasutatud andmeid ei ole soovitav kasutada (paroole, võrguaadresse) kui plaanite kasutada pilveteenus keskkonnas mis eeldab turvalisust. Esimene asi mida tuleks teha on süsteemi uuendamine. Selleks tuleb sisestada lihtne käsk.

sudo su
apt-get update

Kuna OpenStack tarkvara installeerimiseks on veebis olemas rohkesti kasulike skripte tuleks paigaldada GIT.

apt-get install git

Peale edukat paigaldamist tuleb kasutajal kopeerida enda masinasse rida skripte mis OpenStack'i paigaldamise hulga lihtsamaks teevad.

git clone git://github.com/StackGeek/openstackgeek.git
cd openstackgeek

Paigalduse alustamiseks tuleb käivitada esimene skript

./openstack_base_1.sh

Peale skripti käivitamist küsitakse kasutajalt paigaldusega seotud küsimusi. Nendele ikka „y” ja Enter. Kui see skript oma tööga valmis saab kuvatakse kasutajale võrgusätteid. Allpool antakse ka juhiseid mida nendega peale hakata.

Testimise eesmärgil kasutame järgnevaid sätteid ja käsuga

nano /etc/network/interfaces 

muudame enda eth0 sätteid.

 auto eth0 
 iface eth0 inet static
 address 10.0.1.20
 network 10.0.1.0
 netmask 255.255.255.0
 broadcast 10.0.1.255
 gateway 10.0.1.1
 dns-nameservers 8.8.8.8

auto eth1 Sätted tuleks salvestada ja võrgukaardile taaskäivitus teha. Selleks sisestame käsu

/etc/init.d/networking restart

Järgnevalt tuleb käivitada skript

./openstack_base_2.sh

LVM

Kuna OpenStack kasutab rohkesti pakette võib nende allalaadimine aega võtta. Kui teine skript on oma tööga lõpule jõudnud kuvatakse kasutajale tabel kus öeldakse, et OpenStack Nova vajab LVM abi uute volumite tegemiseks.

Selleks tuleb sisestada käsk

fdisk /dev/sdb
 Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
 Building a new DOS disklabel with disk identifier 0xb39fe7af.
 Changes will remain in memory only, until you decide to write them.
 After that, of course, the previous content won't be recoverable.
 Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Teeme uue partitsiooni vajutades klahvi "n"

 Command (m for help): n
 Partition type:
    p   primary (0 primary, 0 extended, 4 free)
    e   extended

Valime primaarse partitsiooni klahviga "p" ja edasi kasutame vaikimisi seadeid ja anname partitsiooni suuruseks (size) 5GB

 Select (default p): p
 Partition number (1-4, default 1): 1
 First sector (2048-62914559, default 2048): 
 Using default value 2048
 Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +5G

Kirjutame tehtud muudatused kettale vajutades klahvi "w"

   Command (m for help): w
 The partition table has been altered!
 Calling ioctl() to re-read partition table.
 Syncing disks.

Järgnevalt sisestame käsud

pvcreate -ff /dev/sdb1

Väljundiks peab kindlasti olema edukas toiming

Physical volume "/dev/sdb1" successfully created

Ja

vgcreate nova-volumes /dev/sdb1

Väljundiks peab kindlasti olema edukas toiming

Volume group "nova-volumes" successfully created

MySQL

Järgmise asjana paigaldame MySQL, selleks kasutame skripti

./openstack_mysql.sh

Peale käsu sisestamist küsitakse parooli. (soovitav on see meelde jätta)

Mõne aja möödudes küsib MySQL administraatori parooli. Testimise eesmärgil kasutame parooli student. Skripti töö lõpus küsitakse kasutajalt seda sama parooli.

Järgmisena tasuks üle vaadata kas antud toiming ka tegelikuses aset leidis. Selleks proovime siseneda MySQL andmebaasi käsuga

mysql -u nova -pstudent nova

Mysqlconfirm.png

ja kui asi toimib siis exit

Keystone

Järgmise asjana paigaldame OpenStacki osa Keystone. Selleks käivitame skripti

./openstack_keystone.sh

Aja möödudes küsitakse kasutajalt tokenit ja parooli. Testi eesmärgil kasutasime tokenit student ja parooli student mille me eelnevalt sisestasime. Email sisestatakse lihtsalt teie andmebaasi. Selleks, et näha kas Keystone töötab tuleb teha 2 käsku. Kõigepealt

. ./stackrc

Ja siis

keystone user-list

Peale viimast käsusisestust, peaks Keystone kasutajale kuvama tabeli kasutajatest.

Glance

Glance paigaldamiseks tuleb käivitada skript

./openstack_glance.sh

Kuna antud skript võtab veidi aega on praegu just see moment kus kasutaja saab püsti tõusta ja endale tass kohvi teha.

Käsuga

glance index

kuvatakse kasutajale tabel OS Image-st

Nova

Nova paigaldamiseks kasutame skripti

./openstack_nova.sh

Peale skripti käivitamist küsitakse kasutajalt võrguseadeid. Testimiseks kasutame näites antud andmeid.

#############################################################################################################
The IP address for eth0 is probably 10.0.1.35. Keep in mind you need an eth1 for this to work.
#############################################################################################################
Enter the primary ethernet interface IP: 10.0.1.35
Enter the fixed network (eg. 10.0.2.32/27): 10.0.2.32/27
Enter the fixed starting IP (eg. 10.0.2.33): 10.0.2.33
#######################################################################################
The floating range can be a subset of your current network.  Configure your DHCP server
to block out the range before you choose it here.  An example would be 10.0.1.224-255
#######################################################################################
Enter the floating network (eg. 10.0.1.224/27): 10.0.1.224/27
Enter the floating netowrk size (eg. 32): 32

Kui skript on töö lõpetanud peaks kasutaja võimeline nägema tabelit kus on nimekiri allalaetud Image failidest. Selleks tuleb sisestada käsk

nova image-list

Käsu väljund peaks kuvama midagi sarnast.

+--------------------------------------+------------------+--------+--------+
|                  ID                  |       Name       | Status | Server |
+--------------------------------------+------------------+--------+--------+
| 71b8b5d5-a972-48b3-b940-98a74b85ed6a | Ubuntu 12.04 LTS | ACTIVE |        |
+--------------------------------------+------------------+--------+--------+

Horizon

Horizon paigaldamiseks kasutame skripti

./openstack_horizon.sh

Skripti lõppedes kuvatakse kasutajale URL kus kasutaja saab end sisse logida.

##################################################################################
The horizon dashboard should be at http://10.0.1.35/. Login with admin/student
##################################################################################

Kasutatud kirjandus