溫馨提示×

溫馨提示×

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

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

搭建NFS服務(wù)器

發(fā)布時(shí)間:2020-07-25 02:10:21 來源:網(wǎng)絡(luò) 閱讀:455 作者:rickzhu 欄目:建站服務(wù)器
  1. 簡介

  NFS 是Network File System的縮寫,即網(wǎng)絡(luò)文件系統(tǒng)。一種使用于分散式文件系統(tǒng)的協(xié)定。功能是通過網(wǎng)絡(luò)讓不同的機(jī)器、不同的操作系統(tǒng)能夠彼此分享個(gè)別的數(shù)據(jù)讓應(yīng)用程序在客戶端通過網(wǎng)絡(luò)訪問位于服務(wù)器磁盤中的數(shù)據(jù),是在類Unix系統(tǒng)間實(shí)現(xiàn)磁盤文件共享的一種方法。NFS 的基本原則是“容許不同的客戶端及服務(wù)端通過一組RPC分享相同的文件系統(tǒng)”,它是獨(dú)立于操作系統(tǒng),容許不同硬件及操作系統(tǒng)的系統(tǒng)共同進(jìn)行文件的分享。NFS在文件傳送或信息傳送過程中依賴于RPC協(xié)議。RPC,遠(yuǎn)程過程調(diào)用(Remote Procedure Call) 是能使客戶端執(zhí)行其他系統(tǒng)中程序的一種機(jī)制。NFS本身是沒有提供信息傳輸?shù)膮f(xié)議和功能的,但NFS卻能讓我們通過網(wǎng)絡(luò)進(jìn)行資料的分享,這是因?yàn)镹FS使用了一些其它的傳輸協(xié)議。而這些傳輸協(xié)議用到這個(gè)RPC功能的??梢哉fNFS本身就是使用RPC的一個(gè)程序。或者說NFS也是一個(gè)RPC SERVER。所以只要用到NFS的地方都要啟動(dòng)RPC服務(wù),不論是NFSSERVER或者NFS CLIENT。這樣SERVER和CLIENT才能通過RPC來實(shí)現(xiàn)PROGRAM PORT的對應(yīng)??梢赃@么理解RPC和NFS的關(guān)系:NFS是一個(gè)文件系統(tǒng),而RPC是負(fù)責(zé)信息的傳輸。

2.部署

2.1部署環(huán)境

操作系統(tǒng):CentOS Linux release 7.3.1611 (Core)

服務(wù)端:10.0.1.16

客戶端:10.0.1.1 10.0.1.2

2.2安裝服務(wù)器端
2.2.1在服務(wù)器端使用yum安裝nfs-utils服務(wù)

命令如下:

#yum list |grep nfs-utils #查看是否有nfs-utils的rpm包

#yum install nfs-utils.x86_64 -y  #安裝nfs-utils

2.2.2創(chuàng)建相關(guān)用戶并指定用戶id和用戶組id,然后設(shè)置目錄的屬主和用戶組

#groupadd -g 1005 rick

#useradd -g 1005 -u 1005-M rick

#mkdir -p /share/data

#chown -R rick:rick /share/data

注:1005是用戶id和用戶組id,這個(gè)實(shí)驗(yàn)我使用自定義的;也可以使用默認(rèn)的,使用

cat /etc/passwd |grep rick 命令行查看,例如

rick:x:1001:1001::/home/rick:/bin/bash

以冒號為分隔符,第一個(gè)字段是用戶名稱;第二個(gè)字段是密碼,是隱藏的;第三個(gè)字段是用戶id;第四個(gè)字段是用戶組id;第五個(gè)字段是描述;第六個(gè)字段是用戶的主目錄;第七個(gè)字段是用戶可用的shell。

2.2.3配置共享目錄并且設(shè)置權(quán)限,編輯nfs配置文件/etc/exports

命令:vim /etc/exports

添加  /share/data    *(rw,sync,all_squash,anonuid=1005,anongid=1005

      共享目錄  權(quán)限設(shè)置,*代表允許所有ip訪問,其他權(quán)限參考2.4節(jié)

注:這里為了方便使用*來設(shè)置可訪問共享目錄的ip,為了安全起見,部署的時(shí)候建議指定可訪問的單個(gè)ip或者一個(gè)網(wǎng)段,

例如

/share/data   10.0.1.1(rw,sync,all_squash,anonuid=1005,anongid=1005

#指定單個(gè)ip可訪問共享文件目錄

/share/data   10.0.1.0/24(rw,sync,all_squash,anonuid=1005,anongid=1005

#指定某個(gè)網(wǎng)段可以訪問共享文件目錄

或者

/share/data   10.0.1.1(rw,sync,all_squash,anonuid=1005,anongid=1005

10.0.1.2(rw,sync,all_squash,anonuid=1005,anongid=1005

#上面兩行是連接起來的哦,ip()空格ip(),多個(gè)ip使用空格分隔

#指定多ip可訪問共享文件目錄

2.2.4 啟動(dòng)rpc(可能系統(tǒng)已經(jīng)啟動(dòng))和nfs服務(wù)

systemctl start rpcbind.service

systemctl start nfs-server.service

2.2.5 防火墻開放111(rpc端口)和2049(nfs端口)

#firewall-cmd --permanent --add-port=111/tcp

#firewall-cmd --permanent --add-port=2049/tcp

#firewall-cmd --reload

 

2.3 安裝客戶端
2.3.1 需要安裝nfs服務(wù),然后掛載nfs服務(wù)器端的共享目錄

yum install nfs-utils.x86_64 -y

mount -t nfs 10.0.1.16:/share/data /opt

注:/opt目錄是自定義的,如果本地沒有此目錄會(huì)自動(dòng)創(chuàng)建

2.3.2開機(jī)自動(dòng)掛載

vim /etc/fstab

添加10.0.1.16:/share/data /opt nfs defaults 0 0

2.4 權(quán)限參數(shù)設(shè)置參考表


參數(shù)值

內(nèi)容說明

rw
 ro

該目錄分享的權(quán)限是可讀寫 (read-write) 或唯讀 (read-only),但最終能不能讀寫,還是與檔案系統(tǒng)的 rwx 及身份有關(guān)。

sync
 async

sync 代表資料會(huì)同步寫入到記憶體與硬碟中,async 則代表資料會(huì)先暫存於記憶體當(dāng)中,而非直接寫入硬碟!

no_root_squash
 root_squash

用戶端使用 NFS 檔案系統(tǒng)的帳號若為 root 時(shí),系統(tǒng)該如何判斷這個(gè)帳號的身份?預(yù)設(shè)的情況下,用戶端 root 的身份會(huì)由 root_squash 的設(shè)定壓縮成 nfsnobody, 如此對伺服器的系統(tǒng)會(huì)較有保障。但如果你想要開放用戶端使用 root 身份來操作伺服器的檔案系統(tǒng),那麼這裡就得要開  no_root_squash 才行!

all_squash

不論登入 NFS 的使用者身份為何, 他的身份都會(huì)被壓縮成為匿名使用者,通常也就是 nobody(nfsnobody) 啦!

anonuid
 anongid

anon 意指 anonymous (匿名者) 前面關(guān)於 *_squash 提到的匿名使用者的 UID 設(shè)定值,通常為 nobody(nfsnobody),但是你可以自行設(shè)定這個(gè) UID 的值!當(dāng)然,這個(gè) UID 必需要存在於你的 /etc/passwd 當(dāng)中! anonuid 指的是 UID 而  anongid 則是群組的 GID 囉。


本文是參考鳥哥的私房菜-服務(wù)器而進(jìn)行的實(shí)驗(yàn),且本文沒有鳥哥寫的那么詳細(xì)。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI