Módosítások

Cloud for Education

11 220 bájt hozzáadva, 2023. március 31., 07:22
Virtuális volume-ok le és felcsatolása másik gépre (javítás karbantartás stb...)
== Hozzáférés ==
 
A szolgáltatás elérési helye https://c4e.niif.hu.
 
 
== Karbantartások ==
 
A C4E szolgáltatást nyújtó gépekre az alábbi ütemezés szerint telepítjük a frissítéseket:
 
* Minden hónap '''második hétfőjén''' nap közben (délelőtt 10 órától) megkezdődik a rendszer vezérlő gépeinek frissítése (Adatbázis, vezérlő gépek, terheléselosztó, hálózati node-ok)
A művelet során néhányszor 2-3 percre '''elérhetetlen lehet a webfelület''', illetve a hálózati csomópontok újraindításának következtében néhányszor 1-2 percre a '''Smart''' hálózatok elérése akadozhat, amíg a tartalék irány működésbe nem lép.
 
* 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ó: USSURI
 
22 perces ismertető, ami az NWS 2016-on hangzott el. http://videotorium.hu/hu/recordings/details/13396,Cloud4Education_-_Kezdo_lepesek
A táblázatban látható root lemezek mérete természetesen a virtuális gép létrehozásakor változtatható.
 
===Régiók - Zónák===
A C4E nemrég véghezvitt bővítései miatt a felhasználóknak lehetőségük van földrajzilag elosztani (Régiók) és géptermen belül izolálni (Zónák) az igényelt erőforrásokat.
 
Jelenleg két régiónk van: "RegionOne" és "RegionTwo".
 
