NFS服務(wù)配置

      網(wǎng)友投稿 1047 2025-03-31

      簡(jiǎn)述

      NFS會(huì)經(jīng)常用到,用于在網(wǎng)絡(luò)上共享存儲(chǔ)。這樣講,你對(duì)NFS可能不太了解,舉一個(gè)例子來(lái)說(shuō)明一下NFS是用來(lái)做什么的。假如有三臺(tái)機(jī)器A, B, C,它們需要訪問(wèn)同一個(gè)目錄,目錄中都是圖片,傳統(tǒng)的做法是把這些圖片分別放到A, B, C. 但是使用NFS只需要放到A上,然后A共享給B和C即可。訪問(wèn)的時(shí)候,B和C是通過(guò)網(wǎng)絡(luò)的方式去訪問(wèn)A上的那個(gè)目錄的。

      工作原理

      nfs是基于rpc來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)文件系統(tǒng)共享的

      RPC工作機(jī)制

      RPC(Remote Procedure Call Protocol),遠(yuǎn)程過(guò)程調(diào)用協(xié)議,它是一種通過(guò)網(wǎng)絡(luò)從遠(yuǎn)程計(jì)算機(jī)程序上請(qǐng)求服務(wù),而不需要了解底層網(wǎng)絡(luò)技術(shù)的協(xié)議。

      RPC協(xié)議假定某些傳輸協(xié)議的存在,如TCP或UDP,為通信程序之間攜帶信息數(shù)據(jù)。在OSI網(wǎng)絡(luò)通信模型中,RPC跨越了傳輸層和應(yīng)用層。

      RPC采用客戶機(jī)/服務(wù)器模式。請(qǐng)求程序就是一個(gè)客戶機(jī),而服務(wù)提供程序就是一個(gè)服務(wù)器。

      客戶端程序發(fā)起一個(gè)RPC系統(tǒng)調(diào)用基于TCP協(xié)議發(fā)送給另一臺(tái)主機(jī)(服務(wù)端)

      服務(wù)端監(jiān)聽(tīng)在某個(gè)套接字上,當(dāng)收到客戶端的系統(tǒng)調(diào)用請(qǐng)求以后,將收到的請(qǐng)求和其所傳遞的參數(shù)通過(guò)本地的系統(tǒng)調(diào)用執(zhí)行一遍,并將結(jié)果返回給本地的服務(wù)進(jìn)程

      服務(wù)端的服務(wù)進(jìn)程收到返回的執(zhí)行結(jié)果后將其封裝成響應(yīng)報(bào)文,再通過(guò)rpc協(xié)議返回給客戶端

      客戶端調(diào)用進(jìn)程接收答復(fù)信息,獲得進(jìn)程結(jié)果,然后調(diào)用執(zhí)行繼續(xù)進(jìn)行

      NFS 工作機(jī)制

      NFS服務(wù)器端運(yùn)行著四個(gè)進(jìn)程: nfsd mountd idmapd portmapper idmapd //實(shí)現(xiàn)用戶帳號(hào)的集中映射,把所有的帳號(hào)都映射為NFSNOBODY,但是在訪問(wèn)時(shí)卻能以本地用戶的身份去訪問(wèn) mountd //用于驗(yàn)證客戶端是否在允許訪問(wèn)此NFS文件系統(tǒng)的客戶端列表中,在則允許訪問(wèn)(發(fā)放一個(gè)令牌,持令牌去找nfsd),否則拒絕訪問(wèn) //mountd的服務(wù)端口是隨機(jī)的,由rpc服務(wù)(portmapper)提供隨機(jī)端口號(hào) nfsd //nfs的守護(hù)進(jìn)程,監(jiān)聽(tīng)在2049/tcp和2049/udp端口上 //不負(fù)責(zé)文件存儲(chǔ)(由NFS服務(wù)器本地內(nèi)核負(fù)責(zé)調(diào)度存儲(chǔ)),用于理解客戶端發(fā)起的rpc請(qǐng)求,并將其轉(zhuǎn)交給本地內(nèi)核,而后存儲(chǔ)在指定的文件系統(tǒng)上

      1

      2

      NFS服務(wù)配置

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      應(yīng)用環(huán)境

      nfs有很多實(shí)際應(yīng)用場(chǎng)景,以下是一些常用的場(chǎng)景:

      多個(gè)機(jī)器共享一臺(tái)CDROM或其他設(shè)備。這對(duì)于在多臺(tái)機(jī)器中安裝軟件來(lái)說(shuō)更加便宜與方便

      在大型網(wǎng)絡(luò)中,配置一臺(tái)中心NFS服務(wù)器用來(lái)放置所有用戶的home目錄可能會(huì)帶來(lái)便利。這些目錄能被輸出到網(wǎng)絡(luò)以便用戶不管在哪臺(tái)工作站上登錄,總能得到相同的home目錄

      不同客戶端可在NFS上觀看影視文件,節(jié)省本地空間

      在客戶端完成的工作數(shù)據(jù),可以備份保存到NFS服務(wù)器上用戶自己的路徑

      服務(wù)端配置NFS

      CentOS上使用NFS服務(wù),需要安裝兩個(gè)包(nfs-utils和rpcbind), 不過(guò)當(dāng)使用yum安裝nfs-utils時(shí)會(huì)把rpcbind一起安裝上:

      [root@localhost ~]# yum install -y nfs-utils

      1

      在之前的CentOS版本中,是需要安裝portmap包的,從CentOS6開(kāi)始,就改為rpmbind了。NFS配置起來(lái)還是蠻簡(jiǎn)單的,只需要編輯配置文件/etc/exports即可。下面阿銘就先創(chuàng)建一個(gè)簡(jiǎn)單的NFS服務(wù)器。

      首先是修改配置文件,默認(rèn)該文件為空,現(xiàn)在編輯它:

      [root@localhost ~]# vim /etc/exports

      1

      寫(xiě)入如下內(nèi)容:

      /home/ 192.168.137.0/24(rw,sync,all_squash,anonuid=501,anongid=501)

      1

      這個(gè)配置文件就這樣簡(jiǎn)單一行。共分為三部分,第一部分就是本地要共享出去的目錄,第二部分為允許訪問(wèn)的主機(jī)(可以是一個(gè)IP也可以是一個(gè)IP段)第三部分就是小括號(hào)里面的,為一些權(quán)限選項(xiàng)。

      rw :讀寫(xiě); ro :只讀; sync :同步模式,內(nèi)存中數(shù)據(jù)時(shí)時(shí)寫(xiě)入磁盤(pán); async :不同步,把內(nèi)存中數(shù)據(jù)定期寫(xiě)入磁盤(pán)中; no_root_squash :加上這個(gè)選項(xiàng)后,root用戶就會(huì)對(duì)共享的目錄擁有至高的權(quán)限控制,就像是對(duì)本機(jī)的目錄操作一樣。不安全,不建議使用; root_squash:和上面的選項(xiàng)對(duì)應(yīng),root用戶對(duì)共享目錄的權(quán)限不高,只有普通用戶的權(quán)限,即限制了root; all_squash:不管使用NFS的用戶是誰(shuí),他的身份都會(huì)被限定成為一個(gè)指定的普通用戶身份; anonuid/anongid :要和root_squash 以及all_squash一同使用,用于指定使用NFS的用戶限定后的uid和gid,前提是本機(jī)的/etc/passwd中存在這個(gè)uid和gid。 介紹了上面的相關(guān)的權(quán)限選項(xiàng)后,再來(lái)分析一下剛剛配置的那個(gè)/etc/exports文件。其中要共享的目錄為/home,信任的主機(jī)為192.168.137.0/24這個(gè)網(wǎng)段,權(quán)限為讀寫(xiě),同步,限定所有使用者,并且限定的uid和gid都為501。

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      編輯好配置文件后,就該啟動(dòng)NFS服務(wù)了:

      [root@localhost ~]# /etc/init.d/rpcbind start; /etc/init.d/nfs start

      1

      在啟動(dòng)nfs服務(wù)之前,需要先啟動(dòng)rpcbind服務(wù),之前CentOS老版本中并不是rpcbind, 而是叫做portmap.

      客戶端上掛載nfs

      客戶端在掛載NFS之前,我們需要先看一看服務(wù)端都共享了哪些目錄,這需要使用showmount命令,但是這個(gè)命令是nfs-utils這個(gè)包所帶的,所以同樣需要安裝nfs-utils:

      [root@localhost ~]# yum install -y nfs-utils

      1

      現(xiàn)在可以看看服務(wù)器端都共享了哪些目錄了:

      [root@localhost ~]# showmount -e 192.168.137.10 Export list for 192.168.137.10: /home 192.168.137.0/24

      1

      2

      3

      可以看到剛才我們?cè)诜?wù)端配置的nfs共享信息。 showmount -e 加IP就可以查看NFS的共享情況,上例中,就可以看到192.168.137.10的共享目錄為/home,信任主機(jī)為192.168.137.0/24這個(gè)網(wǎng)段。

      下面在客戶端上掛載服務(wù)端的nfs:

      [root@localhost ~]# mount -t nfs 192.168.137.10:/home/ /mnt/ [root@localhost ~]# df -h 文件系統(tǒng) 容量 已用 可用 已用%% 掛載點(diǎn) /dev/sda3 14G 6.4G 6.7G 50% / tmpfs 160M 0 160M 0% /dev/shm /dev/sda1 97M 27M 66M 29% /boot /dev/sdb5 989M 19M 920M 3% /home 192.168.137.10:/home/ 989M 19M 920M 3% /mnt

      1

      2

      3

      4

      5

      6

      7

      8

      9

      用 df -h 命令可以看到多出來(lái)一個(gè)/mnt分區(qū),它就是NFS共享的目錄了。

      在這一章節(jié)里,使用的命令不多,另外還有一個(gè)常用的命令那就是exportfs,它的常用選項(xiàng)為[-aruv].

      -a :全部掛載或者卸載;

      -r :重新掛載;

      -u :卸載某一個(gè)目錄;

      -v :顯示共享的目錄;

      使用exportfs命令,當(dāng)改變/etc/exports配置文件后,不用重啟nfs服務(wù)直接用這個(gè)exportfs即可。接下來(lái)阿銘做一個(gè)實(shí)驗(yàn),先改一下服務(wù)端的配置文件:

      [root@localhost ~]# vim /etc/exports

      1

      增加一行:

      /tmp/ 192.168.137.0/24(rw,sync,no_root_squash)

      1

      然后服務(wù)端上執(zhí)行命令:

      [root@localhost ~]# exportfs -arv exporting 192.168.137.0/24:/tmp exporting 192.168.137.0/24:/home

      1

      2

      3

      在之前的命令中用到了mount命令來(lái)掛載nfs,其實(shí)mount這個(gè)nfs服務(wù)還是有些說(shuō)法的。首先是用-t nfs 來(lái)指定掛載的類型為nfs。另外在使用nfs時(shí),常用一個(gè)選項(xiàng)就是 -o nolock 了,即在掛載nfs服務(wù)時(shí),不加鎖。 在客戶端上執(zhí)行:

      [root@localhost ~]# mkdir /test [root@localhost ~]# mount -t nfs -o nolock 192.168.137.10:/tmp/ /test/

      1

      2

      我們還可以把要掛載的nfs目錄寫(xiě)到client上的/etc/fstab文件中,掛載時(shí)只需要執(zhí)行 mount -a 即可。在 /etc/fstab里加一行:

      192.168.137.10:/tmp/ /test nfs nolock 0 0

      1

      因?yàn)閯倓倰燧d過(guò),所以先卸載:

      [root@localhost ~]# umount /test/

      1

      然后執(zhí)行:

      [root@localhost ~]# mount -a

      1

      RPC TCP/IP

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:Excel vba if語(yǔ)句解釋和實(shí)例教程
      下一篇:excel使用包含某值公式的教程
      相關(guān)文章
      亚洲欧洲日韩国产| 亚洲欧洲日韩不卡| 亚洲国产精品综合福利专区| 亚洲av无码一区二区三区乱子伦| 亚洲色偷偷综合亚洲AVYP| 国产国拍亚洲精品福利 | 亚洲熟妇无码AV| 亚洲熟妇av午夜无码不卡| 亚洲综合av一区二区三区| 中文字幕在线观看亚洲日韩| 日本亚洲色大成网站www久久| 亚洲一区二区无码偷拍| 一本天堂ⅴ无码亚洲道久久| 一本天堂ⅴ无码亚洲道久久| 亚洲爆乳AAA无码专区| 午夜亚洲国产理论片二级港台二级| 亚洲av永久中文无码精品综合| 蜜桃传媒一区二区亚洲AV| 精品久久久久久亚洲综合网| 国产精品亚洲色图| 精品国产日韩亚洲一区| 亚洲精品无码久久千人斩| 亚洲AV无码一区二区乱孑伦AS | 亚洲精品国产成人99久久| 337p欧洲亚洲大胆艺术| 亚洲国产精品yw在线观看| 亚洲AV无码一区二区三区牛牛| 亚洲国产精品日韩av不卡在线 | 亚洲а∨天堂久久精品| 亚洲一级黄色视频| 国产AV无码专区亚洲Av| 内射少妇36P亚洲区| 91久久亚洲国产成人精品性色| 亚洲午夜一区二区电影院| 亚洲字幕AV一区二区三区四区| 国产亚洲综合一区二区三区| 中文字幕在亚洲第一在线| 久久精品国产亚洲AV麻豆王友容| 亚洲视频.com| 2019亚洲午夜无码天堂| 亚洲av成人一区二区三区观看在线 |