Articles

Mi a virtuális gépi fájlrendszer (VMFS)?

Virtuális gépi fájlrendszer (VMFS)

A NAS-ról szóló tárgyalásunkban röviden említettük, hogy az adatokat egy “fájlrendszer” szervezi. A fájlok kezelésének valamilyen módszere nélkül a tárolóeszközön lévő adatok egy értelmezhetetlen tömeg lennének, amelyből nem derülne ki, hogy hol végződik az egyik adatsor és hol kezdődik a következő. Elképzelheti, milyen zavaros lenne, ha az 1 tb-os merevlemezén lévő 70 000 dal mind egybegyűjtve lenne, nevek és sávinformációk nélkül. Csak akkor lehet azonosítani és visszakeresni az adatokat, ha azokat különálló darabokra bontjuk.

Ezek a különálló adatdarabok fájlokba vannak csoportosítva, amelyek viszont könyvtárakba vannak csoportosítva (amelyek tartalmazhatnak alkönyvtárakat – könyvtárak a könyvtárakon belül). Ez a hierarchikus elrendezés lehetővé teszi a felhasználók számára, hogy szükség szerint navigáljanak a fájlrendszer különböző szintjein. A fájlrendszerek minden egyes fájlhoz “metaadatokat” (pl. fájlnév, időbélyegző, jogosultságok) és indexeket biztosítanak, amelyek segítségével az operációs rendszer megtudhatja, hogy milyen fájlok vannak egy meghajtón és hol találhatók.

A fájlrendszereknek számos típusa létezik, beleértve a lemezekhez, az adatbázisokhoz és a hálózatokhoz tartozó fájlrendszereket. Példaként említhetjük az NTFS ( a Windows által támogatott), az ext (pl. ext2, ext3 és ext4) és a ReiserFS (mindkettőt támogatja a Linux), a HFS+ és az APFS (mindkettőt támogatja az Apple macOS), valamint az UDF és az ISO 9660 az optikai lemezekhez. A merevlemezeken a fájlrendszer a lemez inicializálásakor (ha új) vagy formázásakor (akár új, akár nem) jön létre.

A virtualizált tárolók célja, hogy a virtuális gépek (VM-ek) számára biztosítsák az operációs rendszerük és alkalmazásaik elhelyezéséhez szükséges tárolót. A virtualizált környezetben a virtuális gépek virtuális lemezeit egy “adattárolón” tárolják. (A virtualizálási folyamat során egy fizikai meghajtón partíciót hoznak létre egy “Logikai egységszám” vagy LUN néven ismert helyet alkotva; egy vagy több LUN alkot egy “kötetet”; több kötet alkot egy adattárolót). Egy adattárolóhoz általában egy fájlrendszernek kell telepítve lennie ahhoz, hogy hozzáférhessünk hozzá. A VMware felhőalapú számítástechnikai virtualizációs platformján, a vSphere-en az adattárolók kétféle fájlrendszer-formátummal vannak beállítva: a “Virtual Machine File System” (VMFS) vagy a “Network File System” (NFS). Az NFS-t a következő fejezetben tárgyaljuk.

A VMware úttörője volt a virtualizációs technológiáknak, és saját fájlrendszert, a VMFS-t fejlesztette ki a velük való együttműködéshez. A hagyományos fájlrendszerek lehetővé teszik, hogy egy adott fájlhoz egy adott időpontban csak egy kiszolgálónak legyen olvasási/írási hozzáférése. Ezzel szemben a VMFS lehetővé teszi, hogy egyszerre több kiszolgálónak is legyen olvasási és írási hozzáférése ugyanahhoz a tárolási erőforráshoz. Ennek oka, hogy a VMFS egy nagy teljesítményű fürtözött fájlrendszer (CFS), a “fürt” azt jelenti, hogy egyszerre több szerverre van felcsatolva (elérhetővé téve).

A VMware virtualizációs technológiája lehetővé teszi, hogy a VMFS virtualizált tárolót hozzon létre és osszon ki a virtuális gépek és szerverek számára. A VMFS azt is lehetővé teszi, hogy több VM megossza egyetlen fájlrendszert. Egy egyszerű konfigurációban a virtuális gépek lemezeit fájlokként tárolja a VMFS. Ahhoz, hogy a VMFS megértse a SCSI-eszközről kért fájlműveleteket, a virtualizációs réteg lefordítja a vendég operációs rendszer által kiadott SCSI-parancsokat.

A virtuális gép egy VMFS-adattárolón tárolt virtuális lemezt egy csatolt SCSI-eszközként “lát”. A VM-ben futó operációs rendszer nem “látja” a VMFS-t – helyette a saját fájlrendszerét “látja”.

A VMFS adattároló egyetlen SAN LUN-hoz köthető, vagy több SAN LUN-ra is kiterjeszthető. Egy adattároló még akkor is bővíthető, amikor virtuális gépek futnak rajta, akár az adattároló növelésével, akár egy új tárolóterület hozzáadásával. A VMFS adattároló 32 azonos tárolótípusú fizikai tárolási területre terjeszthető ki. (A VMFS a blokkos tárolóeszközök széles skáláján használható, beleértve a Fibre Channel SAN-okat, az iSCSI SAN-okat, a helyi tárolókat és a Fibre Channel over Ethernet-t.)

A fürtben lévő több ESXi-kiszolgáló esetén a virtuális gépek bekapcsolása a VMFS zárolási mechanizmus funkciója biztosítja, hogy a VM-ket ne a fürt összes ESXi-kiszolgálója kapcsolja be. Megosztott tárolókörnyezetben több ESXi hoszt is hozzáférhet ugyanahhoz a VMFS adattárolóhoz, ezért van szükség a lemezen belüli zárolásra. A VMware High Availability esetében azonban a lemezen belüli zárolási mechanizmus le van tiltva, így a fürtben lévő ESXi hosztok sikeresen átállhatnak a hibás működésre, amikor megpróbálják bekapcsolni a virtuális gépet egy másik működő fizikai kiszolgálón. Mint minden hipervizor, az ESXi (az “Elastic Sky X Integrated” rövidítése) VM-eket hoz létre és futtat. Ez egy “1-es típusú” hipervizor, ami azt jelenti, hogy nem támaszkodik a gazda operációs rendszerére, hanem közvetlenül a gazda hardverén fut, magában foglalva egy alapvető operációs rendszert (OS), amely a kernelt is tartalmazza. (A kernel az operációs rendszer központi eleme, amely a rendszer erőforrásait kezeli.) A VMware HA (vagy “magas rendelkezésre állás”) a VM-eket és a rajtuk lévő hosztokat egy fürtbe gyűjti össze. A fürtben lévő hosztokat felügyelik, és meghibásodás esetén a meghibásodott hoszton lévő VM-eket más hosztokon indítják újra. A VMware HA lehetővé teszi a vállalatok számára, hogy magas rendelkezésre állást biztosítsanak a VM-ben futó bármely alkalmazás számára.

Minden virtuális gép egyetlen könyvtárban lévő kis fájlkészletbe van foglalva. A katasztrófa utáni helyreállítás ezért jelentősen leegyszerűsödik; a teljes VM távolról tükrözhető és könnyen helyreállítható katasztrófa esetén.