中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

NFS網絡文件共享存儲服務器

發布時間:2020-06-19 06:41:47 來源:網絡 閱讀:2400 作者:末班車New 欄目:建站服務器

NFS網絡文件共享存儲服務器

 

什么是NFS

NFSNetwork File System)即網絡文件系統,它允許網絡中的計算機之間通過TCP/IP網絡共享資源。在NFS的應用中,本地NFS的客戶端應用可以透明地讀寫位于遠端NFS服務器上的文件,就像訪問本地文件一樣

在企業集群架構的工作場景中,NFS網絡文件系統一般被用來共享存儲視頻、圖片、附件等靜態資源文件,通常網站用戶上的文件都會存放到NFS共享里。例如bbs產品的圖片、附件頭像等。然后前段所有的節點訪問這些靜態資源時都會讀取NFS存儲上的資源。

企業生成集群中為什么要部署NFS存儲服務

NFS網絡文件共享存儲服務器 

1)在沒有NFS文件共享存儲時的原理解釋:

A用戶上傳圖片到web1服務器時,然后B用戶訪問這張圖片,結果B用戶訪問圖片的請求到了負載均衡器的時候,被分發到web2服務器上,因為web2沒有A用戶上傳的圖片,所以B用戶就無法看到A用戶上傳的圖片。

實例:淘寶賣家將新出的產品資料上傳到淘寶服務器。如果沒有存儲服務器,那么當大量的用戶訪問到這個淘寶賣家店里的時候,分發器將用戶的請求都分發給淘寶的其他服務器,那么用戶就無法看到賣家新出的產品了,這就導致了降低了用戶體驗。這樣對一個戶門網站來說是一個很大的錯誤。

 

NFS網絡文件共享存儲服務器 

2)在有NFS文件共享存儲時的原理解釋:

A用戶上傳一張圖片到web服務器中,分發器不論是轉發到那一臺web服務器,其內容最后都會被存放到NFS共享文件存儲中。而當B用戶訪問A用戶上傳的圖片時,無論請求被分發器分發web1還是web2上,最終都會到共享存儲上找,都可以找到A用戶上傳的圖片。

NFS的工作原理

NFS網絡文件共享存儲服務器 

服務端設置一個專門用來共享的目錄(/test)。設置好共享目錄的權限,IP等內容。然后具有權限的客戶端訪問NFS服務器端,將這個共享目錄掛載到客戶端的某個目錄下。客戶端在正確掛載完之后,就可以通過NFS客戶端的掛載點所在的目錄中查看到NFS服務端共享目錄/test下的所有數據。客戶端查看時,NFS服務端的/test目錄就相當于客戶端本地的磁盤分區或目錄。

什么RPC服務

RPC指遠程過程調用。

因為NFS支持的功能比較多,而不同的功能都會使用不同的程序來啟動,為啟動一個功能就會啟用一些未被使用的端口來作為傳輸只用,因為端口的不固定,這樣一來就會造成NFS客戶端與NFS服務器端的通信障礙沒因為NFS客戶端必須要知道NFS服務器端的數據傳輸端口才能進行通信,才能交互數據。

為了解決上述的問題,就需要RPC服務,NFS服務的RPC服務最主要的功能就是記錄每個NFS功能所對飲的端口號,并且NFS客戶端請求時將該端口和功能對應的信息傳輸給請求數據的NFS客戶端,從而保證客戶端可以連接到正確的NFS端口上去,達到實現數據交互的目的。

服務端的RPC服務如何知道每個NFS的端口的:

NFS讀取端啟動服務時會隨機取用若干端口,并主動向RPC服務注冊相關端口的對應的功能,然后RPC服務使用固定的111端口來監聽NFS客戶端提交的請求,并將正確的NFS端口信息回復給請求的NFS客戶端。

NFS的掛載基本使用過程

NFS網絡文件共享存儲服務器 

請求數據的流程:

