在Linux中安裝、配置和掛載NFS的完整指南
一、NFS簡介
NFS(Network File System) 是一種分布式文件系統(tǒng)協(xié)議,允許用戶通過網(wǎng)絡(luò)在不同主機(jī)間共享文件和目錄。它適用于局域網(wǎng)環(huán)境,常用于服務(wù)器集群、數(shù)據(jù)共享等場景。本文詳細(xì)介紹NFS服務(wù)端與客戶端的安裝、配置及掛載流程。
二、NFS服務(wù)端配置
1. 安裝NFS服務(wù)
根據(jù) Linux 發(fā)行版選擇命令:
Ubuntu/Debian
sudo apt update && sudo apt install nfs-kernel-server
CentOS/RHEL
sudo yum install nfs-utils # CentOS 7 sudo dnf install nfs-utils # CentOS 8+/RHEL
2. 創(chuàng)建共享目錄
sudo mkdir -p /mnt/nfs_share sudo chown nobody:nogroup /mnt/nfs_share # 設(shè)置權(quán)限(根據(jù)需要調(diào)整)
3. 配置NFS導(dǎo)出規(guī)則
編輯配置文件 /etc/exports,定義共享目錄及訪問權(quán)限:
# 語法:<共享目錄> <客戶端IP/網(wǎng)段>(權(quán)限選項(xiàng)) /mnt/nfs_share 192.168.1.0/24(rw,sync,no_subtree_check)
常用權(quán)限選項(xiàng):
rw:讀寫權(quán)限。ro:只讀權(quán)限。sync:同步寫入磁盤(數(shù)據(jù)安全性高)。async:異步寫入(性能更好,但可能丟失數(shù)據(jù))。no_root_squash:允許客戶端root用戶保留權(quán)限(謹(jǐn)慎使用)。
示例:
/mnt/nfs_share *(rw,sync,no_root_squash)
4. 生效配置并啟動服務(wù)
sudo exportfs -a # 重新加載 exports 配置 sudo systemctl start nfs-server # 啟動服務(wù) sudo systemctl enable nfs-server # 設(shè)置開機(jī)自啟
5. 防火墻配置
開放 NFS 相關(guān)端口(NFSv4 默認(rèn)使用 TCP 2049):
sudo ufw allow 2049/tcp # Ubuntu sudo firewall-cmd --permanent --add-service=nfs && firewall-cmd --reload # CentOS
三、NFS客戶端配置
1. 安裝NFS客戶端工具
Ubuntu/Debian
sudo apt install nfs-common
CentOS/RHEL
sudo yum install nfs-utils
2. 創(chuàng)建本地掛載點(diǎn)
sudo mkdir -p /mnt/nfs_client
3. 手動掛載NFS共享
sudo mount -t nfs <服務(wù)端IP>:/mnt/nfs_share /mnt/nfs_client
示例:
sudo mount -t nfs 192.168.1.100:/mnt/nfs_share /mnt/nfs_client
4. 自動掛載(重啟生效)
編輯 /etc/fstab 文件,添加以下行:
<服務(wù)端IP>:/mnt/nfs_share /mnt/nfs_client nfs defaults 0 0
示例:
192.168.1.100:/mnt/nfs_share /mnt/nfs_client nfs defaults 0 0
5. 驗(yàn)證掛載
df -h | grep nfs # 查看掛載狀態(tài) touch /mnt/nfs_client/test.txt # 測試讀寫權(quán)限
四、高級配置與調(diào)試
1. 指定NFS版本
掛載時強(qiáng)制使用 NFSv4:
sudo mount -t nfs -o vers=4 192.168.1.100:/mnt/nfs_share /mnt/nfs_client
2. 用戶身份映射
在服務(wù)端 /etc/exports 中配置 anonuid 和 anongid:
/mnt/nfs_share 192.168.1.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
3. 查看NFS共享狀態(tài)
服務(wù)端:
showmount -e localhost # 查看已導(dǎo)出的共享目錄
客戶端:
showmount -e <服務(wù)端IP>
4. 日志排查
- 服務(wù)端日志:
/var/log/syslog(Ubuntu)或/var/log/messages(CentOS)。 - 客戶端日志:
dmesg | grep nfs。
五、常見問題解決
權(quán)限被拒絕(Permission Denied)
- 檢查服務(wù)端
/etc/exports的權(quán)限配置。 - 確??蛻舳擞脩魧燧d點(diǎn)有訪問權(quán)限。
連接超時或無法訪問
- 確認(rèn)防火墻已放行NFS端口(尤其是NFSv3需要額外開放
rpcbind端口)。 - 使用
rpcinfo -p <服務(wù)端IP>檢查RPC服務(wù)狀態(tài)。
掛載后文件屬主顯示為nobody
- 在服務(wù)端配置
no_all_squash或指定anonuid/anongid。
六、總結(jié)
NFS 是 Linux 環(huán)境中高效的文件共享解決方案。通過配置服務(wù)端導(dǎo)出規(guī)則、客戶端掛載目錄,并合理設(shè)置權(quán)限與防火墻規(guī)則,即可實(shí)現(xiàn)穩(wěn)定可靠的網(wǎng)絡(luò)存儲。對于生產(chǎn)環(huán)境,建議結(jié)合Kerberos增強(qiáng)安全性,并定期監(jiān)控NFS性能。
注意:NFS默認(rèn)不加密傳輸數(shù)據(jù),公網(wǎng)環(huán)境建議使用VPN或SSH隧道保護(hù)通信。
以上就是在Linux中安裝、配置和掛載NFS的完整指南的詳細(xì)內(nèi)容,更多關(guān)于Linux安裝、配置和掛載NFS的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
linux創(chuàng)建線程之pthread_create的具體使用
這篇文章主要介紹了linux創(chuàng)建線程之pthread_create的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
安裝Apache提示丟失VCRUNTIME140.DLL怎么辦
本文通過自己的實(shí)際情況,給大家分享了在安裝Apache時提示丟失VCRUNTIME140.DLL的解決辦法,非常的實(shí)用,有需要的小伙伴可以參考下。2016-03-03
Linux 下安裝 memcached 及 memcacheq的方法
這篇文章主要介紹了Linux 下安裝 memcached 及 memcacheq的方法,需要的朋友可以參考下2017-03-03

