在RASPBIAN JESSIE LITE上使用NFS

在RASPBIAN JESSIE LITE上使用NFS

必要安裝套件

nfs-server (伺服器)
nfs-common (伺服器跟用戶端,有內建)
rpcbind (NFS用,有內建)


伺服器端

  • 安裝nfs-server

    1
    sudo apt-get install nfs-server
  • 更新

    1
    sudo apt-get update
  • 建立要分享的資料夾

    1
    sudo mkdir /piA
  • 開啟資料夾全限,這裡為了方便用777

    1
    sudo chmod -R 777 piA
  • 編輯設定檔

    1
    sudo nano /etc/exports

    內容增加

    1
    /piA 192.168.1.0/24(rw,sync,no_root_squash)
說明
192.168.1.0/24 在 192.168.1.* 的網域中的都能用
rw 可以讀寫,唯讀請改成 ro
sync 同時寫進記憶體和硬碟
no_root_squash 開放用戶端使用 root 身份來操作伺服器的檔案系統
  • 查看NFS伺服端有沒有運作

    1
    sudo service nfs-kernel-server status
  • 查看rpcbind有沒有運作

    1
    sudo service rpcbind status
  • 讓rpc運作(rpc沒運作的話)

    1
    sudo service rpcbind start
  • 刪除之前的NFS設定檔(有的話)

    1
    sudo exportfs -ua
  • 設定NFS

    1
    sudo exportfs -a
  • 重啟NFS伺服端

    1
    sudo service nfs-kernel-server restart

用戶端

  • 建立要連接的資料夾

    1
    sudo mkdir /piB
  • 掛上伺服器的資料夾到piB

    1
    sudo mount server ip:/piA /piB

    上面方式在連接時,如果Server當掉而用戶端去對該資料夾做ls等動作,可能會使用戶端卡住,請留意。

說明
-t nfs 指定檔案系統類型為nfs
bg mount嘗試掛載會在背景執行,如果網路連線不穩定或伺服器常常需要開關機,那建議使用 bg 比較妥當
soft RPC 會在 time out 後『重複』呼叫,而非『持續』呼叫,系統延遲會比較不明顯

範例:

sudo mount -t nfs -o bg,soft server ip:/piA /piB
  • 如果要開機就掛上網路硬碟,其中一種方式是編輯此文件

    1
    sudo nano /etc/fstab

    內容

    1
    server ip:/piA /piB nfs defaults 0 0

    server ip請填自己server的ip

    關於defaults請見參考文章,依需要改。

相關安全性設定,請看參考資料。

參考文章

鳥哥的 Linux 私房菜:NFS 伺服器
Debian / Ubuntu 安裝 NFS Server
debian安裝nfs server
開機自動掛載

0%