どうぞマウントしてください。って状態で用意されたストレージなどをLinuxマシンからマウントすることはまぁありますが、準備とかからやることはあまりなかったのでやってみる。
LinuxOSマシン間でやることが実践的にどの程度あるのかはしらない。
前提
今回は二台のCentOS7マシン間でマウントを行います。以下のようなイメージとなります。
私の場合は勉強用の環境なので、Windowsマシン上のVMware Workstation Player上で構築を行っていますが、ネットワーク上でつながっている環境であればやることは概ね変わらないと思います。
マウントされる側(server2)の対応
以降、上図との兼ね合いもあり、基本的にserver1、server2というホスト名で記述していますが、基本的にはIPを直接入力しても問題ないはずです。
firewallが有効になっている場合には、nfs通信を許可するか完全に停止してしまいましょう。
私は実験環境なので、停止しました。
nfsインストール
マウントされる側にはnfs
がインストールされていなければインストールを行う。
・インストール
[root@server1 etc]# yum install nfs-utils
・起動
[root@server2 expdir]# systemctl start nfs [root@server2 expdir]# systemctl status nfs ● nfs-server.service - NFS server and services Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled) Drop-In: /run/systemd/generator/nfs-server.service.d mqorder-with-mounts.conf Active: active (exited) since 土 2021-05-29 01:13:54 JST; 7s ago Process: 1675 ExecStartPost=/bin/sh -c if systemctl -q is-active gssproxy; then systemctl reload gssproxy ; fi (code=exited, status=0/SUCCESS) Process: 1658 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS) Process: 1657 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS) Main PID: 1658 (code=exited, status=0/SUCCESS) CGroup: /system.slice/nfs-server.service 5月 29 01:13:54 server2 systemd[1]: Starting NFS server and services... 5月 29 01:13:54 server2 systemd[1]: Started NFS server and services.
必要であれば、自動起動するようにしておく。
[root@server2 expdir]# systemctl enable nfs Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
/etc/exports
マウントされる側では特定のディレクトリを特定のホスト(またはネットワーク)から接続できるように許可を行うためにexports
ファイルの記述を行います。
・/etc/exports 設定例
/home/share/expdir server1(rw,no_root_squash)
マウントする側(server1)の対応
nfsインストール
マウントする側でも、される側と同様に起動していなければ、起動を行う。インストールされていなければインストールから行う。
mountコマンド
最終的にはfstab
からマウント行うようにしますが、ここではまずはmount
コマンドでマウントできるか確認してからにしようと思います。
不要と判断できるならすっ飛ばしてOK。
mount -t nfs server2:/home/share/expdir /mnt/mntdir/ rw
特にエラーがでなければ正常にマウントできるはずなので確認します。
df -h
コマンドの最終行が今回のマウントにより追加したところです。
[root@server1 mntdir]# df -h ファイルシス サイズ 使用 残り 使用% マウント位置 devtmpfs 475M 0 475M 0% /dev tmpfs 487M 0 487M 0% /dev/shm tmpfs 487M 7.7M 479M 2% /run tmpfs 487M 0 487M 0% /sys/fs/cgroup /dev/mapper/centos-root 17G 3.7G 14G 22% / /dev/sda1 1014M 168M 847M 17% /boot tmpfs 98M 0 98M 0% /run/user/1000 server2:/home/share/expdir 17G 7.8G 9.2G 46% /mnt/mntdir [root@server1 mntdir]# ll /mnt/mntdir/ 合計 0 -rw-r--r--. 1 root root 0 5月 29 01:29 export_test.txt
fstabの編集
マウントはmount
コマンドで一時的に行うこともできますが、毎回コマンドを打つのも面倒なので、fstab
に記述を行って、シャットダウンした後などでも起動時にマウントするようにします。
・アンマウント
先ほどコマンドでマウントした場合には、アンマウントしておきます。
[root@server1 /]# umount /mnt/mntdir/
・/etc/fstab 追記
以下のような内容を/etc/fstab
に追記する。
server2:/home/share/expdir /mnt/mntdir/ nfs rw,auto 0 0
今の記述内容でマウントできるか確認する。
[root@server1 /]# mount -a [root@server1 /]# df -h ファイルシス サイズ 使用 残り 使用% マウント位置 devtmpfs 475M 0 475M 0% /dev tmpfs 487M 0 487M 0% /dev/shm tmpfs 487M 7.7M 479M 2% /run tmpfs 487M 0 487M 0% /sys/fs/cgroup /dev/mapper/centos-root 17G 3.7G 14G 22% / /dev/sda1 1014M 168M 847M 17% /boot tmpfs 98M 0 98M 0% /run/user/1000 server2:/home/share/expdir 17G 7.8G 9.2G 46% /mnt/mntdir [root@server1 /]#
コマンドで実行したときと同じ状態になっているのでOK。
マウントするだけならこんなもんでしょうか。
参考:
[ThinkIT] 第3回:vsftpサーバとNFSサーバの設定 (3/4)
http://www.kuromogu.com/ha/comp/sw/soft_linux_nfs.html
8.6. NFS サーバーの設定 Red Hat Enterprise Linux 7 | Red Hat Customer Portal