OpenStack
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
Nõuded: Arvutusvõimeline seade millel on 8GB RAM, 4 tuumaline protsessor, 2 kõvaketast, 2 võrgukaarti ja värskelt paigaldatud OS. 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
root@ubuntu:~# 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
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 peale käsu sisestamist nägema tabelit kus nimekiri allalaetud Image failidest
nova image-list
+--------------------------------------+------------------+--------+--------+ | 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
- http://ken.pepple.info/openstack/2012/09/25/openstack-folsom-architecture/
- http://ken.pepple.info/openstack/2011/04/22/openstack-nova-architecture/
- http://www.openstack.org/software/
- http://www.hastexo.com/resources/docs/installing-openstack-essex-20121-ubuntu-1204-precise-pangolin
- http://www.stackgeek.com/guides/gettingstarted.html
- http://cssoss.wordpress.com/2011/04/27/openstack-beginners-guide-for-ubuntu-11-04-installation-and- configuration/