安裝nfs rpcbind
一、服務端配置
安裝 NFS 服務器所需的軟件包:nfs 和 rpcbind
# yum install nfs-utils
# yum install rpcbind(默認系統已安裝)
設置啟動
# chkconfig nfs on
# chkconfig rpcbind on
啟動NFS服務
1)先啟動rpcbind service rpcbind start
2)再啟動nfs service nfs start
配置服務器端共享目錄
1)編輯配置文件
假設服務端 目錄為/home/data
# vi /etc/exports
格式:
要共享的目錄(使用絕對路徑) 客戶端主機IP......(可多個IP,之間空格隔開)
/home/data 10.1.0.2(rw,sync,all_squash,anonuid=0,anongid=1000) 10.1.0.3(rw,sync,all_squash,anonuid=0,anongid=1000)
括號里的參數:
rw:read-write,可讀寫;
ro:read-only,只讀;
sync:文件同時寫入硬盤和內存;
async:文件暫存於內存,而不是直接寫入硬盤;
no_root_squash:NFS客戶端連接服務端時如果使用的是root的話,那么對服務端分享的目錄來說,也擁有root權限。顯然開啟這項是不安全的。
root_squash:NFS客戶端連接服務端時如果使用的是root的話,那么對服務端分享的目錄來說,擁有匿名用戶權限,通常他將使用nobody或nfsnobody身份;
all_squash:不論NFS客戶端連接服務端時使用什么用戶,對服務端分享的目錄來說都是擁有匿名用戶權限;
anonuid:匿名用戶的UID值,通常是nobody或nfsnobody,可以在此處自行設定;
anongid:匿名用戶的GID值。
其它選項
secure 限制客戶端只能從小於1024的tcp/ip端口連接nfs服務器(默認設置);
insecure 允許客戶端從大於1024的tcp/ip端口連接服務器;
sync 將數據同步寫入內存緩沖區與磁盤中,效率低,但可以保證數據的一致性;
async 將數據先保存在內存緩沖區中,必要時才寫入磁盤;
wdelay 檢查是否有相關的寫操作,如果有則將這些寫操作 一起執行,這樣可以提高效率(默認設置);
no_wdelay 若有寫操作則立即執行,應與sync配合使用;
subtree 若輸出目錄是一個子目錄,則nfs服務器將檢查其父目錄的權限(默認設置);
no_subtree 即使輸出目錄是一個子目錄,nfs服務器也不檢查其父目錄的權限,這樣可以提高效率;
2)加載配置文件
exportfs 參數
參數:
-a 全部掛載/etc/exports 文件內的設定
-r: 重新掛載/etc/exports中的設置,此外同步更新/etc/exports 及 var/lib/nfs/xtab中的內容。
-u:卸載某一目錄
-v:在export時將共享的目錄顯示在屏幕上。
3)配置服務器端防火牆
開啟服務端防火牆端口2049
# vi /etc/sysconfig/iptables
添加一行 -A INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT 保存退出
# /etc/init.d/iptables restart 重啟生效
二、客戶端配置
同服務端一樣安裝nfs和rpcbind服務 並啟動 開啟2049端口
使用monut 命令進行掛載
假設客戶端要掛載的目錄為/home/client 服務端IP為10.1.0.1
mount -t nfs 10.0.1.1:/home/server /home/client
umount -a 取消所有掛載
