NFS即網絡檔案系統,它允許網絡中的計算機之間通過TCP/IP網絡共享資源。在NFS的應用中,本地NFS的用戶端應用可以透明地讀寫位于遠端NFS伺服器上的檔案,就像通路本地檔案一樣。NFS最早由Sun公司開發,分2、3、4三個版本,2和3由Sun起草開發,4.0開始Netapp公司參與并主導開發,最新為4.1版本。
<a href="https://s1.51cto.com/wyfs02/M00/A0/C5/wKioL1mex8HQ3d6dAAHNz8Ij1eE455.png" target="_blank"></a>
搭建部署
服務端
1、安裝軟體
1
<code>[root@plinuxos ~]</code><code># yum install -y nfs-utils rpcbind</code>
2、編輯配置檔案
2
3
<code>[root@plinuxos ~]</code><code># vim /etc/exports</code>
<code>/home/nfssharedir</code> <code>192.168.137.0</code><code>/24</code><code>(rw,</code><code>sync</code><code>,all_squash,anonuid=1000,anongid=1000)</code>
<code>##配置格式:共享目錄 用戶端IP(參數1,參數2,參數.......)</code>
▎參數說明:
rw:允許讀寫;
ro:隻允許讀;
sync:同步模式,記憶體資料實時寫入磁盤,影響性能;
async:非同步模式,資料有丢失風險;
no_root_squash:用戶端挂載NFS共享目錄後,root使用者不受限制,權限很大;
root_squash:與上面選項相對,用戶端上的root使用者收到限制,被限定成某個普通使用者;
all_squash:用戶端上所有使用者在使用NFS共享目錄時都被限定為一個普通使用者;
anonuid/anongid:和上面幾個選項搭配使用,定義被限定使用者的uid和gid。
3、授權
<code>[root@plinuxos ~]</code><code># mkdir -p /home/nfssharedir</code>
<code>[root@plinuxos ~]</code><code># chown 777 /home/nfssharedir</code>
4、檢查與啟動
4
5
<code>[root@plinuxos ~]</code><code># netstat -ltnp</code>
<code>[root@plinuxos ~]</code><code># systemctl start nfs</code>
<code>[root@plinuxos ~]</code><code># ps aux | grep nfs</code>
<code>[root@plinuxos ~]</code><code># ps aux | grep rpc</code>
<code>[root@plinuxos ~]</code><code># systemctl enable nfs</code>
用戶端
<code>[root@</code><code>test</code><code>-03 ~]</code><code># yum install -y nfs-utils</code>
<code>[root@</code><code>test</code><code>-03 ~]</code><code># showmount -e 192.168.137.100</code>
如果沒有效果,先确認服務端服務已經啟動,再确認服務端和用戶端的防火牆已經關閉後,再次嘗試。
也可以挂載:
<code>[root@</code><code>test</code><code>-03 ~]</code><code># mount -t nfs 192.168.137.100:/home/nfssharedir /mnt/</code>
exportfs
重新開機nfs服務時,需要把所有挂載點解除安裝掉。可以使用exportfs -arv指令。
1、編輯配置檔案
<code>/tmp</code> <code>192.168.137.200(rw,</code><code>sync</code><code>,no_root_squash) </code><code>##新增該行</code>
2、執行exportfs -arv指令
<code>[root@plinuxos ~]</code><code># exportfs -arv</code>
<code>exporting 192.168.137.200:</code><code>/tmp</code>
<code>exporting 192.168.137.0</code><code>/24</code><code>:</code><code>/home/nfssharedir</code>
3、關閉服務端和用戶端防火牆
4、檢查效果
<code>[root@</code><code>test</code><code>-03 ~]</code><code># mount -t nfs 192.168.137.100:/tmp/ /mnt/</code>
▎NFS 4/6版本會有該問題(用戶端檔案屬主屬組nobody)
1、CentOS 7版本系統如果出現問題解決方案:
用戶端挂載服務端共享目錄到挂載點後,再重新挂載一次同時指定NFS的版本為3;
2、CentOS 6可以這樣解決:
用戶端和服務端都需要修改如下配置檔案内容:
vim /etc/idmapd.conf
把“#Domain = local.domain.edu” 改為 “Domain = xxx.com” (這裡的xxx.com,随意定義吧),然後再重新開機rpcidmapd服務。
本文轉自Grodd51CTO部落格,原文連結:http://blog.51cto.com/juispan/1959153,如需轉載請自行聯系原作者