實驗環境
centos 6.5
nfs server 192.168.1.236
nfs client1 192.168.1.237
nfs client2 192.168.1.239
1.nfs服務端安裝
[root@nfs-server ~]# yum -y install nfs-utils rpcbind #centos6版本portmap服務由rpcbind負責;
創建共享文件夾
[root@nfs-server ~]# mkdir -p /web/share
修改nfs配置文件
[root@nfs-server ~]# vi /etc/exports
/web/share 192.168.1.*(rw,sync,no_root_squash)
添加的內容表示:允許ip 地址範圍在192.168.1.*的計算機以讀寫的權限來訪問/web/share 目錄。
rw:讀/寫權限,只讀權限的參數爲ro;
sync:數據同步寫入內存和硬盤,也可以使用async,此時數據會先暫存於內存中,而不立即寫入硬盤。
no_root_squash:NFS 服務器共享目錄用戶的屬性,如果用戶是 root,那麼對於這個共享目錄來說就具有 root 的權限。
[root@nfs-server ~]# exportfs -r #使配置生效
啓動nfs
[root@nfs-server ~]# /etc/init.d/rpcbind start
Starting rpcbind: [ OK ]
[root@nfs-server ~]# /etc/init.d/nfs start
Starting NFS services: [ OK ]
Starting NFS mountd: [ OK ]
Starting NFS daemon: [ OK ]
Starting RPC idmapd: [ OK ]
2.nfs在兩臺客戶端安裝
[root@nfs-client1 ~]# yum -y install nfs-utils
[root@nfs-client2 ~]# yum -y install nfs-utils
注:客戶端不需要啓動nfs服務
創建掛在目錄
[root@nfs-client1 ~]# mkdir -p /web/test1
[root@nfs-client2 ~]# mkdir -p /web/test2
測試掛載
[root@nfs-client1 ~]# showmount -e 192.168.1.236
Export list for 192.168.1.236:
/web/share 192.168.1.*
[root@nfs-client2 ~]# showmount -e 192.168.1.236
Export list for 192.168.1.236:
/web/share 192.168.1.*
掛載
[root@nfs-client1 ~]# mount -t nfs 192.168.1.236:/web/share /web/test1
[root@nfs-clent2 ~]# mount -t nfs 192.168.1.236:/web/share /web/test2
測試
在nfs-server新建文件
在nfs-client1與nfs-client2上查看同步效果
在nfs-client1與nfs-client2上新建文件,查看同步效果
客戶端卸載
[root@nfs-client1 ~]# umount /web/test1
第二種權限測試
修改nfs-server配置
[root@nfs-server ~]# vi /etc/exports
/web、share 192.168.1.237(rw,sync,no_root_squash) *(ro)
[root@nfs-server ~]# exportfs -r #使配置生效
重啓nfs-server服務
[root@nfs-server ~]# /etc/init.d/rpcbind restart
[root@nfs-server ~]# /etc/init.d/nfs restart
測試
第三種權限測試
修改nfs-server配置
[root@nfs-server ~]# vi /etc/exports
/web/share 192.168.1.237(rw,sync,no_root_squash)
/web/share 192.168.1.239(ro,sync,no_root_squash)
重啓nfs-server服務
[root@nfs-server ~]# /etc/init.d/rpcbind restart
[root@nfs-server ~]# /etc/init.d/nfs restart
測試
客戶端開機自動掛載
[root@nfs-client1 ~]# echo "mount -t nfs 192.168.1.236:/web/share /web/test1" > /etc/rc.local
附註:
1、exports參數說明
ro 只讀訪問
rw 讀寫訪問
sync 所有數據在請求時寫入共享
async NFS在寫入數據前可以相應請求
secure NFS通過1024以下的安全TCP/IP端口發送
insecure NFS通過1024以上的端口發送
wdelay 如果多個用戶要寫入NFS目錄,則歸組寫入(默認)
no_wdelay 如果多個用戶要寫入NFS目錄,則立即寫入,當使用async時,無需此設置。
hide 在NFS共享目錄中不共享其子目錄
no_hide 共享NFS目錄的子目錄
subtree_check 如果共享/usr/bin之類的子目錄時,強制NFS檢查父目錄的權限(默認)
no_subtree_check 和上面相對,不檢查父目錄權限
all_squash 共享文件的UID和GID映射匿名用戶anonymous,適合公用目錄。
no_all_squash 保留共享文件的UID和GID(默認)
root_squash root用戶的所有請求映射成如anonymous用戶一樣的權限(默認)
no_root_squash root用戶具有根目錄的完全管理訪問權限
anonuid=xxx 指定NFS服務器/etc/passwd文件中匿名用戶的UID
anongid=xxx 指定NFS服務器/etc/passwd文件中匿名用戶的GID
2、NFS 管理命令
showmount -e 在NFS Server上執行此命令顯示NFS Server上所有的共享卷;
showmount -e 192.168.1.100 在NFS Client上執行此命令顯示NFS Server上所有共享卷;
exportfs -av 根據/etc/exports導出所有卷;
exportfs -rv 重新導出所有卷,增加/etc/exports中的新項目、刪除不存在的項目、更新改變的項目;