Cloud for Education

Innen: KIFÜ Wiki
A lap korábbi változatát látod, amilyen Fazy(AT)niif.hu (vitalap | szerkesztései) 2017. május 3., 21:23-kor történt szerkesztése után volt. (Kezdő lépések: környezet kialakítása (Debian/Ubuntu))

Tartalomjegyzék

Ismertető

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 virtuális gépek létrehozásakor több féle "hardvercsomagból" választhatunk, amelyek az alábbi képen tekinthetők meg.

Flavors

A táblázatban látható root lemezek mérete természetesen a virtuális gép létrehozásakor változtatható.

Felhasználói felület bemutatása

Dashboard áttekintés

Dashboard

Bejelentkezés után a felhasználóhoz tartozó kvóta kihasználtságai láthatjuk, ezen kvóták szabályozása admin felhasználóval tehető meg. A kihasználtságon 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 „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 virtuális routereket, hálózatokat, valamint itt állíthatunk be terheléselosztókat és definiálhatunk tűzfalszabályokat. 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 14.04 verziójú lemezkép letöltését szemlélteti.

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 kívánt lemezképfájl internetes elérhetősége
  • Format: QCOW2 – QEMU Emulator
Mindenki számára elérhető Image-ek* (Forrás: http://docs.openstack.org/image-guide/obtain-images.html)
Operációs Rendszer 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 5 GB
CoreOS core 10GB
Fedora 23 fedora 5 GB
Windows 7 Pro SP1 setupuser/Qwer1234 17 GB
* Minden Linux alapú image-ből készített virtuális gépnél az alapértelmezett felhasználó jelszó nélkül sudo képes!

Kulcspár létrehozása/publikus kulcs feltöltése

A „Access & Security” fülre kattintva, 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!

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.
  • 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 számára látható. A másik lehetőség, hogy a létrehozott hálózatot nem osztjuk meg másik tenanttal, azonban hozzárendeljük egy bizonyos tenant-hoz, ezzel garantálva, hogy egy IP cím tartományt csak egy tenant 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 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.

hálózat létrehozása

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.

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ó

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”-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.

Router létrehozás

Security group-ok

A virtuális gépek eléréséhez szükség van tűzfalszabályok definiálására, amelyre a „Security Groups” fülön van lehetőség. Alapértelmezetten egy „Default” security group jön létre, amelyben a következő forgalmak vannak alapértelmezetten engedélyezve:

  • Bejövő forgalom esetén: Kizárólag az azonos Security Group-ban elhelyezett virtuális gépekről érkező forgalmak
  • Kimenő forgalom esetén: Minden forgalom engedélyezve van

A lenti példa szemlélteti, hogy hogyan engedélyezhetjük az SSH és ICMP forgalmakat minden külső hálózatból:

Szabály létrehozása

Szabály létrehozása

Szabály létrehozása


Természetesen nem kötelező a Default security group-ot módosítani, létrehozható másik szabályrendszer is, és hozzárendelhető akár több csoport is egy virtuális géphez. A szabályok hozzáadásával lehetőség van a gép távoli elérésére a megadott protokollon keresztül.

LBaaS

Az LBaaS funkció jelenleg nem elérhető.

FWaaS

Egy másik hálózati lehetőség a tűzfal alkalmazása. Alapértelmezetten a már bemutatott Security Group felel a virtuális gépek elérhetőségének szabályozásáról, azonban lehetőségünk van egy sokkal részletesebben szabályozható technika alkalmazására is. A tűzfal működéséhez fontos, hogy a Default Security Group-ban engedélyezni kell a ki és bemenő forgalmat bárhonnan, mivel a korlátozásokat és a konkrét szabályokat a tűzfal modulban vehetjük fel.

A 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 az a menüstruktúrában is látszik, a tűzfal három részből tevődik össze:

  • Firewall Rules
  • Firewall Policies
  • Firewalls

Első lépésként létre kell hoznunk a szabályokat, majd a szabályokat egy csoportba kell foglalni, végül létre kell hozni egy tűzfalat, majd hozzárendelni a szabálycsoporthoz és a virtuális router-hez. Szabályok létrehozásához válasszuk 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.

Szabály létrehozása


A szabály létrehozása után szükség van egy csoportrendszerre, amely a szabályokat fogja tartalmazni. Ehhez válasszuk a „Firewall Policies” lehetőséget, majd az alábbi ábrákon látható módon hozzuk létre a csoportot és adjuk hozzá az előbb létrehozott mindent tiltó szabályt. Szabályrendszer létrehozása

Szabály hozzárendelés


A szabályok érvényre juttatásához szükség van egy tűzfal létrehozására, amelyhez hozzárendeljük a szabályrendszerünket és a virtuális átjárónkat. Ezt az alábbi módon hozzuk létre. Tűzfal létrehozása

Router hozzárendelés tűzfalhoz


Ezzel elértük, hogy minden bejövő forgalmat eldobjon a tűzfalunk. Ha engedélyezni szeretnénk egy befelé irányuló kapcsolatot, példánkban az SSH protokollt, akkor első lépésben a már megismert módon hozzunk létre egy szabályt, de ezúttal engedélyezőt. További szabály létrehozása


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. Szabály beszúrása

Virtuális gép indítása

Az előfeltételek teljesítése után elkészíthető a kívánt virtuális gép. Ehhez válasszuk a bal oldali menüből a „Compute”, azon belül pedig az „Instances” lehetőséget, majd 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épet.

VM indítása

Kulcspár és security group társítása

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.

SecurityGroup kiválasztása

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.

Hálózat kiválasztása


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.


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 1:1 NAT alkalmazásával 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” alatt található „Access & Security” 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.

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.

Rendelkezésre álló IP címek listája

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.

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.

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 nem áll módunkban 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 szá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.

FONTOS! Az "iSCSI1" és "iSCSI2" hálózat NEM nyújt publikus elérést, azon keresztül csak az iSCSI targetek elérése lehetséges!


FONTOS! A fenti tároló nem önkiszolgáló! A használathoz előbb 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!


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.

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!

A 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:
debian@iscsiteszt-5:~$ cat /extlinux.conf
default linux
timeout 1
label linux
kernel boot/vmlinuz-3.16.0-4-amd64
append initrd=boot/initrd.img-3.16.0-4-amd64 root=/dev/vda1 console=tty0 console=ttyS0,115200 ro quiet
  • Á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):
