Centos8搭建nfs共享服務器,注意第三步需要啟動nfs
https://blog.csdn.net/yiwangC/article/details/104753705
實現微服務接口服務器的集群部署、上傳文件保存到通過NFS服務器共享磁盤,
微服務接口服務器1:192.168.3.3
微服務接口服務器2:192.168.3.4
微服務接口服務器3:192.168.3.5
NFS服務器:192.168.3.20
NFS部署步驟
1、檢查NFS是否已安裝
rpm -qa | grep nfs-utils
2、如果沒有安裝 執行如下命令安裝
dnf install nfs-utils
3.啟動nfs服務器 systemctl start nfs-server
查看當前nfs服務所支持的nfs的版本
cat /proc/fs/nfsd/versions
nfs4的大版本下nfs2已經不被支持了
4、NFS服務操作命令
.
查看NFS服務狀態
.
.
systemctl status nfs-server
.
啟動NFS服務
systemctl start nfs-server
.
.
停止NFS服務
systemctl stop nfs-server
.
5、配置共享文件目錄
.
創建目錄樹
.mkdir -p /data/nfs
.
進入data目錄
cd /data
.
更改data目錄下的所有文件目錄所有者為web
.
.
chown web.web *
.
6、編輯配置文件 及本地做掛載測試
.
編輯配置文件
.
.
vi /etc/exports
.
.
.
.
增加以下內容 其中192.168.3.20是本機IP
.
.
/data/nfs 192.168.3.*(rw,sync,all_squash,anonuid=1000,anongid=1001)
.
.
.
.
支持所有IP 可訪問共享在磁盤
.
.
/data/nfs *(insecure,rw,async,no_root_squash)
.
.
.
說明: /etc/exports是nfs默認的配置文件
說明:各項權限的說明:
rw:可讀寫
ro: 只讀
no_root_squash:對root用戶不壓制,如果客戶端以root用戶寫入,在服務端都映射為服務端的root用戶
root_squash: nfs服務:默認情況使用的是相反參數root_squash,
如果客戶端是用戶root操作,會被壓制成nobody用戶
all_squash: 不管客戶端的使用nfs的用戶是誰,都會壓制成nobody用戶
insecure: 允許從客戶端過來的非授權訪問
sync: 數據同步寫入到內存和硬盤
async: 數據先寫入內存,不直接寫入到硬盤
anonuid: 指定uid的值,此uid必須存在於/etc/passwd中
anongid:指定gid的值
7、配置完成后,使nfs配置生效
說明:完成設置后,使用exportfs實用程序有選擇地導出目錄,而無需重新啟動NFS服務
.
使用exportfs實用程序有選擇地導出目錄,而無需重新啟動NFS服務
.
.
exportfs -rv
.
.
.
查看當前配置為nfs共享的目錄及其狀態
.
.
exportfs -v
.
8、掛載本地測試
.
將遠程磁盤掛載到本地
.
.
mount 192.168.3.20:/data/nfs /mnt
.
.
.
.
查看磁盤情況
df -hT
9、如果Firewalld正在運行,請允許NFS服務,否則其它客戶端無法訪問:
.firewall-cmd --add-service=nfs --permanent
firewall-cmd --add-service={rpc-bind,mountd,nfs,nlockmgr,portmapper} --permanent
.firewall-cmd --reload
.
需要啟用SELinux boolean:
.setsebool -P nfs_export_all_rw 1
.
開機啟動NFS
.
開機啟動NFS
.
.
systemctl enable nfs-server
.
10、客戶端掛載
.
查詢遠程NFS 磁盤
.
.
showmount -e 192.168.3.20
.
.
.
.
掛載點為 /home/fileserver 目錄不存在時需要創建
.
.
創建目錄樹
.
.
mkdir -p /home/fileserver
.
.
授權web
.
.
chown web.web /home/*
.
.
.
.
掛載磁盤
.
.
mount -t nfs 192.168.3.20:/data/nfs /home/fileserver
.
客戶端和服務端的用戶id保持一致 本文為web
查看本地web用戶的id
grep web /etc/passwd
把客戶端的nginx用戶id修改為和服務端一致:
.
修改用戶
.
.
usermod -u 1000 web
.
.
.
.
修改用戶組
.
.
groupmod -g 1001 web
.
.
.
.
查看用戶修改情況
.
.
grep web /etc/passwd
.
客戶端機器啟動后能自動加載nfs文件系統
.
.
.
把mount命令 添加到以下文件內容
.
.
vi /etc/rc.local
.
.
.
.
最后一行添加
.
.
mount -a
.
.
.
.
賦與可執行權限
.
.
chmod +x /etc/rc.local
.
.
.
.
修改vi /etc/fstab
.
.
vi /etc/rc.local
.
.
最后一行添加
.
.
192.168.3.20:/data/nfs /home/fileserver nfs defaults 0 0
.
.
.
.
執行文件測試
.
.
bash /etc/rc.local
.
注意:如果配置/etc/fstab NFS自動掛載不成功 嘗試
rc.local文件增加 mount -a
mount -a 是自動掛載 /etc/fstab 里面的東西