Ubuntu: de perfecte server – Virtuele machine en NFSv4 datapartitie


Let op: dit artikel bespreekt NFSv4 dat, in tegenstelling tot de oude versie 3, een pseudobestandssysteem gebruikt. Dit een echt bestandssysteem dat geïdentificeerd wordt met de optie fsid=0 tijdens de export.

In het artikel Ubuntu: de perfecte server – minimale server installeren hebben we een data-partitie (/data) aangemaakt. Deze partitie kan gebruikt worden als opslagruimte voor je eigen bestanden (documenten, foto’s, muziek, films, enz),  kan gekoppeld worden in een VirtualBox virtuele machine en zelfs gedeeld worden tussen virtuele machines. Daarnaast heeft zo een data-partitie nog een ander voordeel voor een virtuele machine. Deze kan namelijk vervangen worden, zonder eerst de data veilig te stellen.

Deze data-partitie kunnen we nu in elke virtuele machine, waarin we deze partitie nodig hebben, koppelen met behulp van het Network File System versie 4 (NFSv4). Hiervoor moeten we twee acties uitvoeren:

  • de data-partitie in de gastheer beschikbaar maken voor delen onder NFS.
  • de data-partitie in de virtuele machine automatisch aankoppelen.

De data-partitie in de gastheer beschikbaar maken voor delen onder NFS

Voor NFS fungeert de gastheer als de NFS-server. Dus delen we de data-partitie in de fysieke machine, de gastheer. We gaan het volgende scenario bespreken: /data is de partitie en we willen graag de folder /data/documenten in een virtuele server (gast) gebruiken. De documentenfolder moet natuurlijk wel bestaan op de data-partitie. Zo niet dan moet je deze even aanmaken.

  1. Voordat we aan de slag gaan moeten we de rechten voor de data-partitie /data zetten, zodat we deze kunnen benaderen als eigenaar van de data of als groep waartoe we behoren. Voer daarvoor het volgende commando uit:
    sudo chmod 775 /data
  2. Voer het volgende commando uit om de NFS server te installeren:
    sudo apt-get install nfs-kernel-server nfs-common portmap
  3. De partitie en folder die we willen gaan delen en moeten exporteren zijn de /data partitie en de folder /data/documenten. Het exportsysteem maken we als volgt:
    sudo mkdir /export
    sudo mkdir /export/documenten
  4. Standaard werkt NFS met UID’s (User IDentification). Dat betekent dat de gebruikersidentificatienummers op de server en de client gelijk dienen te zijn. Dit kan je bereiken met behulp van Network Information Service (NIS), maar NIS is niet veilig. Beter is NFS de echte gebruikersnamen te laten gebruiken. Daarvoor moeten we het configuratiebestand /etc/default/nfs-common aanpassen:
    sudo vi /etc/default/nfs-common en pas de volgende opties aan zoals hier is weergegeven:
    NEED_IDMAPD=yes
    Bewaar de wijziging door op pde :wq toetsen te drukken.
  5. Vervolgens gaan we de data-partitie, die gedeeld en geëxporteerd moet worden, opnemen in het bestand /etc/exports.
    Voer het commando sudo vi /etc/exports uit om het exportbestand te openen met administrator rechten.
    Voeg de volgende regel toe om de data-partitie te delen:
    /export 192.168.1.0/24(rw,fsid=0,insecure,no_subtree_check,async)
    /export/documenten 192.168.1.0/24(rw,nohide,insecure,no_subtree_check,async)

    Het IP-adres 192.168.1.0/24 specificeert het lokale netwerk. De optie ‘rw’ geeft toegang voor zowel lezen als schrijven. Met de optie ‘ro’ (read-only) kan via NFS alleen gelezen worden. Kijk voor alle opties in de man page: man exports.
  6. Om de namen automatisch te mappen, moet zowel in de NFS-server als in de NFS-client het /etc/idmapd.conf bestand aangepast worden. Dit bestand wordt gebruikt voor het synchroniseren van de gebruikers UID’s op basis van hun namen tussen de server en client.
    Open het bestand als volgt:
    sudo vi /etc/idmapd.conf en zorg dat de volgende regels in dit bestand staan:
    Domain=<domeinnaam>
    [Mapping]

    Nobody-User = nobody
    Nobody-Group = nogroup
    De domeinnaam vind je via cat /etc/resolv.conf
    Bewaar eventuele wijzigingen door op :wq toetsen te drukken.
  7. Het automatisch aankoppelen bij het starten van de server  van de data-partitie aan /export doen we in het bestand /etc/fstab.
    Open het bestand /etc/fstab door het uitvoeren van het commando sudo vi /etc/fstab
    Voeg aan het eind van het bestand de volgende regels toe:
    /data/documenten /export/documenten
  8. De NFS server starten we met het commando:
    sudo service nfs-kernel-server start

De data-partitie in de virtuele machine automatisch aankoppelen

De virtuele machine fungeert als NFS-client. Onderstaande commando’s voeren we dus in een virtuele machine uit. Ga hiervoor naar een Ubuntu Desktop en open een Terminal Server Client en log aan op de virtuele machine. Gebruik als computernaam het IP-adres van de gastheer gevolgd door het poortnummer van de virtuele machine. Dus <IP-adres servercomputer>:<poortnummer virtuele machine>.  Gebruik verder het RDPv5 protocol.

  1. Voer het commando sudo apt-get install nfs-common portmap uit om de NFS-client te installeren.
  2. Omdat we in de server met NFS  de echte gebruikersnamen gebruiken, moeten we dit ook in de client specificeren:
    sudo vi /etc/default/nfs-common
    NEED_IDMAPD=yes
    Bewaar eventuele wijzigingen door op :wq toetsen te drukken.
  3. Net als in de server moeten we het bestand /etc/idmapd.conf aanpassen voor het mappen van de gebruikers UID’s op basis van hun namen:
    sudo vi /etc/idmapd.conf en zorg dat de volgende regels in dit bestand staan:
    Domain=<domeinnaam>
    [Mapping]
    Nobody-User = nobody
    Nobody-Group = nogroup

    De domeinnaam vind je via cat /etc/resolv.conf
    Bewaar de wijzigingen door op :wq toetsen te drukken.
  4. Om de data-partitie automatisch te koppelen bij het starten van de computer kan een regel worden opgenomen in /etc/fstab:
    Open het bestand /etc/fstab door het uitvoeren van het commando sudo vi /etc/fstab
    Voeg aan het eind van het bestand de volgende regel toe:
    <IP-adres servercomputer>:/documenten /mnt/documenten nfs4 auto 0 0
    Bewaar de wijzigingen weer door op :wq toetsen te drukken.
  5. Herstart de virtuele machine:
    sudo shutdown -r now

Ga naar de /mnt folder door cd /mnt uit te voeren. Als je nu in de /mnt folder terecht komt dan is alles correct uitgevoerd. De data-partitie kan nu worden aangekoppeld en door gebruikers benaderd worden.

PS. De virtuele machine moet telkens opnieuw herstart worden zodra je een wijziging in NFS van de virtuele machine gemaakt hebt. Een “VBoxManage controlvm <servernaam> savestate” is niet voldoende.

Vragen, opmerkingen en meningen over dit artikel kan je hier kwijt:

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit / Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log uit / Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit / Bijwerken )

Google+ photo

Je reageert onder je Google+ account. Log uit / Bijwerken )

Verbinden met %s