1. 程式人生 > >Linux通過NFS實現檔案共享

Linux通過NFS實現檔案共享

在專案生產環境我們經常需要實現檔案共享,傳統的常見方案是通過NFS,實現伺服器之間共享某一塊磁碟,通過網路傳輸將分散的檔案集中儲存在一塊指定的共享磁碟,實現基本的檔案共享。實現這種方案,分服務端和客戶端,將服務端的磁碟mount到客戶端指定目錄下,在客戶端操作就像操作本地磁碟一樣,nfs基本的安裝如下:

模擬環境:

服務端/客戶端 伺服器IP 版本資訊
服務端 120.27.15.116 centOS 7.2
客戶端 39.108.85.46 centOS 7.2

 

 

 

 

一、服務端安裝NFS

step1、安裝nfs和rpcbind程式:yum -y install nfs*

step2、檢測nfs與rpcbind是否安裝OK

  rpm -qa |grep nfs
  rpm -qa |grep rpcbind

step3、建立一個共享目錄,並配置共享資訊

  mkdir /data01/nfs     這裡假設共享目錄為/data01/nfs

  vi  /etc/exports

  

step4、啟動nfs,rpcbind

  systemctl enable rpcbind

  systemctl start rpcbind

  systemctl enable nfs

  systemctl start nfs
step5、檢視是否共享成功

  showmount -e localhost

  

 

二、客戶端安裝並掛載

step1、安裝nfs程式:yum -y install nfs*

step2、啟動nfs,rpcbind

  systemctl enable rpcbind

  systemctl start rpcbind

  systemctl enable nfs

  systemctl start nfs

step3、建立掛在目錄:mkdir  /data01/share

step4、檢測遠端共享伺服器是否共享成功

   

step5、掛載,mount -t nfs -o nolock 服務端IP:共享目錄絕對路徑 本地掛載目錄

    mount -t nfs -o nolock 120.27.15.116:/data01/nfs /data01/share

step6、檢視掛載結果:df -Th

   

  可以看到,遠端那塊磁碟已經掛載OK。

三、測試

  在/data01/share下新增一個檔案,並寫入相關內容,然後到伺服器端檢視

  

  去服務端檢視:

  

四、解除安裝

  解除安裝直接執行如下操作即可:umount 120.27.15.116:/data01/nfs

五、所遇到的問題

1、如果是在阿里雲上,可能要在安全組開放相關的埠,在私有環境下,同樣需要處理防火牆,開放相關埠。可以通過rpcinfo -p 檢視具體用到的埠。

  iptables -A INPUT -p tcp --dport 111 -j ACCEPT

  iptables -A INPUT -p udp --dport 111 -j ACCEPT  其他埠類似處理

2、由於NFS啟動會隨機生成埠並向RPC註冊,每次的埠都不固定,所以,可以設定固定埠,便於配置防火牆和安全組。例如: