Χρήστος Μαργιώλης

Μοίρασμα ZFS datasets μέσω NFS

Ευχαριστώ τον Mark Johnston <markj@FreeBSD.org> για την παρακάτω ρύθμιση. Το άρθρο υπάρχει επίσης στο FreeBSD Wiki.

Host

Προσθέστε τις παρακάτω γραμμές στο /etc/rc.conf:

nfs_server_enable="YES"
mountd_enable="YES"
mountd_flags="-n"
rpc_lockd_enable="YES"
rpc_statd_enable="YES"
rpcbind_enable="YES"

Για κάποιο λόγο ο NFS server πρέπει να επανεκκινηθεί την πρώτη φορά μετά την εκκίνηση του υπολογιστή. Ένας απλώς τρόπος να το κάνετε αυτόματα:

# echo "service nfsd restart" >> /etc/rc.local

Ορίστε την ιδιότητα sharenfs στο dataset που θέλετε να μοιράσετε. Αντικαταστήστε τις IP και τα pool/dataset* με τις επιθυμητές τιμές σας. Οι ιδιότητες ZFS εξηγούνται στο zfsprops(8).

Θα μοιράσουμε 2 datasets, ένα με πρόσβαση read-write και ένα με read-only.

# chmod -R 777 /pool/dataset_rw
# zfs set sharenfs="-alldirs,-network=192.168.1.0/24" pool/dataset_rw
# zfs set sharenfs="-ro,-alldirs,-network=192.168.1.0/24" pool/dataset_ro

Εκκινήστε τον NFS server:

# service nfsd start
# service mountd reload

Guest

Αρχικά βρείτε την διεύθυνση IP του host χρησιμοποιώντας το ifconfig(8). Θα υποθέσουμε ότι είναι 192.168.1.5.

Προσαρτήστε τα filesystems. Το pool/dataset* αντιστοιχεί στο σημείο προσάρτησης του dataset στον host:

# mkdir -p /mnt/dataset_rw /mnt/dataset_ro
# mount -t nfs -o rw 192.168.1.5:/pool/dataset_rw /mnt/dataset_rw
# mount -t nfs -o ro 192.168.1.5:/pool/dataset_ro /mnt/dataset_ro

Όταν τελειώσετε, αποπροσαρτήστε:

# umount /mnt/dataset_rw /mnt/dataset_ro

Σε περίπτωση που θέλετε τα filesystems να προσαρτούνται αυτόματα κατά την εκκίνηση, προσθέστε τις παρακάτω γραμμές στο /etc/fstab:

192.168.1.5:/dataset_rw   /mnt/dataset_rw	nfs     rw      0       0
192.168.1.5:/dataset_ro   /mnt/dataset_ro	nfs     ro      0       0

Επιπλέον ανάγνωση

← Προηγούμενο Ευρετήριο Επόμενο →