搭建nfs共享存儲服務之二nfs服務端配置語法及配置實戰詳解
1.1.NFS服務端配置文件路徑為: /etc/exports,並且默認為空,需要用戶自行配置。
/etc/exports文件配置格式為:
NFS共享的目錄 NFS客戶端地址1(參數1,參數2...)客戶端地址2(參數1,參數2)
1.NFS共享的目錄:為NFS服務端要共享的實際目錄,要用絕對路徑,如(/data),註意共享目錄的本地權限,如果需要讀寫共享,一點要讓本地目錄可以被NFS客戶端的用戶(nfsnobody)讀寫。
2.NFS客戶端地址:為NFS服務端授權的可訪共享目錄的NFS客戶端地址,可以為單獨的IP地址或主機名、域名等,也可以為整個網段地址,還可以用“”*“”來匹配所有客戶端服務器,這裏所謂的客戶端一般來說是前端的業務服務器。例如:web服務。
3.權限參數集:對授權的NFS客戶端的訪問權限設置。
2.創建一個/data目錄,這裏-p意思代表如果存在/data不提示,如果不存在直接創建。
[[email protected]
所以如果希望讓客戶端訪問nfs服務,首先讓nfsnobody可以訪問/data,假設/data可寫,在不變權限狀態下如何可寫?chown -R代表包括目錄/data裏面的所有文件和目錄
[[email protected] ~]# chown -R nfsnobody.nfsnobody /data
[[email protected] ~]# ls -ld /data
drwxr-xr-x 2 nfsnobody nfsnobody 4096 Jul 30 21:42 /data
3.在nfs服務器端。
vi /etc/exports寫入如下內容:
#share /data by oldboy for bingbing at 20160423
/data 172.16.1.0/24(rw,sync)
[[email protected] ~]# cat /etc/exports
#share /data by oldboy for bingbing at 20160423
/data 172.16.1.0/24(rw,sync)
rm可讀寫,sync直接寫入磁盤,不加sync寫入緩存。不是特別大並發用sync,如果大並發用async
4. 步驟1,2,3前提是:
/etc/init.d/rpcbind status 檢查rpcbind有沒有啟動
/etc/init.d/nfs status 檢查nfs服務有沒有啟動
rpcinfo -p localhost 確認localhost有註冊的端口。
5.步驟1,2,3配置完成後讓生效.reload叫做優雅,平滑,重啟服務器。
/etc/init.d/nfs reload相當於exportfs -rv,意思是修改配置文件平滑生效。
[[email protected] ~]# /etc/init.d/nfs reload
最後shownount -e出現如下提示表示服務端配置成功了。
[[email protected] ~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data 172.16.1.0/24
6. 放到開機自啟動中。
[[email protected] ~]# echo "mount -t nfs 172.16.1.31:/data /mnt">>/etc/rc.local
[[email protected] ~]# tail -1 /etc/rc.local
mount -t nfs 172.16.1.31:/data /mnt
[[email protected] ~]#
總結NFS客戶端
檢查系統版本
hostname nfsclient
cat /etc/redhat-release
uname -u
uname -m
2.安裝rpc服務並檢查
rpm -qa nfs-utils rpcbind
yum groupinstall "NFS file server" -y(安裝方法和yum install nfs-utils rpcbind -y)
rpm -qa nfs-utils rpcbind
3.啟動rpc服務並檢查
/etc/init.d/rpcbind start
/etc/init.d/rpcbind status
4.設置開機自啟動並檢查
chkconfig rpcbind on
chkconfig --list rpcbind
5.檢查服務器的NFS是否ok
showmount -e 172.16.1.31
排查故障:
(1)物理故障:ping 172.16.1.31
(2)端口是否開通:telnet 172.16.1.31 111註意:防火墻是否開啟阻止
6.掛載並測試
mount -t nfs 172.16.1.31:/data /mnt
cd /mnt
ls -l
touch oldboy.log
ls il
echo "mount -t nfs 172.16.1.31:/data /mnt">>/etc/rc.local
提示:也可以放入/etc/fstab,需要註意一些情況。
NFS排錯:
1.前提:NFS原理以及不熟的步驟很熟練
2.現在客戶端排查
ping server_ip
telnet server_ip 111
showmount -e server_ip
mount
本文出自 “sandshell” 博客,請務必保留此出處http://sandshell.blog.51cto.com/9055959/1954017
搭建nfs共享存儲服務之二nfs服務端配置語法及配置實戰詳解