1. 程式人生 > >第十四章 NFS搭建與配置

第十四章 NFS搭建與配置

linux

14.1 NFS介紹
NFS是Network File System的縮寫
NFS最早由Sun公司開發,分2,3,4三個版本,2和3由Sun起草開發,4.0開始Netapp公司參與並主導開發,最新為4.1版本
NFS數據傳輸基於RPC協議,RPC為Remote Procedure Call的簡寫。
NFS應用場景是:A,B,C三臺機器上需要保證被訪問到的文件是一樣的,A共享數據出來,B和C分別去掛載A共享的數據目錄,從而B和C訪問到的數據和A上的一致

技術分享圖片


14.2 NFS 安裝與配置
需要兩臺主機128作為服務器,129作為客戶機。
111端口為rpcbind監聽的端口。
服務器的安裝
yum install -y nfs-utils rpcbind

vim /etc/exports //加入如下內容
//要分享出去的目錄+IP+選項
/home/nfstestdir 192.168.188.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)

技術分享圖片

保存配置文件後,執行如下準備操作
mkdir /home/nfstestdir
chmod 777 /home/nfstestdir //創建分享的目錄
systemctl start rpcbind //啟動rpcbind
systemctl start nfs //啟動nfs
systemctl enable rpcbind //配置開機啟動
?systemctl enable nfs //配置開機啟動


14.2 NFS配置選項
1)配置選項
rw 讀寫
ro 只讀
sync 同步模式,內存數據實時寫入磁盤
async 非同步模式
no_root_squash 客戶端掛載NFS共享目錄後,root用戶不受約束,權限很大
root_squash 與上面選項相對,客戶端上的root用戶收到約束,被限定成某個普通用戶
all_squash 客戶端上所有用戶在使用NFS共享目錄時都被限定為一個普通用戶
anonuid/anongid 和上面幾個選項搭配使用,定義被限定用戶的uid和gid
2)客戶機配置
客戶機也需要安裝
yum install -y nfs-utils
查看具有權限的目錄
showmount -e 192.168.188.128 //該ip為NFS服務端ip

有時不能連接需要關閉防火墻和selinux
systemctl stop firewwalld
setenforce 0
掛載nfs類型到服務器的IP和共享的目錄
mount -t nfs 192.168.188.128:/home/nfstestdir /mnt
在客戶機查看 新建一個文件,
df -h
touch /mnt/aminglinux.txt
ls -l /mnt/aminglinux.txt //可以看到文件的屬主和屬組都為1000
ls -l /home/nfstestdir 服務器也有這個文件

技術分享圖片

技術分享圖片


14.4 exportfs 命令
常用選項
-a 全部掛載或者全部卸載
-r 重新掛載
-u 卸載某一個目錄
-v 顯示共享目錄
以下操作在服務端上
在服務器操作:
vim /etc/exports //增加
/tmp/ 192.168.188.0/24(rw,sync,no_root_squash)
?exportfs -arv //不用重啟nfs服務,配置文件就會生效

在客戶機操作:
umount /mnt/ //卸載掛載
mount -t nfs 192.168.188.128:/tmp/ /mnt/ //將tmp掛載上去


14.5 NFS客戶機問題
NFS 4版本會有該問題
方法1)客戶端掛載共享目錄後,不管是root用戶還是普通用戶,創建新文件時屬主、屬組為nobody
客戶端掛載時加上 -o nfsvers=3 //指定用3版本
mount -t nfs -oremount,nfsvers=3 192.168.188.128:/tmp /mnt/ 重新掛載並制定用NFS3
方法2)客戶端和服務端都需要
vim /etc/idmapd.conf //
把“#Domain = local.domain.edu” 改為 “Domain = xxx.com” (這裏的xxx.com,隨意定義吧),然後再重啟rpcidmapd服務

第十四章 NFS搭建與配置