47
szerkesztés
Módosítások
→Virtuális volume-ok le és felcsatolása másik gépre (javítás karbantartás stb...)
=Cloud 4 Education=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
===Igényelhető virtuális erőforrás-csomagok (flavor)===
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)=====
{| class="wikitable" border="1"
|-
| Bejelentkezési név
| Minimum diszk méret
|-
| Ubuntu 14.04 Trusty Tahr
| ubuntu
| 5 GB
|-
| Ubuntu 16.04 Xenial
| ubuntu
| 5 GB
|-
| CentOS 6
| centos
| 8 GB
|-
| CentOS 7
| centos
| 8 GB
|-
| Debian 8.3
| debian
| 8 5 GB | 512 MB
|-
| CoreOS
| core
| 10GB
| 512 MB - | Fedora 23 | fedora | 5 GB |- | Windows 7 Pro SP1| setupuser/Qwer1234| 17 GB |-
|}
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]]
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ózatot 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.
[[File:Create_net2Li6.png|723px726px|hálózat létrehozásaVM Select pub_key]]
A fentebb látható menüben az átjáró IP címét nem kötelező megadni, ilyenkor automatikusan „Launch” lehetőséget választva elkezdhetjük a megadott tartomány első IP címét fogja átjárónak beállítanivirtuális gép létrehozását. Ebben A folyamat elkészültekor az esetben 192.168.66.1 címet„Instances” fül alatt láthatjuk az eddig létrehozott virtuális gépeinket és azok állapotát.
[[File:Create_net3Li7.png|723px726px|hálózat létrehozásaLé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 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.
=====Router létrehozása és Interfészek hozzáadása=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 „Project” alatt található „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:Allocate_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:Allocate_ip2.png|726px|Rendelkezésre álló IP címek listája]] [[File:Allocate_ip3.png|726px|Floating IP géphez rendelése]] A sikeres elkészítése 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. ===Kiegészítés Windows gépek elké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_snapshot1.png|723px|Snapshot létrehozás]] Az elkészült pillanatképből készítsünk egy újabb virtuális gépet, a már ismert módon, azzal a különbséggel, hogy a gépet ezúttal ne image-ből, hanem snapshot-ból indítsuk. [[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. A fenti probléma megoldására lehetőséget teremtettünk a Storage szolgáltatásunkban résztvevő egyik Eternus tárolóeszköz integrálására a C4E alá. Ez azt jelenti, hogy a C4E rendszerében konfigurálásra került egy "iSCSI1" és "iSCSI2" nevű hálózat, melynek használatával közvetlen Layer2 kapcsolattal éri el az Eternus egységet a felhasználó virtuális router létrehozásáraszámítógépe, szemben a többi tárolónkkal, amihez a publikus hálózaton keresztül (route-olva) lehet hozzáférni. '''<big>FONTOS!''' Az "iSCSI1" és "iSCSI2" hálózat '''NEM nyújt publikus elérést''', amelyen azon keresztül fog '''csak az iSCSI targetek''' elérése lehetséges!</big> '''<big>FONTOS! A fenti tároló nem önkiszolgáló! ''' A használathoz előbb '''[https://webform.niif.hu/content/storage-igenyles ''területigénylést kell benyújtani'']''', ahol be kell jelölni a ''' "A terület(ek)re a C4E szolgáltatás keretében használt virtuális gépe(i)mről kívánok csatlakozni!"''' opciót a második oldalon, majd a '''pozitív elbírálás után''' a megadott paraméterekkel lehet csatlakozni a tárolóhoz!</big> ==== 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 hálózati címfordítás történnisablon image-ek alapértelmezetten egy read only konzolra küldik az emergency shell kimenetét, amin nem lehet módosításokat végezni. <big>'''FONTOS!''' Az esetleges konfigurációs hibákból adódó hibás virtuális gépek javításában '''NEM tudunk''' segíteni, az esetleges adatvesztésért felelősséget nem vállalunk!</big> A router létrehozása fentiekből kifolyólag célszerű átállítani az extlinux rendszerbetöltőt az iSCSI-t használó gépeken az alábbiak szerint: * Az eredeti állomány:<pre>debian@iscsiteszt-5:~$ cat /extlinux.confdefault linuxtimeout 1label linuxkernel boot/vmlinuz-3.16.0-4-amd64append initrd=boot/initrd.img-3.16.0-4-amd64 root=/dev/vda1 console=tty0 console=ttyS0,115200 ro quiet</pre> * Átírás után (az utolsó sor végén '''helyet cserél''' a két console paraméter, és a '''tty0-ból tty1 lesz'''): <pre>debian@iscsiteszt-5:~$ cat /extlinux.confdefault linuxtimeout 1label linuxkernel boot/vmlinuz-3.16.0-4-amd64append initrd=boot/initrd.img-3.16.0-4-amd64 root=/dev/vda1 console=ttyS0,115200 console=tty1 ro quiet</pre> Ezen módosítás azonban több ismert hátránnyal jár: * Nem lesz elérhető a boot során keletkező read-only konzolkimenet (bootidőben persze látszik a VNC konzolon)* 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észeketEz az Debian base image-nél alapból konfigurálva van az alábbi módon:<pre>root@iscsiteszt:/home/debian# cat /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The normal eth0 auto eth0 iface eth0 inet dhcp # Maybe the VM has 2 NICs? allow-hotplug eth1 iface eth1 inet dhcp # Maybe the VM has 3 NICs? allow-hotplug eth2 iface eth2 inet dhcp</pre> Ennek hatására az eth1 és eth2 interfész címei:<pre>root@iscsiteszt:/home/debian# ip a1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether fa:16:3e:f0:84:6d brd ff:ff:ff:ff:ff:ff inet 193.224.22.182/24 brd 193.224.22.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::f816:3eff:fef0:846d/64 scope link valid_lft forever preferred_lft forever3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether fa:16:3e:17:05:1e brd ff:ff:ff:ff:ff:ff inet 192.168.168.53/23 brd 192.168.169.255 scope global eth1 valid_lft forever preferred_lft forever inet6 fe80::f816:3eff:fe17:51e/64 scope link valid_lft forever preferred_lft forever4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether fa:16:3e:f1:ba:0a brd ff:ff:ff:ff:ff:ff inet 192.168.170.51/23 brd 192.168.171.255 scope global eth2 valid_lft forever preferred_lft forever inet6 fe80::f816:3eff:fef1:ba0a/64 scope link valid_lft forever preferred_lft forever</pre> '''<big>FONTOS!''' Ezen interfészek akár statikus címhasználatra is konfigurálhatók, de a C4E biztonsági megoldásai miatt kizárólag '''a C4E felületén megjelenő IP címek''' esetén lesz képes csomagot forgalmazni a virtuális gép a tároló felé! </big> * Csomagtelepítés (Debian alapú rendszeren)<pre>apt-get install open-iscsi multipath-tools</pre> * Multipath konfigurálása (Debian alatt létre kell hozni a fájlt)<pre>root@iscsiteszt:/home/debian# cat /etc/multipath.confdevices { device { vendor "FUJITSU" product "ETERNUS_DXL" prio alua path_grouping_policy group_by_prio no_path_retry queue failback immediate }}</pre> * Multipath daemon újraindítása<pre>root@iscsiteszt:/home/debian# service multipath-tools restart</pre> * iSCSI Initiator name konfigurálása (ezt meg kellett adni az igényléskor... természetesen most lehet módosítani az állományt, később viszont fontos az ott olvasható figyelmeztetés)<pre>root@iscsiteszt:/home/debian# cat /etc/iscsi/initiatorname.iscsi## DO NOT EDIT OR REMOVE THIS FILE!## If you remove this file, the iSCSI daemon will not start.## If you change the InitiatorName, existing access control lists## may reject this initiator. The InitiatorName must be unique## for each iSCSI initiator. Do NOT duplicate iSCSI InitiatorNames.InitiatorName=iqn.2017-03.hu.niif.test:c4e</pre> * iSCSI daemon újraindítása<pre>root@iscsiteszt:/home/debian# service open-iscsi restart</pre> ===== 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ő képeken 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"...) Az alábbi parancsköteg jelszavait kell megfelelően lecserélni, majd a konzolra bemásolva csatlakozni a tárolóhoz: <big>--- Target 001 ---</big><pre>iscsiadm -m node -p 192.168.168.1 -T iqn.2000-01.hu.niif.c4e:eternus7:cm0-ca0-host1 -o newiscsiadm -m node -p 192.168.168.1 -T iqn.2000-01.hu.niif.c4e:eternus7:cm0-ca0-host1 -o update -n node.session.auth.username -v <initiator CHAP felhasználó>iscsiadm -m node -P 192.168.168.1 -T iqn.2000-01.hu.niif.c4e:eternus7:cm0-ca0-host1 -o update -n node.session.auth.password -v <initiator CHAP jelszó>iscsiadm -m node -p 192.168.168.1 -T iqn.2000-01.hu.niif.c4e:eternus7:cm0-ca0-host1 -o update -n node.session.auth.username_in -v <target CHAP felhasználó>iscsiadm -m node -P 192.168.168.1 -T iqn.2000-01.hu.niif.c4e:eternus7:cm0-ca0-host1 -o update -n node.session.auth.password_in -v <target CHAP jelszó>iscsiadm -m node -P 192.168.168.1 -T iqn.2000-01.hu.niif.c4e:eternus7:cm0-ca0-host1 -l iscsiadm -m node -P 192.168.168.1 -T iqn.2000-01.hu.niif.c4e:eternus7:cm0-ca0-host1 --op update -n node.startup -v automatic</pre> <big>--- Target 011 ---</big><pre>iscsiadm -m node -p 192.168.170.1 -T iqn.2000-01.hu.niif.c4e:eternus7:cm0-ca1-host1 -o newiscsiadm -m node -p 192.168.170.1 -T iqn.2000-01.hu.niif.c4e:eternus7:cm0-ca1-host1 -o update -n node.session.auth.username -v <initiator CHAP felhasználó>iscsiadm -m node -P 192.168.170.1 -T iqn.2000-01.hu.niif.c4e:eternus7:cm0-ca1-host1 -o update -n node.session.auth.password -v <initiator CHAP jelszó>iscsiadm -m node -p 192.168.170.1 -T iqn.2000-01.hu.niif.c4e:eternus7:cm0-ca1-host1 -o update -n node.session.auth.username_in -v <target CHAP felhasználó>iscsiadm -m node -P 192.168.170.1 -T iqn.2000-01.hu.niif.c4e:eternus7:cm0-ca1-host1 -o update -n node.session.auth.password_in -v <target CHAP jelszó>iscsiadm -m node -P 192.168.170.1 -T iqn.2000-01.hu.niif.c4e:eternus7:cm0-ca1-host1 -l iscsiadm -m node -P 192.168.170.1 -T iqn.2000-01.hu.niif.c4e:eternus7:cm0-ca1-host1 --op update -n node.startup -v automatic</pre> <big>--- Target 101 ---</big><pre>iscsiadm -m node -p 192.168.168.2 -T iqn.2000-01.hu.niif.c4e:eternus7:cm1-ca0-host1 -o newiscsiadm -m node -p 192.168.168.2 -T iqn.2000-01.hu.niif.c4e:eternus7:cm1-ca0-host1 -o update -n node.session.auth.username -v <initiator CHAP felhasználó>iscsiadm -m node -P 192.168.168.2 -T iqn.2000-01.hu.niif.c4e:eternus7:cm1-ca0-host1 -o update -n node.session.auth.password -v <initiator CHAP jelszó>iscsiadm -m node -p 192.168.168.2 -T iqn.2000-01.hu.niif.c4e:eternus7:cm1-ca0-host1 -o update -n node.session.auth.username_in -v <target CHAP felhasználó>iscsiadm -m node -P 192.168.168.2 -T iqn.2000-01.hu.niif.c4e:eternus7:cm1-ca0-host1 -o update -n node.session.auth.password_in -v <target CHAP jelszó>iscsiadm -m node -P 192.168.168.2 -T iqn.2000-01.hu.niif.c4e:eternus7:cm1-ca0-host1 -l iscsiadm -m node -P 192.168.168.2 -T iqn.2000-01.hu.niif.c4e:eternus7:cm1-ca0-host1 --op update -n node.startup -v automatic</pre> <big>--- Target 111 ---</big><pre>iscsiadm -m node -p 192.168.170.2 -T iqn.2000-01.hu.niif.c4e:eternus7:cm1-ca1-host1 -o newiscsiadm -m node -p 192.168.170.2 -T iqn.2000-01.hu.niif.c4e:eternus7:cm1-ca1-host1 -o update -n node.session.auth.username -v <initiator CHAP felhasználó>iscsiadm -m node -P 192.168.170.2 -T iqn.2000-01.hu.niif.c4e:eternus7:cm1-ca1-host1 -o update -n node.session.auth.password -v <initiator CHAP jelszó>iscsiadm -m node -p 192.168.170.2 -T iqn.2000-01.hu.niif.c4e:eternus7:cm1-ca1-host1 -o update -n node.session.auth.username_in -v <target CHAP felhasználó>iscsiadm -m node -P 192.168.170.2 -T iqn.2000-01.hu.niif.c4e:eternus7:cm1-ca1-host1 -o update -n node.session.auth.password_in -v <target CHAP jelszó>iscsiadm -m node -P 192.168.170.2 -T iqn.2000-01.hu.niif.c4e:eternus7:cm1-ca1-host1 -l iscsiadm -m node -P 192.168.170.2 -T iqn.2000-01.hu.niif.c4e:eternus7:cm1-ca1-host1 --op update -n node.startup -v automatic</pre> Az egyes csoportok beillesztése után (konkrétan a csoportok utolsó előtti parancsa miatt) minden targetre be kell jelentkezzen, és az alábbihoz hasonló üzeneteknek kell megjelenni:<pre>root@iscsiteszt-5:/home/debian# iscsiadm -m node -P 192.168.170.2 -T iqn.2000-01.hu.niif.c4e:eternus7:cm1-ca1-host1 -lLogging in to [iface: default, target: iqn.2000-01.hu.niif.c4e:eternus7:cm1-ca1-host1, portal: 192.168.170.2,3260] (multiple)Login to [iface: default, target: iqn.2000-01.hu.niif.c4e:eternus7:cm1-ca1-host1, portal: 192.168.170.2,3260] successful.</pre> Miután mind a négy targetre sikerült a bejelentkezés, már csak a multipath ellenőrzése van hátra, ahol a lentihez hasonló kimenetnek kell megjelenjen:<pre>root@iscsiteszt-5:/home/debian# multipath -ll3600000e00d280000002825d2001a0000 dm-0 FUJITSU,ETERNUS_DXLsize=200G features='1 queue_if_no_path' hwhandler='0' wp=rw|-+- policy='service-time 0' prio=50 status=active| |- 3:0:0:0 sdd 8:48 active ready running| `- 5:0:0:0 sdb 8:16 active ready running`-+- policy='service-time 0' prio=10 status=enabled |- 2:0:0:0 sda 8:0 active ready running `- 4:0:0:0 sdc 8:32 active ready running</pre> Itt jól látszik, hogy mind a négy útvonal ép, és az első kettő az aktív, a másik kettő pedig bármikor rendelkezésre áll. Amennyiben a path-ok nem jelennének meg, az alábbi parancs segítségével újratölthető a devmap: 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>root@iscsiteszt-5:/home/debian# cat /etc/multipath.confdevices { device { vendor "FUJITSU" product "ETERNUS_DXL" prio alua path_grouping_policy group_by_prio no_path_retry queue failback immediate }}multipaths { multipath { wwid 3600000e00d280000002825d2001a0000 alias terulet1 } multipath { wwid 3600000e00d280000002825d2001b0000 alias terulet2 }} </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>root@iscsiteszt-5:/home/debian# multipath -rMar 23 11:13:37 | 3600000e00d280000002825d2001a0000: rename 3600000e00d280000002825d2001a0000 to terulet1 rename: terulet1 (3600000e00d280000002825d2001a0000) undef FUJITSU,ETERNUS_DXLsize=200G features='1 queue_if_no_path' hwhandler='0' wp=undef|-+- policy='service-time 0' prio=50 status=undef| |- 3:0:0:0 sdd 8:48 active ready running| `- 5:0:0:0 sdb 8:16 active ready running`-+- policy='service-time 0' prio=10 status=undef |- 4:0:0:0 sdc 8:32 active ready running `- 6:0:0:0 sda 8:0 active ready runningMar 23 11:13:37 | 3600000e00d280000002825d2001b0000: rename 3600000e00d280000002825d2001b0000 to terulet2rename: terulet2 (3600000e00d280000002825d2001b0000) undef FUJITSU,ETERNUS_DXLsize=200G features='1 queue_if_no_path' hwhandler='0' wp=undef|-+- policy='service-time 0' prio=50 status=undef| |- 4:0:0:1 sdg 8:96 active ready running| `- 6:0:0:1 sdf 8:80 active ready running`-+- policy='service-time 0' prio=10 status=undef |- 3:0:0:1 sdh 8:112 active ready running `- 5:0:0:1 sde 8:64 active ready running</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. Sajnos a Windows Multipath rendszere nem képes korrektül kezelni az Eternus tárolókat, ezért első lépésként fel kell telepíteni a Fujitsu Eternus MultiPath Drivert (EMPD)A cikk írásakor ez a V2.0L23-as (2016/12/21) verziója, amit az alábbi módon lehet letölteni: # http://www.fujitsu.com/fts/support/# táblázatban katt: Storage# "Ask Fujitsu! We are here to help" ablakban a "Please select the product group"-nál "ETERNUS DX" kiválasztása# "Please select the product family"-nél "ETERNUS DX200 S3" kiválasztása# A megjelenő oldalon a megfelelő Windows verzió kiválasztása# Driver fül alatt "Device Driver"-t nyissuk ki egy kattintással# legfrissebb elérhető driver ("EMPD - Multipath Driver for Windows ...") letöltése "Direct download"-ra kattintással#*("I have read and agree to the terms and conditions." checkbox bepipálásával elfogadva a felhasználási feltételeket)# Az állomány egy exe, ami kicsomagol egy mappát, amiben lesz egy iso állomány.# 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# Igennel kell válaszolni, hogy automatikusan elinduljon az iSCSI a továbbiakban# 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.Akkor, ha timeout hiba merülne fel, a cloud@niif.hu címen kell jelezni az elérés igényét, és a kérdéses IP címet.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 (Rocky) 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: * Meg kell nyitni a: https://keystone.c4e.niif.hu/regsite/apipwgen oldalt.* Új jelszó beállítását kérni.* A kapott jelszót felírni.* Ajánlott a kapott jelszót utólag a webfelületen (vagy CLI-ből) módosítani! === Kezdő lépések: környezet kialakítása (Debian/Ubuntu) === 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: Ubuntu 18.04 (ajánlott)<pre>add-apt-repository cloud-archive:rockyapt-get updateapt-get install python-openstackclient</pre> 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.listecho "deb http://osbpo.debian.net/osbpo buster-rocky-backports-nochange main" >>/etc/apt/sources.list.d/openstack.listapt-get updateapt-get install python-openstackclient</pre> Telepítés SNAP-ből:<pre>sudo snap install openstackclients --classic</pre> Második körben be kell szerezni a szükséges <big>'''openrc'''</big> file-t az api eléréséhez:* Be kell jelentkezni a C4E-be (IdP-n keresztül természetesen)* Ki kell választani az elérni kívánt projektet, ha több lenne (az rc file-ok projektfüggők!)* 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
debian@apitest:~$ openstack server list
+--------------------------------------+-----------------+--------+----------------------------------------------------------------------------------+
| ID | Name | Status | Networks |
+--------------------------------------+-----------------+--------+----------------------------------------------------------------------------------+
| 3ac59936-cdae-4822-9855-60fabeff135f | apitest | ACTIVE | Flat1=2001:738:0:519:f816:3eff:fedd:d5e8, 193.224.22.225 ||
+--------------------------------------+-----------------+--------+----------------------------------------------------------------------------------+
debian@apitest:~$
</pre>
=== API használata ===
CSV Formatter:
--quote {all,minimal,none,nonnumeric}
when to include quotes, defaults to nonnumeric
debian@apitest:~$
</pre>
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===
Valószínűleg bejelölted a "Public" lehetőséget, amelyhez a felhasználóknak nincs jogosultságuk. Erre csak admin jogosultságú felhasználó képes.
===Nem tudom, hogy mi az azonosító és jelszó a példányosított image-emhez.===
Mert nem kötötted hozzá a publikus kulcsodat, amit előzőleg feltöltöttél az access & security key pairs fül alatt. Az SSH kulcsos azonosítással történik.A felhasználói nevek a [[C4E#Ig.C3.A9nyelhet.C5.91_virtu.C3.A1lis_er.C5.91forr.C3.A1s-csomagok_.28flavor.29|Flavors]] táblázatban vannak feltüntetve. === 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ő 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===Ennek oka, hogy az adott Security Group nem "engedi be" az SLAAC-hoz szükséges hirdetési információkat. A tűzfal alábbiak szerinti bővítése, és egy virtuális gép reboot megoldja a problémát: [[Fájl:ipv6_secgroup.png|665px|ICMPv6 Enable]]