環境:RedHat / Centos 6或者7
服務端:192.168.163.128 (擁有一塊大磁盤)
客戶端:192.168.163.131
背景:解決多個服務器之間數據共享
- 環境檢查:
客戶端和服務端都要安裝
1、檢查服務器是否安裝nfs服務
rpm -q nfs-utils
2、如果沒有安裝的話執行
服務器和客戶機都要安裝 nfs 和 rpcbind 軟件包
yum install -y nfs-utils (安裝nfs rpcbind會自動安裝)
3、啟動rpcbind
# 查看狀態
systemctl status rpcbind.service
# 查看開機自啟狀態
systemctl list-unit-files | grep rpcbind.service
# 啟動
systemctl start rpcbind.service
# 設置開機自啟
systemctl enable rpcbind.service
# 停止
systemctl stop rpcbind.service
# 關閉開機自啟
systemctl disable rpcbind.service
4、啟動nfs
# 查看狀態
systemctl status nfs.service
# 查看開機自啟狀態
systemctl list-unit-files | grep nfs.service
# 啟動
systemctl start nfs.service
# 設置開機自啟
systemctl enable nfs.service
# 停止
systemctl stop nfs.service
# 關閉開機自啟
systemctl disable nfs.service
配置步驟:
1、在服務端編輯 /etc/exports 加入客戶端訪問權限
/nfsdir 192.168.163.131(rw,no_root_squash)
備注:假設/nfsdir為你要設置的nfs共享的目錄, 這個是要自己新建的 192.168.163.131 換成*就是所有能連接的機器都可以
2、重啟nfs
service nfs restart
3、客戶端操作:
mount -t nfs 192.168.163.128:/nfsdir /nfsdir
4、執行第三步長時間沒反應的話請關閉服務端的防火牆。
1 查看防火牆狀態:(需要首先確認)
systemctl status firewalld
2 開啟防火牆:
systemctl start firewalld
3 關閉防火牆:
systemctl stop firewalld
5、驗證,在服務端的/nfsdir創建文件,看客戶端是否能讀取, 比如服務端 touch demo.txt 然后去客戶端 ls。
開機自動掛載:
如果服務端或客戶端的服務器重啟之后需要手動掛載,我們可以加入到開機自動掛載
在客戶端/etc/fstab里添加
192.168.163.128:/nfsdir /nfsdir nfs defaults,_rnetdev 0 0
備注:第1個1表示備份文件系統,第2個1表示從/分區的順序開始fsck磁盤檢測,0表示不檢測。
_rnetdev 表示主機無法掛載直接跳過,避免無法掛載主機無法啟動
備注:
當在服務器運行df -h 卡死的時候,很有可能是nfs的原因。
1、在客戶端找到掛載的服務器的ip及掛載目錄
cat /etc/mtab
2、進入服務器查看/etc/export查看服務器都掛載了那些客戶端或通過 showmount -e 服務端IP 來查看客戶端掛載的目錄。
3、重啟nfs
service nfs restart
4、現在客戶端就可以操作了,先卸載之前的掛載
umount /opt/test
5、重新掛載
mount -t nfs 服務器IP:/服務器目錄 客戶端掛載目錄