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