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兩個包的安裝文件 在系統光盤中都會有。
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
PS: 上面說的安裝方法可能是針對像red hat這樣的OS, 像Ubuntu就沒這麼麻煩,只需要用apt-get來安裝nfs-server,命令如下:
sudo apt-get install nfs-kernel-server
1.6 NFS服務器的配置
NFS服務器的配置相對比較簡單,只需要在相應的配置文件中進行設置,然後啓動NFS服務器即可.
1.7 NFS服務器的配置文件-------------------exports
exports文件在目錄“/etc”下,用於配置NFS服務器所提供的目錄共享。exports的黑夜設置爲空,沒有輸 出任何的目錄共享,這也是出於安全考慮,這樣即使啓動了NFS 服務也不會提供任何的共享。
1.8 exports文件的格式
exports文件中每行提供一個共享的目錄,設置行的格式如下所示:
要輸出的共享目錄 客戶端主機的地址(設置先項)
/www/chinafu *(sync,ro)
/home *(async,rw,no_root_squash)
在共享設置文件中,共享目錄和主機地址間用空格分隔,主機地址之後緊隨設置選項,設置選項放有括號中,多個設置選項間用逗 號分隔.
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
[root@localhost ~]# chkconfig --list portmap
nfs 0:off 1:off 2:off 3:on 4:off
5:on 6:off
[root@localhost ~]# chkconfig --list nfs
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共享目錄掛載點