詳解centos7系統安裝部署NFS服務教程

2019-10-20     波波說運維

概述

最近有個項目需求:對於視頻、文檔類的文件幾個伺服器共用一個目錄,計劃用NFS服務實現。

系統環境:CentOS Linux release 7.3

軟體版本:nfs-utils-1.3.0-0.33.el7.x86_64


一、安裝

# yum -y install nfs-utils

nfs客戶端和服務端都安裝nfs-utils包,同時自動安裝rpcbind。安裝後會創建nfsnobody用戶和組,uid和gid都是65534。


二、修改配置

1、配置埠

nfs除了主程序埠2049和rpcbind的埠111是固定以外,還會使用一些隨機埠,以下配置將定義這些埠,以便配置防火牆

# vim /etc/sysconfig/nfs
# 追加埠配置
MOUNTD_PORT=4001  
STATD_PORT=4002
LOCKD_TCPPORT=4003
LOCKD_UDPPORT=4003
RQUOTAD_PORT=4004

2、配置NFS權限和目錄

# vim /etc/exports  
/attachments 172.xx/24(rw,wdelay,root_squash,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)

選項說明

ro:共享目錄只讀
rw:共享目錄可讀可寫
all_squash:所有訪問用戶都映射為匿名用戶或用戶組
no_all_squash(默認):訪問用戶先與本機用戶匹配,匹配失敗後再映射為匿名用戶或用戶組
root_squash(默認):將來訪的root用戶映射為匿名用戶或用戶組
no_root_squash:來訪的root用戶保持root帳號權限
anonuid=:指定匿名訪問用戶的本地用戶UID,默認為nfsnobody(65534)
anongid=:指定匿名訪問用戶的本地用戶組GID,默認為nfsnobody(65534)
secure(默認):限制客戶端只能從小於1024的tcp/ip埠連接伺服器
insecure:允許客戶端從大於1024的tcp/ip埠連接伺服器
sync:將數據同步寫入內存緩衝區與磁碟中,效率低,但可以保證數據的一致性
async:將數據先保存在內存緩衝區中,必要時才寫入磁碟
wdelay(默認):檢查是否有相關的寫操作,如果有則將這些寫操作一起執行,這樣可以提高效率
no_wdelay:若有寫操作則立即執行,應與sync配合使用
subtree_check(默認) :若輸出目錄是一個子目錄,則nfs伺服器將檢查其父目錄的權限
no_subtree_check :即使輸出目錄是一個子目錄,nfs伺服器也不檢查其父目錄的權限,這樣可以提高效率

三、防火牆

# iptables -I INPUT 5 -p tcp -m tcp --dport 111 -j ACCEPT
# iptables -I INPUT 5 -p udp -m udp --dport 111 -j ACCEPT
# iptables -I INPUT 5 -p tcp -m tcp --dport 2049 -j ACCEPT
# iptables -I INPUT 5 -p udp -m udp --dport 2049 -j ACCEPT
# iptables -I INPUT 5 -p tcp -m tcp --dport 4001:4004 -j ACCEPT
# iptables -I INPUT 5 -p udp -m udp --dport 4001:4004 -j ACCEPT
# iptables-save >/etc/sysconfig/iptables

四、啟動服務

啟動順序注意是rpcbind->nfs

# systemctl start rpcbind.service
# systemctl enable rpcbind.service
# systemctl start nfs.service
# systemctl enable nfs.service


五、客戶端掛載

1、直接掛載

# mount -t nfs NFS伺服器IP:共享目錄 本地掛載點目錄

2、開機自動掛載

# vi /etc/fstab
17xxxx:/attachments /u01/document nfs defaults 0 0

3、autofs掛載(掛載需慎重)

autofs自動掛載服務是一種Linux系統守護進程,當檢測到用戶視圖訪問一個尚未掛載的文件系統時,會自動掛載該文件系統。簡單來說,將掛載信息寫入/etc/fstab文件中,系統在每次開機時都會自動掛載,而autofs服務則是在用戶需要使用該文件系統時才去動態掛載,從而節約了網絡資源和伺服器硬體資源的開銷。

3.1、安裝autofs服務

# yum -y install autofs 

3.2、修改配置

# vi /etc/auto.master
#添加一行
/- /etc/auto.mount

# vi /etc/auto.mount
#添加一行
/u01/document -fstype=nfs,rw nfs.st.local:/attachments

3.3、啟動服務

# systemctl start autofs 
# systemctl enable autofs

覺得有用的朋友多幫忙轉發哦!後面會分享更多devops和DBA方面的內容,感興趣的朋友可以關注下~


文章來源: https://twgreatdaily.com/zh-tw/N77Z5m0BMH2_cNUgMM5y.html