NFS分佈式文件系統
NFS就是Network File System的縮寫,是一個分佈式文件系統。在一個PC中使用NFS工具搭建一個NFS服務器,然後其他PC安裝NFS客戶端工具,將網絡中的NFS服務器共享的網絡磁盤掛載到本地端的文件系統中。在NFS客戶端就可以像操作自己本地的磁盤一樣,操作這個共享的網絡磁盤,在使用上相當便利。
這個共享的網絡磁盤中的所有文件都是存儲在NFS服務器端,NFS客戶端不會存儲備份。
下圖中,Z盤掛載了NFS服務器分享出來的網絡磁盤,操作Z盤就像操作C盤,D盤等本地的磁盤一樣
NFS底層使用呢了RPC遠程調用協議,這裏不再做過多介紹,只講一下如何配置和使用NFS服務器
NFS服務器搭建
搭建使用NFS服務器前必須要安裝一些基礎的工具,centos和ubuntu兩個系統中的操作不同
ubuntu中
首先安裝基礎工具包,客戶端和服務器端安裝不同的工具包
sudo apt-get install nfs-kernel-server # 安裝 NFS服務器端
sudo apt-get install nfs-common # 安裝 NFS客戶端
啓動NFS服務
sudo /etc/init.d/nfs-kernel-server start
centos中
首先安裝基礎工具包
sudo yum install -y nfs-utils
sudo yum install -y rpcbind
啓動NFS服務
systemctl start rpcbind
systemctl enable rpcbind
systemctl start nfs-server nfs-secure-server
systemctl enable nfs-server nfs-secure-server
NFS服務器配置及使用
NFS服務端配置:
修改NFS的配置文件/etc/exports
,設置共享目錄,centos系統和ubuntu系統中都是修改這個文件。
export文件配置:
下面兩行是在/etc/exports
文件中配置的兩個共享目錄,192.168.245.0/24的含義是ip地址的前24位必須是192.168.245。
/public 192.168.245.0/24(ro)
的含義是,將NFS服務器上的/public
目錄共享給ip地址前24位是192.168.245的NFS客戶端,這個目錄對NFS客戶端來說是隻讀的(ro)
。
如果想配置一個所有人都可以掛載的目錄,那麼可以使用通配符“*”
/public 192.168.245.0/24(ro)
/protected 192.168.245.0/24(rw)
/share *(rw)
參數 | 作用 |
---|---|
ro | 只讀 |
rw | 讀寫 |
root_squash | 當NFS客戶端以root管理員訪問時,映射爲NFS服務器的匿名用戶 |
no_root_squash | 當NFS客戶端以root管理員訪問時,映射爲NFS服務器的root管理員 |
all_squash | 無論NFS客戶端使用什麼賬戶訪問,均映射爲NFS服務器的匿名用戶 |
sync | 同時將數據寫入到內存與硬盤中,保證不丟失數據 |
async | 優先將數據保存到內存,然後再寫入硬盤;這樣效率更高,但可能會丟失數據 |
/etc/exports
文件配置完成後,使用命令使其生效:
ubuntu系統下使用命令:
/etc/init.d/nfs-kernel-server restart
centos系統下使用命令:
systemctl reload nfs
NFS客戶端配置:
在NFS服務端配置完之後,需要在NFS客戶端做一些配置來使用NFS服務端共享出來的文件存儲空間。
第一步要查看一下NFS服務端共享出來的文件夾是否可用,使用命令:
showmount -e NFS服務器的ip地址
showmount命令參數:
參數 | 作用 |
---|---|
-e | 顯示NFS服務器的共享列表 |
-a | 顯示本機掛載的文件資源的情況NFS資源的情況 |
-v | 顯示版本號 |
如果出現上圖所示信息,表示NFS服務器可以正常使用。上圖左側是NFS服務器共享出來的目錄,右側是顯示哪些ip的機器可以使用這個共享的目錄。例如/home/k8spv
就只能由ip的前16位是10.108的機器進行使用。
確認共享目錄可以進行掛載操作後,可以選擇使用命令掛載或者修改配置文件,使用命令的方式,機器重啓之後配置就會失效,所以一般通過修改配置文件的方式來掛載共享目錄。修改/etc/fstab
vim /etc/fstab
如果需要將NFS服務器共享的/home/k8spv
目錄掛載到NFS客戶端的/home/kuber
目錄下,則添加如下的配置
10.108.224.173:/home/kuber /home/kuber nfs defaults 0 0
這是配置一個可讀可寫的文件目錄,如果配置只讀文件目錄,則最後一個值要設爲1
10.108.224.173:/home/ro /home/protect nfs defaults 0 1
使用命令使文件/etc/fstab
生效:
mount -a
window系統中配置NFS客戶端
準備工作:
Windows系統下使用NFS經常會出現權限問題,所以使用前最好修改一下注冊表。打開註冊表:regedit, 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default 下新建兩個OWORD(64)位值,添加值AnonymousGid,值默認爲0,AnonymousUid,值默認爲0。
配置NFS目錄:
第一步:在控制面板–>添加程序和功能–>添加NFS組件。
第二步:在此電腦,映射驅動器中添加nfs地址,和要共享的文件夾。