1)首先用戶訪問網站程序,由程序在NFS客戶端上發出存取NFS文件的請求,這是NFS客戶端的RPC服務就不通過網絡向NFS服務器端的RPC服務的111端口發出NFS文件存取功能的查詢請求,包括要實現的什么功能。

2)NFS服務器端的RPC服務找到對飲的已注冊的NFS端口,通知NFS客戶端的RPC服務。

3)此時NFS客戶端獲取到正確的端口,并與NFS聯機存取數據。

4)NFS客戶端把數據存取成功后,返回給客戶端程序,告知用戶存取結果。

注意:

因為NFS的各項功能都需要向RPC服務注冊端口,所以只有RPC服務才能獲取到NFS服務的各項功能對應的端口號,PIDNFS在主機監聽的Ip等信息,而客戶端也只能通過向RPC服務詢問才能找到正確 的端口,因此,無論是NFS服務端還是NFS客戶端都需要RPC服務的協助才能完成對外服務及請求。

 

一:實驗目標

1、完成NFS的文件共享

 

二:實驗環境

服務器系統

主機名

IP

作用

軟件

Rhel6.5

yu61

192.168.1.61

Nfs-server

nfs-utilsrpcbind

Rhel6.5

yu62

192.168.1.62

Nfs-client1

nfs-utilsrpcbind

Rhel6.5

yu63

192.168.1.63

Nfs-client2

nfs-utilsrpcbind

三:實驗步驟

1、安裝NFS服務端

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

[root@yu61 ~]#

[root@yu61 ~]# /etc/init.d/rpcbind status

rpcbind (pid  1615) is running...

[root@yu61 ~]# lsof -i :111

COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

rpcbind 1615  rpc    6u  IPv4  11330      0t0  UDP *:sunrpc

rpcbind 1615  rpc    8u  IPv4  11333      0t0  TCP *:sunrpc (LISTEN)

rpcbind 1615  rpc    9u  IPv6  11335      0t0  UDP *:sunrpc

rpcbind 1615  rpc   11u  IPv6  11338      0t0  TCP *:sunrpc (LISTEN)

 

2、查看NFS服務向RPC服務注冊的端口信息

因為NFS服務還沒有啟動,一次沒有太多注冊端口映射信息。

[root@yu61 ~]# rpcinfo -p localhost

   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  43521  status

100024    1   tcp  60423  status

3、啟動NFS服務

[root@yu61 ~]# /etc/init.d/nfs start

rpc.rquotad (pid 49232) is running...

[root@yu61 ~]# rpcinfo -p localhost

   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  43521  status

    100024    1   tcp  60423  status

    100011    1   udp    875  rquotad

    100011    2   udp    875  rquotad

    100011    1   tcp    875  rquotad

    100011    2   tcp    875  rquotad

    100005    1   udp  38917  mountd

    100005    1   tcp  44150  mountd

    100005    2   udp  42858  mountd

    100005    2   tcp  52228  mountd

    100005    3   udp  41216  mountd

100005    3   tcp  60796  mountd

4、NFS服務常見的進程詳解

[root@yu61 ~]# ps -ef | egrep "rpc|nfs"

rpc        1615      1  0 11:00 ?        00:00:00 rpcbind

rpcuser    1755      1  0 11:00 ?        00:00:00 rpc.statd

root      49221      2  0 18:35 ?        00:00:00 [rpciod/0]

root      49222      2  0 18:35 ?        00:00:00 [rpciod/1]

root      49223      2  0 18:35 ?        00:00:00 [rpciod/2]

root      49224      2  0 18:35 ?        00:00:00 [rpciod/3]

root      49232      1  0 18:35 ?        00:00:00 rpc.rquotad

root      49236      1  0 18:35 ?        00:00:00 rpc.mountd

root      49242      2  0 18:35 ?        00:00:00 [nfsd4]

root      49243      2  0 18:35 ?        00:00:00 [nfsd4_callbacks]

root      49249      2  0 18:35 ?        00:00:00 [nfsd]

root      49250      2  0 18:35 ?        00:00:00 [nfsd]

root      49251      2  0 18:35 ?        00:00:00 [nfsd]

root      49274      1  0 18:35 ?        00:00:00 rpc.idmapd

root      49318   2821  0 18:36 pts/0    00:00:00 egrep rpc|nfs

1Nfs服務啟動的進程說明

NFS服務的主要任務是共享文件刺痛的數據,而文件系統數據的共享離不開權限問題。所以NFS服務器啟動后時擲篩需要兩個不同的進程,一個是管理NFS客戶端是否能夠登入rpxc.nfsd主進程,另一個用于管理NFS客戶端是否能夠取得對應權限的rpc.mountd進程,如果還需要管理磁盤配額,則NFS還需要再加載rpc.rpuotad進程。

服務或進程

用途說明

nfsd (rpc.nfsd)

Rpc.nfsd的主要功能是管理NFS服務器端主機

Mountd (rpc.mountd)

rpc.mountd的主要功能則是管理NFS文件系統,當NFS客戶端順利通過rpc.nfsd登入NFS服務器端的主機時,在使用NFS服務器提供數據之前,他會去讀NFS的配置文件/etc/exports來對比NFS客戶端的權限,通過這一關之后,還要經過NFS服務器端本地文件系統使用權限的認證程序,

rpc.locke

可以用來鎖定文件,用于多客戶端同時寫入

rpc.statd

檢查文件的一致性

rpc.idmapd

名字映射后臺進程

5、配置NFS服務器端的服務開機自啟動

[root@yu61 ~]# chkconfig rpcbind on

[root@yu61 ~]# chkconfig nfs on

[root@yu61 ~]# chkconfig --list | egrep "nfs\b|rpcbind"

nfs            0:off1:off2:on3:on4:on5:on6:off

rpcbind        0:off1:off2:on3:on4:on5:on6:off

[root@yu61 ~]# tail -3 /etc/rc.local

tail: inotify cannot be used, reverting to polling

#start uo nfs

/etc/init.d/rpcbind start

/etc/init.d/nfs start

 

6、Nfs服務器端共享文件的配置文件路徑

[root@yu61 ~]# cat /etc/exports

格式:

Nfs共享目錄 nfs客戶端1地址(權限) nfs客戶端2地址(權限)

例如:可以編輯/etc/exports為: 

/tmp*(rw,no_root_squash)

/home/public192.168.0.*(rw)*(ro)

/home/test192.168.0.100(rw)

/home/linux*.the9.com(rw,all_squash,anonuid=40,anongid=40)

 

7、NFS配置權限設置常用參數說明

參數名稱

參數用途

ro

只讀訪問

rw

讀寫訪問

sync

所有數據在請求時寫入共享

async

NFS在寫入數據前可以相應請求

secure

NFS通過1024以下的安全TCP/IP端口發送

insecure

NFS通過1024以上的端口發送

wdelay

如果多個用戶要寫入NFS目錄,則歸組寫入(默認)

no_wdelay

如果多個用戶要寫入NFS目錄,則立即寫入,當使用async時,無需此設置。

hide

NFS共享目錄中不共享其子目錄

no_hide

共享NFS目錄的子目錄

subtree_check

如果共享/usr/bin之類的子目錄時,強制NFS檢查父目錄的權限(默認)

no_subtree_check

不檢查父目錄權限

all_squash

共享文件的UIDGID映射匿名用戶anonymous,適合公用目錄。

no_all_squash

保留共享文件的UIDGID(默認)

root_squash

root用戶的所有請求映射成如anonymous用戶一樣的權限(默認)

anonuid=xxx

指定NFS服務器/etc/passwd文件中匿名用戶的UID

 

 

實戰:NFS服務案例配置

1、創建需要共享的目錄并授權

[root@yu61 ~]# mkdir -p /data

[root@yu61 ~]# touch /data/a.txt

[root@yu61 ~]# cp /etc/shadow /data/

[root@yu61 ~]# chown -R nfsnobody.nfsnobody /data

[root@yu61 ~]# chmod 777 /data/

[root@yu61 ~]# ls -ld /data/

drwxrwxrwx 3 nfsnobody nfsnobody 4096 May 20 19:16 /data/

[root@yu61 ~]# grep nfsnobody /etc/passwd

nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

2、配置NFS服務的配置文件,并在本地查看掛在信息

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

[root@yu61 ~]# cat /etc/exports

/data 192.168.1.0/24 (rw,sync)

[root@yu61 ~]# exportfs -rv

exporting 192.168.1.0/24:/data

exporting *:/data

[root@yu61 ~]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/sr0        3.6G  3.6G     0 100% /mnt

[root@yu61 ~]# mount -t nfs 192.168.1.61:/data/ /mnt/

[root@yu61 ~]# df -h

Filesystem           Size  Used Avail Use% Mounted on

/dev/sr0              20G  4.6G   14G  26% /mnt

192.168.1.61:/data/   20G  4.6G   14G  26% /mnt

3、客戶端安裝rpcbind

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

[root@yu63 ~]# /etc/init.d/rpcbind status

rpcbind (pid  1695) 正在運行...

[root@yu63 ~]# echo "/etc/init.d/rpcbind start" >> /etc/rc.local

[root@yu63 ~]# echo "/bin/mount -t nfs 192.168.1.61:/data /mnt " >> /etc/rc.local

[root@yu63 ~]# tail -2 /etc/rc.local

tail: inotify cannot be used, reverting to polling

/etc/init.d/rpcbind start

/bin/mount -t nfs 192.168.1.61:/data /mnt

[root@yu63 ~]# showmount -e 192.168.1.61

Export list for 192.168.1.61:

/data (everyone)

4、掛在服務端的共享文件

[root@yu63 ~]# mount -t nfs 192.168.1.61:/data /mnt

[root@yu63 ~]# df -h

Filesystem          Size  Used Avail Use% Mounted on

hm

/dev/sda1           4.9G  162M  4.5G   4% /boot

/dev/sr0             20G  4.6G   14G  26% /mnt

192.168.1.61:/data   20G  4.6G   14G  26% /mnt

[root@yu63 ~]# mount

.........

192.168.1.61:/data on /mnt type nfs (rw,vers=4,addr=192.168.1.61,clientaddr=192.168.1.63)

5、測試讀寫數據

[root@yu63 ~]# ls /mnt

a.txt   shoadow

[root@yu63 ~]# mkdir /mnt/test

[root@yu63 ~]# ls /mnt

a.txt shoadow test

[root@yu61 ~]# ls /mnt

a.txt   shoadow   test

 

附件:

NFS常用路徑

說明

/etc/exports

NFS服務的主配置文件。

/usr/sbin/exports

NFS的管理命令,可以加載NFS配置生效等

/usr/sbin/showmount

用來客戶端查看NFS配置及掛在結果命令

/var/lib/nfs/etab

NFS配置文件的完整參數設定文件

/pro/mounts

客戶端掛在參數

/vae/lib/nfs/rmtab

客戶端訪問服務器exports的信息列表

 

 

 

 

 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乐安县| 肥城市| 宝山区| 根河市| 沾益县| 哈巴河县| 辽阳市| 黑河市| 定南县| 湖北省| 岳普湖县| 昔阳县| 环江| 昭平县| 嵊州市| 河西区| 洪江市| 嘉荫县| 紫金县| 大名县| 木兰县| 天等县| 鄂温| 滨州市| 鲁甸县| 敖汉旗| 全南县| 宣恩县| 通江县| 剑河县| 延长县| 金阳县| 环江| 麻栗坡县| 华亭县| 于田县| 织金县| 宜都市| 浙江省| 辽阳县| 贵定县|