debian@iscsiteszt-5:~$ cat /extlinux.conf
default linux
timeout 1
label linux
kernel boot/vmlinuz-3.16.0-4-amd64
append initrd=boot/initrd.img-3.16.0-4-amd64 root=/dev/vda1 console=ttyS0,115200 console=tty1 ro quiet

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észeket

Ez az Debian base image-nél alapból konfigurálva van az alábbi módon:

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

Ennek hatására az eth1 és eth2 interfész címei:

root@iscsiteszt:/home/debian# ip a
1: 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 forever
2: 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 forever
3: 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 forever
4: 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

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é!

  • Csomagtelepítés (Debian alapú rendszeren)
apt-get install open-iscsi multipath-tools
  • Multipath konfigurálása (Debian alatt létre kell hozni a fájlt)
root@iscsiteszt:/home/debian# cat /etc/multipath.conf
devices {
        device {
                vendor                  "FUJITSU"
                product                 "ETERNUS_DXL"
                prio                    alua
                path_grouping_policy    group_by_prio
                no_path_retry           queue
                failback                immediate
        }
}
  • Multipath daemon újraindítása
root@iscsiteszt:/home/debian# service multipath-tools restart
  • 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)
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
  • iSCSI daemon újraindítása
root@iscsiteszt:/home/debian# service open-iscsi restart


Targetek konfigurálása

The easy way

Egy letölthető bash szkript, ami megcsinál mindent: 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"...)

Az alábbi parancsköteg jelszavait kell megfelelően lecserélni, majd a konzolra bemásolva csatlakozni a tárolóhoz:

--- Target 001 ---