Mindkét fenti régióban elérhető 2-2 zóna: "Zone1" és "Zone2"
===Felhasználói felület bemutatása===
====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====
A „Project” menüpont alatt található „Network” lehetőséget választva láthatók a hálózattal kapcsolatos lehetőségeink. A Segédlet L3 (SMART) hálózat létrehozásához első lépésként a „Networks” lehetőséget kell választanunk, ahol láthatók a már korábban létrehozott hálózatok, valamint itt érhetők el a Flat típusú hálózatok is, amennyiben egy admin jogosultságú felhasználó megosztott, vagy a tenant-hoz rendelt egy ilyen típusú hálózatot. Új hálózat létrehozásához a bal felső sarokban válasszuk a „Create Network” lehetőséget, majd a következő képeken látható módon töltsük ki a szükséges mezőket. [[Fileaz alábbi oldalon tekinthető meg:Create_net1.png|727px|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 LBaaS funkció jelenleg nem elérhető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.
====FWaaS====A terheléselosztó konfigurációs beállításai két fajta módon tehető meg: Egy másik hálózati lehetőség 1. Horizon grafikus felületen a tűzfal alkalmazásaNETWORK menüpont alatt, 2. Alapértelmezetten a már bemutatott Security Group felel 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 rendszer az alábbi főbb komponensekből áll:* Amphorae: Különálló virtuális gépek elérhetőségének szabályozásáról, azonban lehetőségünk van amik egy sokkal részletesebben szabályozható technika alkalmazására is. A tűzfal működéséhez fontosUbuntu alapú Amphora image-ből példányosodnak, hogy mikor a Default Security Groupfelhasználó új terheléselosztót hoz létre** A sablon image-ban engedélyezni kell ből létrehozott virtuális gépek nem számítanak bele a ki és bemenő forgalmat bárhonnanfelhasználói kvótába, azok flavor-je specifikus, mivel a korlátozásokat és a konkrét szabályokat belépni rájuk a tűzfal modulban vehetjük fel.felhasználó nem tud * Octavia&Barbican APIA tűzfal létrehozásához és konfigurálásához válasszuk a „Network” menüpont alatt található „Firewalls” lehetőséget. Mint ahogy * Controller Worker (az API kérések alapján vezérli a menüstruktúrában is látszik, a tűzfal három részből tevődik össze:háttérkomponenseket)* Firewall RulesHealth 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)* Firewall PoliciesHousekeeping Manager (a hibás/törölt maradványok eltávolításáért felel)* FirewallsDriver Agent (információkat fogad az egyes amphora példányokon futó Haproxy drivertől) Első lépésként létre A fentiek közül a felhasználónak csupán az API-val kell hoznunk a szabályokatkommunikálnia, majd akár a szabályokat egy csoportba kell foglalni, végül létre kell hozni egy tűzfalatHorizon felületén, majd hozzárendelni akár a szabálycsoporthoz CLI-ből szeretné létrehozni és managelni a virtuális routerLoadBalancer-hezt. Szabályok létrehozásához válasszuk  '''Segédlet a „Firewall Rules” lehetőséget, majd az alábbi ábrán látható módon hozzunk létre egy minden befelé jövő forgalmat tiltó szabályt egy előre létrehozott virtuális gépre nézve, amely példánkban a 192.168.66.14 címet kapta.létrehozáshoz példákkal illusztrálva:'''* Példa [[Cloud for Education/LBaaS gui|GUI]] igénybevételével* Példa [[Cloud for Education/LBaaS cli|CLI]] használatával '''Működés/Hibatűrés:'''
[[File:Fwaas1A rendszer alapvető elosztottsága miatt nincs központi "leállás", minden egyes terheléselosztó pont annyira stabil, mint a C4E-ben futó többi virtuális gép. Alapvetően egy adott projekt egy adott terheléselosztójához tartozó amphora image hibája (virtuális gép leáll, lefagy) esetén a Health Managerre hagyatkozunk.png|726px|Szabály létrehozása]]
A gép újraindításán túl akár egy '''új amphorae virtuális gép'''et is létre tud hozni a háttérben, és a már '''meglévő konfiguráció'''t alkalmazni rá.
Arra azonban figyelni kell, hogy egy újraindítás, vagy egy új image létrehozása néhány perces kiesést jelenthet az adott projekthez tartozó terheléselosztó szolgáltatásban, de ilyenre alapvetően nem számítunk.
A szabály létrehozása után szükség van Fontos, hogy egy csoportrendszerre, amely korábbi tervezett leállításkor (ahol kézzel többször leállítottuk a szabályokat fogja tartalmazni. Ehhez válasszuk már meglévő terheléselosztókat) a „Firewall Policies” lehetőséget, majd az alábbi ábrákon látható Health Manager sajnálatos módon hozzuk létre nem tudta a csoportot többszöri leállítást és adjuk hozzá az előbb létrehozott mindent tiltó szabálytújraindítást (egymásra futva) megfelelően kezelni. Itt a karbantartás végén adminisztrátori beavatkozásra volt szükség, kézzel kellett failovert kérni minden terheléselosztóra.[[File:Fwaas2Erre a forgatókönyvre se számítunk üzemszerű használat mellett (maximum egy esetleges tervezett leálláskor, nem várt komolyabb hiba javításakor) de erre minden esetben nagy figyelmet fordítanak a karbantartást/javítást végző kollégák.png|724px|Szabályrendszer létrehozása]]
[[File:Fwaas3.png|723px|Szabály hozzárendelés]]'''Amennyiben beragadt/hibás terheléselosztót észlelnek, kérjük forduljanak ügyfélszolgálatunkhoz!'''
'''Terheléselosztó törlése:'''
A szabályok érvényre juttatásához szükség van Sajnálatos módon előfordulhat, hogy egy-egy tűzfal létrehozására, amelyhez hozzárendeljük a szabályrendszerünket terheléselosztó nem törölhető és a virtuális átjárónkathibaüzenet figyelmeztet erre. Ezt az alábbi módon hozzuk létre.[[File:Fwaas4.png|728px|Tűzfal létrehozása]]('''CLI-n van rá force opció!''')
[[FileEnnek a megoldása, hogy "szét kell szedni" a terheléselosztót, amelyhez a következő lépésekre van szükség:Fwaas5.png|728px|Router hozzárendelés tűzfalhoz]]* törölni kell a pool-t, a listener-t, a monitort* majd végül magát a terheléselosztót
====FWaaS====
Az FWaaS funkció jelenleg nem elérhető.
 
===Lemez típusok===
 
{| 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.
|-
|}
Ezzel elértük, hogy minden bejövő forgalmat eldobjon ==Virtuális gép indítása==Az előfeltételek teljesítése után elkészíthető a tűzfalunkkívánt virtuális gép. Ha engedélyezni szeretnénk egy befelé irányuló kapcsolatotEhhez válasszuk a bal oldali menüből a „Compute”, példánkban azon belül pedig az SSH protokollt„Instances” lehetőséget, akkor első lépésben majd a jobb felső sarokban válasszuk a már megismert „Launch Instance” gombot és az alábbi képeken látható módon hozzunk létre egy szabályt, de ezúttal engedélyezőt.[[File:Fwaas6készítsük el a gépet.png|724px|További szabály létrehozása]]
===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.
A szabály létrehozása után hozzá kell adni a létező szabályrendszerhez. A szabályok értelmezése lineáris, tehát minél később található meg a listában egy adott szabály, a csomag annál később jut el odáig. Abban az esetben, ha a lista bármely szabálya illeszkedik az adott csomagra, az adott szabály függvényében a csomag eldobásra, vagy átengedésre kerül. Ennek értelmében a következő ábrán látható módon szúrjuk be a szabályrendszerbe a létrehozott szabályt.[[File:Fwaas7Li1.png|726px|Szabály beszúrásaVM Name]]
=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====Csak smart hálózat esetén elérhető a floating ip. Flat esetén van IPv4 és IPv6 és nincs NAT, cserébe az IP minden esetben dinamikus, nem fixálható. SMART esetén lehet létrehozni floating IP-t, de itt nincs IPv6 és saját hálóz definiálása szükséges.  
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 ==Kiegészítés Windows gépek kezeléseelkészítéséhez=== MS Windows gépek elkészítésénél fontos, hogy előbb a feltöltött image-ből készítsünk egy volume-ot és annak elkészülte után készítsük felé a VM-et, így a VM build nem fog timeout hibára futni a nagyméretű image konverzió miatt.  ====gyakorlati példa egy win2022 vm indítására:====* szükséges egy megfelelő qcow, vagy vmdk file<code>aria2c https://s3.bigstack.co/downloads/cloud-image/win2022en-standard-minimal.vmdk</code> * vmdk esetén szükség lehet egy konverzióra <code>apt install qemu-utils</code><code>qemu-img convert -p -f vmdk -O qcow2 win2022en-standard-minimal.vmdk win2022en-standard-minimal.qcow2</code> * fel kell tölteni az imaget:<code>openstack image create win2022en-standard-minimal--disk-format=qcow2 --progress --private --file /mnt/big/openstackimage/win2022en-standard-minimal.qcow2</code> * létrehozni belőle a volumeot (itt ez hosszabb ideig eltarthat a volume méretétől függően):<code>openstack volume create --size 60 --availability-zone Zone1 --image win2022en-standard-minimal window22standardminimal</code>
* amin a volumet available státuszra vált:<code>openstack volume list | grep window22standardminimal</code> indíthatunk belőle vmet:<code>openstack server create --flavor mem1.xlarge --network Flat1 --volume window22standardminimal --availability-zone Zone1 [handle]win22stdmin</code> * ezek után a c4e web konzolon a telepítés befejezése / Rendszergazda jelszó megadása szükséges. ===Meglévő VM-ek költöztetése C4E rendszerbe=== Amennyiben más szolgáltatásból költöztetnénk VM-et a C4E -be akkor fizikai gép esetén a boot diskről egy volume fájlt kell létrehozni, ideális esetben QCOW2 formátumban, így csökkenthető a C4E-be feltöltés utáni konverzió. Fontos, hogy érdemes minden esetben a nagyobb méretű image-ek, feltöltésénél az Openstack API-t használni. Lásd API szekció. A C4E és az Openstack API lehetőséget biztosít más image típusok konverziójára, itt érdemes a megnövekedett konverziós idővel számolni. ==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 kiementében </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>
</pre>
Ha kész az átnevezés (és persze nincsenek a területek csatolva sehol) , újra kell olvastatni a devmapot (esetleg újra kell indítani a szervert):
multipath -r
</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)
===Virtuális gépek migrálása Régiók között===A migráláshoz CLI elérés, és elegendő tárhely szükséges! A jobb teljesítmény érdekében a migrálást végző gép akár a felhőben is futtatható, így nem limitál az otthoni sávszélesség. # A virtuális gépről először snapshot-ot kell készíteni# Az elkészült snapshot-ból újra létre kell hozni egy volume-ot (virtuális gép nélkül)# A létrejött új volume-nál megjenik egy opció: Upload to Image (ez a diszk méretétől hosszú ideig is eltarthat!)# A létrejött image innentől letölthető a CLI-n keresztül:<pre> glance image-download --file $FILENAME $UUID</pre># A letöltött file-t például így kell feltölteni: <pre>openstack image create --min-disk 5 --disk-format raw --container-format bare --file /tmp/valami.raw --property murano_image_info='{"title": "Migralt virtualis gep", "type": "linux"}' NewVM </pre> ===Virtuális volume-ok le és felcsatolása másik gépre (javítás karbantartás stb...)=== Előfordulhat hogy a VM-ek root volume-ja korruptálódott valamiért és javítani kellene. Az egyik legegyszerűbb megoldás ha felcsatoljuk máshová és ott futtatunk javító programot (chkdsk, fsck stb...) 1. Első lépésben a problémás gépet le kell állítani <br>[[Fájl:Instance-select.jpg|924px|keretnélküli|semmi]] <br>2. Az C4E felületén kiválasztjuk a gépet az compute menüpont / instances közül, majd rákattintva az overview lap alján láthajuk a rá csatolt köteteket, itt kiválasztjuk a problémás kötet-et, ha gyorsprovisioning volt akkor egy random ID-t látunk név helyett ezt érdemes a vágolapra másolni majd. <br>[[Fájl:2-select-volume.png|924px|keretnélküli|semmi]] <br>3. Ha a kötetre kattintottunk akkor megjelenik a jobb felső sarokban egy Edit Volume menüpont és mellette egy legördülő nyíl, ebből a legördülő listából kell kiválasztani a Manage Attachements pontot. <br>[[Fájl:3-manage attachementsv2.png|924px|keretnélküli|semmi]] <br>4. Ahogy rákattintottunk látjuk, hogy kire van csatolva (ha van) itt kell detach-ot nyomni, a megerősítés után hamarosan available re vált a kötet státusza <br>[[Fájl:4 detach panel.png|424px|keretnélküli|semmi]] <br> 5. Ha nem vitt át a rendszer akkor a bal oldali menüben a Volumes/Volumes pont alatt vannak felsorolva a projekt kötetei, innen ki kell választani az előbb lecsatoltat (szűrhető ID-re a lista a filter résznél) ha megvan ismét rákattintunk és jobb felül a legördülőből kiválasztjuk a Manage Attachements-et. <br> [[Fájl:5 - manage-attach.png|924px|keretnélküli|semmi]] <br> 6. Kiválasztjuk a listából, hogy melyik instance-ra szeretnénk csatolni és kattintunk az Attach Volume -ra. <br> [[Fájl:6-attach volume to instance.png|424px|keretnélküli|semmi]] <br> 7. Rövid időn belül megjelenik az oprendszerben a VM-en belül a disk és neki lehet állni a javítási feladatoknak. <br> [[Fájl:7-csatolt.png|524px|keretnélküli|semmi]] <br>  A visszacsatolás ellenkező sorrendben történik, majd el kell indítani az eredetileg hibás instance-ot. == 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.
Amennyiben az IP valóban hazai cím, és még nem szerepel a tűzfalban, rövid távon permanensen az egész alhálózat számára elérhetővé tesszük az API-t.
<big> '''FONTOS!''' </big> Minden itt leírt dokumentáció a C4E openstack jelenlegi (MitakaRocky) verziójához készült!
=== 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!
A levélnek arról az e-mail címről kell származnia, ami az adott intézmény IdP-je adott át a C4E-nek az eppn mellett!=== Kezdő lépések: környezet kialakítása (Debian/Ubuntu) ===
== Kezdő lépésekElső 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: környezet kialakítása (Debian/Ubuntu) ==
Első körben hozzá kell adni a repositoryt az apt konfigurációjához, frissíteni a csomaglistát, majd telepíteni a szükséges csomagokat: Debian:Ubuntu 18.04 (ajánlott)
<pre>
echo "deb http://http.debian.net/debian jessieadd-backports main" >>/etc/apt/sources.list.d/openstack.list-repository cloud-archive:rocky
apt-get update
apt-get install python-openstackclient
</pre>
Ubuntu (A 16.04-es verziótól Mitaka verziót tölt le az eredeti konfigurációval)Debian Buster:
<pre>
curl http://osbpo.debian.net/osbpo/dists/pubkey.gpg | sudo apt-key add -
echo "deb http://osbpo.debian.net/osbpo buster-rocky-backports main" >>/etc/apt/sources.list.d/openstack.list
echo "deb http://osbpo.debian.net/osbpo buster-rocky-backports-nochange main" >>/etc/apt/sources.list.d/openstack.list
apt-get update
apt-get install python-openstackclient
</pre>
 
