GNU/Linux >> LINUX-Kenntnisse >  >> Debian

Einrichten eines NFS-Servers und -Clients auf Debian Wheezy

Diese Anleitung erklärt, wie man einen NFS-Server und einen NFS-Client auf Debian Wheezy einrichtet. NFS steht für Network File System; über NFS kann ein Client auf eine entfernte Freigabe auf einem NFS-Server zugreifen (lesen, schreiben), als wäre sie auf der lokalen Festplatte. In diesem Tutorial zeige ich Ihnen zwei verschiedene NFS-Exporte, den Export eines Client-Verzeichnisses, das Dateien als Benutzer none/nogroup speichert, ohne die Dateisystemberechtigungen beizubehalten, und einen Export des Verzeichnisses /var/www, der die Berechtigungen und den Besitz von Dateien beibehält, als erforderlich auf einem Hosting-Server-Setup.

1 Vorbemerkung

Ich verwende hier zwei Debian Wheezy-Systeme:

  • NFS-Server:server.example.com, IP-Adresse:192.168.0.100
  • NFS-Client:client.example.com, IP-Adresse:192.168.0.101

2 Installation von NFS

Server:

Auf dem NFS-Server führen wir Folgendes aus:

apt-get install nfs-kernel-server nfs-common

Dann erstellen wir die Systemstartlinks für den NFS-Server und starten ihn:

Kunde:

Auf dem Client können wir NFS wie folgt installieren (das ist eigentlich dasselbe wie auf dem Server):

apt-get install nfs-common

3 Verzeichnisse auf dem Server exportieren

Server:

Ich möchte die Verzeichnisse /home/client1 und /var/www dem Client zugänglich machen, um die zwei unterschiedlichen Zugriffsmodi des NFS-Servers zu zeigen. Das Verzeichnis /home/client1 wird im Standardmodus gemeinsam genutzt, sodass alle Dateien, die in dieses Verzeichnis geschrieben werden, als Benutzer none und Gruppe nogroup gespeichert werden. Für das Verzeichnis /var/www verwende ich die Option no_root_squash, die den nfs-Server anweist, die Berechtigungen und den Besitz der Dateien beizubehalten. Dies ist z. erforderlich, wenn Sie das Verzeichnis /var/www eines mit ISPConfig 3 verwalteten Webservers exportieren möchten

Zuerst erstelle ich das Verzeichnis /home/client1

mkdir /home/client1
chown niemand:nogroup /home/client1
chmod 755 /home/client1

Das Verzeichnis /var/www existiert höchstwahrscheinlich auf Ihrem Server. Wenn nicht, erstellen Sie es:

mkdir /var/www
chown root:root /var/www
chmod 755 /var/www

Jetzt müssen wir /etc/exports ändern, wohin wir unsere NFS-Freigaben "exportieren". Wir geben /home/client1 und /var/www als NFS-Freigaben an und weisen NFS an, auf /home/client1 als Benutzer none zuzugreifen (um mehr über /etc/exports, sein Format und die verfügbaren Optionen zu erfahren, werfen Sie einen Blick auf

man 5 exportiert

)

vi /etc/exports
/home/client1 192.168.0.101(rw,sync,no_subtree_check)/var/www 192.168.0.101(rw,sync,fsid=0,crossmnt,no_subtree_check,no_root_squash)

(Die Option no_root_squash bewirkt, dass auf /var/www als root zugegriffen wird.)

Um die Änderungen in /etc/exports zu übernehmen, starten wir den Kernel-nfs-Server neu

/etc/init.d/nfs-kernel-server Neustart

4 Mounten der NFS-Freigaben auf dem Client

Kunde:

Zuerst erstellen wir die Verzeichnisse, in denen wir die NFS-Freigaben mounten wollen, z. B.:

mkdir -p /mnt/nfs/home/client1
mkdir -p /var/www

Wenn das Verzeichnis /var/www bereits auf Ihrem Server existiert, stoppen Sie Apache, benennen Sie das Verzeichnis um und erstellen Sie ein neues leeres Verzeichnis als Mountpoint

/etc/init.d/apache2 stop
mv /var/www /var/www_bak
mkdir -p /var/www

Danach können wir sie wie folgt mounten:

mount 192.168.0.100:/home/client1 /mnt/nfs/home/client1
mount 192.168.0.100:/var/www /var/www

Sie sollten jetzt die beiden NFS-Freigaben in den Ausgaben von

sehen
df -h
[[email protected] ~]# df -h
Dateisystem            Größe  Used Avail Use% Mounted on
/dev/mapper/vg_server2-LogVol00
                      9,7 G           9,7 G           9,7 G           9,7 G              /
tmpfs 499m 0 499m 0%/dev/shm
/dev/sda1 504m 39m 440m 9%/boot
192.168.0.100:/home/client1 9.7g 1,7G 7.5G 19%19% /mnt/nfs/home/client1
192.168.0.100:/var/www
                     9.7G  1.7G  7.5G  19 % /var/www
[[email protected] ~]#

und

