萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

CentOS 6.4 NFS 網路檔案系統安裝與配置完整指南

CentOS 6.4 部署 NFS 伺服器與客戶端完整流程

NFS(Network File System)讓不同 Linux 系統能透過網路共享目錄,如同存取本地檔案般方便。本文以 CentOS 6.4 為例,詳細說明從套件安裝、服務啟動、匯出配置到客戶端掛載的完整步驟。

一、伺服端安裝必要套件

檢查是否已安裝 NFS 與 RPC 相關套件:

rpm -qa | grep nfs
rpm -qa | grep rpcbind

若缺少套件,使用 yum 線上安裝:

yum install -y nfs-utils nfs-utils-lib rpcbind

二、配置匯出目錄 /etc/exports

編輯主要配置檔:

vi /etc/exports

加入共享規則(每行一條):

# 僅允許 192.168.0.0/24 網段唯讀存取
/tmp 192.168.0.0/24(ro,sync)

# 允許特定 IP 讀寫,同步寫入,保留 root 權限
/tmp 192.168.0.65(rw,sync,no_root_squash)

常用參數說明:

  • ro / rw:唯讀 / 讀寫
  • sync:資料同步寫入磁碟(較安全)
  • async:非同步(較快但有風險)
  • no_root_squash:客戶端 root 保有 root 權限(預設會壓縮為 nfsnobody)
  • root_squash:預設行為,將 root 映射為匿名使用者

三、啟動與設定開機自啟服務

CentOS 6 使用 portmap(新版為 rpcbind):

service portmap restart
service nfs restart
chkconfig portmap on
chkconfig nfs on

驗證服務狀態:

showmount -e localhost  # 查看本機匯出列表
showmount -a              # 顯示已連線的客戶端

四、客戶端掛載 NFS 共享

查詢伺服器可用共享:

showmount -e 192.168.0.248

掛載到本地目錄:

mkdir -p /mnt/nfs_share
mount -t nfs 192.168.0.248:/tmp /mnt/nfs_share

設定開機自動掛載(/etc/fstab):

192.168.0.248:/tmp  /mnt/nfs_share  nfs  defaults  0  0

五、常見掛載錯誤與解決方案

錯誤現象: mount: 1831-008 giving up ... vmount: Operation not permitted

原因: 客戶端使用非保留埠(>1024)連線,但伺服器要求保留埠。

解決: 在伺服器啟用保留埠限制:

nfso -p -o nfs_use_reserved_ports=1

或在客戶端掛載時指定選項:

mount -o resvport 192.168.0.248:/tmp /mnt/nfs_share

六、防火牆配置(關鍵步驟)

NFS 需開放以下埠(TCP/UDP):

  • 111 (portmap/rpcbind)
  • 2049 (nfs)
  • 其他動態埠:需固定 /etc/sysconfig/nfs 中的 MOUNTD_PORT、STATD_PORT 等,再於 iptables 開放
# 範例 iptables 規則
iptables -A INPUT -p tcp --dport 111 -j ACCEPT
iptables -A INPUT -p udp --dport 111 -j ACCEPT
iptables -A INPUT -p tcp --dport 2049 -j ACCEPT
iptables -A INPUT -p udp --dport 2049 -j ACCEPT
service iptables save

七、效能調優建議

  • 使用 async 提升寫入速度(非關鍵資料)
  • 調整 rsize/wsize(讀寫區塊大小),建議 65536 (64KB)
  • 啟用 NFSv4:mount -t nfs4 ... 獲得更好安全性與效能
copyright © 萬盛學電腦網 all rights reserved