云計算集群技術(shù)及應(yīng)用 課件 第4章-NFS存儲集群_第1頁
云計算集群技術(shù)及應(yīng)用 課件 第4章-NFS存儲集群_第2頁
云計算集群技術(shù)及應(yīng)用 課件 第4章-NFS存儲集群_第3頁
云計算集群技術(shù)及應(yīng)用 課件 第4章-NFS存儲集群_第4頁
云計算集群技術(shù)及應(yīng)用 課件 第4章-NFS存儲集群_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第4章

NFS存儲集群4.1NFS介紹4.2

NFS系統(tǒng)原理4.3NFS存儲實戰(zhàn)訓(xùn)練4.4

NFS共享數(shù)據(jù)實時推送備份案例熟悉NFS服務(wù)了解NFS服務(wù)的工作原理掌握NFS服務(wù)的構(gòu)建方法掌握部署NFS存儲集群的方法引言在企業(yè)生產(chǎn)集群架構(gòu)中,Web集群對外提供服務(wù),但是隨著業(yè)務(wù)的發(fā)展,用戶的增加,網(wǎng)站功能的不斷擴展完善,隨之產(chǎn)生的視頻、圖片、附件等靜態(tài)資源文件占用硬盤資源的空間也越來越大。比如大眾點評或者微信中“曬”的朋友圈,會產(chǎn)生用戶頭像以及用戶發(fā)布的圖片、視頻等大量文件,這就需要使用網(wǎng)絡(luò)文件共享服務(wù)解決這一問題。第3章學(xué)習(xí)的數(shù)據(jù)庫實現(xiàn)的是數(shù)據(jù)存儲,無法實現(xiàn)文件存儲。本章將講解NFS共享存儲集群相關(guān)知識。4.1NFS介紹存儲類型NFS簡介NFS在集群中的位置NFS共享存儲的優(yōu)點存儲類型一般為3種,分別為直連式存儲(DAS,DirectAttachedStorage)、網(wǎng)絡(luò)附加存儲(NAS,NetworkAttachedStorage)和存儲區(qū)域網(wǎng)絡(luò)(SAN,StorageAreaNetwork)。直連式存儲是指直接連接主機系統(tǒng)的存儲設(shè)備,直連式存儲設(shè)備一般采用SCSI連接服務(wù)器主機,比如磁盤陣列(RAID,RedundantArraysofIndependentDisks)、磁盤簇(JBOB,JustaBunchofDisks)、本地硬盤等。網(wǎng)絡(luò)附加存儲是指通過網(wǎng)絡(luò)拓撲結(jié)構(gòu)添加到主機上的存儲設(shè)備,常用于文檔共享、圖片共享、視頻共享等,如今云計算發(fā)展迅速,一些NAS廠商也相繼推出云存儲功能。存儲區(qū)域網(wǎng)絡(luò)是指使用高速網(wǎng)絡(luò)或者子網(wǎng)絡(luò)連接存儲陣列和服務(wù)器主機,最后形成一個專用的存儲網(wǎng)絡(luò),可輕易實現(xiàn)物理分離的存儲。4.1

NFS介紹NFS網(wǎng)絡(luò)文件系統(tǒng)在企業(yè)級集群架構(gòu)中,通常用于存儲共享視頻、圖片、附件等靜態(tài)資源文件,比如博客的用戶頭像、發(fā)布的圖片、視頻等網(wǎng)站用戶上傳的文件,都會放在NFS共享中。將NFS服務(wù)端需要共享的目錄掛載到NFS客戶端本地系統(tǒng)中。當(dāng)NFS客戶端(應(yīng)用服務(wù)器,如Web服務(wù)器節(jié)點)通過遠程訪問NFS服務(wù)端共享的目錄時,就像訪問本地的磁盤分區(qū)或者目錄一樣。在第2章Web集群中可以了解,當(dāng)用戶登錄論壇網(wǎng)站發(fā)布圖片等文件時,這些文件數(shù)據(jù)是一般上傳到某臺Web服務(wù)器的upload文件夾下,也就是本地的文件夾下。當(dāng)用戶下次繼續(xù)訪問這個圖片時,可能被調(diào)度到其他Web服務(wù)器上,也就無法訪問到該圖片了。4.1

NFS介紹當(dāng)企業(yè)集群中沒有NFS文件共享存儲式時,用戶訪問圖片的流程如圖所示。4.1

NFS介紹用戶A上傳圖片到Web1服務(wù)器,用戶B發(fā)送訪問圖片的請求,該請求被分發(fā)至Web2,由于Web2沒有A用戶上傳的圖片,這就造成B用戶無法看到A用戶上傳的圖片。為了解決這個問題,可以在Web服務(wù)器集群后端搭建NFS共享存儲服務(wù)器,使得用戶上傳圖片都會存儲到共享存儲上,如此一來,所有用戶訪問圖片會在共享存儲上查找,具體如圖所示。4.1

NFS介紹NFS共享存儲的優(yōu)點如下所示。(1)部署簡單、快速,且易于后期維護。(2)實現(xiàn)了透明文件的訪問以及數(shù)據(jù)傳輸,數(shù)據(jù)的可靠性高。(3)占用更少的本地磁盤空間,不用改變已有的工作環(huán)境就可以實現(xiàn)新資源和文件的擴充。(4)性能高,數(shù)據(jù)可靠性高,配置靈活,易于掌握。4.2NFS系統(tǒng)原理NFS系統(tǒng)掛載認識RPCNFS工作原理在NFS服務(wù)器端設(shè)置一個共享目錄/video,對NFS服務(wù)端有權(quán)限訪問的客戶端可將共享目錄/video掛載在客戶端本地的目錄/video(自定義目錄)中。掛載完成后,客戶端就可以訪問到NFS服務(wù)端共享目錄中的所有數(shù)據(jù)。需要注意的是,NFS服務(wù)端可以設(shè)置客戶端訪問的權(quán)限,若配置客戶端只讀,則客戶端只能讀取共享文件內(nèi)容;若配置客戶端可讀可寫,則客戶端就能讀取和添加共享文件的內(nèi)容。NFS服務(wù)器與客戶端掛載的結(jié)構(gòu)圖,如圖所示。4.2

