不知道誰裝的服務器,默認自帶,如下內容摘自互聯網,配置部分按教程執行成功 1、環境介紹: 服務器:centos 192.168.1.225 客戶端:centos 192.168.1.226 2、安裝: NFS的安裝配置: centos 5 : yum -y install nfs-utils portmap centos 6(在CentOS 6.3當中,portmap服務由rpcbind負責) : yum -y install nfs-utils rpcbind 3、服務器端配置: 1、建立共享目錄: [root@centos2 /]# mkdir /usr/local/test 2、NFS文件配置: [root@centos2 /]# vi /etc/exports #增長一行: /usr/local/test/ 192.168.1.226(rw,no_root_squash,no_all_squash,sync) :x保存退出; 使配置生效: [root@centos2 /]# exportfs -r 注:配置文件說明: /usr/local/test/ 爲共享的目錄,使用絕對路徑。 192.168.1.226(rw,no_root_squash,no_all_squash,sync) 爲客戶端的地址及權限,地址能夠是一個網段,一個IP地址或者是一個域名,域名支持通配符,如:*.youxia.com,地址與權限中間沒有空格,權限說明: 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值。 3、啓動: centos6: [root@centos2 /]# service rpcbind start Starting rpcbind: [ OK ] [root@centos2 /]# service nfs start Starting NFS services: [ OK ] Starting NFS quotas: [ OK ] Starting NFS mountd: [ OK ] Stopping RPC idmapd: [ OK ] Starting RPC idmapd: [ OK ] Starting NFS daemon: [ OK ] [root@centos2 /]# centos 5 [root@centos2 /]# service portmap start [root@centos2 /]# service nfs start [root@centos2 /]# 4、客戶端掛載: 1、建立須要掛載的目錄: [root@localhost ~]# mkdir /usr/local/test [root@localhost ~]# 2、測試掛載: [root@localhost ~]# showmount -e 192.168.1.225 Export list for 192.168.1.225: /usr/local/test 192.168.1.226 [root@localhost ~]# 若是顯示:rpc mount export: RPC: Unable to receive; errno = No route to host,則須要在服務端關閉防火牆(稍候會詳細說)。 3、掛載: [root@localhost ~]# mount -t nfs 192.168.1.225:/usr/local/test /usr/local/test [root@localhost ~]# mount /dev/mapper/VolGroup-lv_root on / type ext4 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw) /dev/sda1 on /boot type ext4 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw) nfsd on /proc/fs/nfsd type nfsd (rw) 192.168.1.225:/usr/local/test on /usr/local/test type nfs (rw,vers=4,addr=192.168.1.225,clientaddr=192.168.1.226) [root@localhost ~]# 若是信息如上顯示則掛載成功! 4、測試: 客戶端生成一個文件: [root@centos2 /]# cd /usr/local/test/ [root@centos2 test]# echo "hello nfs test">>test [root@centos2 test]# ll total 4 -rw-r--r-- 1 root root 15 Apr 9 13:24 test [root@centos2 test]# 服務端檢查: [root@centos2 /]# cd /usr/local/test/ [root@centos2 test]# ll total 4 -rw-r--r-- 1 root root 15 Apr 9 13:24 test [root@centos2 test]# 掛載成功! 5、解除掛載: [root@localhost ~]# umount /usr/local/test [root@localhost ~]# mount /dev/mapper/VolGroup-lv_root on / type ext4 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw) /dev/sda1 on /boot type ext4 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw) nfsd on /proc/fs/nfsd type nfsd (rw) [root@localhost ~]# 若是遇到:umount.nfs: /usr/local/test: device is busy 可能用命令: [root@localhost /]# fuser -m -v /usr/local/test 用戶 進程號 權限 命令 /usr/local/test/: root 2798 ..c.. bash root 2996 ..c.. su [root@localhost /]# kill -9 2798 [root@localhost /]# kill -9 2996 [root@localhost /]# umount /usr/local/test [root@localhost /]# 6、服務器端防火牆設置(NFS 開啓防牆配置): 1、修改/etc/service,添加如下內容(端口號必須在1024如下,且未被佔用) # Local services mountd 1011/tcp #rpc.mountd mountd 1011/udp #rpc.mountd rquotad 1012/tcp #rpc.rquotad rquotad 1012/udp #rpc.rquotad 2、重起Linux NFS服務 service nfs restart 3、此時rpc相關端口已經被固定,能夠爲Linux NFS添加防火牆規則 #portmap /sbin/iptables -A INPUT -s 192.168.1.0/254 -p tcp --dport 111 -j ACCEPT /sbin/iptables -A INPUT -s 192.168.1.0/254 -p udp --dport 111 -j ACCEPT #nfsd /sbin/iptables -A INPUT -s 192.168.1.0/254 -p tcp --dport 2049 -j ACCEPT /sbin/iptables -A INPUT -s 192.168.1.0/254 -p udp --dport 2049 -j ACCEPT #mountd /sbin/iptables -A INPUT -s 192.168.1.0/254 -p tcp --dport 1011 -j ACCEPT /sbin/iptables -A INPUT -s 192.168.1.0/254 -p udp --dport 1011 -j ACCEPT #rquotad /sbin/iptables -A INPUT -s 192.168.1.0/254 -p tcp --dport 1012 -j ACCEPT /sbin/iptables -A INPUT -s 192.168.1.0/254 -p udp --dport 1012 -j ACCEPT #rpc.statd /sbin/iptables -A INPUT -s 192.168.1.0/254 -p tcp --dport 32768 -j ACCEPT /sbin/iptables -A INPUT -s 192.168.1.0/254 -p udp --dport 32768 -j ACCEPT ---TCP方法成功------------------------------------------- -A INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 1011 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 1012 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 32768 -j ACCEPT 客戶端在掛載的時候遇到的一個問題以下,多是網絡不太穩定,NFS默認是用UDP協議,換成TCP協議便可: mount -t nfs 192.168.1.225:/usr/local/test /usr/local/test -o proto=tcp -o nolock
------------------------------------------------------------------------------------------------------------
問題:umount 時發生以下錯誤:html
$ sudo umount /mnt/centos
/mnt was not found in /proc/mounts
/mnt was not found in /proc/mounts安全
解決:bash
umount 時使用 -l 命令。服務器
$ sudo umount -l /mnt/網絡
參考:app
man umount:async
-l Lazy unmount. Detach the filesystem from the filesystem hierarchy now, and cleanup all references to the filesystem as soon as it is not busy anymore. (Requires kernel 2.4.11 or later.)tcp
來源於:https://www.lvtao.net/server/centos-nfs.html測試