OpenStack

From ICO wiki
Revision as of 14:03, 2 January 2013 by Vvirk (talk | contribs)
Jump to navigationJump to search

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

Esmalt tuleks kopeerida enda masinasse rida skripte.

 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 seotus nõusoleku 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

 /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

root@ubuntu:~# 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)

Command (m for help): n Partition type:

  p   primary (0 primary, 0 extended, 4 free)
  e   extended

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

Command (m for help): w The partition table has been altered!

Calling ioctl() to re-read partition table. Syncing disks. root@ubuntu:~# pvcreate -ff /dev/sdb1

 Physical volume "/dev/sdb1" successfully created

root@ubuntu:~# vgcreate nova-volumes /dev/sdb1

 Volume group "nova-volumes" successfully created

SQL 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 admin 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 root@ubuntu:~# mysql -u nova -pstudent nova ja kui asi toimib siis exit Keystone

Järgmise asjana paigaldame OpenStacki osa Keystone. ./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 peaks Keystone kasutajale kuvama tabeli kasutajatest. Glance Glance on OpenStacki image haldur. 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 on phm OpenStacki võrgu haldur, üks tähtsamaid osi. 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äsku nova image-list nägema tabelit kus nimekiri allalaetu Image failidest. root@ubuntu:~# nova image-list +--------------------------------------+------------------+--------+--------+ | ID | Name | Status | Server | +--------------------------------------+------------------+--------+--------+ | 71b8b5d5-a972-48b3-b940-98a74b85ed6a | Ubuntu 12.04 LTS | ACTIVE | | +--------------------------------------+------------------+--------+--------+ Horizon Horizon on OpenStacki graafiline liides ja nö. töölaud Paigaldamiseks kasutame skripti ./openstack_horizon.sh Skripti lõppedes kuvatakse kasutajale URL kus kastaja 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/