NFS,Network File System的縮寫,它最大的功能就是可以通過網(wǎng)絡(luò),讓不同的機(jī)器、不同的操作系統(tǒng)可以共享彼此的文件。其實(shí)就是有一個(gè)NFS服務(wù)器A,然后A把自己的某個(gè)路徑共享出去,有N個(gè)客戶端A,B,C……,假設(shè)有兩個(gè)客戶端B和C,那么B和C可用把本地某個(gè)路徑掛載到A共享出去的路徑下,當(dāng)A的內(nèi)容修改時(shí),B、C的內(nèi)容同時(shí)修改,B或C任一內(nèi)容修改,其他機(jī)器同步修改,B和C訪問的其實(shí)是A共享出去的路徑,但是讀寫和操作本地路徑完全一樣。
以下過程如無特殊說明或su切換,均為root下執(zhí)行:
服務(wù)端安裝
服務(wù)器端安裝NFS過程如下:
##yum安裝rpc及NFS
yum -y install nfs-utils rpcbind
##切換到admin用戶,新建個(gè)共享文件夾/home/admin/app/fs,文件夾所有者就是admin
su admin
mkdir /home/admin/app/fs
##切換到root,啟動(dòng)NFS服務(wù)
su
service rpcbind start??? #必須先啟動(dòng)rpc,后啟動(dòng)nfs
service nfs start
##添加允許的客戶端機(jī)器,允許10.1.x.x/16機(jī)器共享目錄
vi /etc/exports
/home/admin/app/fs10.1.x.x/16(rw,no_root_squash,no_all_squash,sync,fsid=0)
##重新加載nfs配置
exportfs -rv
判斷是否啟動(dòng)成功:
rpcinfo -t localhost nfs
說明安裝的nfs支持3-4版本,如果沒有輸出,說明沒啟動(dòng)成功:
根據(jù)端口判斷是否啟動(dòng)成功:
rpcinfo -p
設(shè)置開機(jī)自啟動(dòng):
systemctl enablerpcbind.service
systemctl enablenfs-server.service
設(shè)置防火墻:假設(shè)NFS總共向外暴露111/222/333三個(gè)端口,故需要加三條記錄:
firewall-cmd --state
firewall-cmd --permanent--add-rich-rule="rule family="ipv4" sourceaddress="10.1.x.x/16" port protocol="tcp"port="111" accept"
firewall-cmd --permanent--add-rich-rule="rule family="ipv4" sourceaddress="10.1.x.x/16" port protocol="tcp"port="222" accept"
firewall-cmd --permanent--add-rich-rule="rule family="ipv4" source?? address="10.1.x.x/16" portprotocol="tcp" port="333" accept"
firewall-cmd --reload
firewall-cmd --list-all
客戶端安裝
在需要共享NFS的虛擬機(jī)安裝(10.1.x.1):
##安裝NFS
yum install -y nfs-utils
##啟動(dòng)NFS
service rpcbind start
##切換到admin賬戶,新建掛載文件夾
su admin
mkdir /home/admin/app/fs
##切換到root,掛載NFS
su
mount -t nfs 10.1.x.1:/home/admin/app/fs//home/admin/app/fs/ -o proto=tcp -o nolock
如果要取消掛載:
umount /home/admin/app/fs/
開機(jī)自動(dòng)掛載:
vi /etc/fstab
##新增以下內(nèi)容
10.1.x.1:/home/admin/app/fs /home/admin/app/fsnfs nolock 0 0
即可實(shí)現(xiàn)開機(jī)自動(dòng)掛載。
至此,NFS服務(wù)端和客戶端配置完畢,可以實(shí)現(xiàn)文件共享了。