1.1 NFS概述
NFS(Network File System)是一種分布式檔案系統,允許網絡中的安裝不同作業系統的計算機間共享檔案和外設,是以它的通訊協定設計與主機及作業系統無關. 它是由SUN公司于1984年推出,使得可以本地機一樣的使用另一台聯網計算機的檔案和外設。NFS在檔案傳送或資訊傳送過程中依賴于RPC協定。NFS 的目前版本是V4(RFC3010)
RPC, 遠端過程調用 (remote procedure call) 是能使用戶端執行其他系統中程式的一種機制。由于使用 RPC 的程式不必了解支援通信的網絡協定的情況,是以 RPC 提高了程式的互操作性。常用于分布式用戶端/伺服器模型, 送出請求的程式是客戶程式,而提供服務的程式是伺服器。RFC1831
1.2 NFS的安裝
NFS的安裝是非常簡單的,隻需要兩個軟體包即可,而且在通常情況下,是作為系統的預設包安裝的,在配置使用NFS之前需要先查詢所需的軟體包是否已安裝.
# rpm -q nfs-utils portmap
nfs-utils-1.0.6-70.EL4
portmap-4.0-63
//如果出現包的資訊,則表示已安裝了nfs-utils portmap兩個軟體包
1.3 NFS安裝封包件
如目前系統中沒有安裝NFS所需的使用的軟體包,需要手工進行安裝。nfs-utils和portmap兩個包的安裝檔案在系統CD光牒中都會有。
nfs-utils-1.0.6-70.EL4.i386.rpm
portmap-4.0-63.i386.rpm
1.4 Portmap軟體包
portmap軟體包中的portmap服務,為NFS和NIS等提供PRC服務的支援,是以在安裝NFS時就先安裝portmap軟體包.
rpm -ql portmap
/etc/rc.d/init.d/portmap
/sbin/portmap
1.5 nfs-utils軟體包
nfs-utils軟體包提供了NFS伺服器程式和相應的管理工具。
rpm -ql nfs-utils
1.6 NFS伺服器的配置
NFS伺服器的配置相對比較簡單,隻需要在相應的配置檔案中進行設定,然後啟動NFS伺服器即可.
1.7 NFS伺服器的配置檔案-------------------exports
exports檔案在目錄“/etc”下,用于配置NFS伺服器所提供的目錄共享。exports的黑夜設定為空,沒有輸出任何的目錄共享,這也是出于安全考慮,這樣即使啟動了NFS 服務也不會提供任何的共享。
1.8 exports檔案的格式
exports檔案中每行提供一個共享的目錄,設定行的格式如下所示:
要輸出的共享目錄 用戶端主機的位址(設定先項)
/www/chinafu *(sync,ro)
在共享設定檔案中,共享目錄和主機位址間用空格分隔,主機位址之後緊随設定選項,設定選項放有括号中,多個設定選項間用逗号分隔.
1.8.1共享目錄
共享目錄設定系統中需要作為共享的目錄路徑。
1.8.2 用戶端主機位址
在exports檔案 用戶端,用戶端主機的指定非常靈活,如下所示
用戶端主機位址 說明
192.168.0.28 指定ip位址的主機
www.chinafu.net 指定域名的主機
192.168.0.10/31 指定網段中的所有主機
*.chinafu.com 指定域中的所有主機
* 指定所有主機
1.8.3 設定選項
exports檔案中的設定選擇較多,但經常用的并不多
設定選項 說明
sync 設定NFS伺服器同步寫磁盤,這樣不會輕易丢失資料,NFS伺服器建議使用該選項
ro 設定輸出的共享目錄隻讀,與 rw撿能同時使用
rw 設定輸出的共享目錄可讀寫 ,與ro不能共同使用
1.8.4 exports檔案配置執行個體
在exports檔案中,同一輸出共享目錄對于不同的主機可以有不同的設定選項,各主機設定間用空格分隔
#more /etc/exports
/www/chinafu *(sync,ro) 192.168.0.19(sync,rw)
/home/ftp 192.168.0.31(sync,ro)
1.9 NFS伺服器的啟動與停止
在對exports檔案進行了正确的配置後,就可以啟動NFS伺服器了。
19.1 啟動NFS伺服器
為了使NFS伺服器能正常工作,需要啟動portmap和nfs兩人服務,并且portmap一定要先于nfs啟動
[root@localhost ~]# service portmap start
Starting portmap: [ OK ]
//portmap要先于nfs啟動
[root@localhost ~]# service nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [ OK ]
Starting NFS mountd: [ OK ]
19.2 查詢NFS伺服器狀态
#service portmap status
#service nfs status
19.3 停止NFS伺服器
要停止NFS運作時,需要先停止nfs服務再停止portmap服務,對于系統中有其他服務(如NIS)需要使用時,不需要停止portmap服務
#service nfs stop
#service portmap stop
19.4設定NFS伺服器的自動啟動狀态
對于實際的應用系統,每次啟動LINUX系統後都手工啟動nfs伺服器是不現實的,需要設定系統在指定的運作級别自動啟動portmap和nfs服務。
[root@localhost ~]# chkconfig --list portmap
portmap 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@localhost ~]# chkconfig --list nfs
nfs 0:off 1:off 2:off 3:off 4:off 5:off 6:off
//設定portmap和nfs服務在系統運作級别3和5自動啟動.
[root@localhost ~]# chkconfig --level 35 portmap on
[root@localhost ~]# chkconfig --level 35 nfs on
nfs 0:off 1:off 2:off 3:on 4:off 5:on 6:off
20.1 showmount指令
在正确設定了NFS共享目錄後并正确啟動NFS伺服器後,可以使用showmount指令查詢NFS的共享狀态.
20.1.1 顯示showmount指令幫助
showmount -h
20.1.2 顯示主機的NFS伺服器資訊
showmount NFS伺服器主機位址 //不指定為目前主機的NFS伺服器的資訊
20.1.3 顯示NFS伺服器的輸出清單
showmount -e NFS伺服器主機位址
20.1.4 顯示NFS伺服器中被挂載的目錄
showmount -d NFS伺服器主機位址
20.1.5 顯示NFS伺服器的客戶要與被挂載的目錄
showmount -a
21.1exportfs指令
21.1.1 重新輸出共享目錄
exportfs -rv
exportfs -rv指令使NFS伺服器重新讀取exports檔案中的設定,使用該指令可以在改變exports檔案設定後,使設定在目前伺服器中生效,而不需要重新啟動NFS伺服器
21.1.2 停止輸出所有目錄
exportfs -auv
用于停止目前主機中NFS伺服器的所有目錄輸出
21.1.3 輸出所有的目錄
exportfs -av
用于輸出目前主機中NFS伺服器的所有共享目錄
22.1 NFS的用戶端配置
22.1.1顯示NFS伺服器的輸出共享目錄
在使用mount挂載NFS伺服器的共享目錄之前,最好先查詢NFS伺服器中是否允許本機連接配接相應的目錄共享
showmount -e 伺服器位址
23.1 挂載NFS伺服器中的共享目錄
指令格式
mount NFS伺服器位址:共享目錄 本地挂載點目錄
例子:
mount 192.168.0.130:/www/chinafu /mnt/chinafu
細節提示:挂載點目錄是已建立的空目錄,也可是使用其他的空目錄.
24.1顯示目前主機挂載的NFS目錄
#mount |grep nfs
25.1解除安裝已挂載的NFS共享目錄
#unmount /mnt/chinafu
//目錄/mnt/chinafu為NFS共享目錄挂載點