OpenStack installeerimine ja kasutamine Debianil
Toores. Ehk seda pala võib täiendada.
NB! Installeerimise osa töötab päris kenasti, aga arutluse tulemusel otsustasime, et matame openstacki mõtte maha.
Kui on huvi, tahtmist ja teadmist, siis võib vabalt seda kirjatükki täiendada.
Sisukord
Sissejuhatus
OpenStack [1] on oma olemuselt võrreldav Proxmox Virtual Environmentiga (vaata ka Proxmox VE 2.x juhendit). Ehk siis tegemist on klastriga, kuhu võimalik luua virtuaalserverite pilv.
See juhend on nii installeerimise õpetus kui ka manuaal kasutamiseks. Juhend on avalikustatud 9.jaanuar 2014, töö autoriks Sten Aus.
Loomulikult enne installeerimist peab olema korda seatud server / virtuaalmasin, millel soovite töökeskkonda katsetada. Nagu mainitud, katsetamiseks sobib ka virtuaalkeskkond, küll aga ei suuda mõelda olukorrale, kus virtuaalserverile loodud keskkonnale luuakse veel omakorda virtuaalserverid. St virtualiseerimise virtualiseerimine.
Lisaks peab olema serverile külge ühendatud vähemalt kaks kõvaketast, millest üks võib olla väiksem - sinna läheb installeeritakse Debian ja muud süsteemsed failid ning teine (soovitatavalt suurem), mis jagatakse LVM'iga välja ja kuhu peale installeeritakse virtuaalmasinad ja nendega seotud failid.
Allpool leiduv skript (.sh fail) tuleks käivitada kasutajaõigustes ja administraatori õiguseid kasutada ainult vastavate käskude juures, kus see on eraldi välja toodud!
OpenStacki paigaldamine
OpenStacki installeerimiseks on vääääääääga palju variante ja võimalusi. Neid on isegi rohkem kui täpitähti eelmises lauses. AGA. Tähtis on see, et installeerimisel tuleb valida õige lähenemine.
Väga pikk lähenemine on see, kui hakata käsitsi kõiki komponente installeerima. Seda võib teha juba kogenenud faasis, kui teid valdab tunne, et olete OpenStacki ekspert. Küll aga esimeseks installatsiooniks soovitab käesoleva kirjatöö autor kasutada eelvamistatud skripti, mis on ära mainitud (ja soovitatud kasutamiseks) ka OpenStacki enda kodulehel.
Antud juhendi koostamisel on operatsioonisüsteemiks valitud Debian 7.3.
OpenStacki käsitsi paigaldus
Proxy node (server kus asuvad kõik olulised openstacki teenused) on ainus masin mis ühendatud otse internetiga. Teised füüsilised serverid (compute nodes, cinder machines, swift machines etc) kasutavad internetti läbi proxy masina NATi. Virtuaalmasinad saavad internetiühenduse läbi Neutron (varasem nimi Quantum) serveri, mis pakub neile võrguühendust läbi dünaamiliselt loodud võrkude.
SQL server
Paljud OpenStacki teenused vajavad enda kõrvale sqli, et säilitada erinevat tüüpi informatsiooni. Mysql või mariadb tunduvad mõolemad hästi sobivat
Nova
Tekitame nova jaoks baasi ja kasutaja
mysql> create database nova character set latin1; mysql> grant all privileges on nova.* to nova@localhost identified by 'foobar';
Seadistame need novasse /etc/nova/nova.conf:
--sql_connection=mysql://nova:foobar@localhost/nova
Ja täidame andmebaasi infoga
# nova-manage db sync
glance
SQLi seadistused asuvad failis /opt/stack/glance/etc/glance-registry.conf
sql_connection = mysql://glance:yourpassword@192.168.206.130/glance
Näide image faili importimisest
# glance image-create --name "Gentoo 20130707" --is-public false --disk-format qcow2 --container-format bare < gentoo.img
keystone
Openstacki indentiteedi teenus. /etc/keystone.conf
sql_connection = %SQL_CONN%
Neutron ja Open VSwitch
Eraldi tuleks paigaldada plugin Open VSwitch Plug-in for OpenStack Quantum. Peale selle paigaldamist tuleb nova.conf fali täiendada:
--libvirt_vif_type=ethernet --libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtOpenVswitchDriver --linuxnet_interface_driver=nova.network.linux_net.LinuxOVSInterfaceDriver --quantum_use_dhcp
Melange
IP aadressi haldus ja dhcp/dnsmasq võimalused. SQL konfimiseks /etc/melange/melange.conf
OpenStacki paigaldamine OpenCrowbar abil
Põhimõtteliselt tuleks installida Centos 6.6 nt järgneva juhendi järgi https://github.com/opencrowbar/core/blob/develop/doc/deployment-guide/Install-CentOS-RHEL-6.6-AdminNode.md
cd /etc/sysconfig/network-scripts/
ja muuta faile ifcfg-eth0 ning ifcfg-eth1
Siis proxy paika
export http_proxy="http://192.168.0.140:8123" export https_proxy="http://192.168.0.140:8123"
Süsteemse proxy saab permamentselt seadistada /etc/environment failist
wget --no-check-certificate -O - \ https://raw.githubusercontent.com/opencrowbar/core/develop/tools/crowbar-install.sh | source /dev/stdin
Misjärel teatatakse
Complete! /root Remember to populate /tftpboot/files/raid See: https://github.com/opencrowbar/hardware/tree/master/doc Files can be pulled from these links after accepting licenses. http://www.lsi.com/downloads/Public/Host%20Bus%20Adapters/Host%20Bus%20Adapters%20Common%20Files/SAS_SATA_6G_P19/SAS2IRCU_P19.zip http://www.lsi.com/downloads/Public/RAID%20Controllers/RAID%20Controllers%20Common%20Files/8.07.14_MegaCLI.zip Remeber to populate /tftpboot/isos You will need to place a supported ISO image or images into this directory before running production.sh More details cab be found here: See: https://github.com/opencrowbar/core/tree/master/doc/deployment-guide/adding-operating-systems.md
Seejärel käivitada
# cd /opt/opencrowbar/core # ./production.sh malakas.eenet.ee
Ning seejärel minna urlile
https://crowbar.github.io/docs/getting-started/install-admin-node.html
Esmalt tuleb installida crowbar master server, millelt ülejäänud noded pxed kasutades boodivad ja kus asub veebiliides nendele vajaliku takvara paigaldamiseks
Kõik noded booditakse üle pxe üles kergekaalulise CentOS baasil opsüsteemiga, mis tuvastab raua ja raporteerib crowbarile enda valmisolekust.
Esimese sammuna: Power on the nodes. They will PXE boot from the Crowbar admin node.
OpenStacki paigaldamine devstack skriptiga
sudo installeerimine
OpenStacki paigaldamiseks on kõigepealt vaja Debianile installeerida lisakomponent sudo. Kuna see skript on valminud Ubuntu jaoks (millel on sudo juba "tehase poolt" installeeritud, siis on vaja mõningad mööndused teha). Selleks tuleb käivitada administraatori õigustes käsk
apt-get install sudo
Pärast komponendi installeerimist on vaja iseenast lisada sudoers listi, seda saab teha, kui käivitada administraatori õigustes käsk
visudo
Faili kõige lõppu tuleks lisada rida
teie_kasutajanimi ALL=(ALL) ALL
See garanteerib selle, et teie kasutaja saab käivitada sudo käske. Pärast muudatuse tegemist väljuda ja fail salvestada.
Ettevalmistus seega tehtud.
GITi paigaldamine
Kui serverisse pole juba installeeritud, siis on vaja paigaldada git, käivitades alljärgnev käsk administraatori õigustes
apt-get install git
Võib ka kasutada vastpaigaldatud sudo pakki, siis on vaja käivitada käsk kasutajaõigustes
sudo apt-get install git
GITi repositooriumi lisamine
Repositoorium tõmbab aktiivsesse kohvrisse devstacki nimelisse kausta skripti jaoks vajalikud failid.
git clone https://github.com/openstack-dev/devstack.git
Skripti käivitamine
Skript paigaldab vaikimisi konfiguratsiooniga järgnevad komponendid: Ceilometer, Cinder, Glance, Heat, Horizon, Keystone, Nova, Neutron, Swift, and Trove. Paigaldatavad komponendid on ära toodud siin samas juhendis (pisut allpool).
Täpsemalt on skript lahti kirjutatud ja seletatud devstack'i lehel [2] (Devstack on skripti autor ja jagaja, materjal inglisekeelne).
Installeerimise käivitamiseks tuleb minna devstacki kausta ja käivitada skript. (NB! kasutajaõigustes)
cd devstack; ./stack.sh;
Installatsioon võtab tõenäoliselt aega, küll aga ei tohiks arvuti juurest kaugele minna, kuna vahepeal on vajalik kasutaja sekkumine. Muuhulgas küsitakse erinevaid paroole ja võtmeid.
Kui installatsioon on lõppenud, siis on OpenStack ligipääsetav teie arvuti IP-aadressilt, kasutades http protokolli. Näiteks http://192.168.56.1
OpenStacki komponendid
Komponentide osa tuleks veel täiendada!
- Ceilometer - keskne mõõtmistulemuste koguja (idee on see, et mitu rakendust ei peaks koguma samu andmeid)
- Cinder - salvestusseadmete (kõvaketaste) halduseks
- Glance - kujutiste haldur (ingl k. image manager). Lihtsamalt öelduna - haldab iso faile.
- Heat - võimaldab kasutada (käivitada, tekitada) malle (ingl k. template)
- Horizon - kasutajaliides (GUI - Graphical User Interface - graafiline kasutajaliides)
- Keystone - kasutajatehaldusliides
- Nova - vastutab arvutuste ja võrgu eest (compute and network manager). Lisaks käivitab sõlmi, loob tõmmiseid (ingl k. snapshot) ja volumesid.
- Neutron - teeb võrguliidesest teenuse (service) erinevate seadmete vahel (nt virtuaalsed võrgukaardid)
- Swift - andmete pilveteenus, st võimaldab andmeid hoida virtuaalsetes konteinerites.
- Trove - andmebaas kui teenus
Komponente on veel ja väga palju, sh neid arendatakse kogukonna poolt kogu aeg juurde. OpenStacki üks eelis ongi välja toodud interneti materjalide põhjal ja arutelu tulemusena selle paindlikkus ja suur komponentide hulk, mida siis võimalik valida vastavalt vajadusele.
OpenStacki kasutamine
Enne alustamist on soovitatav käsitsi tekitada LVMi kasutades LVM grupp ja mõni plokkseade (kõvaketas) sinna ka liita. Vastasel juhul hakatakse kasutama arvuti põhilist ketast, mis installeerimisel valides oli ju pisem. Kui see on aga soov, siis palun väga. :)
Administratsioonipaneelis avaneb kohe kaks vaadet - on projektivaade ja administraatorivaade. Analüüsime neid lähemalt. Administratsioonipaneel on jagatud kaheks - vasakul äärealal on menüü ja paremal pool suuremana sisu.
Projektivaade
Projektivaatest on ka pilt (vt üleval pool).
Loomulikult saab esimese asjana rippmenüüst vahetada projekti, mille kallal töötatakse.
Sisuosas on esmakohal ära toodud piirangud - iga projekti kohta on võimalik ära määrata piirangud, missugust arvutusvõimsust antakse. Põhiinfona võiks välja tuua, et hetkel on sellel projektil võimalik luua 10 virtuaalmasinat (instance), kasutada kokku 20 virtuaalset protsessorit (VCPU) ja 50GB RAMi. Loomulikult on muudki piirangud (kettaid, kõvakettamaht jne). Piiranguid saab administraator iga projekti jaoks suurendada.
Vasakult menüüst saab valida nt Instances - tegemist on siis virtuaalmasinate haldusega selles projektis. Kui oleme harjunud looma uue virtuaalmasina, siis OpenStacki puhul on vaja see käivitada (ingl k. launch).
Kokkuvõte
Kopeeritud OpenStacki dokumentatsioonist: The OpenStack Block Storage service is not a shared storage solution like a Storage Area Network (SAN) of NFS volumes, where you can attach a volume to multiple servers. With the OpenStack Block Storage service, you can attach a volume to only one instance at a time.
- Päris suur miinus, minu arust - ühte volumet pole võimalik mitme masina taga kasutada.
- ega hästi tööle ei saanud
Lingid
https://docs.mirantis.com/openstack/fuel/fuel-6.0/reference-architecture.html
http://enakai00.hatenablog.com/entry/20130606/1370487001
http://www.chenshake.com/openstack-neutron-capture/ Neuroni võrgust mõned slaidid
http://getcloudify.org/2014/05/14/openstack-neutron-networking-nova.html