1. 程式人生 > >NFS(網路檔案系統)配置(Ubunut/Deepin等系統)

NFS(網路檔案系統)配置(Ubunut/Deepin等系統)

NFS(網路檔案系統)配置(Ubunut/Deepin等系統)

網路檔案系統NFS是一種分散式檔案系統協議,最初由Sun Microsystems於1984年開發,允許客戶端計算機上的使用者通過計算機網路訪問檔案,就像訪問本地儲存一樣。與許多其他協議一樣,NFS建立在開放網路計算遠端過程呼叫(ONC RPC)系統之上。NFS是Request for Comments(RFC)中定義的開放標準,允許任何人實現該協議。

伺服器配置

安裝nfs服務

sudo apt install nfs-kernel-server

建立共享目錄

在共享前建立需要共享的目錄,如果要共享已有的目錄,這個步驟可省略。

mkdir /tmp/nfs

建立目錄/tmp/nfs

修改配置檔案

sudo nano /etc/exports

配置檔案格式為:

/srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)

其中/srv/homs表示本地要共享的目錄,hostname1表示本地允許遠端連線的主機(格式可以為主機名、IP段等)

rwsync等表示一些引數,完整的引數列表及含義請使用man命令檢視:

man exports

本次引數檔案如下:cat /etc/exports

# /etc/exports: the access control list for filesystems which may be exported
#		to NFS clients.  See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check) # /tmp/nfs 192.168.6.0/24(rw,sync,root_squash,subtree_check)

以上引數表示共享本地的/tmp/nfs,允許遠端訪問的網段為192.168.6.x,許可權為同步讀寫。

重新載入配置檔案

sudo exportfs -r

至此,nfs服務段就配置完成了。

客戶端連線

安裝nfs

客戶端只需要安裝nfs的客戶端元件就可以了:

sudo apt install nfs-common

檢視遠端主機中共享的nfs資料夾

showmount -e 192.168.6.217

192.168.6.217為伺服器ip

如果正常,應該返回類似以下結果:

Export list for 192.168.6.217:
/tmp/nfs 192.168.6.0/24

確認自身是否在允許的列表中

可使用ifconfig檢視自身ip資訊,確保自身的ip在允許的列表中。

建立掛載點

使用mkdir命令建立一個共享目錄的掛載點,如果已經有掛載點,可省略此步驟。

本次建立掛載點命令為:

mkdir /tmp/nfs-mount-point

掛載

使用mount命令掛載:

sudo mount -t nfs 192.168.6.217:/tmp/nfs /tmp/nfs-mount-point

表示掛載192.168.6.217主機下/tmp/nfs目錄到本地/tmp/nfs-mount-point

驗證

此時如果沒有什麼報錯,就應該建立成功了。可以建立一個檔案驗證。

在伺服器端執行:

echo 'Welcome to NFS server' > /tmp/nfs/test

在客戶端執行

cat /tmp/nfs-mount-point/test

可以看到

Welcome to NFS server

表示網路檔案系統已經成功搭建。