NFS系統(tǒng)原理4.2.1

NFS系統(tǒng)掛載由于NFS支持很多功能,且不同的功能需要啟動不同的端口,因此端口無法固定,產(chǎn)生NFS服務(wù)器端無法與客戶端通信的問題。使用RPC服務(wù)記錄數(shù)據(jù)傳輸端口即可解決這一問題,NFS本身并沒有提供數(shù)據(jù)傳輸?shù)膮f(xié)議和功能,數(shù)據(jù)傳輸基于RPC(RemoteProcedureCallProtocol遠程過程調(diào)用)協(xié)議實現(xiàn)。4.2

NFS系統(tǒng)原理4.2.2

認識RPC在NFS工作流程中,RPC服務(wù)主要用于記錄NFS各功能對應(yīng)的端口信息,然后將該信息傳輸在服務(wù)端和客戶端之間。NFS工作流程圖如圖所示。NFS工作流程如下所示。(1)在啟動NFS服務(wù)之前,需要先啟動RPC服務(wù)。(2)RPC采用C/S模式,當(dāng)NFS服務(wù)開啟后,會隨機地開啟一些端口,并主動向RPC注冊這些端口的相關(guān)信息,RPC則會記錄下相關(guān)端口及功能信息。(3)這時,RPC會開啟固定的111端口等待客戶端提交的請求,并把記錄的NFS服務(wù)端的端口信息發(fā)送給客戶端,這樣客戶端就能夠與服務(wù)端正常通信了。需要注意的是,若RPC重新啟動,那么已經(jīng)注冊好的端口信息也會丟失。4.2

NFS系統(tǒng)原理4.2.2

認識RPC首先在NFS服務(wù)器端啟動RPC服務(wù),并開啟111端口。然后NFS服務(wù)器端啟動NFS服務(wù),并向RPC注冊端口信息??蛻舳藛覴PC服務(wù),向服務(wù)端的RPC服務(wù)請求服務(wù)端的NFS端口。服務(wù)端的RPC服務(wù)反饋NFS端口信息給客戶端。NFS的工作原理流程簡圖如圖所示。4.2

NFS系統(tǒng)原理4.2.3

NFS工作原理對NFS工作原理的流程圖做大致的介紹。(1)用戶訪問網(wǎng)站業(yè)務(wù)程序,該程序由NFS客戶端發(fā)送存取NFS共享文件的請求,然后NFS客戶端的RPC服務(wù)通過網(wǎng)絡(luò)向NFS服務(wù)端的RPC服務(wù)的111端口發(fā)送該請求。(2)NFS服務(wù)端的RPC服務(wù)通過已注冊的端口信息查找NFS端口,然后通知NFS客戶端的RPC服務(wù)。(3)NFS客戶端收到正確的端口信息后,開始與NFSdeamon通信并存取文件數(shù)據(jù)。(4)NFS客戶端成功獲取文件數(shù)據(jù)后,然后返回給前端訪問程序,向用戶顯示讀取結(jié)果,到此為止,完成了一次存取操作。4.2

NFS系統(tǒng)原理4.2.3

NFS工作原理NSF主要文件結(jié)構(gòu)及說明如下所示。(1)/etc/exports:NFS的主配置文件。(2)/usr/sbin/exportfs:用于維護NFS共享資源的配置文件,常在NFS服務(wù)端進行配置,如重新分享/etc/exports更新的目錄資源,把NFS服務(wù)端共享的目錄卸載或重新分享等。(3)/usr/sbin/showmount:客戶端查看NFS服務(wù)端共享出來的目錄資源。(4)/var/lib/nfs/*tab:/var/lib/nfs/目錄存放了NFS服務(wù)器的登錄文件。xtab文件是NFS的日志文件,主要記錄了NFS服務(wù)器的相關(guān)客戶端數(shù)據(jù);etab文件主要記錄了NFS分享出來的目錄的完整權(quán)限設(shè)定值。4.2

NFS系統(tǒng)原理4.2.3

NFS工作原理4.3NFS存儲實戰(zhàn)訓(xùn)練理NFS存儲實驗準(zhǔn)備服務(wù)端配置客戶端配置前端測試本章之前的內(nèi)容已經(jīng)講解了NFS相關(guān)知識,本節(jié)將講解為集群中的WebServer配置后端存儲NFS服務(wù)。NFS存儲案例中服務(wù)器部署的結(jié)構(gòu)如圖所示。4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.1

NFS存儲實驗準(zhǔn)備準(zhǔn)備4臺VM虛擬機(或者物理服務(wù)器),一臺作為存儲端(nfs-server),三臺作為Web集群,具體如表所示。4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.1

NFS存儲實驗準(zhǔn)備服務(wù)器系統(tǒng)IP主機名CentOS7.6x86_6428nfs-serverCentOS7.6x86_6429web1CentOS7.6x86_6430web2CentOS7.6x86_6431web3說明:提前關(guān)閉防火墻及SELinux(過程不再贅述)1.在實驗開始前,建議為這4臺服務(wù)器互相做域名解析,便于通信。域名解析可以使用修改本地hosts文件的方式,也可以使用DNS服務(wù)器解析。這里采取修改hosts文件的方式,分別在4臺服務(wù)器的/etc/hosts文件中添加以下代碼。2.為了保證各服務(wù)器的時間一致,對所有服務(wù)器進行時間校對。28nfs-server29web130web231web3[root@qfedu~]#ntpdate-u14.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.1

NFS存儲實驗準(zhǔn)備做完域名解析之后,可以使用ping命令進行檢測,若無丟包現(xiàn)象,說明解析成功。為了便于讀者觀察實驗操作對象,這里分別將4臺服務(wù)器的主機名修改為nfs-server、web1、web2、web3。在NFSServer端使用NFS之前,首先了解安裝NFS所需要的軟件。配置NFS服務(wù)器需要有兩個軟件,分別是rpcbind和nfs-utils,具體如下所示。rpcbind:RPC的主程序NFS其實可以理解為一個RPC服務(wù),在啟動任何一個RPC服務(wù)之前,需要做好port(端口)的對應(yīng)功能的工作,而這個工作是rpcbind這個服務(wù)來完成的。由此可知,在啟動NFS服務(wù)之前需要先啟動rpcbind程序。nfs-utils:NFS主程序提供了rpc.nfsd和rpc.mountd這兩個NFSdaemons,以及其他相關(guān)文件和說明文件、執(zhí)行文件。4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.2

服務(wù)端配置1.查看NFS軟件包。3.下載軟件。[root@nfs-server~]#rpm-qa|egrep"nfs|rpcbind"[root@nfs-server~]#yum-yinstallnfs-utilsrpcbind……省略部分代碼……已安裝:nfs-utils.x86_641:1.3.0-0.68.el7.2rpcbind.x86_640:0.2.0-49.el7完畢!4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.2

服務(wù)端配置2.CentOSrelease7是最小化安裝,默認情況下沒有安裝nfs和rpcbind,此處使用Yum搜尋安裝包是否存在。[root@nfs-server~]#yumsearchnfs-utilsrpcbind4.再次使用rpm命令查看NFS軟件的安裝情況。5.查看rpcbind啟動狀態(tài)。[root@nfs-server~]#rpm-qa|egrep"nfs|rpcbind"rpcbind-0.2.0-49.el7.x86_64libnfsidmap-0.25-19.el7.x86_64nfs-utils-1.3.0-0.68.el7.2.x86_64[root@nfs-serverwebdata]#systemctlstatusrpcbind●rpcbind.service-RPCbindserviceLoaded:loaded(/usr/lib/systemd/system/rpcbind.service;enabled;vendorpreset:enabled)Active:inactive(dead)4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.2

服務(wù)端配置軟件安裝完成。6.啟動rpcbind服務(wù)。7.設(shè)置開機自啟。[root@nfs-serverwebdata]#systemctlstartrpcbind[root@nfs-serverwebdata]#systemctlstatusrpcbind●rpcbind.service-RPCbindserviceLoaded:loaded(/usr/lib/systemd/system/rpcbind.service;enabled;vendorpreset:enabled)Active:active(running)since二2022-02-1510:33:04CST;35sagoProcess:68570ExecStart=/sbin/rpcbind-w$RPCBIND_ARGS(code=exited,status=0/SUCCESS)MainPID:68571(rpcbind)CGroup:/system.slice/rpcbind.service└─68571/sbin/rpcbind-w2月1510:33:04nfs-serversystemd[1]:StartingRPCbi...2月1510:33:04nfs-serversystemd[1]:StartedRPCbin...Hint:Somelineswereellipsized,use-ltoshowinfull.[root@nfs-serverwebdata]#systemctlenablerpcbind4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.2

服務(wù)端配置8.查看111端口是否開啟。9.查看NFS服務(wù)向rpc服務(wù)注冊的端口信息。[root@nfs-serverwebdata]#lsof-i:111COMMANDPIDUSERFDTYPEDEVICESIZE/OFFNODENAMErpcbind68571rpc6uIPv453734870t0UDP*:sunrpcrpcbind68571rpc8uIPv453734890t0TCP*:sunrpc(LISTEN)rpcbind68571rpc9uIPv653734900t0UDP*:sunrpcrpcbind68571rpc11uIPv653734920t0TCP*:sunrpc(LISTEN)[root@nfs-serverwebdata]#netstat-lntup|greprpcbindtcp00:111:*LISTEN68571/rpcbindtcp600:::111:::*LISTEN68571/rpcbindudp00:111:*68571/rpcbindudp00:906:*68571/rpcbindudp600:::111:::*68571/rpcbindudp600:::906:::*68571/rpcbind[root@nfs-serverwebdata]#rpcinfo-plocalhostprogramversprotoportservice1000004tcp111portmapper1000003tcp111portmapper1000002tcp111portmapper1000004udp111portmapper1000003udp111portmapper1000002udp111portmapper4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.2

服務(wù)端配置rpcbind服務(wù)對外提供服務(wù)的主端口即111端口,由于NFS服務(wù)還未啟動,上述命令返回的結(jié)果顯示的端口映射信息較少。10.啟動nfs-server服務(wù)之前,首先查看nfs-server啟動狀態(tài)。11.啟動nfs-server服務(wù)。[root@nfs-serverwebdata]#systemctlstatusnfs-server●nfs-server.service-NFSserverandservicesLoaded:loaded(/usr/lib/systemd/system/nfs-server.service;disabled;vendorpreset:disabled)Active:inactive(dead)[root@nfs-serverwebdata]#systemctlstartnfs-server[root@nfs-serverwebdata]#systemctlstatusnfs-server●nfs-server.service-NFSserverandservices……Active:active(exited)since二2022-02-1511:07:37CST;7sago

……[root@nfs-serverwebdata]#systemctlenablenfs-server4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.2

服務(wù)端配置12.nfs-sever啟動成功后,再次查看NFS服務(wù)向RPC注冊的端口信息。[root@nfs-server~]#rpcinfo-plocalhostprogramversprotoportservice1000004tcp111portmapper1000003tcp111portmapper1000002tcp111portmapper1000004udp111portmapper1000003udp111portmapper1000002udp111portmapper1000241udp57033status1000241tcp42941status1000051udp20048mountd1000051tcp20048mountd1000052udp20048mountd1000052tcp20048mountd1000053udp20048mountd1000053tcp20048mountd1000033tcp2049nfs1000034tcp2049nfs1002273tcp2049nfs_acl1000033udp2049nfs1000034udp2049nfs1002273udp2049nfs_acl1000211udp46639nlockmgr1000213udp46639nlockmgr1000214udp46639nlockmgr1000211tcp34798nlockmgr1000213tcp34798nlockmgr1000214tcp34798nlockmgr4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.2

服務(wù)端配置13.查看NFS服務(wù)相關(guān)進程。[root@nfs-server~]#ps-ef|egrep"rpc|nfs"rpc685711010:33?00:00:00/sbin/rpcbind-wrpcuser994531011:07?00:00:00/usr/sbin/rpc.statd#檢查文件一致性root994712011:07?00:00:00[rpciod]root994831011:07?00:00:00/usr/sbin/rpc.idmapd#namemappingdeamonroot995191011:07?00:00:00/usr/sbin/rpc.mountd#權(quán)限管理驗證等(NFSmountdeamon)root995312011:07?00:00:00[nfsd4_callbacks]root995402011:07?00:00:00[nfsd]#NFS主進程root995412011:07?00:00:00[nfsd]root995422011:07?00:00:00[nfsd]root995432011:07?00:00:00[nfsd]root995442011:07?00:00:00[nfsd]root995452011:07?00:00:00[nfsd]root995462011:07?00:00:00[nfsd]root995472011:07?00:00:00[nfsd]root11535810775011:25pts/000:00:00grep-E--color=autorpc|nfs4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.2

服務(wù)端配置對NFS服務(wù)相關(guān)進程進行說明。(1)nfsd(rpc.nfsd):主要用于管理NFS客戶端是否能登入NFS服務(wù)端主機,包含ID身份判定等。(2)mountd(rpc.mountd):主要用于管理NFS文件系統(tǒng),包括客戶端是否可獲取對應(yīng)權(quán)限。(3)rpc.statd:檢查文件一致性。(4)rpc.idmapd:名字映射后臺進程。。4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.2

服務(wù)端配置NFS服務(wù)的主配置文件/etc/exports默認是空的,需要自行配置。/etc/exports文件配置格式如下。NFS共享目錄NFS客戶端地址1[權(quán)限參數(shù)]NFS客戶端地址2[權(quán)限參數(shù)]4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.2

服務(wù)端配置對關(guān)鍵詞進行相應(yīng)的說明,如下所示。NFS共享目錄:是指NFS服務(wù)端要共享的實際目錄,要使用絕對路徑。同時要對本地的共享目錄設(shè)置合適的權(quán)限,使得客戶端可以進行讀寫。NFS客戶端地址:是指經(jīng)NFS服務(wù)端授予權(quán)限訪問的共享目錄的客戶端,可以是主機名、IP地址、網(wǎng)段、域名、通配符*(所有客戶端主機)等。權(quán)限參數(shù)如表所示。4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.2

服務(wù)端配置權(quán)限參數(shù)說明rw表示Read-write允許客戶端讀寫ro表示Read-only,只能讀取共享文件sync表示請求或?qū)懭霐?shù)據(jù)時,數(shù)據(jù)同步寫入NFS服務(wù)端的磁盤中async表示請求或?qū)懭霐?shù)據(jù)時,數(shù)據(jù)先存入內(nèi)存緩沖區(qū),直到硬盤有空間時再寫入all_squash用于將客戶端所有用戶的UID和GID映射到匿名用戶root_squash如果客戶端用戶是root,將root用戶的權(quán)限壓縮為匿名用戶no_root_squash如果客戶端用戶是root,則對共享文件具有root權(quán)限anonuid匿名的UID(用戶ID),表示客戶端以某些權(quán)限訪問服務(wù)端,在默認情況下是nfsnobodyanongid匿名的GID(組ID),表示客戶端以某些權(quán)限訪問服務(wù)端,在默認情況下是nfsnobady在配置文件中寫入共享目錄,具體要求如下所示。(1)/webdata/share目錄可讀寫且不限制用戶身份,共享給Web客戶端。(2)/webdata/upload目錄作為Web客戶端的數(shù)據(jù)上傳目錄,并將所屬組和所屬用戶設(shè)置為nfs_upload,UID和GID設(shè)置為2000。(3)/webdata/nfs目錄設(shè)置為只讀,向Web客戶端提供數(shù)據(jù)內(nèi)容,具體如下所示。[root@nfs-server~]#vim/etc/exports/webdata/share/24(rw,sync,no_root_squash)/webdata/upload/24(rw,all_squash,anonuid=2000,anongid=2000)/webdata/nfs/24(ro)4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.2

服務(wù)端配置本例中的web1、web2和web3在同一網(wǎng)段,客戶端地址寫其所在的網(wǎng)段即可。13.根據(jù)要求創(chuàng)建對應(yīng)的共享目錄/webdata/share。14.根據(jù)要求創(chuàng)建對應(yīng)的共享目錄/webdata/upload之前,創(chuàng)建對應(yīng)用戶的UID和GID。[root@nfs-server~]#mkdir-p/webdata/share[root@nfs-server~]#chmod777/webdata/share/[root@nfs-server~]#groupadd-g2000nfs_upload[root@nfs-server~]#useradd-g2000-u2000-Mnfs_upload#查看創(chuàng)建的nfs_upload用戶和屬組信息[root@nfs-server~]#cat/etc/passwd|grepnfsrpcuser:x:29:29:RPCServiceUser:/var/lib/nfs:/sbin/nologinnfsnobody:x:65534:65534:AnonymousNFSUser:/var/lib/nfs:/sbin/nologinnfs_upload:x:2000:2000::/home/nfs_upload:/bin/bash4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.2

服務(wù)端配置15.創(chuàng)建對應(yīng)的共享目錄/webdata/upload,并修改屬主。16.根據(jù)要求創(chuàng)建對應(yīng)的共享目錄/webdata/nfs。[root@nfs-server~]#mkdir-p/webdata/upload[root@nfs-server~]#chown-Rnfs_upload:nfs_upload/webdata/upload/[root@nfs-server~]#ll-d/webdata/upload/drwxr-xr-x2nfs_uploadnfs_upload62月1616:42/webdata/upload/[root@nfs-server~]#ll-d/webdata/nfs/drwxr-xr-x2rootroot62月1616:42/webdata/nfs/[root@nfs-server~]#mkdir-p/webdata/nfs4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.2

服務(wù)端配置17.一般修改NFS配置文檔后,無需重啟NFS,直接執(zhí)行exportfs-rv命令即可使修改的/etc/exports生效。18.查看NFS服務(wù)器共享出來的目錄。[root@nfs-server~]#exportfs-v/webdata/share/24(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)/webdata/upload/24(sync,wdelay,hide,no_subtree_check,anonuid=2000,anongid=2000,sec=sys,rw,secure,root_squash,all_squash)/webdata/nfs/24(sync,wdelay,hide,no_subtree_check,sec=sys,ro,secure,root_squash,no_all_squash)[root@nfs-server~]#showmount-elocalhostExportlistforlocalhost:/webdata/nfs/24/webdata/upload/24/webdata/share/244.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.2

服務(wù)端配置至此NFS服務(wù)端的配置已完成。1.查看客戶端系統(tǒng)環(huán)境。2.在Web客戶端安裝nfs-utils和rpcbind,以web1為例。[root@web1~]#cat/etc/redhat-releaseCentOSLinuxrelease7.6.1810(Core)[root@web1~]#uname-r3.10.0-957.el7.x86_64[root@web1~]#uname-mx86_64[root@web1~]#yum-yinstallnfs-utilsrpcbind……安裝步驟省略……已安裝:nfs-utils.x86_641:1.3.0-0.68.el7.2rpcbind.x86_640:0.2.0-49.el7……完畢!4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.3

客戶端配置3.啟動rpcbind,并設(shè)置為開機自啟。#查看rpcbind啟動狀態(tài)[root@web1~]#systemctlstatusrpcbind●rpcbind.service-RPCbindserviceLoaded:loaded(/usr/lib/systemd/system/rpcbind.service;enabled;vendorpreset:enabled)Active:inactive(dead)#啟動rpcbind服務(wù)[root@web1~]#systemctlstartrpcbind4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.3

客戶端配置#設(shè)置開機自啟[root@web1~]#systemctlenablerpcbind[root@web1~]#systemctlstatusrpcbind●rpcbind.service-RPCbindserviceLoaded:loaded(/usr/lib/systemd/system/rpcbind.service;enabled;vendorpreset:enabled)Active:active(running)since三2022-02-1617:42:20CST;11sagoMainPID:19815(rpcbind)CGroup:/system.slice/rpcbind.service└─19815/sbin/rpcbind-w2月1617:42:20web1systemd[1]:StartingRPCbindser...2月1617:42:20web1systemd[1]:StartedRPCbindserv...Hint:Somelineswereellipsized,use-ltoshowinfull.4.啟動nfs服務(wù),并設(shè)置為開機自啟。#查看nfs啟動狀態(tài)[root@web1~]#systemctlstatusnfs●nfs-server.service-NFSserverandservicesLoaded:loaded(/usr/lib/systemd/system/nfs-server.service;disabled;vendorpreset:disabled)Active:inactive(dead)#啟動nfs服務(wù)[root@web1~]#systemctlstartnfs4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.3

客戶端配置#設(shè)置開機自啟[root@web1~]#systemctlenablenfsCreatedsymlinkfrom/etc/systemd/system/multi-user.target.wants/nfs-server.serviceto/usr/lib/systemd/system/nfs-server.service.[root@web1~]#systemctlstatusnfs●nfs-server.service-NFSserverandservicesLoaded:loaded(/usr/lib/systemd/system/nfs-server.service;enabled;vendorpreset:disabled)Active:active(exited)since三2022-02-1617:43:44CST;12sagoMainPID:21221(code=exited,status=0/SUCCESS)CGroup:/system.slice/nfs-server.service……省略部分代碼5.在Web客戶端查看NFS服務(wù)端的共享目錄。掛載NFS服務(wù)端的共享目錄至NFS客戶端并測試。[root@web1~]#showmount-enfs-serverExportlistfornfs-server:/webdata/nfs/24/webdata/upload/24/webdata/share/24[root@web1~]#mkdir-p/webdata/nfs1#掛載[root@web1~]#mount-tnfs28:/webdata/nfs/webdata/nfs1/4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.3

客戶端配置6.掛載NFS服務(wù)端的/webdata/nfs到客戶端本地的/webtata/nfs1。(1)掛載NFS服務(wù)端的/webdata/nfs到客戶端本地的/webtata/nfs1。6.(2)查看磁盤分區(qū)的使用情況。[root@web1~]#df-h文件系統(tǒng)容量已用可用已用%掛載點/dev/mapper/centos-root17G1.3G16G8%/devtmpfs475M0475M0%/devtmpfs487M0487M0%/dev/shmtmpfs487M7.7M479M2%/runtmpfs487M0487M0%/sys/fs/cgroup/dev/sda11014M133M882M14%/boottmpfs98M098M0%/run/user/028:/webdata/nfs17G1.3G16G8%/webdata/nfs14.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.3

客戶端配置6.(3)創(chuàng)建文件測試nfs1目錄的權(quán)限。[root@web1~]#touch/webdata/nfs1/test1touch:無法創(chuàng)建"/webdata/nfs1/test1":只讀文件系統(tǒng)已成功掛載nfs共享目錄。由于共享目錄nfs的權(quán)限是只讀,所以目錄下無法創(chuàng)建文件。[root@web1~]#mkdir-p/webdata/upload1#掛載[root@web1~]#mount-tnfs28:/webdata/upload//webdata/upload1/4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.3

客戶端配置7.掛載NFS服務(wù)端的/webdata/upload到客戶端本地的/webtata/upload1。(1)在本地創(chuàng)建要掛載的目錄。[root@web1~]#df-h文件系統(tǒng)容量已用可用已用%掛載點/dev/mapper/centos-root17G1.3G16G8%/devtmpfs475M0475M0%/devtmpfs487M0487M0%/dev/shmtmpfs487M7.7M479M2%/runtmpfs487M0487M0%/sys/fs/cgroup/dev/sda11014M133M882M14%/boottmpfs98M098M0%/run/user/028:/webdata/nfs17G1.3G16G8%/webdata/nfs128:/webdata/upload17G1.3G16G8%/webdata/upload1(2)查看磁盤分區(qū)的使用情況。7.(3)Web客戶端創(chuàng)建nfs_upload用戶和屬組。[root@web1~]#groupadd-g2000nfs_upload[root@web1~]#useradd-g2000-u2000-mnfs_upload4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.3

客戶端配置7.(4)Web客戶端的數(shù)據(jù)上傳upload目錄測試。[root@web1upload1]#pwd/webdata/upload1[root@web1upload1]#ls[root@web1upload1]#ll總用量07.(5)創(chuàng)建測試文件。[root@web1upload1]#touchtest.txt7.(6)創(chuàng)建目錄測試。[root@web1upload1]#mkdirtestdir[root@web1upload1]#ll-a總用量0drwxr-xr-x3nfs_uploadnfs_upload372月1710:48.drwxr-xr-x4rootroot332月1710:18..drwxr-xr-x2nfs_uploadnfs_upload62月1710:47testdir-rw-r--r--1nfs_uploadnfs_upload02月1710:48test.txt在upload1創(chuàng)建的目錄及文件默認屬主為nfs_upload。4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.3

客戶端配置7.(7)為了進一步驗證,在NFS服務(wù)端查看/webdata/upload共享目錄。[root@nfs-server~]#ll/webdata/upload/總用量0drwxr-xr-x2nfs_uploadnfs_upload62月1710:47testdir-rw-r--r--1nfs_uploadnfs_upload02月1710:48test.txtWeb客戶端成功上傳文件到NFS服務(wù)端的/webdata/upload共享目錄,且默認屬主為nfs_upload。[root@web1~]#mkdir-p/webdata/share1#掛載[root@web1~]#mount-tnfs28:/webdata/share/webdata/share1/8.掛載NFS服務(wù)端的/webdata/share到客戶端本地的/webtata/share1。(1)在本地創(chuàng)建要掛載的目錄。4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.3

客戶端配置[root@web1~]#df-h文件系統(tǒng)容量已用可用已用%掛載點/dev/mapper/centos-root17G1.3G16G8%/devtmpfs475M0475M0%/devtmpfs487M0487M0%/dev/shmtmpfs487M7.7M479M2%/runtmpfs487M0487M0%/sys/fs/cgroup/dev/sda11014M133M882M14%/boottmpfs98M098M0%/run/user/028:/webdata/nfs17G1.3G16G8%/webdata/nfs128:/webdata/upload17G1.3G16G8%/webdata/upload128:/webdata/share17G1.3G16G8%/webdata/share18.(2)查看磁盤分區(qū)的使用情況。8.(3)在NFS服務(wù)端的/webdata/share添加測試文件test.jpg。[root@nfs-servershare]#pwd/webdata/share[root@nfs-servershare]#lstest.jpg[root@nfs-servershare]#chmod777test.jpg4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.3

客戶端配置8.(4)回到Web客戶端,查看/webdata/share1中的文件,并重命名為a.jpg。[root@web1~]#ll/webdata/share1/總用量172-rwxrwxrwx1rootroot1751322月1510:00test.jpg#重命名[root@web1~]#mv/webdata/share1/test.jpg/webdata/share1/a.jpg[root@web1~]#ll/webdata/share1/總用量172-rwxrwxrwx1rootroot1751322月1510:00a.jpg可以對share目錄中的文件進行讀寫。在Web客戶端創(chuàng)建一個網(wǎng)頁,模擬生產(chǎn)環(huán)境下,用戶點擊網(wǎng)頁鏈接讀取NFS共享存儲文件。[root@web1~]#yum-yinstallnginx[root@web1~]#systemctlstartnginx4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.4

前端測試2.瀏覽器訪問web1的IP,查看是否啟動成功。1.在Web客戶端安裝nginx。4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.4

前端測試[root@web1~]#vim/etc/nginx/nginx.conf……省略部分代碼……server{listen80;listen[::]:80;server_name_;

root/webdata;#Loadconfigurationfilesforthedefaultserverblock.include/etc/nginx/default.d/*.conf;error_page404/404.html;location=/404.html{}error_page500502503504/50x.html;location=/50x.html{}

}3.修改配置文件的server模塊,使得默認網(wǎng)頁指向/webdata掛載目錄。[root@web2~]#systemctlrestartnginx4.重啟nginx,使配置文件生效。4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.4

前端測試[root@web1webdata]#vim/webdata/index.html<head><metacharset="utf-8"><title>風(fēng)景圖</title></head><body><ahref="share1/a.html">林間小路</a><ahref="share1/b.html">晚霞</a><ahref="share1/c.html">海邊</a></body>[root@web1webdata]#vim/webdata/share1/a.html<imgsrc="a.jpg">5.通過一個簡單的前端頁面,實現(xiàn)共享文件的訪問。6.瀏覽器訪問web1的IP。4.3

NFS存儲實戰(zhàn)訓(xùn)練4.3.4

前端測試7.單擊“林間小路”鏈接??烧TL問共享文件。此處需要注意,web1主機中/webdata/share1/中的a.jpg實際上是NFS服務(wù)端/webdata/share中a.jpg的映射。4.4NFS共享數(shù)據(jù)實時推送備份案例環(huán)境準(zhǔn)備部署Rsync服務(wù)端—backup備份服務(wù)器部署Rsync客戶端—nfs-server存儲服務(wù)器為了防止數(shù)據(jù)存儲節(jié)點發(fā)生單點故障,需要將數(shù)據(jù)進行同步備份,比如在第3章學(xué)過MySQL的主從復(fù)制就是一種同步機制,把主服務(wù)器的數(shù)據(jù)同步到從節(jié)點,這就是數(shù)據(jù)庫的同步備份。那么,如何在網(wǎng)絡(luò)中實現(xiàn)文件的同步備份呢?NFS作為Web服務(wù)器的共享存儲,就需要將存儲的數(shù)據(jù)同步到備份服務(wù)器上,實現(xiàn)文件的同步備份,以保證數(shù)據(jù)的安全性。4.4

NFS共享數(shù)據(jù)實時推送備份案例Rsync(Remotesynchronization)是一款優(yōu)秀的遠程復(fù)制工具,它不但開源、快速、功能多,而且適用于多種操作系統(tǒng)。利用rsync服務(wù)結(jié)合監(jiān)控服務(wù)Inotify機制(inotify-tools、sersync、lrsyncd)做實時的數(shù)據(jù)備份,即根據(jù)存儲服務(wù)器上目錄的變化,把變化的數(shù)據(jù)通過inotify或sersync結(jié)合rsync命令實時同步到備份服務(wù)器,還可以通過drbd方案以及雙寫的方案實現(xiàn)雙機數(shù)據(jù)同步。本節(jié)的案例要求NFS服務(wù)器以Rsync守護進程的方式部署Rsync服務(wù),然后把本地的數(shù)據(jù)通過Rsync的方式傳輸?shù)絺浞莘?wù)器backup上,最后通過notify-tools插件實現(xiàn)數(shù)據(jù)的實時推送備份。4.4

NFS共享數(shù)據(jù)實時推送備份案例4.4.1

環(huán)境準(zhǔn)備4.4

NFS共享數(shù)據(jù)實時推送備份案例4.4.1

環(huán)境準(zhǔn)備NFS數(shù)據(jù)備份案例中服務(wù)器部署的結(jié)構(gòu)。4.4

NFS共享數(shù)據(jù)實時推送備份案例4.4.1

環(huán)境準(zhǔn)備準(zhǔn)備1臺VM虛擬機(或者物理服務(wù)器)作為備份服務(wù)器(backup),繼續(xù)使用nfs-server存儲服務(wù)器作為Rsync客戶端,具體如表所示。說明:提前關(guān)閉防火墻及SELinux(過程不再贅述)服務(wù)器系統(tǒng)IP主機名CentOS7.6x86_6428nfs-serverCentOS7.6x86_6432backup4.4

NFS共享數(shù)據(jù)實時推送備份案例4.4.1

環(huán)境準(zhǔn)備1.在實驗開始前,建議為這2臺服務(wù)器互相做域名解析,便于通信。域名解析可以使用修改本地hosts文件的方式,也可以使用DNS服務(wù)器解析。這里采取修改hosts文件的方式,分別在2臺服務(wù)器的/etc/hosts文件中添加以下代碼。2.為了保證各服務(wù)器的時間一致,對備份服務(wù)器進行時間校對。28nfs-server32backup[root@qfedu~]#ntpdate-u1做完域名解析之后,可以使用ping命令進行檢測,若無丟包現(xiàn)象,說明解析成功。為了便于讀者觀察實驗操作對象,這里將備份服務(wù)器的主機名配置為backup。4.4

NFS共享數(shù)據(jù)實時推送備份案例4.4.2

部署Rsync服務(wù)端—backup備份服務(wù)器3.首先查看備份主機是否安裝了rsync工具。4.安裝rsync服務(wù)。[root@backup~]#rpm-qa|grep"rsync"[root@backup~]#yum-yinstallrsync……部分步驟已省略……已安裝:rsync.x86_640:3.1.2-10.el7完畢![root@backup~]#rpm-qa|grep"rsync"rsync-3.1.2-10.el7.x86_644.4

NFS共享數(shù)據(jù)實時推送備份案例4.4.2

部署Rsync服務(wù)端—backup備份服務(wù)器[root@backup~]#vim/etc/rsyncd.conf#/etc/rsyncd:configurationfileforrsyncdaemonmode#Seersyncd.confmanpageformoreoptions.#configurationexample:uid=rsync#用戶gid=rsync#用戶組usechroot=no#程序安全設(shè)置maxconnections=200 #客戶端連接數(shù)pidfile=/var/run/rsyncd.pid#進程號文件位置logfile=/var/log/rsync.log #日志文件位置timeout=300 #超時時間#exclude=lost+found/#transferlogging=yes#ignorenonreadable=yes#dontcompress=*.gz*.tgz*.zip*.z*.Z*.rpm*.deb*.bz2#[ftp]5.修改/etc/rsyncd.conf配置文件,添加nfsbackup模塊,模塊名可根據(jù)NFS服務(wù)端的備份目錄自定義。4.4

NFS共享數(shù)據(jù)實時推送備份案例4.4.2

部署Rsync服務(wù)端—backup備份服務(wù)器#path=/home/ftp#comment=ftpexportareaignoreerrors #忽略錯誤readonly=false #只讀false,即可讀可寫list=false #阻止遠程列表hostsallow=28/24 #允許IPhostsdeny=/32 #禁止IP,如果IP有沖突,可注釋掉該句authusers=rsync_backup #虛擬用戶,用來在客戶端和服務(wù)端傳輸數(shù)據(jù),非系統(tǒng)內(nèi)真正的虛擬用戶secretsfile=/etc/rsync.password #用于存放虛擬用戶的用戶名和密碼fakesuper=yes #不需要daemon以root運行,就可以存儲文件的完整屬性######[multi_module_1]path=/multi_module_1/#[nfsbackup]path=/nfsbackup/####rsync_config____end##4.4

NFS共享數(shù)據(jù)實時推送備份案例4.4.2

部署Rsync服務(wù)端—backup備份服務(wù)器6.創(chuàng)建rsync屬主和屬組。7.根據(jù)對配置文件的新模塊的描述,創(chuàng)建相應(yīng)目錄。[root@backup~]#useradd-M-s/sbin/nologinrsync[root@backup~]#tail-1/etc/passwdrsync:x:1000:1000::/home/rsync:/sbin/nologin[root@backup~]#idrsyncuid=1000(rsync)gid=1000(rsync)組=1000(rsync)[root@backup~]#mkdir-p/nfsbackup8.設(shè)置目錄的屬主和屬組,使得rsync客戶端通過用戶連接時對/nfsbackup/目錄獲得相關(guān)權(quán)限。[root@backup~]#chown-Rrsync.rsync/nfsbackup/[root@backup~]#ll-d/nfsbackup/drwxr-xr-x2rsyncrsync62月1817:24/nfsbackup/9.查看rsync服務(wù)的啟動狀態(tài)。[root@backup~]#systemctlstatusrsyncd●rsyncd.service-fastremotefilecopyprogramdaemonLoaded:loaded(/usr/lib/systemd/system/rsyncd.service;disabled;vendorpreset:disabled)Active:inactive(dead)4.4

NFS共享數(shù)據(jù)實時推送備份案例4.4.2

部署Rsync服務(wù)端—backup備份服務(wù)器10.啟動rsync服務(wù),并且設(shè)置開機自啟。11.默認情況下rsync的端口都是873,查看端口是否開啟。[root@backup~]#systemctlstartrsyncd[root@backup~]#systemctlenablersyncd[root@backup~]#systemctlstatusrsyncd●rsyncd.service-fastremotefilecopyprogramdaemonLoaded:loaded(/usr/lib/systemd/system/rsyncd.service;disabled;vendorpreset:disabled)Active:active(running)since五2022-02-1817:18:00CST;2sagoMainPID:118026(rsync)CGroup:/system.slice/rsyncd.service└─118026/usr/bin/rsync--daemon--no-detach...[root@backup~]#lsof-itcp:873COMMANDPIDUSERFDTYPEDEVICESIZE/OFFNODENAMErsync118026root3uIPv46161130t0TCP*:rsync(LISTEN)rsync118026root5uIPv66161140t0TCP*:rsync(LISTEN)4.4

NFS共享數(shù)據(jù)實時推送備份案例4.4.2

部署Rsync服務(wù)端—backup備份服務(wù)器12.將虛擬用戶及密碼寫入密碼配置文件。13.為提高密碼安全性,修改密碼文件的權(quán)限。[root@backup~]#echo"rsync_backup:123456">/etc/rsync.password[root@backup~]#ll/etc/rsync.password-rw-r--r--1rootroot202月2115:23/etc/rsync.password[root@backup~]#chmod600/etc/rsync.password[root@backup~]#ll/etc/rsync.password-rw1rootroot202月2115:23/etc/rsync.password(1)查看備份主機是否安裝了rsync工具。4.4

NFS共享數(shù)據(jù)實時推送備份案例4.4.3

部署Rsync客戶端—nfs-server存儲服務(wù)器(2)安裝rsync服務(wù)。[root@nfs-server~]#rpm-qa|grep"rsync"[root@nfs-server~]#yum-yinstallrsync……部分步驟已省略……已安裝:rsync.x86_640:3.1.2-10.el7完畢![root@nfs-server~]#rpm-qa|grep"rsync"rsync-3.1.2-10.el7.x86_641.實現(xiàn)rsync數(shù)據(jù)推送(3)添加虛擬用戶的密碼文件,只寫入密碼即可。[root@nfs-server~]#echo"123456">/etc/rsync.password(4)更改密碼文件的權(quán)限,以提高安全性。[root@nfs-server~]#chmod600/etc/rsync.password[root@nfs-server~]#ll-d/etc/rsync.password-rw1rootroot72月2115:58/etc/rsync.password4.4

NFS共享數(shù)據(jù)實時推送備份案例4.4.3

部署Rsync客戶端—nfs-server存儲服務(wù)器1.實現(xiàn)rsync數(shù)據(jù)推送(5)本節(jié)案例使用push推送測試rsync工具是否能傳輸文件。首先在rsync客戶端創(chuàng)建測試目錄/nfsbackup以及測試文件。[root@nfs-server~]#mkdir/nfsbackup[root@nfs-server~]#touch/nfsbackup/{1,2,3}_file[root@nfs-server~]#ls/nfsbackup/1_file2_file3_fileRsync同步包括兩種方式,push推送和pull拉取。push推送是指把本地的文件同步到指定的主機目錄下,pull拉取是指將指定主機目錄下的文件同步到本地。(6)在備份服務(wù)器backup中的/nfsbackup目錄中創(chuàng)建測試文件,表示已有的數(shù)據(jù)。[root@backup~]#touch/nfsbackup/{a,b,c}_test[root@backup~]#ls/nfsbackup/a_testb_testc_test4.4

NFS共享數(shù)據(jù)實時推送備份案例4.4.3

部署Rsync客戶端—nfs-server存儲服務(wù)器1.實現(xiàn)rsync數(shù)據(jù)推送[root@nfs-server~]#rsync-avH--port=873--progress--delete/nfsbackup/rsync_backup@32::nfsbackup/--password-file=/etc/rsync.passwordsendingincrementalfilelistdeletingc_testdeletingb_testdeletinga_test./1_file0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論