NFS是Network File System的簡寫,即網絡文件系統.
網絡文件系統是FreeBSD支持的文件系統中的一種,也被稱為NFS. NFS允許一個系統在網絡上與他人共享目錄和文件。通過使用NFS,用戶和程序可以像訪問本地文件一樣訪問遠端系統上的文件。
1.配置服務器端
|
使用以下的命令,安裝NFS服務器程序軟件包。并創建/etc/exports和/etc/default/nfs-kernel-server配置文件,等待用戶在完成NFS安裝以后,配置將要共享的資源。
$ sudo apt-get install nfs-kernel-server
可以使用netstat命令檢查NFS端口是否已經打開,NFS端口以及SUNRPC端口已處于監聽狀態。
---------------------------------------------------------------------
2.配置NFS資源
配置NFS服務器的關鍵也就是配置該文件。配置文件中一行即為一條配置項,用于指明網絡中的“哪些客戶端”共享“哪些目錄資源”。導出資源配置項格式如下所示。
<Share Directory> <Host1(args)> <Host2(args)> ……
其中,<Share Directory>表示服務器中導出的共享資源路徑,必須使用絕對路徑名;<Hostn>表示客戶端主機標識,如果是多個主機標識,需要使用空格隔開;<args>表示賦予每個客戶端主機的訪問權限。以下為一個配置樣本:
$ sudo vi /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) hostname2(ro,sync) # /source/rootfs *(rw, sync, no_root_squash)
3.手動啟停NFS服務
通常,NFS服務的守護進程是以持續監聽端口的獨占方式運行。用戶通過使用NFS的初始化腳本,可以手動啟停NFS服務。系統管理員在調整共享資源之后,一定要重新啟動NFS服務,以便使修改的配置生效。
(1)啟動NFS服務
$ sudo /etc/init.d/nfs-kernel-server start
(2)停止NFS服務
$ sudo /etc/init.d/nfs-kernel-server stop
(3)重新啟動NFS服務
$ sudo /etc/init.d/nfs-kernel-server restart
(4)查看NFS服務當前狀態
NFS服務開啟時顯示nfsd running, 關閉時顯示nfsd not running.
$ sudo /etc/init.d/nfs-kernel-server status
---------------------------------------------------------------------
4.查看NFS服務器的共享資源
在客戶端可以使用showmount命令查看某臺NFS服務器上的都有哪些NFS共享資源。showmount命令包含在nfs-kernel-server軟件包中。如果希望使用該命令,需要安裝nfs-kernel-server軟件包。它的一般語法格式為:
$ showmount [-dehv] NFSsrvname
其中,NFSsrvname 表示NFS服務器主機名,也可以使用IP地址。單獨使用showmount命令,將顯示本地主機/etc/exports 配置文件中的共享配置項。下面命令用于顯示NFS服務器UbuntuFisher中的共享文件目錄,命令執行結果不僅列出NFS服務器上共享資源的目錄,還同時列出了授權訪問NFS的客戶端,這也與NFS服務器上 /etc/exports 文件內容是相對應的。
$ showmount -e ip
---------------------------------------------------------------------
5.掛載共享資源
當了解了NFS服務器上共享資源后,便可使用mount命令在客戶端掛載NFS共享資源。假設NFS服務器UbuntuFisher開放/home/wdl/Share/nfs_1 作為共享資源,客戶端主機DebianFisher希望將該共享資源掛載到本地的/mnt/nfs_1目錄中,可以使用以下命令完成掛載:
$ mount -t nfs UbuntuFisher:/home/wdl/Share/nfs_1 /mnt/nfs_1
當客戶端使用mount命令將NFS服務器上的導出文件系統掛載到本地后,接下來對掛載的文件系統的操作,與使用本地文件系統沒有任何區別。下面是掛載NFS服務器授權的目錄。
$ sudo mount -t nfs 192.168.65.133:/source/rootfs/ /mnt/nfs/
---------------------------------------------------------------------
6.卸載共享資源
要卸載共享目錄,可以使用umount命令,它一般語法格式為:
$ umount /mnt-Point
其中,mnt-Point表示共享資源在客戶端主機上的掛載點。
假設延續上面的例子,不再需要訪問UbuntuFisher主機上的共享目錄/home/wdl/Share/nfs_1后,下面的命令將釋放共享資源,卸載當前文件系統的掛載點。
$ sudo umount /mnt/nfs
需要說明的是,當用戶正在使用某個已加載的共享目錄上的文件,則不能卸載文件系統。如果用戶確認無誤,可以使用“umount -f”命令強行卸載共享的目錄。