CENTOS或RHL默認(rèn)就已安裝,如果沒有安裝的話,通過yum安裝即可:
yum install nfs-utils
yum install portmap UBUNTU系統(tǒng),通過apt-get安裝: apt-get install? nfs-kernel-server
二、配置
1、配置文件定義 NFS的配置文件為 /etc/exports,內(nèi)容格式如下:
<共享目錄> 客戶端1(選項(xiàng)) [客戶端2(選項(xiàng)) …] ?共享目錄:NFS共享給客戶機(jī)的目錄。 ?客戶端:網(wǎng)絡(luò)中可以訪問此目錄的主機(jī)。多個客戶端以空格分隔。
?選項(xiàng):設(shè)置目錄的訪問權(quán)限、用戶映射等,多個選項(xiàng)以逗號分隔。 例如: /opt/pubpc 192.168.1.0/24(rw,insecure,sync,all_squash,anonuid= 65534,anongid=65534)
2、客戶端的指定方式
指定ip地址的主機(jī):192.168.0.100
指定子網(wǎng)中的所有主機(jī):192.168.0.0/24 或 192.168.0.0/255.255.255.0
指定域名的主機(jī):nfs.test.com
指定域中的所有主機(jī):*.test.com 所有主機(jī):*
3、選項(xiàng)說明
ro:共享目錄只讀;
all_squash:所有訪問用戶都映射為匿名用戶或用戶組;
no_all_squash(默認(rèn)):訪問用戶先與本機(jī)用戶匹配,匹配失敗后再映射為匿名用戶或用戶組; root_squash(默認(rèn)):將來訪的root用戶映射為匿名用戶或用戶組; no_root_squash:來訪的root用戶保持root帳號權(quán)限; anonuid=
anongid=
sync:將數(shù)據(jù)同步寫入內(nèi)存緩沖區(qū)與磁盤中,效率低,但可以保證數(shù)據(jù)的一致性;
async:將數(shù)據(jù)先保存在內(nèi)存緩沖區(qū)中,必要時才寫入磁盤;
wdelay(默認(rèn)):檢查是否有相關(guān)的寫操作,如果有則將這些寫操作一起執(zhí)行,這樣可以提高效率; no_wdelay:若有寫操作則立即執(zhí)行,應(yīng)與sync配合使用;
subtree_check(默認(rèn))?:若輸出目錄是一個子目錄,則nfs服務(wù)器將檢查其父目錄的權(quán)限;
no_subtree_check :即使輸出目錄是一個子目錄,nfs服務(wù)器也不檢查其父目錄的權(quán)限,這樣可以提高效率;
三、NFS相關(guān)命令
不重啟nfs服務(wù)應(yīng)用更新,相關(guān)選項(xiàng)如下: -a 全部掛載或卸載 /etc/exports中的內(nèi)容
-r 重新讀取/etc/exports 中的信息 ,并同步更新/etc/exports、/var/pb/nfs/xtab
-u 卸載單一目錄(和-a一起使用為卸載所有/etc/exports文件中的目錄)
-v 在export的時候,將詳細(xì)的信息輸出到屏幕上。
2、nfsstat
查看NFS的運(yùn)行狀態(tài)。 3、rpcinfo 查看rpc服務(wù)注冊情況。 相關(guān)選項(xiàng): -p 顯示所有的端口與程序信息。 示例: rpcinfo -p localhost? #列出本機(jī)的RPC注冊狀況。
3、showmount
-a 顯示已經(jīng)于客戶端連接上的目錄信息
-e IP或者h(yuǎn)ostname 顯示此IP地址分享出來的目錄
四、pnux客戶端掛載共享目錄
1、臨時掛載
通過mount掛載,例如:
2、啟動掛載 將掛載信息寫入fstab文件 vi /etc/fstab 192.168.1.1:/opt/pubpc /mnt/pubpc nfs defaults 保存退出 mount -a 3、基于autofs自動掛載 autofs可以在使用到掛載文件系統(tǒng)時自動掛載,當(dāng)長時間不使用時自動卸載,配置靈活方便。 安裝autofs: centos,rhl: yum install autofs ubuntu: apt-get install autofs 編輯主配置文件/etc/auto.master,在末尾添加需掛載的目錄信息。 格式為:本機(jī)掛載主目錄 對應(yīng)的加載配置文件名 -掛載參數(shù) 掛載參數(shù)同mount的掛載參數(shù),多個參數(shù)以逗號分隔。此處的掛載參數(shù)可以與對應(yīng)的加載配置文件中定義的參數(shù)產(chǎn)生疊加作用。 示例: vi /etc/auto.master #本機(jī)掛載主目錄為/mnt,與之對應(yīng)的加載配置文件為/etc/auto.nfs /mnt /etc/auto.nfs 保存退出 編輯加載配置文件,添加需要掛載的文件系統(tǒng)。 格式為:掛載目錄 -掛載參數(shù) 掛載文件系統(tǒng) 掛載參數(shù)同mount的掛載參數(shù),多個參數(shù)以逗號分隔。 示例: vi /etc/auto.nfs pubpc -rw,bg,soft,rsize=32768,wsize=32768,nosuid,noexec,nodev 192.168.1.1:/opt/pubpc 保存退出 重啟autofs /etc/init.d/autofs restart 五、windows客戶端掛載共享目錄 1、到M$網(wǎng)站下載SFU3.5,下載地址:http://www.microsoft.com/en-us/download/details.aspx?id=274 2、在本地建立group文件,內(nèi)容如下: root:x:0: 3、在本地建立passwd文件,內(nèi)容如下: root:x:0:0:root:/root:/bin/bash 4、解壓并安裝SFU,選擇定制安裝,在 User Name Mapping界面,選擇Password and group files,進(jìn)入下一步分別輸入前面建立的passwd和group文件完整路徑,點(diǎn)擊下一步完成安裝。 5、配置SFU
在開始菜單的程序中找到Windows Services for Unix,點(diǎn)擊Services for Unix Administration。在設(shè)置界面點(diǎn)擊User Name Mapping,切換到Map標(biāo)簽頁,點(diǎn)擊 show group Maps,在windows group name 和unix group name框中分別輸入guests和root,然后點(diǎn)擊add。然后點(diǎn)擊 show User Maps,在windows user name 和unix user name框中分別輸入guest和root,然后點(diǎn)擊add。最后點(diǎn)擊右上角的apply應(yīng)用設(shè)置。
6、確保windows系統(tǒng)中的guest帳號可用 運(yùn)行g(shù)pedit.msc 在Computer Configuration->Windowns Settings->Security Settings->Local Popcies->User Right Assignment->Deny access to this computer from the network:去掉Guest。 并檢查其它相關(guān)項(xiàng)是否有允許Guest訪問。 在?Computer Configuration->Windowns Settings->Security Settings->Local Popcies->Security Options->Network access->Sharing and security model for local accounts:選擇經(jīng)典方式:Classic-Local users authenticate as themselves。 7、通過網(wǎng)上鄰居映射網(wǎng)絡(luò)驅(qū)動器、cmd下mount(例如:mount \\192.168.1.100\opt\pubpc z:)或者直接在地址欄輸入地址(例如:\\192.168.1.100\opt\pubpc)掛載共享目錄。 六、NFS權(quán)限設(shè)定1、普通用戶 if (?設(shè)置了all_squash?) then ? ? ?訪問用戶強(qiáng)制映射為指定nfs匿名用戶; else ? ? ?if (?NFS server上有同名用戶?) then ? ? ?? ? ?訪問用戶映射為服務(wù)器上的同名用戶; ? ? ?else ? ??? ? ?訪問用戶映射成nfsnobody; 2、root if ( 同時設(shè)置了no_root_squash和all_squash?) then ? ? ?訪問用戶映射為指定nfs匿名用戶; else ? ? ?if (?設(shè)置了no_root_squash?) then
? ? ?? ? ?來訪root映射為指定服務(wù)器上的root用戶;
? ? ?else
? ? ?? ? ?if (?設(shè)置了all_squash?) then
? ? ? ? ??? ? ?訪問用戶映射為指定nfs匿名用戶;
? ? ?? ? ?else ? ? ?? ? ??? ?訪問用戶映射成nfsnobody; 七、mount相關(guān)參數(shù) ro 以只讀模式加載。
rw 以可讀寫模式加載。 sync 以同步方式執(zhí)行文件系統(tǒng)的輸入輸出動作。 async 以非同步的方式執(zhí)行文件系統(tǒng)的輸入輸出動作。
defaults 使用默認(rèn)的選項(xiàng)。默認(rèn)選項(xiàng)為rw、suid、dev、exec、anto nouser與async。 atime 每次存取都更新inode的存取時間,默認(rèn)設(shè)置,取消選項(xiàng)為noatime。 noatime 每次存取時不更新inode的存取時間。
dev 可讀文件系統(tǒng)上的字符或塊設(shè)備,取消選項(xiàng)為nodev。 nodev 不讀文件系統(tǒng)上的字符或塊設(shè)備。
exec 可執(zhí)行二進(jìn)制文件,取消選項(xiàng)為noexec。 noexec 無法執(zhí)行二進(jìn)制文件。 auto 必須在/etc/fstab文件中指定此選項(xiàng)。執(zhí)行-a參數(shù)時,會加載設(shè)置為auto的設(shè)備,取消選取為noauto。
noauto 無法使用-a參數(shù)來加載。 suid 啟動set-user-identifier(設(shè)置用戶ID)與set-group-identifer(設(shè)置組ID)設(shè)置位,取消選項(xiàng)為nosuid。 nosuid 關(guān)閉set-user-identifier(設(shè)置用戶ID)與set-group-identifer(設(shè)置組ID)設(shè)置位。 user 普通用戶可以執(zhí)行加載操作。
nouser 普通用戶無法執(zhí)行加載操作,默認(rèn)設(shè)置。
remount 重新加載設(shè)備。通常用于改變設(shè)備的設(shè)置狀態(tài)。 rsize 讀取數(shù)據(jù)緩沖大小,默認(rèn)設(shè)置1024。 wsize 寫入數(shù)據(jù)緩沖大小,默認(rèn)設(shè)置1024。 fg 以前臺形式執(zhí)行掛載操作,默認(rèn)設(shè)置。在掛載失敗時會影響正常操作響應(yīng)。 bg 以后臺形式執(zhí)行掛載操作。 hard 硬式掛載,默認(rèn)設(shè)置。如果與服務(wù)器通訊失敗,讓試圖訪問它的操作被阻塞,直到服務(wù)器恢復(fù)為止。
soft 軟式掛載。如果服務(wù)器通訊失敗,讓試圖訪問它的操作失敗,返回一條出錯消息。這項(xiàng)功能對于避免進(jìn)程“掛”在無關(guān)緊要的安裝操作上來說非常有用。 retrans=n 指定在以軟方式安裝的文件系統(tǒng)上,在返回一條出錯消息之前重復(fù)發(fā)出請求的次數(shù)。 nointr 不允許用戶中斷,默認(rèn)設(shè)置。 intr 允許用戶中斷被阻塞的操作(并且讓它們返回一條出錯消息)。
timeo=n 設(shè)置請求的超時時間(以十分之一秒為單位)。
注: automounter專用參數(shù)
fstype=? 用于指定一個文件系統(tǒng)的類型(如果要掛載的文件系統(tǒng)不是NFS的話),mount是不能用的。
八、注意事項(xiàng)
1、NFS服務(wù)器關(guān)機(jī)時要確保NFS沒有客戶端連接,否則無法正常關(guān)機(jī) ??梢韵葟?qiáng)制停止或殺死nfs服務(wù)。 2、windows客戶端掛載共享目錄不支持utf-8編碼,因此可能會出現(xiàn)中文亂碼??梢酝ㄟ^修改服務(wù)器local的默認(rèn)編碼來解決。