Day34-Linux-系統(tǒng)基礎(chǔ)服務(wù) NFS

1、什么是nfs

network file system 網(wǎng)絡(luò)文件系統(tǒng) nfs共享存儲

2队伟、nfs用來做什么

能為不同主機之間 實現(xiàn) 文件的共享

3、為什么使用nfs

在集群架構(gòu)中使用

4幽勒、nfs能解決的問題

1.解決多臺機器靜態(tài)資源一致性的問題

2.解決多臺機器資源共享

3.解決磁盤的空間浪費

5嗜侮、使用nfs的注意事項

1.添加共享存儲,只會帶來網(wǎng)站的訪問延時和消耗啥容,并不會增加網(wǎng)站的訪問速度

6锈颗、NFS實現(xiàn)的原理

1)本地文件的操作方式

1.當(dāng)用戶執(zhí)行mkdir命令時,bashshell無法完成該命令的操作咪惠,會將其翻譯給服務(wù)器內(nèi)核

2.Kernel 內(nèi)核解析完成后會驅(qū)動對應(yīng)的磁盤設(shè)備击吱,完成創(chuàng)建目錄的創(chuàng)建

2)NFS的實現(xiàn)原理

1. NFS客戶端執(zhí)行增、刪硝逢、等操作姨拥,客戶端會使用不同的函數(shù)對使用的命令進行封裝

2.NFS客戶端會通過TCP/IP 的方式傳遞給NFS服務(wù)端

3.NFS服務(wù)端接收到請求后,會先調(diào)用portmap進程進行端口的映射

4.sd進程用于判斷NFS客戶端是否擁有權(quán)限鏈接NFS服務(wù)端

5.c.mount 進程判斷客戶端是否擁有權(quán)限鏈接NFS服務(wù)端

6.map進程實現(xiàn)用戶映射和壓縮

7.NFS服務(wù)端會將客戶端的函數(shù)轉(zhuǎn)換為本地能執(zhí)行的命令

注:pc是一個遠程過程的調(diào)用渠鸽,那么使用nfs必須使用有rpcbind服務(wù)

7叫乌、nfs的安裝----->配置--------> 啟動nfs服務(wù)

1)nfs的安裝
[root@rsync-41~]# yum install nfs-utils -y
2)配置

1.共享什么目錄
2.共享給誰
共享后客戶端擁有什么權(quán)限

[root@nfs-31~]# man exports
nfs配置語法介紹
nfs的配置語法
nfs配置的語法
1.nfs的文件配置
[root@nfs-31~]# vim /etc/exports
/data 172.16.1.0/24(rw)

2.根據(jù)文件的配置初始化環(huán)境
[root@nfs-31~]# mkdir /data

2.1 查看nfs配置文件是否出錯(寫錯為空白),以及查看寫入/data目錄的身份對應(yīng)的權(quán)限(同歸ID號進一步查看)
[root@nfs-31~]# cat /var/lib/nfs/etab   
/data   172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,
no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,
secure,root_squash,all_squash)
2.2 通過ID號查看用戶
[root@nfs-31~]# grep "65534" /etc/passwd
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

3.服務(wù)端修改創(chuàng)建的共享目錄的屬主和屬組
[root@nfs-31~]# chown -R nfsnobody.nfsnobody /data/  修給/data的用戶

4.啟動
[root@nfs-31~]# netstat -lntp       查看啟動的相關(guān)端口
[root@nfs-31~]# systemctl start nfs   啟動nfs
[root@nfs-31~]#  systemctl enable nfs  加入開機自啟
     

5.客戶端測試
[root@backup-41 ~]# yum install nfs-utils -y    客戶端下載 nfs-utils
[root@backup-41~]# showmount -e 172.16.1.31    客戶端查看172.16.1.31服務(wù)器共享的目錄
Export list for 172.16.1.31:
/data 172.16.1.0/24
[root@backup-41~]#  mount -t nfs 172.16.1.31:/data /mnt   掛載遠程172.16.1.31的/data至本地的/mnt目錄