Telepítés SNAP-ből:
<pre>
sudo snap install openstackclients --classic
</pre>
* Az <big>''' Access & Security -> API Access '''</big> oldalon a <big>''' Download OpenStack RC File v3 '''</big> opciót választani
* Az rc file-t a kezelő gépre juttatni (ha nem ott lenne)
* <big>Fel kell venni</big> az rc file-ba az alábbi sort: '''export OS_VOLUME_API_VERSION=3'''
* Az rc file-ban specifikálni <big>kell</big> a régiót, pl.: '''export OS_REGION_NAME="RegionTwo"''' (vagy RegionOne)
A harmadik lépés, hogy betöltjük az rc file-t, majd a jelszó beírása után elérhetővé válik a C4E API
</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===
=== Nem tudok belépni a gépre távolról ===
Az alapértelmezett tűzfalszabályok nem engedélyezik a kívülről jövő kapcsolatokat. Konfigurációjuk leírása a [[#Security_group-ok|Security group-ok]] szakaszban található.
 
=== Nem sikerült a csatlakozás a konzolra ===
 
A hibaüzenet: ''Failed to connect to server (code: 1006)''.
Ilyenkor az F5 gomb megnyomása segít.
===Nem tudok a létrehozott VM konzolján gépelni===
Ahhoz, hogy gépelni tudjunk, vagy grafikus felülettel rendelkező oprációs operációs rendszer esetén az egérrel dolgozni, a konzol melletti szürke területre kell kattintani és NEM a konzol ablakába. ===Baj van a DNS-el, <code>resolv.conf</code>-fal, stb.===A C4E networking stackje több irányból konfigurálja egy-egy VM DNS beállításait. ==== DHCP oldali beállítások ====Ahhoz, hogy a DHCP ne írja felül minduntalan a <code>resolv.conf</code> egyes sorait a következőt érdemes tenni: A <code>/etc/dhcp/dhclient.conf</code> állományt értelemszerűen bővíteni kell az alábbi(ak közül szükséges) sorokkal:<pre>supersede domain-name "sajatdomain.hu";supersede domain-search "sajatdomain.hu";supersede domain-name-servers 8.8.8.8, 8.8.4.4;</pre> ==== Cloudinit oldali beállítások ====Minden C4E virtuális gépen megtalálható egy ún. "Cloudinit" szkriptrendszer, ami az egyes beállításokat (hostnév, diszknövelés, ssh kulcs, stb.) hivatott beállítani.Ahhoz, hogy a Cloudinit ne állítsa át a hostnevet, és a hosts állományt, az alábbi konfiguráció szükséges a <code>/etc/cloud/cloud.cfg</code> állományban:<pre># This will cause the set+update hostname module to not operate (if true)preserve_hostname: true manage_etc_hosts: false</pre> 
===IPv6 címre van szükségem, a felület szerint kapnom kéne, de mégsem===

Navigációs menü