異構環境下的檔案共享是企業運維常見需求。本文記錄如何在 CentOS 5.6 上快速部署 NFS 服務,新增 20GB 磁碟作為共享存儲,並實現 Windows Server 2008 R2 作為客戶端無縫掛載,打通 Linux 與 Windows 的檔案互訪通道。
10.0.0.173,新增磁碟 /dev/sdb 格式化為 ext3 掛載於 /home/disk# 分區、格式化
fdisk /dev/sdb # 建立 sdb1
mkfs.ext3 /dev/sdb1
# 掛載並設定開機自動掛載
mkdir /home/disk
mount /dev/sdb1 /home/disk
echo "/dev/sdb1 /home/disk ext3 defaults 0 0" >> /etc/fstab
編輯 /etc/exports,核心配置:
/home/disk *(rw,sync,no_root_squash)
參數解析:
*:允許所有客戶端連接(生產環境建議限制具體 IP/網段)rw:讀寫權限sync:同步寫入,資料安全優先(高性能場景可用 async)no_root_squash:保留客戶端 root 權限(預設 root_squash 會將 root 映射為 nfsnobody,降低權限)service nfs start
chkconfig nfs on
showmount -e 127.0.0.1 # 本機驗證導出列表
「伺服器管理員」→「功能」→「添加功能」→勾選「NFS 服務」下的「NFS 用戶端」與「管理工具」,完成安裝。
C:\> mount 10.0.0.173:/home/disk I:
# 或使用完整語法
mount -o anon \\10.0.0.173\home\disk I:
掛載成功後,「我的電腦」將出現新磁碟機 I:,可像本地磁碟一樣讀寫、建立資料夾、運行程式。
/home/disk 192.168.1.100(rw,sync) 192.168.1.0/24(ro,sync)
針對特定 IP 給予讀寫,其餘同網段僅讀。
exportfs -r # 重新導出所有共享
exportfs -v # 查看當前導出詳情
/etc/sysconfig/nfs 中固定的 MOUNTD_PORT、STATD_PORT 等埠口。setsebool -P nfs_export_all_rw 1 或設定正確 context chcon -R -t nfs_t /home/disk。idmapd 或在 Windows 端指定匿名用戶映射。-o timeout=5,retry=3 提高穩定性。NFS 憑藉成熟穩定、跨平台支援完善,仍是 Linux 與 Windows 異構共享的首選方案。通過合理規劃存儲、精細配置權限、做好防火牆與 SELinux 放行,即可構建高可用、易維護的共享存儲服務,滿足虛擬機遷移、備份歸檔、日誌集中等多元業務場景需求。