NFS
這也是一個共享服務,相對於samba服務,NFS搭建就簡單的多,比較方便,多用於對權限控制不是那麼嚴格的環境。
NFS服務可以將遠程linux上的文件共享資源掛載到本地主機的目錄上,從而使得本地主機(Linux客戶端)基於TCP/IP協議,像使用本地主機上的資源那樣讀寫遠程Linux系統上的共享文件。
優點:
通過網絡訪問共享資源,不用下載到本地,節省主機存儲資源
將網絡共享永久掛載到本地後,相當於在本地添加一塊磁盤使用方便
不需要每次使用共享資源都訪問服務器端
相關協議介紹===>掛上就能用啊你:NFS
需求
在服務器上部署NFS服務,共享/data/目錄,讓windows客戶機和linux客戶機掛載共享目錄。
環境:
服務器IP | 192.168.1.123 |
---|---|
windows,linux客戶機 | 能通信即可 |
安裝及啓動
NFS服務需要藉助RPC(Remote Procedure Call,遠程過程調用)協議實現通信,需要使用RPC服務將NFS服務器的IP地址和端口號等信息發送給客戶端。
NFS服務的程序爲nfs-utils,而使用RPC協議,就需要安裝rpcbind程序了。
yum install -y nfs-utils rpcbind
啓動時,因爲NFS需要依賴RPC協議實現,所以在開啓的時候,要先開啓rpcbind服務
systemctl start rpcbind.socket
systemctl start nfs
查看其端口
netstat -anput | grep rpc
建議將其設置爲開機啓動,能最大程度的向客戶端提供服務
systemctl enable rpcbind
systemctl enable nfs
NFS服務器配置
創建/data/共享目錄,並創建測試文件
mkdir /data
touch /data/test.txt
echo "HELLO" >/data/test.txt
chmod +777 /data/test.txt
NFS的主配置文件/etc/exports,以下爲配置文件參數說明:
參數 | 作用 |
---|---|
ro | 只讀權限 |
rw | 讀取與修改 |
no_root_squash | 當NFS客戶端以root管理員訪問時,映射爲NFS服務器的root管理員 |
root_squash | 當NFS客戶端以root管理員訪問時,映射爲NFS服務器的匿名用戶 |
all_squash | 無論NFS客戶端使用什麼賬戶訪問,均映射爲NFS服務器的匿名用戶 |
sync | 同時將數據寫入到內存與硬盤中,保證不丟失數據 |
async | 優先將數據保存到內存,然後再寫入硬盤;這樣效率更高,但可能會丟失數據 |
NFS的主配置文件內容是空的,需要自己手動添加條目。
vim /etc/exports
/data 192.168.1.*(rw,sync,all_squash)
書寫格式:共享目錄 允許訪問的地址(配置參數,以,爲分隔符)
之後啓動服務,若已經啓動,重啓服務即可。
systemctl restart rpcbind
systemctl restart nfs
linux客戶端
使用showmount命令顯示可掛載NFS共享目錄。
showmount參數說明:
參數 | 說明 |
---|---|
-e | 顯示NFS服務器的共享列表 |
-a | 顯示本機掛載的文件資源的情況 |
-v | 顯示版本號 |
直接使用-e選項查詢共享信息
showmount -e 192.168.1.123
Export list for 192.168.1.123:
/data 192.168.1.*
然後使用mount命令即可臨時掛載共享目錄
mkdir /data
mount -t nfs 192.168.1.123:/data /data
這樣就掛載完成了,查看一下其中有沒有共享的數據
ls /data/
test.txt
cat /data/test.txt
HELLO
查看是否爲網絡掛載
[root@linux ~]# df -hT /data/
文件系統 類型 容量 已用 可用 已用% 掛載點
192.168.1.123:/data nfs4 50G 5.2G 45G 11% /data
對於客戶端來說,使用共享是非常頻繁的,建議將其永久掛載。
vim /etc/fstab
#末尾添加以下內容:
192.168.1.123:/data /data nfs defaults 0 0
重啓系統生效。
windows客戶端
win+R輸入OptionalFeatures打開windows功能,在其中開啓NFS服務功能
若不打開器功能,在使用命令的時候會報錯
C:\Users\Administrator>showmount -e
'showmount' 不是內部或外部命令,也不是可運行的程序
或批處理文件。
開啓功能後,就可以自由使用其命令了,先查看一下NFS主機的共享目錄
C:\Users\Administrator>showmount -e 192.168.1.123
導出列表在 192.168.1.123:
/data 192.168.1.*
使用mount命令可將其掛載,命令格式:mount ip:共享目錄 本地盤符號
C:\Users\Administrator>mount 192.168.1.123:/data z:
z: 現已成功連接到 192.168.1.123:/data
命令已成功完成。
在資源管理器中就可以看到掛載的共享目錄了。
共享的權限爲讀寫,這裏修改一下文件內容,在服務器端查看一下
服務器端查看
cat /data/test.txt
HELLO!!!
測試完成