Articles

Wat is Virtual Machine File System (VMFS)?

Virtual Machine File System (VMFS)

In onze bespreking van NAS, hebben we kort vermeld dat data wordt georganiseerd door een “bestandssysteem”. Zonder een methode om bestanden te beheren, zouden de gegevens in een opslagapparaat een onbegrijpelijke massa zijn, zonder aanduiding van waar een set gegevens eindigt en de volgende begint. U kunt zich voorstellen hoe verwarrend het zou zijn als de 70.000 liedjes op uw harde schijf van 1 TB allemaal op één hoop zouden worden gegooid, zonder namen en nummerinformatie. Alleen wanneer de gegevens in afzonderlijke stukken worden gescheiden, kunnen ze worden geïdentificeerd en teruggevonden.

Deze afzonderlijke stukken gegevens worden gegroepeerd in bestanden, die op hun beurt weer zijn gegroepeerd in directory’s (die subdirectory’s kunnen bevatten – directory’s binnen directory’s). Deze hiërarchische ordening stelt gebruikers in staat naar behoefte door de verschillende niveaus van een bestandssysteem te navigeren. Bestandssystemen bieden “metagegevens” voor elk bestand (bijvoorbeeld bestandsnaam, tijdstempels, machtigingen) en indexen waarmee het besturingssysteem weet welke bestanden zich op een schijf bevinden en waar ze zich bevinden.

Er zijn vele soorten bestandssystemen, waaronder bestandssystemen voor schijven, voor databases en voor netwerken. Voorbeelden van bestandssystemen waar u wellicht van hebt gehoord, zijn NTFS (ondersteund door Windows), ext (bijv. ext2, ext3 en ext4) en ReiserFS (beide ondersteund door Linux), HFS+ en APFS (beide ondersteund door Apple’s macOS), en UDF en ISO 9660 voor optische schijven. Op een harde schijf wordt het bestandssysteem gemaakt wanneer de schijf wordt geïnitialiseerd (als deze nieuw is) of geformatteerd (al dan niet nieuw).

Gevirtualiseerde opslag is ontworpen om virtuele machines (VM’s) de opslag te geven die ze nodig hebben om hun besturingssystemen en toepassingen te hosten. In een gevirtualiseerde omgeving worden de virtuele schijven van een virtuele machine opgeslagen op een “datastore”. (In het virtualisatieproces wordt een partitie gemaakt op een fysieke schijf om een ruimte te vormen die bekend staat als een “Logical Unit Number” of LUN; een of meer LUN’s vormen een “volume”; een aantal volumes vormen een datastore). Op een datastore moet doorgaans een bestandssysteem zijn geïnstalleerd om deze te kunnen benaderen. Met VMware’s cloud computing virtualisatie platform, vSphere, worden datastores opgezet met één van de twee bestandssysteem formaten: het “Virtual Machine File System” (VMFS) of het “Network File System” (NFS). NFS wordt in de volgende sectie besproken.

VMware was pionier op het gebied van virtualisatietechnologieën en ontwikkelde hun eigen bestandssysteem, VMFS, om ermee te werken. Conventionele bestandssystemen staan slechts toe dat één server op een bepaald moment lees- en schrijftoegang heeft tot een bepaald bestand. VMFS daarentegen biedt meerdere servers tegelijkertijd lees- en schrijftoegang tot dezelfde opslagbronnen. Dit komt doordat VMFS een krachtig geclusterd bestandssysteem (CFS) is, waarbij “clusteren” betekent dat het tegelijkertijd op meerdere servers wordt gemount (toegankelijk wordt gemaakt).

VMware’s virtualisatietechnologie maakt het mogelijk om met VMFS gevirtualiseerde opslag voor virtuele machines en servers te maken en toe te wijzen. VMFS maakt het ook mogelijk dat meerdere VM’s een enkel bestandssysteem delen. In een eenvoudige configuratie worden de schijven van virtuele machines opgeslagen als bestanden binnen VMFS. Om ervoor te zorgen dat VMFS de gevraagde bestandsbewerkingen van een SCSI-apparaat begrijpt, vertaalt de virtualisatielaag de SCSI-opdrachten van een gastbesturingssysteem.

Een virtuele machine ‘ziet’ een virtuele schijf die is opgeslagen in een VMFS-datastore als een gemount SCSI-apparaat. Het besturingssysteem dat in de VM draait, ‘ziet’ VMFS niet – het ‘ziet’ in plaats daarvan zijn eigen bestandssysteem.

Een VMFS-datastore kan worden gekoppeld aan een enkele SAN LUN of worden uitgerekt over meerdere SAN LUN’s. U kunt een datastore zelfs uitbreiden terwijl er virtuele machines op draaien, door de datastore te laten groeien of door een nieuw opslaggebied toe te voegen. De VMFS-datastore kan worden uitgebreid over 32 fysieke opslaggebieden van hetzelfde opslagtype. (VMFS kan worden gebruikt op een groot aantal verschillende blokopslagapparaten, waaronder Fibre Channel SAN’s, iSCSI SAN’s, lokale opslag en Fibre Channel over Ethernet.)

Als meerdere ESXi-servers in een cluster virtuele machines inschakelen, zorgt de VMFS-vergrendelingsmechanismefunctie ervoor dat de VM’s niet door alle ESXi-servers in een cluster worden ingeschakeld. Meerdere ESXi-hosts kunnen toegang krijgen tot dezelfde VMFS-datastore in een gedeelde opslagomgeving, vandaar de reden voor vergrendeling op schijf. Met VMware High Availability wordt het mechanisme voor vergrendeling op schijf echter uitgeschakeld, zodat de ESXi-hosts in het cluster met succes kunnen failoveren in een poging de virtuele machine op een andere werkende fysieke server in te schakelen. Net als alle hypervisors maakt ESXi (kort voor “Elastic Sky X Integrated”) VM’s aan en voert het VM’s uit. Het is een “Type 1”-hypervisor, wat betekent dat hij niet afhankelijk is van het besturingssysteem van zijn host, maar rechtstreeks op de hardware van de host draait, met in zijn binnenste een basisbesturingssysteem (OS) dat de kernel omvat. (De kernel is het kernonderdeel van een OS, dat systeembronnen beheert.) VMware HA (of “High Availability”) bundelt VM’s en de hosts waarop zij zijn ondergebracht in een cluster. Hosts in het cluster worden gemonitord en in geval van een storing worden de VM’s op een falende host opnieuw opgestart op andere hosts. Met VMware HA kunnen bedrijven een hoge beschikbaarheid bieden voor elke applicatie die in een VM wordt uitgevoerd.

Elke virtuele machine is ingekapseld in een kleine set bestanden in een enkele directory. Disaster recovery wordt daardoor sterk vereenvoudigd; de volledige VM kan op afstand worden gespiegeld en eenvoudig worden hersteld in geval van een ramp.