8.錯誤的示范

訪問被拒絕 (沒有允許該網(wǎng)段訪問)
[root@backup ~]# mount -t nfs 10.0.0.31:/data /media/
mount.nfs: access denied by server while mounting 10.0.0.31:/data

#能夠連接,但是權(quán)限被拒絕
[root@backup mnt]# touch file
touch: cannot touch ‘file’: Permission denied

8.多個客戶端共享一個存儲服務(wù)器 (NFS)

多用戶共享nfs

9.實現(xiàn)開機自動掛載(因為服務(wù)器不重啟) 擴展了解即可

[root@web01 ~]# cat /etc/fstab
172.16.1.31:/data             /media          nfs     defaults        0 0

PS: 如果nfs服務(wù)端出現(xiàn)問題: 客戶端重啟則會無法啟動成功
1.等待1分38s 自動進入系統(tǒng)
2.進入單用戶模式,注釋開機自啟動nfs
3.將nfs恢復(fù)正常

10.nfs相關(guān)的配置參數(shù)

nfs共享參數(shù) 參數(shù)作用
rw 讀寫權(quán)限 (最多)
ro 只讀權(quán)限 (只希望看,不希望寫)
root_squash 當(dāng)NFS客戶端以root管理員訪問時,映射為NFS服務(wù)器的匿名用戶nfsnobody(不常用)
no_root_squash 當(dāng)NFS客戶端以root管理員訪問時徽缚,映射為NFS服務(wù)器的root管理員(不常用)
no_all_squash 無論NFS客戶端使用什么賬戶訪問憨奸,都不進行用戶壓縮 ( 后面講云計算課程會用上 )
all_squash 無論NFS客戶端使用什么賬戶訪問,均映射為NFS服務(wù)器的匿名用戶(常用)
sync 同時將數(shù)據(jù)寫入到內(nèi)存與硬盤中凿试,保證不丟失數(shù)據(jù)
async 優(yōu)先將數(shù)據(jù)保存到內(nèi)存排宰,然后再寫入硬盤似芝;這樣效率更高,但可能會丟失數(shù)據(jù)
anonuid 配置all_squash使用,指定NFS的用戶UID,必須存在系統(tǒng)
anongid 配置all_squash使用,指定NFS的用戶UID,必須存在系統(tǒng)
1)rw 和 ro
[root@nfs-31~]# cat /etc/exports
/data 172.16.1.0/24(ro)
[root@nfs-31~]# systemctl restart nfs

提示,該目錄是一個只讀文件
[root@web01-06 /media/]# touch file
touch: cannot touch ‘file’: Read-only file system
2)驗證all_squash anonuid anongid
[root@nfs ~]# cat /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)

1.創(chuàng)建系統(tǒng)真實用戶,指定uid和gid為666
[root@nfs ~]# groupadd -g 666 www
[root@nfs ~]# useradd -u666 -g666 www
[root@nfs ~]# id www
uid=666(www) gid=666(www) groups=666(www)

2.變更屬主和屬組
[root@nfs ~]# chown -R www.www /data/

3.重啟nfs
[root@nfs ~]# systemctl restart nfs

4.客戶端使用(一定要與服務(wù)端使用的匿名用戶一致)
[root@web01 ~]# groupadd -g 666 www
[root@web01 ~]# useradd -u666 -g666 www
[root@web01 ~]# mount -t nfs 172.16.1.31:/data/ /media/

11.nfs如何共享多個目錄

[root@nfs ~]# cat /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
/data_2 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)

12.NFS存儲優(yōu)點

1.NFS簡單易用板甘、方便部署党瓮、數(shù)據(jù)可靠、服務(wù)穩(wěn)定盐类、滿足中小企業(yè)需求寞奸。
2.NFS的數(shù)據(jù)都在文件系統(tǒng)之上,所有數(shù)據(jù)都是能看得見.

除了NFS: ( Glusterfs分布式 贈送 ) MooseFS FastDFS

13.NFS存儲局限

