Raspberry Pi als NFS Server
Aus znilwiki
Ich spiele gerade zu Hause mit ein paar ESXi-Servern rum (alte Mainboards die hier so rumliegen) und brauchte mal eben einen zentralen Datastore für diese.
Da bietet sich der Banana Pi mit Raspbian und seinen 2 x 2TB Festplatten doch geradezu an.
Die Ankleitung funktioniert auf einem echten Raspberry 1:1 genauso (nur nicht so schnell nehme ich an).
Ausgangslage
Mein Plattenplatz sieht wie folgt aus:
root@bananapi ~ # df -h Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf rootfs 15G 3,7G 11G 27% / /dev/root 15G 3,7G 11G 27% / devtmpfs 438M 0 438M 0% /dev tmpfs 88M 276K 88M 1% /run tmpfs 5,0M 0 5,0M 0% /run/lock tmpfs 175M 0 175M 0% /run/shm /dev/mmcblk0p1 56M 16M 41M 28% /boot /dev/sda1 1,8T 443G 1,3T 26% /media/Toshiba_2TB /dev/sdb1 1,8T 1010G 732G 58% /media/WD_Elements_2TB none 438M 0 438M 0% /sys/fs/cgroup
Die Platte unter /media/Toshiba_2TB hängt direkt am SATA-Anschluss des Banana Pi's und somit zumindest theoretisch schneller. Dorthin soll meine NFS-Freigabe.
Voraussetzungen installieren
apt-get update apt-get install nfs-common nfs-kernel-server
Ordner erstellen
mkdir /media/WD_Elements_2TB/ESXiNFS chmod 777 /media/WD_Elements_2TB/ESXiNFS
NFS Freigabe erstellen
nano /etc/exports
und dann eine Zeile wie folgt:
# /etc/exports: the access control list for filesystems which may be exported # to NFS clients. See exports(5). # # Example for NFSv2 and NFSv3: # /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check) # # Example for NFSv4: # /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check) # /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check) # /media/WD_Elements_2TB/ESXiNFS *(rw,sync,no_subtree_check)
Das * steht dafür für jede beliebige IP Adresse
Damit der NFS-Server die Änderungen übernimmt müssen wir dem Befehl
exportfs
aufrufen.
Wenn das aber die erste Freigabe ist reicht das nicht, da müssen wir die Dienste neu starten:
service rpcbind restart && service nfs-kernel-server restart
NFS-Freigabe auf ESXi einbinden
Dazu müssen wir nur die IP-Adresse und den lokalen Pfad auf dem Raspberry Pi zum Ordner der Freigabe angeben: