|NO.Z.00022|——————————|^^ 構建 ^^|——|檔案儲存之NFS|----------------------------------------|2臺server|
阿新 • • 發佈:2022-03-22
[Applications:檔案儲存之NFS] [Applications.LBC&HAC$HPC] [網路儲存叢集|儲存|檔案儲存之NFS|2臺server]
一、NFS簡介:
### --- NFS發展史 ~~~ NFS(Network File System)即網路檔案系統,是FreeBSD支援的檔案系統中的一種, ~~~ 它允許網路中的計算機之間通過TCP/IP網路共享資源, ~~~ 在NFS的應用中,本地NFS的客戶端應用可以透明地讀寫位於遠端NFS伺服器上的檔案, ~~~ 就像訪問本地檔案一樣 ~~~ NFS最早是由Sun公司發展出來的,後被逐漸完整及整合至Linux核心 ### --- 功能: ~~~ 它就是是可以透過網路,讓不同的主機,不同的作業系統可以共享儲存
### --- 原理
~~~ NFS在檔案傳送或資訊傳送過程中依賴於RPC(遠端過程呼叫,NFS用的是RPC協議的傳輸,
~~~ NFS只是在進行RPC協議的控制,不負責傳輸,以及檔案系統的控制或者提供)協議,
~~~ 遠端過程呼叫(Remote Procedure Call)是能是客戶端執行其他系統中程式的一種機制
~~~ NFS檔案系統
二、NFS構建### --- NFS優點: ~~~ 節省本地儲存空間,將常用的資料存放在一臺NFS伺服器上且可以通過網路訪問, ~~~ 那麼本地終端將可以自身儲存空間的使用 ~~~ 使用者不需要在網路中的每個機器上都建有Home目錄, ~~~ Home目錄可以放在NFS伺服器上且可以在網路上被訪問使用 ~~~ 一些儲存裝置CDROM和Zip等都可以在網路上被別的機器使用。 ~~~ 這可以減少整個網路可以移動介質裝置的數量; ~~~ 很多裝置是不可以進行CDROM的共享的,而NFS是可以的。
### --- 系統硬體環境規劃
~~~ HA-server1:10.10.10.11:部署nfs主程式包
~~~ HA-server2:10.10.10.12:作為驗證client
三、NFS構建:實驗專題
### --- 在HA-server1下配置 ### --- 安裝nfs主程式包 [root@server11 ~]# yum install -y rpcbind nfs-utils [root@server11 ~]# mkdir /nfs1 // 建立共享點:nfs1 [root@server11 ~]# mkdir /nfs2 // 建立共享點:nfs2 [root@server11 ~]# chown -R nobody:nobody /nfs1/ /nfs2
### --- 修改配置檔案
[root@server11 ~]# vim /etc/exports
/nfs1 10.10.10.12(rw,async,no_root_squash)
/nfs2 10.10.10.0/24(ro,async,no_root_squash)
[root@server11 ~]# service rpcbind restart // 重啟一下rpcbind讓其讀取一下當前的資訊
Stopping rpcbind: [ OK ]
Starting rpcbind: [ OK ]
[root@server11 ~]# service nfs restart
Shutting down NFS daemon: [ OK ]
Shutting down NFS mountd: [ OK ]
Shutting down NFS quotas: [ OK ]
Shutting down NFS services: [ OK ]
Shutting down RPC idmapd: [ OK ]
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS mountd: [ OK ]
Starting NFS daemon: [ OK ]
Starting RPC idmapd: [ OK ]
[root@server11 ~]# showmount -e 10.10.10.11 // 檢視10.10.10.11共享了那些服務
Export list for 10.10.10.11:
/nfs2 10.10.10.0/24
/nfs1 10.10.10.12
### --- 驗證:在HA-server2下操作
[root@server12 ~]# showmount -e 10.10.10.11 // 在10.10.10.12主機是哪個也是可以查詢到的
Export list for 10.10.10.11:
/nfs2 10.10.10.0/24
/nfs1 10.10.10.12
[root@server12 ~]# mkdir /nfsmount1/ // 掛載點:nfs1
[root@server12 ~]# mkdir /nfsmount2/ // 掛載點:nfs2
[root@server12 ~]# chown -R nobody:nobody /nfsmount1/ /nfsmount2/
[root@server11 ~]# cp -a nfs1-HA-server1 /nfs1/
[root@server11 ~]# cp -a nfs2-HA-server2 /nfs2/
~~~ 掛載
[root@server12 ~]# mount -t nfs 10.10.10.11:/nfs1/ /nfsmount1/
[root@server12 ~]# mount -t nfs 10.10.10.11:/nfs2/ /nfsmount2/
[root@server12 ~]# mount
10.10.10.11:/nfs1/ on /nfsmount1 type nfs (rw,vers=4,addr=10.10.10.11,clientaddr=10.10.10.12)
10.10.10.11:/nfs2/ on /nfsmount2 type nfs (rw,vers=4,addr=10.10.10.11,clientaddr=10.10.10.12)
[root@server12 ~]# ll /nfsmount1/
-rw-r--r-- 1 root root 26 Jan 23 03:02 nfs1-HA-server1
[root@server12 ~]# ll /nfsmount2/
-rw-r--r-- 1 root root 0 Jan 23 02:53 nfs2-HA-server2
~~~ 在nfs1中配置是rw可以正常儲存退出,沒有問題。
[root@server12 ~]# vim /nfsmount1/nfs1-HA-server1
this is HA server2 write
~~~ 在nfs中配置是ro,只可讀,不可寫,所以寫入失敗:告警:你正在修改一個只讀檔案。
~~~ 在HA-server11下也是可以看到修改記錄後的檔案內容。
[root@server12 ~]# vim /nfsmount2/nfs2-HA-server2
this is write false
附錄一:NFS安裝: 1、NFS安裝:
### --- 程式說明
~~~ nfs-utils: 這個是NFS服務主程式(包含rpc.nfsd、rpc.mountd、daemons)
~~~ rpcbind:這個是CentOS6.x的RPC主程式(CentOS5.X的為portmap)
### --- server端安裝並開啟的服務
yum install -y rpcbind nfs-utils
/etc/init.d/rpcbind status // 檢視rpcbind當前狀態
### --- NFS server配置程式碼記錄
LANG=en // 檢視當前語言
lsof -i :111
rpcinfo -p localhost
/etc/init.d/nfs status
lsof -i :2049
2、配置說明
### --- 配置檔案說明:
~~~ /etc/exports是NFS程式的配置檔案
~~~ /etc/exports檔案的配置格式為:
~~~ NFS共享目錄NFS客戶端地址1(引數1,引數2,引數3......)客戶端地址2(引數1,引數2,引數3......)
~~~ NFS共享目錄NFS客戶端地址(引數1,引數2,引數3......)
shuwmount -e ip // 檢視掛載情況
mount -t nfs ip:/file /filel
### --- 許可權
~~~ rw:read-write,可讀寫,注意,僅僅這裡設定成讀寫客戶端還是不能正常寫入,還要正確設定共享目錄的許可權
~~~ ro:read-only,只讀
~~~ sync:檔案同時寫入硬碟和記憶體
~~~ async:檔案暫存於記憶體,而不是直接寫入記憶體
~~~ no_root_squash:NFS客戶端連線服務端時如果使用的是root的話,那麼對服務端分享的目錄來說,也擁有root許可權,顯然開啟這項是不安全的。
~~~ root_squash:NFS客戶端連線服務端時如果使用的是root的話,那麼對服務端分享的目錄來說,擁有匿名使用者許可權,通常他將使用nobody或nfsnobody身份
~~~ all_squash:不論NFS客戶端連線服務端時使用什麼使用者,對服務端分享的目錄來說都是擁有匿名使用者許可權
~~~ anonuid:匿名使用者的UID值,通常是nobody或nfsnobody可以在此處自行設定
~~~ anongid:匿名使用者的GID值
===============================END===============================
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ——W.S.Landor
來自為知筆記(Wiz)