GNU/Linux >> Linux の 問題 >  >> Debian

Debian 9でのNFSサーバーとクライアントのセットアップ(ストレッチ)

このガイドでは、Debian9でNFSサーバーとNFSクライアントをセットアップする方法について説明します。NFSはNetwork File Systemの略です。;クライアントは、NFSを介して、ローカルハードディスク上にあるかのようにNFSサーバー上のリモート共有にアクセス(読み取り、書き込み)できます。このチュートリアルでは、2つの異なるNFSエクスポートを示します。ファイルシステムのアクセス許可を保持せずにユーザーnobody / nogroupとしてファイルを保存するクライアントディレクトリのエクスポートと、ファイルのアクセス許可と所有権を保持する/ var/wwwディレクトリのエクスポートです。ホスティングサーバーのセットアップに必要です。

1予備メモ

ここでは2つのDebianWheezyシステムを使用しています:

  • NFSサーバー:server.example.com、IPアドレス:192.168.1.100
  • NFSクライアント:client.example.com、IPアドレス:192.168.1.101

2NFSのインストール

パッケージリストを更新してサーバーが最新であることを確認し、保留中の更新を両方のサーバーにインストールします

apt-get update
apt-get upgrade

次に、NFSサーバーとクライアントのインストールを続行します。

サーバー:

NFSサーバーで実行します:

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

次に、NFSサーバーのシステム起動リンクを作成して起動します。

クライアント:

クライアントには、次のようにNFSをインストールできます(これは実際にはサーバーと同じです):

apt-get install nfs-common

3サーバー上のディレクトリのエクスポート

サーバー:

ディレクトリ/home/client1と/var/ wwwをクライアントがアクセスできるようにして、NFSサーバーの2つの異なるアクセスモードを表示したいと思います。ディレクトリ/home/ client1は標準モードで共有されるため、このディレクトリに書き込まれるすべてのファイルは、ユーザーnobodyおよびグループnogroupとして保存されます。ディレクトリ/var/ wwwには、ファイルのアクセス許可と所有権を保持するようにNFSサーバーに指示するno_root_squashオプションを使用します。これは例えばISPConfig3で管理されているWebサーバーの/var/wwwディレクトリをエクスポートする場合に必要です

まず、/ home/client1ディレクトリを作成します

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

/ var / wwwディレクトリは、サーバー上に存在する可能性があります。そうでない場合は、作成します:

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

次に、NFS共有を「エクスポート」する/ etc/exportsを変更する必要があります。 / home/client1と/var/ wwwをNFS共有として指定し、NFSにユーザーnobodyとして/ home / client1にアクセスするように指示します(/ etc / exports、その形式、および使用可能なオプションの詳細については、を参照してください

man 5 exports

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

(no_root_squashオプションを使用すると、/ var / wwwがrootとしてアクセスされます。)

/ etc / exportsの変更を適用するには、カーネルnfsサーバーを再起動します

service nfs-kernel-server restart

4クライアントへのNFS共有のマウント

クライアント:

まず、NFS共有をマウントするディレクトリを作成します。例:

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

ディレクトリ/var/ wwwがサーバー上にすでに存在する場合は、apacheを停止し、ディレクトリの名前を変更して、マウントポイントとして新しい空のディレクトリを作成します

service apache2 stop
mv /var/www /var/www_bak
mkdir -p /var/www

その後、次のようにマウントできます:

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

の出力に2つのNFS共有が表示されます。
df -h
[email protected]:/tmp# df -h
Filesystem Size Used Avail Use% Mounted on
udev 990M 0 990M 0% /dev
tmpfs 201M 6.0M 195M 3% /run
/dev/sda1 28G 1.2G 25G 5% /
tmpfs 1001M 0 1001M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 1001M 0 1001M 0% /sys/fs/cgroup
tmpfs 200M 0 200M 0% /run/user/1000
192.168.1.100:/home/client1 28G 1.2G 25G 5% /mnt/nfs/home/client1
192.168.1.100:/var/www 28G 1.2G 25G 5% /var/www
[email protected]:/tmp#

および

mount
[email protected]:/tmp# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=1012912k,nr_inodes=253228,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=204804k,mode=755)
/dev/sda1 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=33,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=9848)
mqueue on /dev/mqueue type mqueue (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=204800k,mode=700,uid=1000,gid=1000)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
192.168.1.100:/home/client1 on /mnt/nfs/home/client1 type nfs (rw,relatime,vers=3,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.1.100,mountvers=3,mountport=57821,mountproto=udp,local_lock=none,addr=192.168.1.100)
192.168.1.100:/var/www on /var/www type nfs (rw,relatime,vers=3,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.1.100,mountvers=3,mountport=57821,mountproto=udp,local_lock=none,addr=192.168.1.100)
[email protected]:/tmp#