iscsiadm -m node -p 192.168.168.1 -T iqn.2000-01.hu.niif.c4e:eternus7:cm0-ca0-host1 -o new
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 -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

--- Target 011 ---

iscsiadm -m node -p 192.168.170.1 -T iqn.2000-01.hu.niif.c4e:eternus7:cm0-ca1-host1 -o new
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 -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

--- Target 101 ---

iscsiadm -m node -p 192.168.168.2 -T iqn.2000-01.hu.niif.c4e:eternus7:cm1-ca0-host1 -o new
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 -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

--- Target 111 ---

iscsiadm -m node -p 192.168.170.2 -T iqn.2000-01.hu.niif.c4e:eternus7:cm1-ca1-host1 -o new
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 -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

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:

root@iscsiteszt-5:/home/debian# iscsiadm -m node -P 192.168.170.2 -T iqn.2000-01.hu.niif.c4e:eternus7:cm1-ca1-host1 -l
Logging 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.

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:

root@iscsiteszt-5:/home/debian# multipath -ll
3600000e00d280000002825d2001a0000 dm-0 FUJITSU,ETERNUS_DXL
size=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

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 multipath -ll kiementé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 multipath.conf á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):

root@iscsiteszt-5:/home/debian# cat /etc/multipath.conf
devices {
        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
        }
}

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
root@iscsiteszt-5:/home/debian# multipath -r
Mar 23 11:13:37 | 3600000e00d280000002825d2001a0000: rename 3600000e00d280000002825d2001a0000 to terulet1 
rename: terulet1 (3600000e00d280000002825d2001a0000) undef FUJITSU,ETERNUS_DXL
size=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 running
Mar 23 11:13:37 | 3600000e00d280000002825d2001b0000: rename 3600000e00d280000002825d2001b0000 to terulet2
rename: terulet2 (3600000e00d280000002825d2001b0000) undef FUJITSU,ETERNUS_DXL
size=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

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:

  1. http://www.fujitsu.com/fts/support/
  2. táblázatban katt: Storage
  3. "Ask Fujitsu! We are here to help" ablakban a "Please select the product group"-nál "ETERNUS DX" kiválasztása
  4. "Please select the product family"-nél "ETERNUS DX200 S3" kiválasztása
  5. A megjelenő oldalon a megfelelő Windows verzió kiválasztása
  6. Driver fül alatt "Device Driver"-t nyissuk ki egy kattintással
  7. 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)
  8. Az állomány egy exe, ami kicsomagol egy mappát, amiben lesz egy iso állomány.
  9. 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

  1. A "Felügyeleti eszközök" közül az "iSCSI-kezdeményező" / "iSCSI-Initiator" -t kell választani
  2. Igennel kell válaszolni, hogy automatikusan elinduljon az iSCSI a továbbiakban
  3. 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

FONTOS Minden itt leírt dokumentáció a C4E openstack jelenlegi (Mitaka) 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 kell egy levelet az alábbiakkal a cloud@niif.hu címre:
    • C4E projekt(ek) neve
    • C4E usernév (ez szinte biztosan az eppn)
    • 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ót

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)

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:

echo "deb http://http.debian.net/debian jessie-backports main"  >>/etc/apt/sources.list.d/openstack.list
apt-get update
apt-get install python-openstackclient

Ubuntu (A 16.04-es verziótól Mitaka verziót tölt le az eredeti konfigurációval):

apt-get update
apt-get install python-openstackclient

Második körben be kell szerezni a szükséges rc 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 Access & Security -> API Access oldalon a Download OpenStack RC File v3 opciót választani
  • Az rc file-t a kezelő gépre juttatni (ha nem ott lenne)

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:~$ source cloudadmin_v3.rc
Please enter your OpenStack Password:

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:~$

API használata

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 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 szakaszban található.

Nem tudok a létrehozott VM konzolján gépelni

Ahhoz, hogy gépelni tudjunk, vagy grafikus felülettel rendelkező oprációs rendszer esetén az egérrel dolgozni, a konzol melletti szürke területre kell kattintani és NEM a konzol ablakába.

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:

ICMPv6 Enable