Erinevus lehekülje "OpenStack installeerimine ja kasutamine Debianil" redaktsioonide vahel

Allikas: Kuutõrvaja
(Virtuaalmasinad ja pilveteadlikud operatsioonisüsteemide tõmmised)
(Virtuaalmasinad ja pilveteadlikud operatsioonisüsteemide tõmmised)
169. rida: 169. rida:
  
 
Metadata teenusest ja selle konfigureerimisest leiab rohkem infot blogipostist http://www.sebastien-han.fr/blog/2012/07/11/play-with-openstack-instance-metadata/ või siit https://vietstack.wordpress.com/2014/09/27/introduction-of-metadata-service-in-openstack/
 
Metadata teenusest ja selle konfigureerimisest leiab rohkem infot blogipostist http://www.sebastien-han.fr/blog/2012/07/11/play-with-openstack-instance-metadata/ või siit https://vietstack.wordpress.com/2014/09/27/introduction-of-metadata-service-in-openstack/
 +
 +
Kuidas metadata küsimine detailselt läbi network node käib saab vaadata alljärgneval skeemil
 +
[[Pilt:Neutron-metadata-dhcp-agent.png]]
  
 
Lisame nt glancesse ubuntu ketta
 
Lisame nt glancesse ubuntu ketta

Redaktsioon: 6. juuli 2015, kell 19:09

                                        Roheline.jpg Toores. Ehk seda pala võib täiendada.

Kui on huvi, tahtmist ja teadmist, siis võib vabalt seda kirjatükki täiendada.

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. Oma ehituselt ja võimalustelt on samas OpenStack Proxmoxist kõvasti keerukam ja selle paigaldamine on samuti tunduvalt raskem.

Mõned faktid

  • Openstack on kirjutatud pythonis
  • Koosneb suurest hulgast teenustest, millest igaüks omab APIt ja on kontrollitavad veebilidiese (horizon) kaudu
  • Veebiliides (dashboard - horizon) on djang rakendus
  • Sellele on ehitatud mitmeid suuri kommertsiaalseid pilveteenuseid

OpenStacki komponendid

Alustada tuleks sellest, et kõige olulisemad esmased komponendid on keystone, rabbitmq ja mysql. Need on NÖ baasteenused, neid kasutavad peaaegu kõik ülejäänud openstacki komponendid ja seetõttu tuleks nad seadistada ja konfigureerida kõige esimesena. Mysql on vajalik teenuste info hoidmiseks. Keystone on framework autentimiseks ja autoriseerimiseks kõigile openstaki teenustele. Annab võimaluse lisada kasutajaid ja gruppe ning hallata nende vahelisi õigusi (nt erinevate VMide käivitamine jms) ning säilitab endas ka kataloogi kõigi ülejäänud teenuste API ühenduspunktide asukohtadest. Rabbitmq (AMQP server) on aga teenuste vaheliste operatsioonide kordineerimiseks ja staatus teadete vahetamiseks.

Ülejäänud teenustest on esmase ja lihtsa openstack clustri koostamiseks vajalikud nova, neuron ja glange. Nova tegeleb virtuaalmasinate käivitamise, loomise jms haldusega. Neuron tegeleb võrgundusega ja glance pakub kujutiste ehk iso/image failide haldust.

  • 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 - kasutajatehaldus.
  • 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.

Tähele tasub panna, et 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.

OpenStacki paigaldamine

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

glance

Näide image faili importimisest

# glance image-create --name "Gentoo 20130707" --is-public false --disk-format qcow2 --container-format bare < gentoo.img

keystone

Crowbar abil paigaldus

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

http://192.168.124.10:3000

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.

https://github.com/crowbar/barclamp-openstack/blob/release/fred/master/crowbar_framework/public/openstack_users_guide.pdf

Esimese sammuna: Power on the nodes. They will PXE boot from the Crowbar admin node.

OpenStacki paigaldamine devstack skriptiga

Käsitsi kõigi komponentide paigaldus on raske ja tüütu protsess. 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.

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!


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

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. :)

Virtuaalmasinad ja pilveteadlikud operatsioonisüsteemide tõmmised

Vaikimisi vajab OpenStack virtuaalmasinate tekitamiseks spetsiaalselt ettevalmistatud operatsioonisüsteemiga kettatõmmiseid. Nende tõmmise hankimise üheks kohaks on näiteks http://docs.openstack.org/image-guide/content/ch_obtaining_images.html

Tegemist on nn cloud-aware ehk pilveteadlike utiliitidega nt Ubuntupuhul CloudInitiga https://help.ubuntu.com/community/CloudInit varustatud operatsioonisüsteemidega, mis suudavad iseseisvalt hankida endale võtmed, mountpoindid, hostnamed jms vajaliku. OpenStacki poolelt on olemas selle info pakkumiseks metadata teenus http://docs.openstack.org/admin-guide-cloud/content/section_metadata-service.html

Metadata teenusest ja selle konfigureerimisest leiab rohkem infot blogipostist http://www.sebastien-han.fr/blog/2012/07/11/play-with-openstack-instance-metadata/ või siit https://vietstack.wordpress.com/2014/09/27/introduction-of-metadata-service-in-openstack/

Kuidas metadata küsimine detailselt läbi network node käib saab vaadata alljärgneval skeemil Neutron-metadata-dhcp-agent.png

Lisame nt glancesse ubuntu ketta

# wget http://cloud-images.ubuntu.com/releases/14.04/release/ubuntu-14.04-server-cloudimg-amd64-disk1.img -P /var/kvm/images
# glance image-create --name="Ubuntu1404" --is-public=true --disk-format=qcow2 --container-format=bare < /var/kvm/images/ubuntu-14.04-server-cloudimg-amd64-disk1.img
+------------------+--------------------------------------+
| Property         | Value                                |
+------------------+--------------------------------------+
| checksum         | fc56f0c5e6ff27d905feda89d5618fc9     |
| container_format | bare                                 |
| created_at       | 2015-07-06T13:07:19.000000           |
| deleted          | False                                |
| deleted_at       | None                                 |
| disk_format      | qcow2                                |
| id               | b7530024-778d-4aa8-b43e-847480affaa0 |
| is_public        | True                                 |
| min_disk         | 0                                    |
| min_ram          | 0                                    |
| name             | Ubuntu1404                           |
| owner            | dd13d7a0c6c64aacb8e128ee11078849     |
| protected        | False                                |
| size             | 257819136                            |
| status           | active                               |
| updated_at       | 2015-07-06T13:07:28.000000           |
| virtual_size     | None                                 |
+------------------+--------------------------------------+

Ja saame nüüd minna ja startida instance üles.

OpenStacki kasutamine

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.

Openstackadmin.png

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

https://wiki.debian.org/OpenStackHowto