網(wǎng)絡(luò)文件系統(tǒng)(英語(yǔ):Network File System杰标,縮寫作 NFS)是一種分布式文件系統(tǒng)協(xié)議兵怯,最初由Sun Microsystems公司開發(fā),并于1984年發(fā)布腔剂。其功能旨在允許客戶端主機(jī)可以像訪問(wèn)本地存儲(chǔ)一樣通過(guò)網(wǎng)絡(luò)訪問(wèn)服務(wù)器端文件媒区。
NFS和其他許多協(xié)議一樣,是基于開放網(wǎng)絡(luò)運(yùn)算遠(yuǎn)程過(guò)程調(diào)用(ONC RPC)協(xié)議之上的掸犬。它是一個(gè)開放袜漩、標(biāo)準(zhǔn)的RFC協(xié)議,任何人或組織都可以依據(jù)標(biāo)準(zhǔn)實(shí)現(xiàn)它湾碎。
參見(jiàn)維基百科
與之類似的還有很多CIFS宙攻、HDFS等,它們實(shí)現(xiàn)不同介褥,但是解決的問(wèn)題都差不多:提供一個(gè)共用的存儲(chǔ)系統(tǒng)座掘。大部分很多情況下递惋,我們的分布式系統(tǒng)都是無(wú)狀態(tài)的,但是也有很多有狀態(tài)的應(yīng)用(需要存儲(chǔ)數(shù)據(jù))溢陪,例如dcos中的有狀態(tài)應(yīng)用gitlab萍虽、jenkins、數(shù)據(jù)庫(kù)等形真,它們每次創(chuàng)建都會(huì)有一個(gè)新的沙盒來(lái)存儲(chǔ)數(shù)據(jù)杉编,之前的數(shù)據(jù)就會(huì)消失,這時(shí)候就需要一個(gè)統(tǒng)一的存儲(chǔ)系統(tǒng)咆霜,就需要NFS等網(wǎng)絡(luò)存儲(chǔ)來(lái)解決邓馒。
安裝服務(wù)端
- 安裝應(yīng)用
$ sudo yum install nfs-utils
- 配置目錄
$ sudo mkdir /var/lib/nfs
$ sudo chmod 777 /var/lib/nfs
- 編輯/etc/exports:配置能夠訪問(wèn)共享資源的ip和目錄
$ cat /etc/exports
/data 10.0.1.0/24(rw,async,no_subtree_check,no_root_squash,fsid=0)
# /data :共享的NFS目錄
# 192.168.0.0/24:ip地址是192.168.0.250/24的nfs客戶端可以訪問(wèn)共享目錄;也可以指定多個(gè)客戶端ip蛾坯,如 1.1.1.1,*.topspeedsnail.com
# rw:指定nfs客戶端可以讀寫共享目錄
詳細(xì)配置查看
修改了/etc/exports需要配置,使用$ sudo exportfs -a
使其生效绒净。
- 啟動(dòng)服務(wù)并設(shè)置開機(jī)啟動(dòng)
$ sudo systemctl start rpcbind
$ sudo systemctl start nfs-server
# 設(shè)置開機(jī)啟動(dòng)
$ sudo systemctl enable rpcbind
$ sudo systemctl enable nfs-server
安裝客戶端
$ sudo yum install nfs-utils
- 創(chuàng)建一個(gè)共享的映射目錄
$ mkdir /mnt/data
- 掛載目錄
$ sudo mount -t nfs 192.168.0.250:/data /mnt/data
現(xiàn)在在目錄/mnt/data
下新建一個(gè)文件:touch test.txt
,回到192.168.0.250
的/data
目錄看看是否已經(jīng)同步創(chuàng)建了test.txt。
不登高山偿衰,不知天之高也;不臨深溪改览,不知地之厚也
感謝指點(diǎn)下翎、交流、喜歡