NFS 是Network File System的縮寫,中文意思是網絡文件系統。它的主要功能是通過網絡(一般是局域網)讓不同的主機系統之間可以共享文件或目錄。NFS客戶端(一般為應用服務器,例如web)可以通過掛載(mount)的方式將NFS服務器端共享的數據目錄掛載到NFS客戶端本地系統中(就是某一個掛載點下)。從客戶端本地看,NFS服務器端共享的目錄就好像是客戶端自己的磁盤分區或者目錄一樣,而實際上卻是遠端的NFS服務器的目錄。
一、服務端
1、檢查nfs服務
rpm -qa|grep nfs
rpm -qa|grep rpcbind
2、安裝nfs
yum -y install nfs-utils rpcbind
3、設置開機自動啟動服務
chkconfig nfs on
chkconfig rpcbind on
4、啟動服務
service rpcbind start
service nfs start
5、創建共享目錄
mkdir /data/nfs-share chmod -R 777 /data/nfs-share
6、配置exports文件
vi /etc/exports 加入: /data/nfs-share 192.168.1.1(rw)
7、刷新配置立即生效
exportfs -a
8、查看mount目錄
#此時可用showmount -e 服務端ip來查看可mount目錄 showmount -e 192.168.1.1
二、客戶端
1、創建共享目錄
mkdir /data/share-file
2、掛載目錄
mount 192.168.1.1:/data/nfs-share /data/share-file
#若掛載失敗,錯誤提示如下: mount: wrong fs type, bad option, bad superblock on 192.168.1.1:/xxx/xxx, missing codepage or helper program, or other error (for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program) In some cases useful info is found in syslog - try
dmesg | tail or so
#安裝 nfs-utils 即可
yum install nfs-utils
3、卸載已掛載目錄
umount /data/share-file
4、NFS掛載時出現"access denied by server while mounting"的解決方法
1、使用了非法端口,也就是使用了大於1024的端口。 這個錯誤,可以通過查看日志確認: [root@local~ /]# cat /var/log/messages | grep mount Jan 2 12:49:04 localhost mountd[1644]: refused mount request from 192.168.1.1 for /data/nfs-share/ (/data/nfs-share): illegal port 1689 解決辦法: 修改配置文件/etc/exports,加入 insecure 選項,重啟nfs服務,再嘗試掛載。 /data/nfs-share/ *(insecure,rw,async,no_root_squash) 2、NFS版本問題 編輯/etc/sysconfig/nfs文件,找到下面: #Turn off v2 and v3 protocol support #RPCNFSDARGS="-N 2 -N 3" #Turn off v4 protocol support #RPCNFSDARGS="-N 4" /*把這句前面的#號去掉*/ 最后保存,重啟nfs服務,再嘗試掛載;如果掛載不上,可嘗試在后面加-o nolock參數。 3、查看客戶端掛載的目錄是否具備讀寫權限,添加相應權限即可。 4、nfs服務器上的/etc/hosts中設置了客戶端機器IP對應域名,去掉即可。
注:如果需要設置開機掛載,在/etc/fstab添加一行配置即可:
192.168.1.1:/data/nfs-share /data/share-file nfs rw,tcp,intr 0 1
然后服務端和客戶端都要用enable設置nfs和rpcbind服務開機啟動,然后才可以正常掛載