einhängen
[[email protected] ~]# mount
/dev/mapper/vg_server2-LogVol00 on / ext4 (rw) eingeben
proc on /proc proc (rw) eingeben
sysfs on /sys tippe sysfs (rw)
devpts auf /dev/pts tippe devpts (rw,gid=5,mode=620)
tmpfs auf /dev/shm tippe tmpfs (rw)
/ dev/sda1 auf /boot tippe ext4 (rw)
none auf /proc/sys/fs/binfmt_misc tippe binfmt_misc (rw)
sunrpc auf /var/lib/nfs/rpc_pipefs tippe rpc_pipefs (rw)
192.168.0.100:/home/client1 on /mnt/nfs/home/client1 type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
192.168.0.100:/ var/www auf /var/www geben Sie nfs ein (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
[[email protected] ~]#

5 Testen

Auf dem Client können Sie nun versuchen, Testdateien auf den NFS-Freigaben zu erstellen:

Kunde:

berühre /mnt/nfs/home/client1/test.txt
berühre /var/www/test.txt

Gehen Sie nun zum Server und prüfen Sie, ob Sie beide Testdateien sehen können:

Server:

ls -l /home/client1/
[[email protected] ~]# ls -l /home/client1
total 0
-rw-r--r-- 1 nobody nogroup 0 Feb 02 16:58 test.txt
[[email protected] ~]#
ls -l /var/nfs
[[email protected] ~]# ls -l /var/www
total 0
-rw-r--r-- 1 root root 0 Feb 02 16:58 test.txt
[[email protected] ~]#

(Bitte beachten Sie die unterschiedlichen Eigentümer der Testdateien:Auf die NFS-Freigabe /home/client1 wird als none / nogroup zugegriffen und sie gehört niemandem / nogroup; auf die /var/www-Share wird als root zugegriffen, daher /var/www/test .txt gehört dem Benutzer und der Gruppe root.)

6 Mounten von NFS-Freigaben beim Booten

Anstatt die NFS-Freigaben manuell auf dem Client zu mounten, könnten Sie /etc/fstab so ändern, dass die NFS-Freigaben automatisch gemountet werden, wenn der Client bootet.

Kunde:

Öffnen Sie /etc/fstab und hängen Sie die folgenden Zeilen an:

vi /etc/fstab
[...]192.168.0.100:/home/client1 /mnt/nfs/home/client1 nfs rw,sync,hard,intr 0 0192.168.0.100:/var/www /var/www nfs rw,sync, hart,intr 0 0

Anstelle von rw,sync,hard,intr können Sie verschiedene Mount-Optionen verwenden. Um mehr über die verfügbaren Optionen zu erfahren, werfen Sie einen Blick auf

man nfs

Um zu testen, ob Ihre modifizierte /etc/fstab funktioniert, hängen Sie die Freigaben aus und führen Sie mount -a:

aus
umount /mnt/nfs/home/client1
umount /var/www
mount -a

Sie sollten jetzt die beiden NFS-Freigaben in den Ausgaben von

sehen
df -h
[[email protected] ~]# df -h
Dateisystem            Größe  Used Avail Use% Mounted on
/dev/mapper/vg_server2-LogVol00
                      9,7 G           9,7 G           9,7 G           9,7 G              /
tmpfs 499m 0 499m 0%/dev/shm
/dev/sda1 504m 39m 440m 9%/boot
192.168.0.100:/home/client1 9.7g 1,7G 7.5G 19%19% /mnt/nfs/home/client1
192.168.0.100:/var/www
                     9.7G  1.7G  7.5G  19 % /var/www
[[email protected] ~]#

und

einhängen
[[email protected] ~]# mount
/dev/mapper/vg_server2-LogVol00 on / ext4 (rw) eingeben
proc on /proc proc (rw) eingeben
sysfs on /sys tippe sysfs (rw)
devpts auf /dev/pts tippe devpts (rw,gid=5,mode=620)
tmpfs auf /dev/shm tippe tmpfs (rw)
/ dev/sda1 auf /boot tippe ext4 (rw)
none auf /proc/sys/fs/binfmt_misc tippe binfmt_misc (rw)
sunrpc auf /var/lib/nfs/rpc_pipefs tippe rpc_pipefs (rw)
192.168.0.100:/home/client1 on /mnt/nfs/home/client1 type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
192.168.0.100:/ var/www auf /var/www geben Sie nfs ein (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
[[email protected] ~]#

7 Credits

Dieses Tutorial basiert auf dem Centos NFS Server Tutorial von Falko Timme.

  • Linux-NFS:http://nfs.sourceforge.net/
  • Debian:http://www.debian.org/

Debian
  1. Debian – /var, /home auf separate Partition verschieben?

  2. Unterschied zwischen /var/log/messages, /var/log/syslog und /var/log/kern.log?

  3. Installieren Sie Selfoss auf Debian Wheezy

  4. Installieren Sie das Skript php-login.net auf Debian Wheezy

  5. Django static_root in /var/www/... - keine Berechtigungen für collectstatic

So installieren und konfigurieren Sie den NFS-Server unter Debian 11

So installieren Sie NFS-Server und -Client unter Ubuntu

So konfigurieren Sie NFS-Client und -Server unter Linux

So konfigurieren Sie NTP-Server und -Client unter Debian 10

So richten Sie NTP-Server und -Client unter Debian 11 ein

So richten Sie NFS-Server und -Client unter Debian 10 ein