文章目錄
什麼是NFS
NFS就是Network File System的縮寫,即網絡文件系統。他可以通過網絡,讓不同的機器,不同的操作系統可以共享彼此的文件
要部署NFS服務,必須要安裝兩個軟件包:
-
nfs-util:NFS主程序
-
rpcbind:PRC主程序
安裝
- 檢測:
rpm -qa | grep rpcbind
、rpm -qa | grep nfs
- 安裝:
yum install nfs-utils rpcbind
配置
- 編輯配置文件:
vi /etc/exports
- 配置完要激活註冊文件!!!:
exportfs -r
# [共享目錄] [客戶端地址(權限)] //home/yuandongxu/nfs-test 192.168.11.0(insecure,rw,sync,no_root_squash)
NFS權限設置,即/etc/exports文件配置中小括號內的參數
- rw:可讀寫
- ro:只讀
- sync:同步寫入
- async:異步寫入
- root_squash:對於訪問NFS server共享目錄的用戶,如果是root的話會被壓縮成爲nobody用戶身份
- all_squash:不管訪問nfs server共享目錄的用戶身份如何 包括root,它的權限都將被壓縮成爲匿名用戶,同時他們的udi和gid都會變成nobody或nfsnobody賬戶的uid,gid。在多個nfs客戶端同時讀寫nfs server數據時,這個參數很有用,可以確保大家寫入的數據的權限是一樣的。但不同系統有可能匿名用戶的uid,gid不同。因爲此處我們需要服務端和客戶端之間的用戶是一樣的。比如說:服務端指定匿名用戶的UID爲2000,那麼客戶端也一定要存在2000這個賬號纔可以
- anonuid:anonuid就是匿名的uid,說明客戶端以什麼權限來訪問服務端
- anongid:同anongid,就是把uid換成gid
啓動服務與設置開機自啓
- 啓動RPC服務:
systemctl start rpcbind
- 設置RPC開機自啓:
systemctl enable rpcbind.service
- 啓動NFS:
systemctl start nfs
- 設置NFS自啓:
systemctl enable nfs
服務器文件的掛載與卸載
- 格式:
mount -t nfs 服務端ip/端口:共享目錄 掛載點
- 以只讀的方式掛載:
mount -t nfs 192.168.1.100:/tmp /mnt/nfs
- 以讀寫的方式掛載:
192.168.1.100:/tmp /mnt/nfs
- 卸載:
umount /mnt/nfs
查詢狀態
- 本地RPC註冊狀態:
rpcinfo -p localhost
- 查詢NFS服務器的相關信息:
showmount -e 待查詢IP
- 管理維護NFS導出表:
exportfs
- 本地已掛載磁盤:
df -h
本地測試
DEBUG
1. NFS程序未啓動:clnt_create: RPC: Program not registered
是由於你nfs服務器沒有啓動,可通過systemctl restart nfs
啓動