NFS服務配置

2022-07-11 09:24:10 字數 3269 閱讀 9968

文章中「//」後皆為注釋

nfs用於在網路上共享儲存。

nfs資料傳輸基於rpc協議,rpc為remote procedure call的簡寫。

nfs應用場景是:a,b,c三颱機器上需要保證被訪問到的檔案是一樣的,a共享資料出來,b和c分別去掛載a共享的資料目錄,從而b和c訪問到的資料和a上的一致。

nfs服務的優缺點           

1.2優點     

a.節省本地儲存空間將常用的資料存放在一台伺服器可以通過網路訪問      

b.簡單容易上手      

c.方便部署非常快速,維護十分簡單      

1.2缺點    

a.容易發生單點故障,及server機宕機了所有客戶端都不能訪問     

b.在高併發下nfs效率/效能有限    

c.客戶端沒用使用者認證機制,且資料是通過明文傳送,安全性一般(一般建議在區域網內使用)      

d.nfs的資料是明文的,對資料完整性不做驗證      

e.多台機器掛載nfs伺服器時,連線管理維護麻煩

配置nfs需要準備兩台虛擬機器。一台服務端,一台客戶端。

1.配置服務端nfs

在centos上使用nfs需要安裝兩個包。(nfs-utils和rpcbind),在使用yum安裝nfs-utils時rpcbind也會一併安裝。

# yum install -y nfs-utils

安裝完後開始進行配置。

只需要編輯器配置檔案/etc/exports。這個檔案即可

# vim /etc/exports    //進入到檔案中是空白的什麼也沒有,我們只需要在裡面加上一行文字即可。

/home/nfstestdir 192.168.134.0/24(rw,sync,all——squash,anonuid=1000,anongid=1000)//這個配置檔案只有一行,分三部分,第一部分是本地要共享出去的目錄,第二部分是允許訪問的主機(可以是乙個ip,也可以是乙個ip段),第三部分就是括號中的許可權選項。

//配置完成後的檔案內容。

關於第三部分配置檔案的選項有:

rw:表示讀/寫。

ro:表示唯讀。

sync:同步模式,表示記憶體中的資料實時寫入磁碟。

async:非同步模式,表示把記憶體中的資料定期寫入磁碟。

no_root_squash:加上這個選項後,root使用者就會對共享的目錄有用至高的許可權控制,就像是對本機的目錄操作一樣。但這樣安全性降低。

root_squash:表示不管使用nfs的使用者是誰,其身份都會被限定為乙個指定的普通使用者身份。

all_squuash:表示不使用nfs的使用者是誰,其身份都會被限定為乙個指定的普通使用者身份。

anonuid/anongid:要和root_squash以及all_squash選項一同使用,用於指定使用nfs的使用者被限定後的uid和gid,但前提是本機的/etc/passwd中存在相應的uid和gid。

[root@localhost ~]# mkdir /home/nfstestdir    //建立相關目錄

[root@localhost ~]# chmod 777 /home/nfstestdir  //對相關目錄的許可權進行更改以免後面發生錯誤。

[root@localhost ~]# systemctl start rpcbind  //啟動rpc

[root@localhost ~]# systemctl start nfs    //啟動nfs

[root@localhost ~]# systemctl enable rpcbind

[root@localhost ~]# systemctl enable nfs

[root@localhost ~]# systemctl stop firewalld.service  //關閉防火牆,使客戶端能後成功訪問服務端

// 在啟動nfs服務之前一定要先啟動rpcbind服務。 前面已經說過nfs資料傳輸是基於rpc協議的,所以一定要先啟動rpcbind才能使nfs正常啟動。

在配置完服務端後,我們對客戶端進行配置。

2.配置客戶端。

我們服務端的ip位址為 192.168.134.140.客服端為192.168.134.129.

我們現在客服端安裝(nfs-utils)包。

# yum install -y nfs-utils

在包安裝完成後我們可以使用showmount的命令檢視。

[root@localhost mnt]# showmount -e 192.168.134.140  //showmount -e  ip 可以檢視nfs共享的情況 ip 為服務端ip

export list for 192.168.134.140:                                      // 共享來自於192.168.134.140這個ip

/home/nfstestdir 192.168.134.0/24                                 //共享目錄和信任主機的網段

然後我們需要在客戶端上掛載nfs 

[root@localhost mnt]# mount -t nfs 192.168.134.140:/home/nfstestdir /mnt  //在掛在的時候我們必須加 [-t] nfs  這個選項用來指定掛在型別。  /mnt為掛載點。

檢視掛載是否成功。

我們可以看到 在/mnt目錄下已經掛載成功了。

進入到/mnt/ 目錄下建立測試檔案。

[root@localhost mnt]# cd /mnt/

[root@localhost mnt]# touch yjlinux.txt

如果有錯誤提示  touch: "無法建立yjlinux.txt":許可權不夠說明前面沒有對服務端/home/nfstestdir/進行授權。

[root@localhost mnt]# ls -l

total 0

-rw-r--r--. 1 yj yj 0 dec 3 2020 yjlinux.txt

[root@localhost mnt]# id yj

uid=1000(yj) gid=1000(yj) groups=1000(yj)

[root@localhost mnt]#

即可

NFS服務配置

確認ip 先檢查網路通不通。防火牆設定 不確定 開啟防火牆設定介面 開啟防火牆 3 關閉selinux 安裝nfs 選擇共享資料夾並配置nfs 直接修改配置檔案 etc exports 表明共享的是 nfsshare 這個目錄,共享給 192.168.193.141 客戶端。引數為 rw 讀寫 al...

nfs服務配置

服務端配置nfs 簡單配置nfs 分為三部分 1 本地要共享出去的目錄 2 允許訪問的主機 3 小括號裡邊的許可權選項 rw 讀寫 ro 唯讀 sync 同步模式,記憶體中資料時時寫入磁碟 async 不同步,把記憶體中資料定期寫入磁碟中 no root squash 加上這個選項後,root 使用...

NFS服務配置

nfs的安裝配置 centos 5 yum install nfs utils portmap centos 6 yum install nfs utils rpcbind 網路檔案系統 nfs,network file system 是一種將遠端主機上的分割槽 目錄 經網路掛載到本地系統的一種機制...