centos8共享文件夹挂载_CentOS 8 安装并配置NFS服务
NFS
? ? ? 網絡文件系統(Network File System)是一種分布式文件系統協議,通過網絡共享遠程目錄。使用NFS,可以在系統上掛載遠程目錄,并像對待本地文件一樣使用遠程計算機上的文件。
? ? ?默認情況下,NFS協議未加密,并且與Samba不同,它不提供用戶身份驗證。客戶端的IP地址或主機名限制了對服務器的訪問。
主機清單
HOSTNAME | IP | SYSTEM OS |
nfs-server | 192.168.99.227 | CentOS Linux release 8.1.1911 |
nfs-client-linux | 192.168.99.233 | CentOS Linux release 7.6.1810 |
nfs-client-windows | 192.168.99.234 | Windows Server 2016 Datacenter |
nfs-server
安裝 nfs
[root@nfs-server ~]# dnf install nfs-utils查看 nfs 版本
[root@nfs-server ~]# rpm -qa | grep nfs-utils.nfs-utils-2.3.3-26.el8.x86_64開啟 nfs 服務
[root@nfs-server /]# systemctl start nfs-server查看 nfs 支持的版本信息
[root@nfs-server /]# cat /proc/fs/nfsd/versions -2 +3 +4 +4.1 +4.2創建 nfs 共享目錄
mkdir -p /mnt/{nfs1,nfs2}/etc/exports 是 nfs 默認的配置文件
nfs1?讀寫
nfs2 只讀
nfs3 只讀
[root@nfs-server /]# vim /etc/exports/mnt/nfs1 192.168.99.0/255.255.255.0(rw,sync,all_squash)/mnt/nfs2?192.168.99.234(ro,sync,all_squash)/mnt/nfs3?*(ro,sync,all_squash)/etc/exports 各項參數說明
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的值查看當前配置為 nfs 共享的目錄及其狀態
exportfs 參數
-r: Reexport all directories: 重新導出所有目錄-v: verbose,輸出詳情?設置文件夾的權限
chown -R nobody /mnt/{nfs1,nfs2}防火墻配置
[root@nfs-server /]# firewall-cmd --add-service=nfs --permanent[root@nfs-server /]# firewall-cmd --add-service=rpc-bind --permanent[root@nfs-server /]# firewall-cmd --add-service=mountd --permanent[root@nfs-server?/]#??firewall-cmd??--reloadnfs-client-linux
showmount
? 使用showmount命令測試NFS服務器的輸出目錄狀態,showmount命令的基本格式為:
showmount [選項] NFS服務器名稱或地址
-a:顯示指定的NFS服務器的所有客戶端主機及其所連接的目錄;
-d:顯示指定的NFS服務器中已被客戶端連接的所有輸出目錄;
-e:顯示指定的NFS服務器上所有輸出的共享目錄。
[root@kafka-node2 ~]# showmount -e 192.168.99.227Export list for 192.168.99.227:/mnt/nfs2 192.168.99.0/255.255.255.0/mnt/nfs1 192.168.99.0/255.255.255.0mount 掛載
mount? 服務器名或IP地址:輸出目錄?? 本地掛載目錄
[root@kafka-node2 /]# mkdir /mnt/data[root@kafka-node2 /]# mount -t nfs 192.168.99.227:/mnt/nfs1 /mnt/dataumount 卸載
[root@kafka-node2 /]# umount /mnt/data/nfs-client-windows
安裝 NFS 客戶端
mount?-h 驗證客戶端是否安裝成功
掛載
mount \\192.168.99.227\mnt\nfs1 x:卸載
umount x:查看nfs目錄
nfs1?讀寫 nfs2 只讀
NFS 服務器 uid/gid 映射
? ? ? 在集群環境中,每臺主機相同用戶賬號,但是分配的uid/gid是不同的。當多主機后端的存儲為同一個共享存儲,這時就會遇到一個問題,NFS協議是通過uid來控制文件讀寫權限的,主機中用戶寫入的文件uid與其他主機不同,就無法被其他主機讀取或修改,出現權限錯誤的問題。
創建用戶
useradd -u 1234 -s /sbin/nologin -M nfsuser-u : 指定用戶uid
-M:?--no-create-home? 不創建用戶home目錄
-s :?--shell? ? 指定用戶的shell
修改用戶id和組id
usermod -u 1234 nfsusergroupmod -g 1234 nfsuser創建 nfs 共享目錄
mkdir /data/nfschown -R nfsuser:nfsuser /data/nfs編輯 nfs 配置文件
[root@nfs-server /]# vi /etc/exports/data/nfs 192.168.99.0/255.225.255.0(rw,sync,all_squash,anonuid=1234,anongid=1234)總結
以上是生活随笔為你收集整理的centos8共享文件夹挂载_CentOS 8 安装并配置NFS服务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 潮汕牛肉火锅为什么这么牛?
- 下一篇: apache php隐藏头信息的方法,a