概述
# NFS為 Network FileSystem 的簡稱,它的目的就是想讓不同的機器、不同的操作系統可以彼此分享個別的檔案啦! 目前在 Unix Like 當中用來做為文件服務器是相當不錯的一個方案喔!基本上, Unix Like 主機連接到另一部 Unix Like 主機來分享彼此的檔案時,
使用 NFS 要比 SAMBA 這個服務器快速且方便的多了!此外, NFS 的設定真的很簡單,幾乎只要記得啟動 Remote Procedure Call 這個咚咚 (RPC, 就是 rpcbind 這個軟件啦!)
就一定可以架設的起來!真是不錯啊! 如果是在 Linux PC cluster 的環境下,這個服務器被使用的機率更是高的多喔!
軟件准備
#目的:兩台服務器需要共享文件夾 服務端:172.16.72.41 客戶端:172.16.72.169 #離線環境,提前在有網絡的服務器上下載好需要的軟件包(agent不安裝rpcbind) yum -y install nfs-utils rpcbind --downloadonly --downloaddir /home/nfs
服務端環境搭建
#nfs 安裝 cd /home/nfs # 安裝nfs rpm -ivh *.rpm --force --nodeps # 創建共享文件夾 mkdir -p /home/share
# nfs 配置 # 編輯配置文件 vi /etc/exports # 修改配置文件,增加下面這一行數據,指定的ip地址為客戶端的地址 /home/share 172.16.72.169(rw,no_root_squash,no_all_squash,sync) # 加載配置文件,在相關軟件啟動后執行 exportfs -arv # 啟動,先啟動rpcbind #為rpcbind和nfs做開機啟動 systemctl enable rpcbind systemctl enable nfs#啟動相關軟件 systemctl start rpcbind systemctl start nfs
客戶端環境搭建
#nfs 安裝 cd /home/nfs # 安裝nfs rpm -ivh *.rpm --force --nodeps # 創建共享文件夾 mkdir -p /home/nfs_share # nfs 啟動 # 為rpcbind和nfs做開機啟動 systemctl enable rpcbind.service systemctl enable nfs-server.service #啟動相關軟件 systemctl start rpcbind.service systemctl start nfs-server.service # 在你的 NFS 服務器設定妥當之后,我們可以在 client端先自我測試一下是否可以聯機喔!利用 showmount 這個指令來查閱! [root@localhost home]# showmount -e 172.16.72.41 Export list for 172.16.72.41: /home/share 172.16.72.169 #如果報:clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host),可能防火牆沒關 # 關閉防火牆 [root@localhost bw]# systemctl stop firewalld.service #關閉防火牆 [root@localhost bw]# systemctl disable firewalld.service #開機禁止啟動防火牆 #關閉selinux [root@localhost bw]# vim /etc/selinux/config SELINUX=disabled #永久關閉selinux SELINUXTYPE=targeted [root@localhost bw]#setenforce 0 臨時關閉 [root@localhost bw]#getenforce 結果為Disabled 為關閉 檢查selinux是否關閉 # 接下來我想要將遠程主機的/home/share 掛載到本地端主機的 /home/nfs_share,在本地端主機先建立一個掛載點目錄,然后就可以用 mount 這個指令直接掛載 NFS 的文件系統 [root@localhost home]# mkdir /home/nfs_share [root@localhost home]# mount -t nfs 172.16.72.41:/home/share /home/nfs_share #查看掛載情況,可以使用這個命令df -TH [root@10 ~]# df -TH [root@localhost home]# df -TH 文件系統 類型 容量 已用 可用 已用% 掛載點 /dev/mapper/cl-root xfs 105G 35G 70G 34% / devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev tmpfs tmpfs 2.0G 91k 2.0G 1% /dev/shm tmpfs tmpfs 2.0G 18M 2.0G 1% /run tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup /dev/sda1 xfs 1.1G 181M 883M 18% /boot tmpfs tmpfs 396M 17k 396M 1% /run/user/0 172.16.72.41:/home/share nfs4 86G 6.0G 80G 7% /home/nfs_share [root@localhost home]# # 也可以使用下面的命令mount | grep nfs [root@localhost home]# mount | grep nfs sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime) nfsd on /proc/fs/nfsd type nfsd (rw,relatime) 172.16.72.41:/home/share on /home/nfs_share type nfs4 (rw,relatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,
sec=sys,clientaddr=172.16.72.169,local_lock=none,addr=172.16.72.41) [root@localhost home]#
參考鏈接:
https://blog.csdn.net/u013014761/article/details/100054241
http://cn.linux.vbird.org/linux_server/0330nfs.php
https://blog.csdn.net/weixin_47427416/article/details/108297009