107
szerkesztés
Módosítások
nincs szerkesztési összefoglaló
* Minden hónap '''második hétfőjén''' este egy második frissítési ciklust is tartunk az alábbiak szerint
** Páratlan hónapokban a '''Compute''' gépeket frissítjük, ami azzal jár, hogy futó virtuális gépeket elmigráljuk a fizikai gépekről. A folyamat során néhányszor 1 percre a futó virtuális erőforrások elérhetetlenek lehetnek, illetve folyamatosan íródó memóriájú gépeknél előfordul, hogy csak a virtuális gép leállításával/elindításával lesz sikeres a migráció. *** A több zónás működésnek köszönhetően, egyidőben csak egy zónába tartozó virtuális gépeket érintenek a fent említett esetleges rövid kimaradások, mivel a zónákhoz tartozó erőforrások frissítése külön történik!
** Páros hónapokban a diszk alrendszert '''(CEPH)''' frissítjük. Ilyenkor a háttérben '''adatszinkronizáció zajlik''', ami '''lassíthat egyes IO kéréseket''', de a felhasználók felé ez a művelet eddigi tapasztalataink alapján többnyire transzparens.
==Ismertető==
OpenStack verzió: ROCKY
22 perces ismertető, ami az NWS 2016-on hangzott el. http://videotorium.hu/hu/recordings/details/13396,Cloud4Education_-_Kezdo_lepesek
====Dashboard áttekintés====
[[File:Dash_overviewdashboard_overview.pngjpg|665px|Dashboard]]
Bejelentkezés után a felhasználóhoz projekthez tartozó kvóta kihasználtságai láthatjukhasználtsága látható, ezen kvóták szabályozása admin felhasználóval tehető meg. A kihasználtságon használtság áttekintésén felül lehetőség van arra, hogy a felhasználó lekérdezze egy adott periódus alatt használt vCPU, Disk és RAM mennyiségét, valamint ezek az információk letölthetők excel táblázat formájában is. A bal oldali menüstruktúra több részből tevődik össze, amelyből a két legfontosabb a Project fül alatt talákható „Compute” és a „Network” opció. A „Compute” menüpont alatt találhatók azok a funkciók, amelyek ahhoz szükségesek, hogy virtuális gépeket tudjunk igénybe venni és az ehhez tartozó adminisztratív teendőinket is itt tudjuk elvégezni. A „Network” menüpont alatt kezelhetjük a virtuális gépeinkhez szükséges hálózatokat. Itt hozhatunk létre például virtuális routereket, hálózatokat, valamint itt állíthatunk be terheléselosztókat és definiálhatunk tűzfalszabályokatadminisztrálhatjuk őket. A következőkben bemutatásra kerül, hogyan tud egy felhasználó néhány kattintás segítségével egy lemezképfájlt feltölteni, majd a képfájlból virtuális gépet létrehozni, valamint a rendelkezésre álló funkciókat igénybe venni.
====Új image feltöltés====
A virtuális gép létrehozásához szükség van lemezképfájlra, amelyet egy működő http url-ről könnyedén letölthetünk a „Compute” menüpont alatt található „Images” lehetőség használatával, vagy használhatjuk az előre feltöltött image-eket, amelyeket az admin jogosultságú felhasználók biztosítanak számunkra. Az „images” lehetőséget választva látható a rendelkezésre álló lemezképfájlok listája. A jobb felső sarokban a „Create Image” lehetőséget választva készíthetünk lemezképet. Az alábbi példa egy Ubuntu 1418.04 (Bionic) verziójú lemezkép letöltését szemlélteti.
[[File:Image_createUpload_image.png|724px|Image készítés]]
A fenti ábrán látható módon, néhány szükséges információt meg kell adni, ilyenek például:
* Név
* Lemezképfájl helye: A letölteni feltölteni kívánt lemezképfájl internetes elérhetősége url-ről történő feltöltés esetén* Format: például QCOW2 – QEMU Emulator Fontos: Kizárólag a saját projektek alá van jogosultsága a felhasználóknak lemezképfájlokat feltölteni!
=====Mindenki számára elérhető Image-ek* (Forrás: http://docs.openstack.org/image-guide/obtain-images.html)=====
===Kulcspár létrehozása/publikus kulcs feltöltése===
A „Access & Security” fülre kattintva, „Compute” menüpont alatt található "Key Pairs" lehetőséget választva hozzáadhatunk saját kulcspárokat, így a neutron szerverek által futtatott metadata szolgáltatás eljuttatja a publikus kulcsunkat a létrehozott virtuális gépre és a privát kulcsunkkal könnyedén tudunk autentikálni a létrehozott gépeken. Ehhez válasszuk a hozzáadás lehetőséget és adjuk meg a publikus kulcsunkat a következő ábrán látható módon.
EGYES CLOUD LEMEZKÉPFÁJLOK KIZÁRÓLAG KULCS HASZNÁLATÁVAL VEHETŐK IGÉNYBE!
[[File:Key_pairImport_pubkey.png|726px|Publikus kulcs importálása]]
===Hálózati típusok===
Az általunk megépített rendszerben végül két fajta hálózat kapott helyet:
* Az egyik típus, amit Flat néven kereszteltünk el. Ennek lényege, hogy a létrehozott virtuális gépek egy előre meghatározott publikus IP tartományból DHCP segítségével felvesznek egy címet, majd a csomagok haladásának iránya közvetlenül a compute gépek felé történik, ezzel nem terhelve a network gépeket.
** <small>A '''Flat1''' névre keresztelt hálózathoz tartozó szabad IPv4 címek száma '''nagyon kevés''', ezért kérjük a felhasználóinkat, hogy lehetőség szerint, amennyiben FLAT típusú hálózatot szeretnének hozzáadni az újonnan létrehozott virtuális gépekhez, a '''Flat2 és Flat3''' nevű hálózatot válasszák. Megértésüket és együttműködésüket köszönjük!</small>
* A másik hálózati típus, amely az Smart nevet kapta. Ez a hálózati típus nagyban különbözik az előző megoldástól, mivel ennél a típusnál a felhasználóknak lehetőségük van egy, vagy akár több privát hálózat, valamint egy vagy több ezekhez tartozó virtuális router létrehozására. A virtuális router-hez lehetőség van hozzárendelni IP címeket a privát, valamint egy publikus hálózatból is és ennek következtében a virtuális gépek forgalmában egy úgynevezett hálózati címfordítás történik. Ennek előnye az előző megoldással szemben, hogy kevésbé IP cím pazarló a publikus címek tekintetében, valamint a neutron funkciójának köszönhetően képes több network gép között tartalékolt lenni.
Az Flat típusú hálózat felvételére kizárólag admin jogosultságú felhasználónak van lehetősége két féle módon. Az egyik lehetőség, hogy a létrehozott Flat hálózat shared típusú, vagyis megosztott hálózat, ami azt jelenti, hogy a hálózat minden tenant projekt számára látható. A másik lehetőség, hogy a létrehozott hálózatot nem osztjuk meg másik tenanttalprojekttel, azonban hozzárendeljük egy bizonyos tenant-hozprojekthez, ezzel garantálva, hogy egy IP cím tartományt csak egy tenant projekt használ kizárólag.
Az Smart hálózat és egy hozzá tartozó virtuális router felvételét az alábbiakban mutatjuk be.
====External (L3) hálózat létrehozása====
[[File:Create_net2.png|723px|hálózat létrehozása]] A fentebb látható menüben az átjáró IP címét nem kötelező megadni, ilyenkor automatikusan a megadott tartomány első IP címét fogja átjárónak beállítani. Ebben az esetben 192.168.66.1 címet. [[File:Create_net3.png|723pxCloud for Education/network l3|L3 hálózat létrehozása]] Ha minden szükséges és kötelező mezőt kitöltöttünk, akkor a „create” gombra kattintva a rendszer létrehozza a hálózatot a kívánt paramétereinkkel, amelyet a Networks menüpont alatt megtekinthetünk.
====Router létrehozása és Interfészek hozzáadása====
A hálózat sikeres elkészítése után szükség van egy virtuális router létrehozására, amelyen keresztül fog a hálózati címfordítás történni. A router létrehozása a következő képeken látható
[[File:Create_router1Create_router.png|727px|Router létrehozás]]
A Virtuális router létrehozásánál az „External Network”, azaz a külső hálózatok listájánál a rendelkezésre álló Smart hálózatok közül van lehetőség választani. Miután ez megtörtént, a router-hez szükség van egy másik interfész hozzáadására is, az előzőleg létrehozott belső hálózatból. Ennek hozzáadásához a „Routers” menüpontot választva, a forgalomirányítók listájából válasszuk ki az előbbiekben létrehozott „Internal_Router”„Internal-Router”-t, majd az „Interfaces” fülön az „Add Interface” lehetőséget választva, adjunk hozzá egy interfészt a következő ábrán látható módon.
[[File:Create_router2Add_if.png|723px|Router létrehozás]]
====Security group-ok====
A lenti példa szemlélteti, hogy hogyan engedélyezhetjük az SSH és ICMP forgalmakat minden külső hálózatból:
[[File:Sec_gr1Add_rule1.png|723px|Szabály létrehozása]]
[[File:Sec_gr2Add_rule2.png|723px|Szabály létrehozása]]
[[File:Sec_gr3Sec_grp.png|723px|Szabály létrehozása]]
====LBaaS====
A C4E az "OpenStack Octavia" alapú LoadBalancer-t kínálja a felhasználóknak, HAProxy backenddel.Az esetleges titkosított kapcsolatok terminálásakor a "Barbican" tanúsítvány manager eszköz biztosítja a privát kulcsok biztonságos tárolását. A terheléselosztó konfigurációs beállításai két fajta módon tehető meg: 1. Horizon grafikus felületen a NETWORK menüpont alatt, 2. CLI használatával, amelyhez a standard OpenStack CLI eszközön felül az alábbi csomagok telepítése is szükséges. (Debian/Ubuntu rendszeren)<pre>$ apt install python-barbicanclient python3-octaviaclient</pre> [[Cloud for Education#C4E_.28Openstack.29_Publikus_API|Általános CLI használati információk]] '''Rövid ismertető:''' [[File: Octavia-component-overview.jpg |724px|Octavia component overview]] Az Octavia LBaaS funkció jelenleg rendszer az alábbi főbb komponensekből áll:* Amphorae: Különálló virtuális gépek, amik egy Ubuntu alapú Amphora image-ből példányosodnak, mikor a felhasználó új terheléselosztót hoz létre** A sablon image-ből létrehozott virtuális gépek nem elérhető.számítanak bele a felhasználói kvótába, azok flavor-je specifikus, belépni rájuk a felhasználó nem tud* Octavia&Barbican API* Controller Worker (az API kérések alapján vezérli a háttérkomponenseket)* Health Manager (figyeli a már létrehozott "Amphorae" virtuális gépeket, és azok állapotát, hiba esetén failover műveleteket hajt végre)* Housekeeping Manager (a hibás/törölt maradványok eltávolításáért felel)* Driver Agent (információkat fogad az egyes amphora példányokon futó Haproxy drivertől)
'''Amennyiben beragadt/hibás terheléselosztót észlelnek, kérjük forduljanak ügyfélszolgálatunkhoz!'''
Ennek a megoldása, hogy "szét kell szedni" a terheléselosztót, amelyhez a következő lépésekre van szükség:
* törölni kell a pool-t, a listener-t, a monitort
* majd végül magát a terheléselosztót
{| class="wikitable" border="1"
|-
| Lemez típus
| Sebesség
| Méret
| Technológia
| Javasolt használat
|-
| SDS-Nearline
| +
| +++
| Skálázódó szoftveres tároló
| Tömeges adattárolás, alacsony kihasználtságú VM lemeze.
|-
| SDS-SAS
| ++
| ++
| Skálázódó szoftveres tároló
| Általános célú adattárolás, változó adatok, normál kihasználtságú VM lemeze.
|-
| SAN-Nearline
| +
| +++
| Klasszikus SAN storage
| Tömeges adattárolás, alacsony kihasználtságú VM lemeze.
|-
| SAN-SAS
| ++
| ++
| Klasszikus SAN storage
| Általános célú adattárolás, változó adatok, normál kihasználtságú VM lemeze.
|-
| SAN-SSD
| +++
| +
| Klasszikus SAN storage
| Gyakran változó adatok, magas kihasználtságú VM lemeze.
|-
|}
===VM elenevezése===
Első lépésben válasszunk egy nevet az újonnan létrehozni kívánt virtuális gépnek, majd adjuk ezt meg az "Instance Name" mező értékének.
=Virtuális gép indítása==Image választás===Az előfeltételek teljesítése után elkészíthető A "Next" gombra kattintva, a kívánt virtuális gépVM forrásával kapcsolatos beállításokat szükséges elvégezni. Ehhez válasszuk A következő ábrán látható módon válasszunk ki a bal oldali menüből a „Compute”, azon belül pedig az „Instances” lehetőségetrendelkezésre álló lemezképfájlok közül egyet, majd valamint állítsuk be a bal felső sarokban válasszuk a „Launch Instance” gombot és az alábbi képeken látható módon készítsük el a gépetkívánt lemez méretet.
[[File:Launch1Li2.png|726px|VM indításaSource]]
==Kulcspár és security group társítása=Flavor választás===A következő ábrán látható módon a VM létrehozásakor kiválaszthatjuk az előzőleg feltöltött publikus kulcsunkat, vagy feltölthetünk egy teljesen újat is a létrehozás közben, valamint megadhatjuk, hogy melyik Security Group vonatkozzon a virtuális gépünkre.
[[File:launch2Li3.png|726px|SecurityGroup kiválasztásaVM Select flavor]]
===Hálózat kiválasztása===
Következő lépésként meg kell adni a használni kívánt hálózatot. Ez legyen a példában létrehozott „Internal” hálózat.
[[File:launch3Li4.png|726px|Hálózat kiválasztásaVM Select network]]
===Security group társítása===
Az ábrán látható módon megadhatjuk, hogy mely Security Group(-ok) vonatkozzon a virtuális gépünkre.
[[File:Li5.png|726px|VM Select sec_grp]]
===Publikus kulcs társítása===
Az ábrán látható módon a VM létrehozásakor kiválaszthatjuk az előzőleg feltöltött publikus kulcsunkat, vagy feltölthetünk egy teljesen újat is a létrehozás közben.
[[File:Li6.png|726px|VM Select pub_key]]
A „Launch” lehetőséget választva elkezdhetjük a virtuális gép létrehozását. A folyamat elkészültekor az „Instances” fül alatt láthatjuk az eddig létrehozott virtuális gépeinket és azok állapotát.
[[File:launch4Li7.png|726px|Létrehozott VM lista]]
A folyamat elvégzése után elkészült az első virtuális gép, amelynek elérése több féle módon történhet.
* A virtuális géphez hozzárendelünk egy publikus IP címet, majd a virtuális router segítségével háttérben a neutron 1:1 NAT alkalmazásával ennek megfelelően konfigurálja a virtuális routert, és így távolról is bejelentkezhetünk rá, Linux disztribúció esetén például SSH, Windows esetén RDP szolgáltatás segítségével.
* A weboldalba ágyazott VNC konzol segítségével vezérelhetjük gépünket, azonban egyes előre gyártott lemezképfájlból készített virtuális gépek nem támogatják csak a kulcsos autentikációt, így sajnos ezeknél a gépeknél ez a módszer nem elérhető.
====Floating IP hozzárendelése====
Az előzőekben létrehozott Ubuntu operációs rendszerrel ellátott virtuális gépünk a második lehetőséget nem támogatja, így szükségünk van a gép eléréséhez egy publikus IP címre, amelynek allokálása és géphez rendelése a következőképpen történik.
Első lépésben válasszuk a „Compute” „Project” alatt található „Access & Security” „Network” lehetőséget, majd azon belül a „Floating IPs” menüpontot és kattintsunk a jobb felső sarokban lévő „Allocate IP To Project” gombra. A megjelenő ablakban ki kell választani a kívánt Smart hálózatot, amelyből a publikus IP címet szeretnénk használni (Ez nyilván az a hálózat, amelyiket a router átjárójának is választottunk), majd az „Allocate IP” lehetőséget kell választani.
[[File:Allocate1Allocate_ip1.png|726px|Floating IP igénylése]]
A következő ábrán látható a Projekthez allokált IP címek listája, amelyek következő lépésként hozzárendelhetők 1-1 virtuális géphez. Ehhez válasszuk az ábrán látható IP cím mellett található „Associate” lehetőséget, majd válasszuk ki a listából azt a virtuális gépet, amelyiken az IP címet használni szeretnénk.
[[File:Allocate2Allocate_ip2.png|726px|Rendelkezésre álló IP címek listája]]
[[File:Allocate3Allocate_ip3.png|726px|Floating IP géphez rendelése]]
A sikeres hozzárendelés után a gépünk már rendelkezik publikus IP címmel, amelyen keresztül külső hálózatokból is elérhetjük a gépet, amennyiben ezt a Security Group-ban, vagy a Firewall alatt engedélyezzük.
==Virtuális gépek kezelése==
===Snapshot létrehozása/indítás snapshotból===
További lehetőség a létrehozott virtuális géppel kapcsolatban, hogy bármikor készíthetünk róla egy úgynevezett pillanatképet, amelyből később létrehozhatunk egy másik virtuális gépet, folytatva ott a munkát, ahol a pillanatkép készült, a régi gépet pedig leállíthatjuk, vagy törölhetjük. Ehhez a már ismert „Compute” menüpont alatt válasszuk a „Volume” lehetőséget. A kilistázott Volume-ok között válasszuk ki a megfelelőt, majd az „Actions” szekcióban található legördülő menüből válasszuk a „Create Snapshot” lehetőséget. Az ábrán látható módon adjunk neki egy nevet, majd készítsük el a pillanatképet.
[[File:Create_snapshot2.png|724px|Snapshot létrehozás]]
==="Extrém" diszkigény kielégítése===
Előfordul, hogy valamilyen projekthez nagyobb (TB-os nagyságrendű) területre van szükség, mint amit a kvóta megenged. Habár a kvóta növelésével könnyen orvosolhatnánk egyes felhasználók helyigényét, ezt sajnos <big>nem áll módunkban</big> megtenni, ugyanis azzal felborulna a kiosztott erőforrások közötti egyensúly (nem lenne terület, ahonnan bootoljanak az új gépek, a CPU/RAM pedig kihasználatlan maradna) valamint bizonyos szolgáltatások (jellemzően az adatbázis-szerverek) számára nem előnyös a CEPH alapú háttértár.
==== Csatlakozás Linux alapú operációs rendszer alól ====
===== Óvintézkedés! =====
Sajnos az iSCSI jelenléte boot időben előfordul, hogy a virtuális gépet megállítja a boot során. Ez alapból nem lenne probléma, viszont a sablon image-ek alapértelmezetten egy read only konzolra küldik az emergency shell kimenetét, amin nem lehet módosításokat végezni.
* Firefox és Chrome újabb verziói alatt problémák lehetnek a VNC konzol elérésével/válaszidejével (ez sajnos egy fejlesztők által ismert, de még nem javított hiba)
===== Előkészületek =====
* Konfigurálni kell az interfészeket
Ez az Debian base image-nél alapból konfigurálva van az alábbi módon:
===== Targetek konfigurálása =====
====== The easy way ======
Egy letölthető bash szkript, ami megcsinál mindent: '''[[:File:Iscsi-site-admin-c4e.sh|iscsi-site-admin-c4e.sh]]'''
====== The hard way ======
A következő lépés az iSCSI targetekhez történő csatlakozás. (A leírásban az username és password paraméterek a felhasználót (initiatort, azaz a virtuális gépet) azonosító egyedi paraméterek, míg az username_in és password_in a Mutual CHAP (bidirectional) azonosításhoz használható (target-et, azaz magát az Eternus tárolót azonosító) paraméterek. (Az username_in, azaz a <target CHAP felhasználó> tipikusan "eternus"...)
multipath -r
===== Szépészeti beavatkozások =====
Az iSCSI un. WWID-ket használ (ami a <code>multipath -ll</code> kimenetében jól látszik) az egyes területek azonosítására, ami sajnos olvashatatlan, és körülményes tud lenni. Az egyszerűbb megnevezések érdekében lehetőség van a korábban szerkesztett <code>multipath.conf</code> állomány bővítésére az alábbi módon (a teljes állomány látható, a fent található Eternus releváns konfigurációval együtt):
</pre>
==== Csatlakozás Windows alapú operációs rendszer alól (hamarosan) ====
===== Előkészületek =====
A gépet természetesen hozzá kell adni a megfelelő "Eternus7 - iSCSI1" és "Eternus7 - iSCSI2" hálózatokhoz.
# Az iso-t csatolva az English/setup.exe lesz az, amit fel kell telepíteni a többutas tároló megfelelő működéséhez.
===== Initiator konfigurálása =====
# A "Felügyeleti eszközök" közül az "iSCSI-kezdeményező" / "iSCSI-Initiator" -t kell választani
# A megnyitott ablakban a "Konfiguráció" fül alatt a "Kezdeményező neve:" részhez be kell állítani az IQN-t, amit a storage igénylésekor megadtunk (ehhez az alatta lévő módosítás gombra kell kattintani)
== C4E (Openstack) Publikus API ==
<big> '''FONTOS!''' </big> Az API külvilági elérését csomagszűrő tűzfal védi, és kizárólag az általunk ismert magyarországi IP(v4/v6) címekről érhető el.
=== Kezdő lépések: jelszó szerzése ===
Kialakításra került a C4E publikus API elérése. Ahhoz, hogy a felhasználók ezt igénybe tudják venni, az alábbiak szükségesek:
* Első lépésben küldeni Meg kell egy levelet az alábbiakkal nyitni a '''cloud@: https://keystone.c4e.niif.hu''' címre:/regsite/apipwgen oldalt.*Új jelszó beállítását kérni.* C4E projekt(ek) neveA kapott jelszót felírni.** C4E usernév Ajánlott a kapott jelszót utólag a webfelületen (ez szinte biztosan az eppnvagy CLI-ből)** Privát kezelésben lévő belföldi mobiltelefon száma, ahova SMS formájában küldjük el az eléréshez szükséges jelszótmódosítani!
Első körben hozzá kell adni a repository-t az apt konfigurációjához, frissíteni a csomaglistát, majd telepíteni a szükséges csomagokat:
apt-get update
apt-get install python-openstackclient
</pre>
Telepítés SNAP-ből:
<pre>
sudo snap install openstackclients --classic
</pre>
</pre>
=== API használata ===
Az API használatával kapcsolatban a mindenkori Openstack dokumentáció a mérvadó: https://developer.openstack.org/api-guide/quick-start/api-quick-start.html#
Amennyiben valamilyen problémába merül fel, célszerű a parancsot -v (-vv -vvv) kapcsolóval futtatni, és egy esetleges hibabejelentésnél a kimenetet csatolni.
==FAQ==
===Nem sikerült az image létrehozása a webfelületen===