NFS服務端及客戶端安裝配置掛載

1、準備工作

NFS 服務端需要至少安裝兩個軟件:nfs-utils 和 rpcbind,
客戶端只需要安裝rpcbind

2、查看是否安裝nfs服務

[root@localhost soft]# rpm -qa nfs-utils rpcbind

3、安裝nfs 服務端及客戶端

[root@localhost soft]# yum install -y nfs-utils
[root@localhost soft]# yum install -y rpcbind
# 查看是否安裝成功
[root@localhost soft]# rpm -qa nfs-utils rpcbind
nfs-utils-1.2.3-39.el6.x86_64
rpcbind-0.2.0-11.el6.x86_64

4、服務端:配置需要共享的目錄

[root@localhost nfs]# vim /etc/exports

# 添加如下內容到exports中:
/opt/nfs/ 192.168.1.1(rw,no_root_squash,async)
# 生效
[root@localhost nfs]# exportfs -arv

# exportfs參數說明:
-a 全部掛載或卸載 /etc/exports中的內容
-r 重新讀取/etc/exports 中的信息 ,並同步更新/etc/exports、/var/lib/nfs/xtab
-u 卸載單一目錄(和-a一起使用爲卸載所有/etc/exports文件中的目錄)
-v 在export的時候,將詳細的信息輸出到屏幕上。
# exports文件的編寫格式

<輸出目錄> [客戶端1 選項(訪問權限,用戶映射,其他)] [客戶端2 選項(訪問權限,用戶映射,其他)]

# 輸出目錄爲NFS目錄,
# 客戶端爲要連接到NFS的客戶端,
# 訪問權限指客戶端的操作權限,
# 用戶映射可以限制用戶權限

# 客戶端常用的指定方式
指定ip地址的主機 192.168.0.200
指定子網中的所有主機 192.168.0.0/24
指定域名的主機 a.liusuping.com
指定域中的所有主機 *.liusuping.com
所有主機 *

# 訪問權限選項
設置輸出目錄只讀 ro
設置輸出目錄讀寫 rw

# 用戶映射選項
all_squash 將遠程訪問的所有普通用戶及所屬組都映射爲匿名用戶或用戶組(nfsnobody);
no_all_squash 與all_squash取反(默認設置);
root_squash 將root用戶及所屬組都映射爲匿名用戶或用戶組(默認設置);
no_root_squash 與rootsquash取反;
anonuid=xxx 將遠程訪問的所有用戶都映射爲匿名用戶,並指定該用戶爲本地用戶(UID=xxx);
anongid=xxx 將遠程訪問的所有用戶組都映射爲匿名用 戶組賬戶,並指定該匿名用戶組賬戶爲本地用戶組賬戶(GID=xxx);

# 其它選項
secure 限制客戶端只能從小於1024的tcp/ip端口連接nfs服務器(默認設置);
insecure 允許客戶端從大於1024的tcp/ip端口連接服務器;
sync 將數據同步寫入內存緩衝區與磁盤中,效率低,但可以保證數據的一致性;
async 將數據先保存在內存緩衝區中,必要時才寫入磁盤;
wdelay 檢查是否有相關的寫操作,如果有則將這些寫操作 一起執行,這樣可以提高效率(默認設置);
no_wdelay 若有寫操作則立即執行,應與sync配合使用;
subtree 若輸出目錄是一個子目錄,則nfs服務器將檢查其父目錄的權限(默認設置);
no_subtree 即使輸出目錄是一個子目錄,nfs服務器也不檢查其父目錄的權限,這樣可以提高效率;

## 啓動、停止、查看狀態、查看掛載狀態

# 啓動
[root@localhost nfs]# service rpcbind start
[root@localhost nfs]# service nfs start

# 停止
[root@localhost nfs]# service rpcbind stop
[root@localhost nfs]# service nfs stop

# 查看狀態
[root@localhost nfs]# service rpcbind status
[root@localhost nfs]# service nfs status
# 查看掛載情況

# 查詢本機nfs共享目錄情況
[root@localhost nfs]# showmount -e localhost 
# 查詢本機共享目錄連接情況
[root@localhost nfs]# showmount -a localhost 

5、客戶端:配置需要掛載的目錄

注意:掛載的時候要先把原文件夾內的內容移出去,掛載完成後再移動進來,要不然原來的文件就看不到了

掛載命令
[root@140106 opt]# mount -t nfs 192.168.140.101:/opt/nfs /opt/nfs

取消掛載命令:
[root@140106 opt]# umount -a

使用 fuser 命令需要安裝以下依賴
[root@140105 opt]# yum install -y psmisc

取消掛載 umount 時目標忙的解決辦法
一、第一種情況是可能你當前所在路徑已經在掛載目錄下,需要切換到別的目錄才能umount成功。
二、第二種情況是沒有在掛載目錄,但是umount時,始終無法umonut,可以通過fuser查看設備被哪個進程佔用,之後殺死進程,就可以順利umount了。

[root@140105 nfs]# fuser -mv  /var/lib/ceph/osd/ceph-1
-bash: fuser: 未找到命令
yum 安裝 fuser
[root@140105 opt]# yum install -y psmisc
查看佔用命令:
[root@140106 opt]# fuser -mv /home/data_azkaban
殺死佔用命令:
[root@140106 opt]# fuser -kv /home/data_azkaban

6、END

配置完成後可以在服務端和客戶端的共享目錄內創建刪除文件,看看響應的客戶端和服務端能不能共享

愉快的玩耍吧

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章