天天看點

CentOS部署NFS

1.伺服器端安裝

(1)檢視系統運作狀态

uname -a
           

(2)NFS軟體安裝

要部署NFS服務,必須安裝兩個軟體包:NFS-utils,RPC主程式。

  • NFS-utils:NFS 的主程式,包含 rpc.nfsd 和 rpc.mount 這兩個 deamons.
  • Rpcbind:RPC 主程式,可以将 NFS 視為 RPC 下的一個子程式。

    查詢 nfs-utils 和 rpcbind 包是否安裝:

rpm -qa nfs-utils rpcbind
           

如果沒有安裝,可以用 yum 指令進行安裝

yum install -y nfs-utils rpcbind
           

(3)啟動服務并檢查

服務端要啟動 rpcbind 和 NFS 服務且需按順序啟動,用戶端要啟動 rpcbind 服務不啟動 NFS 服務。

systemctl start rpcbind.service
systemctl start nfs-server		# 如果失敗,可以換成 systemctl start nfs.service
           

檢視系統中啟用的端口:

netstat -lnt
           

檢視 NFS 向 RPC 注冊的端口資訊:

rpcinfo -p
           
RPC 主程式的三個程序 含義
rpc.mounted NFS 挂載程式,用戶端是否能夠登入
nfsd NFS 主程式,管理用戶端能夠取得的權限
rpc.rqutod 管理共享配額

将 NFS 與 RPC 服務加入開機自動啟動

systemctl enable rpcbind.service
systemctl enable nfs-server			# 如果不能成功,可以使用 systemctl enable nfs.service
           

2.配置 NFS 服務

(1)建立共享目錄 /data

mkdir -p /data
           

修改 /data 及子檔案屬主屬組 nfsnobody

chown -R nfsnobody.nfsnobody /data		# 無效就直接 chmod 777 /data 或者嘗試 nobody.nobody
ll 
           

(2)編輯 NFS 服務端配置檔案

vi /etc/exports

# 内容為(ip 位址需要修改):/data 192.168.148.136/24(rw,sync,all_squash)
# 格式:[共享目錄] [自身ip位址/類型] [共享參數設定]
# 共享參數說明:
# ro				目錄可讀
# rw				目錄可讀可寫
# sync				将資料同步寫入記憶體緩沖區與磁盤中
# async				将資料先寫入記憶體緩沖區,有必要時才寫入磁盤
# all_squash		将遠端通路使用者及組全映射成預設使用者或使用者組nfsnobody(或nobody)
# no_all_squash		與all_squash配置相反
# root_squash		将root使用者及所屬組映射成預設使用者或使用者組
# no_root_squash	與root_squash配置相反
# anonuid			将遠端通路使用者映射成指定使用者及ID的使用者
# anongid			将遠端通路使用者組映射成指定使用者組ID的使用者組
           

(3)重新加載 NFS 服務配置檔案

exportfs -rv
           

(4)檢查或挂載

​ 将 /data 共享目錄挂載到 /mnt 目錄:

mount -t nfs 192.168.148.136:/data /mnt		# ip 位址需要修改
df -h
           

(5)NFS 開啟防火牆配置

​ 将 NFS 服務的端口設定成固定端口,設定成功後需要重新開機 rpcbind、nfs 服務。

vim /etc/sysconfig/nfs

#内容為
RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002                                                                         LOCKD_UDPPORT=30002                                                                         MOUNTD_PORT=30003                                                                           STATD_PORT=30004  

systemctl restart rpcbind.service
systemctl restart nfs-server		# 如果不能成功,可以使用 systemctl restart nfs.service
           

​ 配置防火牆開放的端口号,配置好後需要重新開機 iptables.service

dnf install iptables-services

# 關閉預設使用的防火牆
systemctl stop firewalld
systemctl mask firewalld

# 修改配置檔案
vi /etc/sysconfig/iptables

# 内容為
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp --dport 111 -j ACCEPT
-A INPUT -m state --state NEW -m udp --dport 111 -j ACCEPT
-A INPUT -m state --state NEW -m tcp --dport 2049 -j ACCEPT
-A INPUT -m state --state NEW -m udp --dport 2049 -j ACCEPT
-A INPUT -m state --state NEW -m tcp --dport 30001:30004 -j ACCEPT
-A INPUT -m state --state NEW -m udp --dport 30001:30004 -j ACCEPT

service iptables save		# 使配置生效
systemctl restart iptables.service	# 重新開機服務
           

3.NFS 用戶端的部署

(1)安裝 NFS 與 RPC 服務并啟動

yum install -y nfs-utils rpcbind
systemctl start rpcbind.service
           

(2)檢視挂載情況

(3)用戶端挂載共享目錄

mkdir /nfsclient
mount -t nfs 192.168.148.136:/data /nfsclient	# 伺服器端 ip
df -h
           

(4)測試共享

​ 在用戶端建立 123.txt 檔案,在服務端的共享目錄 /data 下也會出現

cd /nfsclient/
ll
touch 123.txt
ll
           

(5)mount 挂載性能優化(在用戶端操作)

time dd if=/dev/zero of=/nfsclient/text-file bs=100k count=1000
           

​ 解除安裝原來的挂載

umount -lf -t nfs 192.168.148.136:/data /nfsclient/
           

​ 安全優加優化的挂載

time dd if=/dev/zero of=/nfsclient/text-file bs=100k count=1000
           

繼續閱讀