SEワンタンの独学備忘録

IT関連の独学した内容や資格試験に対する取り組みの備忘録

【Linux】Linux(CentOS7)マシン間でマウントを行う


どうぞマウントしてください。って状態で用意されたストレージなどをLinuxマシンからマウントすることはまぁありますが、準備とかからやることはあまりなかったのでやってみる。

LinuxOSマシン間でやることが実践的にどの程度あるのかはしらない。

前提

今回は二台のCentOS7マシン間でマウントを行います。以下のようなイメージとなります。

f:id:wantanBlog:20210530174322p:plain

私の場合は勉強用の環境なので、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

 529 01:13:54 server2 systemd[1]: Starting NFS server and services...
 529 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  529 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