服務器本地磁盤不足時,通過網絡掛載遠程存儲是標準擴容方案。本文系統講解 iSCSI(塊存儲)、NTFS(Windows 共享/移動硬盤)、NFS(Linux/Unix 共享)三類存儲的掛載流程、認證配置、性能優化、故障排查,含生產環境級參數模板。
iscsiadm -m discovery -t sendtargets -p <目標IP:3260>
# 輸出示例:192.168.1.100:3260,1 iqn.2001-05.com.storage:disk1
# 無認證
iscsiadm -m node -T iqn.2001-05.com.storage:disk1 -p 192.168.1.100:3260 -l
# CHAP 認證(單向/雙向)
iscsiadm -m node -T iqn.2001-05.com.storage:disk1 -p 192.168.1.100:3260 \
-o update -n node.session.auth.authmethod -v CHAP
iscsiadm -m node -T iqn.2001-05.com.storage:disk1 -p 192.168.1.100:3260 \
-o update -n node.session.auth.username -v <用戶名>
iscsiadm -m node -T iqn.2001-05.com.storage:disk1 -p 192.168.1.100:3260 \
-o update -n node.session.auth.password -v <密碼>
iscsiadm -m node -T iqn.2001-05.com.storage:disk1 -p 192.168.1.100:3260 -l
lsblk / fdisk -l # 確認新設備如 /dev/sdb
mkfs.ext4 /dev/sdb # 或 xfs,生產推薦 xfs
mkdir -p /mnt/iscsi_data
mount /dev/sdb /mnt/iscsi_data
# /etc/fstab 使用 UUID 防設備名漂移
blkid /dev/sdb
# UUID=xxxx /mnt/iscsi_data ext4 _netdev,nofail 0 0
# _netdev: 網絡就緒後掛載;nofail: 掛載失敗不阻塞啟動
umount /mnt/iscsi_data
iscsiadm -m node -T iqn.2001-05.com.storage:disk1 -p 192.168.1.100:3260 -u
# CentOS/RHEL
yum install -y epel-release && yum install -y ntfs-3g
# Debian/Ubuntu
apt-get install -y ntfs-3g
# 僅讀(舊 ntfs 驅動)
mount -t ntfs /dev/sdb1 /mnt/ntfs
# 讀寫(ntfs-3g,FUSE 用戶態,性能稍低但穩定)
mount -t ntfs-3g /dev/sdb1 /mnt/ntfs
# 或
ntfs-3g /dev/sdb1 /mnt/ntfs
UUID=xxxx /mnt/ntfs ntfs-3g defaults,uid=1000,gid=1000,umask=022 0 0
# uid/gid 指定掛載後文件擁有者,避免 root 獨佔
/data/nfs_share 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)
# rw: 讀寫;sync: 同步寫入(數據安全);no_root_squash: 客戶端 root 保持 root 權限(慎用)
exportfs -rv
systemctl enable --now nfs-server rpcbind
# 安裝客戶端工具
yum install -y nfs-utils # 或 apt install nfs-common
# 掛載
mkdir -p /mnt/nfs_data
mount -t nfs 192.168.1.100:/data/nfs_share /mnt/nfs_data
# 生產環境推薦參數
mount -t nfs 192.168.1.100:/data/nfs_share /mnt/nfs_data \
-o rw,hard,intr,timeo=600,retrans=2,rsize=1048576,wsize=1048576,_netdev
# hard: 服務端不可用時無限重試(數據不丟);intr: 允許信號中斷
# timeo/retrans: 超時重試策略;rsize/wsize: 1MB 塊傳輸(需服務端支援)
192.168.1.100:/data/nfs_share /mnt/nfs_data nfs defaults,_netdev,hard,intr,rsize=1048576,wsize=1048576 0 0
| 維度 | iSCSI | NFS | NTFS/移動盤 |
|---|---|---|---|
| 協議層級 | 塊級(SCSI 指令) | 文件級(RPC/XDR) | 文件級(本地/網絡共享) |
| 並發寫入 | 單客戶端獨佔(需集群文件系統支援多寫) | 原生多客戶端並發讀寫 | 單機獨佔/網絡共享僅讀 |
| 性能 | 最高(近本地盤,隨機 IO 強) | 高(順序 IO 強,元數據操作弱) | 中(受限於 USB/網絡帶寬) |
| 管理複雜度 | 高(LUN、CHAP、多路徑) | 低(exports 即用) | 最低 |
| 典型場景 | 數據庫、虛擬機磁盤、高性能應用 | 文件服務器、代碼倉庫、日志歸檔、容器持久化 | 數據遷移、異構共享、備份介質 |
ping、telnet IP 端口(iSCSI 3260、NFS 2049/111、SMB 445)rpcbind)sec=krb5、SMB 用戶映射hard 導致進程 D 狀態,用 intr 或 soft(可能丟數據)rsize/wsize、多路徑、網卡多隊列_netdev 確保網絡就緒後掛載,systemd 自動處理依賴