[TOC]
一闹伪、NFS介紹
1.介紹
NFS 是Network File System的縮寫偏瓤,即網(wǎng)絡(luò)文件系統(tǒng)。是一種使用于分散式文件系統(tǒng)的協(xié)定赔退,功能是讓客戶端通過網(wǎng)絡(luò)訪問不同主機(jī)上磁盤里的數(shù)據(jù),主要用在Linux系統(tǒng)上實現(xiàn)文件共享的一種方法窗骑。
2.核心原理
NFS使用RPC慧域,即遠(yuǎn)程過程調(diào)用 (Remote ProcedureCall) 昔榴,它能使客戶端執(zhí)行其他系統(tǒng)中的程序碘橘。NFS本身是沒有提供信息傳輸?shù)膮f(xié)議和功能的,但NFS卻能讓我們通過網(wǎng)絡(luò)進(jìn)行資料的分享仰禽,這是因為NFS使用了一些依賴RPC的傳輸協(xié)議纺蛆∏攀希可以簡單理解RPC和NFS的關(guān)系:NFS是一個文件系統(tǒng),而RPC負(fù)責(zé)信息的傳輸凤藏。
二堕伪、文件共享主機(jī)安裝NFS
1.關(guān)閉防火墻
systemctl stop firewalld.service
systemctl disable firewalld.service
如果關(guān)閉防火墻不安全欠雌,則采用開放端口的方式:
[root@nfs_server ~]# firewall-cmd --add-service=nfs --permanent --zone=public
success
[root@nfs_server ~]# firewall-cmd --add-service=mountd --permanent --zone=public
success
[root@nfs_server ~]# firewall-cmd --add-service=rpc-bind --permanent --zone=public
success
[root@nfs_server ~]# firewall-cmd --reload 重新載入配置,使其生效
2.授權(quán)共享文件夾的權(quán)限
定位到共享的文件夾禁炒,執(zhí)行如下命令
[root@localhost 2018]# chmod 777 fs1
3.把selinux設(shè)置為許可模式(或者關(guān)閉)
sudo setenforce 0
4.安裝NFS所需文件包
在文件共享的的服務(wù)器安裝NFS文件包,本例文件共享主機(jī)為:10.18.33.90
yum install -y nfs-utils
5.編輯exports文件增加文件共享信息
vim /etc/exports
編輯內(nèi)容如下:
/var/local/dcm4chee-arc/wildfly/data/fs1/ 10.18.33.204(rw,sync,fsid=0)
前面空格前為共享的路徑桂塞,后面IP為共享的主機(jī)
rw表示可讀寫馍驯,ro只讀玛痊;
sync :同步模式擂煞,內(nèi)存中數(shù)據(jù)時時寫入磁盤趴乡;
async :不同步晾捏,把內(nèi)存中數(shù)據(jù)定期寫入磁盤中;
no_root_squash :客戶機(jī)用root訪問該共享文件夾時劳秋,不映射root用戶胖齐,root用戶就會對共享的目錄擁有至高的權(quán)限控制玻淑,就像是對本機(jī)的目錄操作一樣。不安全呀伙,不建議使用补履;
root_squash:和上面的選項對應(yīng),root用戶對共享目錄的權(quán)限不高区匠,只有普通用戶的權(quán)限干像,即限制了root;
all_squash:不管使用NFS的用戶是誰驰弄,他的身份都會被限定成為一個指定的普通用戶身份麻汰;
anonuid/anongid :要和root_squash 以及all_squash一同使用,用于指定使用NFS的用戶限定后的uid和gid戚篙,前提是本機(jī)的/etc/passwd中存在這個uid和gid。
fsid=0表示將/home/nfs整個目錄包裝成根目錄岔擂,insecure 允許從這臺機(jī)器過來的非授權(quán)訪問
6.增加開機(jī)自啟動
systemctl enable rpcbind.service
systemctl enable nfs-server.service
7.開啟rpcbind和nfs服務(wù)
systemctl start rpcbind.service
systemctl start nfs-server.service
確認(rèn)NFS服務(wù)已經(jīng)啟動
rpcinfo -p
返回信息:
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 30385 status
100024 1 tcp 13017 status
100005 1 udp 20048 mountd
100005 1 tcp 20048 mountd
100005 2 udp 20048 mountd
100005 2 tcp 20048 mountd
100005 3 udp 20048 mountd
100005 3 tcp 20048 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100021 1 udp 36204 nlockmgr
100021 3 udp 36204 nlockmgr
100021 4 udp 36204 nlockmgr
100021 1 tcp 31613 nlockmgr
100021 3 tcp 31613 nlockmgr
100021 4 tcp 31613 nlockmgr
三位喂、 在客戶機(jī)上安裝訪問client端服務(wù)
1.查看共享的nfs信息
本機(jī)IP為:10.18.33.204
[root@localhost 2018]# showmount -e 10.18.33.90
Export list for 10.18.33.90:
/var/local/dcm4chee-arc/wildfly/data/fs1 10.18.33.204
2.安裝client服務(wù)
yum install -y nfs-utils
systemctl enable rpcbind.service
systemctl start rpcbind.service
3.在客戶機(jī)上新建一個目錄,用于掛載到共享主機(jī)的共享目錄上
新建一個根目錄 data
mkdir /data
掛載data目錄到共享目錄:
mount -t nfs -o nosuid,noexec,nodev,rw 10.18.33.90:/var/local/dcm4chee-arc/wildfly/data/fs1/ /data
特殊掛載方式乱灵,應(yīng)對網(wǎng)絡(luò)不穩(wěn)定情況
mount -t nfs -o nosuid,noexec,nodev,rw -o bg,soft,rsize=32768,wsize=32768 10.18.33.90:/var/local/dcm4chee-arc/wildfly/data/fs1/ /data
開機(jī)自動掛載
編輯 /etc/fstab
10.18.33.90:/var/local/dcm4chee-arc/wildfly/data/fs1/ /data nfs defaults 0 0
保存塑崖,或者編輯/etc/rc.d/rc.local 增加如下內(nèi)容:
mount -t nfs -o nosuid,noexec,nodev,rw,bg,soft,rsize=32768,wsize=32768 10.18.33.90:/var/local/dcm4chee-arc/wildfly/data/fs1/ /data
掛載完成就可以訪問了!
4.卸載目錄
通過如下命令來卸載目錄:
umount /data