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