5テスト

クライアントで、NFS共有にテストファイルを作成できるようになりました。

クライアント:

touch /mnt/nfs/home/client1/test.txt
touch /var/www/test.txt

次に、サーバーに移動して、両方のテストファイルが表示されるかどうかを確認します。

サーバー:

ls -l /home/client1/
[email protected]:/tmp# ls -l /home/client1/
total 0
-rw-r--r-- 1 nobody nogroup 0 Nov 16 10:52 test.txt
[email protected]:/tmp#
ls -l /var/www
[email protected]:/tmp# ls -l /var/www
total 0
-rw-r--r-- 1 root root 0 Nov 16 10:52 test.txt
[email protected]:/tmp#

(テストファイルの所有権が異なることに注意してください。/home/client1NFS共有はnobody / nogroupとしてアクセスされ、nobody /nogroupによって所有されます。/var/www共有はrootとしてアクセスされるため、/ var / www / test .txtは、ユーザーとグループのルートが所有しています。)

6起動時にNFS共有をマウントする

クライアントにNFS共有を手動でマウントする代わりに、/ etc / fstabを変更して、クライアントの起動時にNFS共有が自動的にマウントされるようにすることができます。

クライアント:

/ etc / fstabを開き、次の行を追加します。

nano /etc/fstab
[...]
192.168.1.100:/home/client1  /mnt/nfs/home/client1   nfs      rw,sync,hard,intr  0     0
192.168.1.100:/var/www  /var/www   nfs      rw,sync,hard,intr  0     0

rw、sync、hard、intrの代わりに、さまざまなマウントオプションを使用できます。利用可能なオプションの詳細については、

をご覧ください。
man nfs

変更した/etc/ fstabが機能しているかどうかをテストするには、共有をアンマウントして、mount -a:

を実行します。
umount /mnt/nfs/home/client1
umount /var/www
mount -a

の出力に2つのNFS共有が表示されます。
df -h
[email protected]:/# df -h
Filesystem Size Used Avail Use% Mounted on
udev 990M 0 990M 0% /dev
tmpfs 201M 6.0M 195M 3% /run
/dev/sda1 28G 1.2G 25G 5% /
tmpfs 1001M 0 1001M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 1001M 0 1001M 0% /sys/fs/cgroup
tmpfs 200M 0 200M 0% /run/user/1000
192.168.1.100:/home/client1 28G 1.2G 25G 5% /mnt/nfs/home/client1
192.168.1.100:/var/www 28G 1.2G 25G 5% /var/www
[email protected]:/#

および

mount
[email protected]:/# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=1012912k,nr_inodes=253228,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=204804k,mode=755)
/dev/sda1 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=33,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=9848)
mqueue on /dev/mqueue type mqueue (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=204800k,mode=700,uid=1000,gid=1000)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
192.168.1.100:/home/client1 on /mnt/nfs/home/client1 type nfs (rw,relatime,vers=3,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.1.100,mountvers=3,mountport=57821,mountproto=udp,local_lock=none,addr=192.168.1.100)
192.168.1.100:/var/www on /var/www type nfs (rw,relatime,vers=3,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.1.100,mountvers=3,mountport=57821,mountproto=udp,local_lock=none,addr=192.168.1.100)
[email protected]:/#

7クレジット

このチュートリアルは、FalkoTimmeのCentosNFSサーバーチュートリアルに基づいています。

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

Debian
  1. Debian 9StretchLinuxでNTPサーバーとクライアントをセットアップする方法

  2. CentOS7へのNFSサーバーとクライアントのインストール

  3. CentOS6.3でのNFSサーバーとクライアントのセットアップ

  1. OpenSUSE12.2でのNFSサーバーとクライアントのセットアップ

  2. サーバーとクライアントの構成によるNFSの学習

  3. CentOS / RHEL 7 :NFS サーバーと NFS クライアントの構成

  1. ScientificLinux6.3でのNFSサーバーとクライアントのセットアップ

  2. CentOS7.2でのNFSサーバーとクライアントのセットアップ

  3. DebianWheezyでのNFSサーバーとクライアントのセットアップ