服務端配置
• 安裝NFS服務
[root@bogon ~]# yum -y install nfs-utils rpcbind已載入外掛:fastestmirror設定安裝程序Loading mirror speeds from cached hostfile... ...已安裝: nfs-utils.x86_64 1:1.2.3-70.el6_8.2 rpcbind.x86_64 0:0.2.0-12.el6 作為依賴被安裝: keyutils.x86_64 0:1.4-5.el6 libevent.x86_64 0:1.4.13-4.el6 libgssglue.x86_64 0:0.1-11.el6 libtirpc.x86_64 0:0.2.1-11.el6_8 nfs-utils-lib.x86_64 0:1.1.5-11.el6 python-argparse.noarch 0:1.2.1-2.1.el6 完畢!
• 服務端配置
#NFS伺服器建立共享目錄[root@bogon ~]# mkdir -p /home/data/app/download[root@bogon ~]# chmod -R 755 /home/data/app/download[root@bogon ~]# chown jqsoft:jqsoft -R /home/data/app/download#編輯exports檔案[root@bogon ~]# vim /etc/exports /home/data/app/download *(rw,sync,no_root_squash)/home/data/app/download 10.154.0.5(rw,sync,no_root_squash)/home/data/app/download 10.154.0.4(rw,sync,no_root_squash)#exports常見引數常見的引數則有:引數值 內容說明rwro 該目錄分享的許可權是可擦寫 (read-write) 或只讀 (read-only),但最終能不能讀寫,還是與檔案系統的 rwx 及身份有關。syncasync sync 代表資料會同步寫入到記憶體與硬碟中,async 則代表資料會先暫存於記憶體當中,而非直接寫入硬碟!no_root_squashroot_squash 客戶端使用 NFS 檔案系統的賬號若為 root 時,系統該如何判斷這個賬號的身份?預設的情況下,客戶端 root 的身份會由 root_squash 的設定壓縮成 nfsnobody, 如此對伺服器的系統會較有保障。但如果你想要開放客戶端使用 root 身份來操作伺服器的檔案系統,那麼這裡就得要開 no_root_squash 才行!all_squash 不論登入 NFS 的使用者身份為何, 他的身份都會被壓縮成為匿名使用者,通常也就是nobody(nfsnobody) 啦!anonuidanongid anon 意指 anonymous (匿名者) 前面關於 *_squash 提到的匿名使用者的 UID 設定值,通常為 nobody(nfsnobody),但是你可以自行設定這個 UID 的值!當然,這個 UID 必需要存在於你的 /etc/passwd 當中! anonuid 指的是 UID 而 anongid 則是群組的 GID 囉。#配置生效[root@bogon lys]# exportfs -r#啟動rpcbind、nfs服務[root@bogon lys]# service rpcbind start正在啟動 rpcbind: [確定][root@bogon lys]# service nfs start啟動 NFS 服務: [確定]啟動 NFS mountd: [確定]啟動 NFS 守護程序: [確定]正在啟動 RPC idmapd: [確定]
客戶端配置[root@bogon ~]# yum -y install nfs-utils已安裝: nfs-utils.x86_64 1:1.2.3-70.el6_8.2 作為依賴被安裝: keyutils.x86_64 0:1.4-5.el6 libevent.x86_64 0:1.4.13-4.el6 libgssglue.x86_64 0:0.1-11.el6 libtirpc.x86_64 0:0.2.1-11.el6_8 nfs-utils-lib.x86_64 0:1.1.5-11.el6 python-argparse.noarch 0:1.2.1-2.1.el6 rpcbind.x86_64 0:0.2.0-12.el6 完畢!#NFS客戶端建立共享目錄[root@bogon ~]# mkdir -p /home/data/app/download[root@bogon ~]# chmod -R 755 /home/data/app/download[root@bogon ~]# chown jqsoft:jqsoft -R /home/data/app/download#檢視伺服器丟擲的共享目錄資訊[root@bogon ~]# showmount -e 10.154.0.3Export list for 10.154.0.3:/home/data/app/download 10.154.0.0/24#為了提高NFS的穩定性,使用TCP協議掛載,NFS預設用UDP協議[root@bogon ~]# mount -t nfs 10.154.0.3:/home/data/app/download /home/data/app/download -o proto=tcp -o nolock#開機自啟動[root@web2 ~]# vi /etc/fstab ## /etc/fstab# Created by anaconda on Wed Jul 3 16:42:59 2019## Accessible filesystems, by reference, are maintained under '/dev/disk'# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info#/dev/mapper/vg_localhost-lv_root / ext4 defaults 1 1UUID=ac9079d3-b3ae-468a-bb1f-b421752c3de3 /boot ext4 defaults 1 2/dev/mapper/vg_localhost-lv_swap swap swap defaults 0 0tmpfs /dev/shm tmpfs defaults 0 0devpts /dev/pts devpts gid=5,mode=620 0 0sysfs /sys sysfs defaults 0 0proc /proc proc defaults 0 010.154.0.3:/home/data/app/download/ /home/data/app/download/ nfs defaults,_rnetdev 0 0/dev/sda1 /home/data/app ext4 defaults 0 0#檢視掛載結果[root@bogon ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/VolGroup-lv_root 18G 1.1G 16G 7% /tmpfs 112M 0 112M 0% /dev/shm/dev/sda1 477M 54M 398M 12% /boot192.168.2.203:/home/data/app/download/ 18G 1.1G 16G 7% /home/data/app/download/
服務端防火牆限制#檢視服務端NFS埠[root@bogon lys]# rpcinfo -p localhost program vers proto port service 4 tcp 111 portmapper 3 tcp 111 portmapper 2 tcp 111 portmapper 4 udp 111 portmapper 3 udp 111 portmapper 2 udp 111 portmapper 1 udp 49979 mountd 1 tcp 58393 mountd 2 udp 45516 mountd 2 tcp 37792 mountd 3 udp 32997 mountd 3 tcp 39937 mountd 2 tcp 2049 nfs 3 tcp 2049 nfs 4 tcp 2049 nfs 2 tcp 2049 nfs_acl 3 tcp 2049 nfs_acl 2 udp 2049 nfs 3 udp 2049 nfs 4 udp 2049 nfs 2 udp 2049 nfs_acl 3 udp 2049 nfs_acl 1 udp 51112 nlockmgr 3 udp 51112 nlockmgr 4 udp 51112 nlockmgr 1 tcp 43271 nlockmgr 3 tcp 43271 nlockmgr 4 tcp 43271 nlockmgr#分配埠,編輯配置檔案,新增埠號[root@bogon lys]# vim /etc/sysconfig/nfsRQUOTAD_PORT=30001LOCKD_TCPPORT=30002LOCKD_UDPPORT=30002MOUNTD_PORT=30003STATD_PORT=30004 #重啟服務端服務[root@bogon lys]# service nfs restart關閉 NFS 守護程序: [確定]關閉 NFS mountd: [確定]關閉 NFS 服務: [確定]Shutting down RPC idmapd: [確定]啟動 NFS 服務: [確定]啟動 NFS mountd: [確定]啟動 NFS 守護程序: [確定]正在啟動 RPC idmapd: [確定]#防火牆新增埠 [root@centos6 ~]#vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dport 30001 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 30002 -j ACCEPT-A INPUT -m state --state NEW -m udp -p udp --dport 30002 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 30003 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 30004 -j ACCEPT#重啟防火牆服務 [root@centos6 ~]#service iptables restart