1.存在單點故障, 本身NFS不支持高可用,也不支持集群.
2.NFS數(shù)據(jù)都是明文在跳,并不對數(shù)據(jù)做任何校驗枪萄,也沒有密碼驗證(強烈建議內(nèi)網(wǎng)使用)。

14.NFS應(yīng)用建議

1.生產(chǎn)場景應(yīng)將靜態(tài)數(shù)據(jù)(jpg\png\mp4\avi\css\js)盡可能放置CDN場景進行環(huán)境, 以此來減少后端存儲壓力
2.如果沒有緩存或架構(gòu)猫妙、代碼等瓷翻,本身歷史遺留問題太大,在多存儲也沒意義

NFS就是用來共享 其他什么都沒有. 所有的靜態(tài)都是CDN提供訪問的

NFS練習(xí):
環(huán)境準備
服務(wù)器系統(tǒng) 角色 IP
CentOS 7.6 NfsServer(A) 172.16.1.31
CentOS 7.6 NfsClient(B) 172.16.1.41
CentOS 7.6 NfsClient(C) 172.16.1.7

準備3臺虛擬機服務(wù)器割坠,并且請按照要求搭建配置NFS服務(wù)齐帚。
NFS服務(wù)端(A)

NFS客戶端(B)
NFS客戶端(C)
1.在NFS服務(wù)端(A)上共享/data/w(可寫) 及/data/r(只讀)
2.在NFS客戶端(B/C)上進行掛載


服務(wù)端A:

[root@nfs ~]# yum install nfs-utils -y
[root@nfs ~]# cat /etc/exports
/data/r 172.16.1.0/24(ro,sync,all_squash,anonuid=666,anongid=666)
/data/w 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)

根據(jù)配置進行初始化環(huán)境
[root@nfs ~]# groupadd -g 666 www
[root@nfs ~]# useradd -u666 -g666 www
[root@nfs ~]# mkdir /data/{r,w} -p
[root@nfs ~]# chown -R www.www /data/

[root@nfs ~]# systemctl restart nfs


客戶端B:

卸載之前遺留的掛載信息
[root@web01 ~]# umount -lf 172.16.1.31:/data
[root@web01 ~]# umount -lf 172.16.1.31:/data_2

掛載
[root@web01 ~]# mount -t nfs 172.16.1.31:/data/r /mnt
[root@web01 ~]# mount -t nfs 172.16.1.31:/data/w /media/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市韭脊,隨后出現(xiàn)的幾起案子童谒,更是在濱河造成了極大的恐慌,老刑警劉巖沪羔,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件饥伊,死亡現(xiàn)場離奇詭異,居然都是意外死亡蔫饰,警方通過查閱死者的電腦和手機琅豆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來篓吁,“玉大人茫因,你說我怎么就攤上這事≌燃簦” “怎么了冻押?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長盛嘿。 經(jīng)常有香客問我洛巢,道長,這世上最難降的妖魔是什么次兆? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任稿茉,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘漓库。我一直安慰自己恃慧,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布渺蒿。 她就那樣靜靜地躺著痢士,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蘸嘶。 梳的紋絲不亂的頭發(fā)上良瞧,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天,我揣著相機與錄音训唱,去河邊找鬼。 笑死挚冤,一個胖子當(dāng)著我的面吹牛况增,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播训挡,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼澳骤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了澜薄?” 一聲冷哼從身側(cè)響起为肮,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎肤京,沒想到半個月后颊艳,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡忘分,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年棋枕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片妒峦。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡重斑,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出肯骇,到底是詐尸還是另有隱情窥浪,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布笛丙,位于F島的核電站漾脂,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏若债。R本人自食惡果不足惜符相,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧啊终,春花似錦镜豹、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至例衍,卻和暖如春昔期,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背佛玄。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工硼一, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人梦抢。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓般贼,卻偏偏與公主長得像,于是被迫代替她去往敵國和親奥吩。 傳聞我的和親對象是個殘疾皇子哼蛆,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容