4. 存储环境准备:SAN/NAS 存储挂载、LUN 划分、文件系统格式化与挂载点规划

备份恢复变更窗口的底层依赖是稳定、高性能的存储环境。本章聚焦于 SAN(存储区域网络)与 NAS(网络附加存储)两种主流架构的挂载流程、LUN 划分策略、文件系统格式化规范以及挂载点规划原则。正确的存储准备能有效避免备份窗口内的 I/O 瓶颈与空间不足风险。

4.1 SAN 与 NAS 架构对比

在开始操作前,需明确 SAN 与 NAS 的核心差异,以便根据备份数据类型(块级 vs 文件级)选择正确的挂载方式。

对比维度 SAN(存储区域网络) NAS(网络附加存储)
协议 FC(光纤通道)、iSCSI、FCoE NFS(网络文件系统)、CIFS/SMB
访问粒度 块级(LUN) 文件级(共享目录)
操作系统视角 识别为本地磁盘(需格式化) 识别为远程挂载点(无需格式化)
典型场景 数据库备份、虚拟机磁盘备份 文件服务器备份、日志归档
网络要求 专用光纤网络或高性能以太网 标准以太网(建议万兆)
多主机共享 需集群文件系统(如 GFS2、VMFS) 原生支持多客户端并发访问
选型提示: 若备份目标为 Oracle RAC 或 SQL Server AlwaysOn,优先使用 SAN 块设备以获得更低延迟;若备份目标为海量小文件(如日志、归档),NAS 的共享语义与快照能力更具优势。

4.2 SAN 存储挂载与 LUN 划分

SAN 环境下的存储准备分为存储端配置与主机端识别两个阶段。以下以 iSCSI 协议为例(FC 协议流程类似,仅传输层不同)。

4.2.1 存储端 LUN 划分流程

  1. 创建 RAID 组:在存储控制器上选择磁盘类型(SAS/SSD/NL-SAS),配置 RAID 级别(推荐 RAID 10 或 RAID 6)。
  2. 划分 LUN:从 RAID 组中分配逻辑单元号(LUN),指定容量(建议按备份窗口峰值需求 + 20% 余量)。
  3. 映射 LUN 至主机:绑定主机 WWN(FC)或 IQN(iSCSI),设置 LUN ID(建议从 0 开始连续编号)。
  4. 启用多路径:配置 ALUA(非对称逻辑单元访问)或主动/主动模式,确保冗余路径。
关键参数清单(存储端):
  • LUN 名称:BKUP_ORACLE_PROD_01
  • 容量:2 TiB
  • RAID 级别:RAID 10
  • 块大小:512e(兼容性最佳)
  • 主机 IQN:iqn.2024-08.com.example:db-backup-srv

4.2.2 主机端 iSCSI 挂载步骤

# 1. 安装 iSCSI 启动器软件包
yum install -y iscsi-initiator-utils

# 2. 配置启动器名称(需与存储端映射一致)
echo "InitiatorName=iqn.2024-08.com.example:db-backup-srv" > /etc/iscsi/initiatorname.iscsi

# 3. 发现存储目标
iscsiadm -m discovery -t sendtargets -p 192.168.100.10:3260

# 4. 登录目标
iscsiadm -m node -T iqn.2024-08.storage:bkup-target -p 192.168.100.10:3260 --login

# 5. 验证磁盘识别
lsblk | grep sd
# 预期输出:sdb 或 sdc(具体取决于系统)
多路径配置提醒: 若主机连接了多条 iSCSI 路径,必须安装并配置 device-mapper-multipath,否则可能导致 I/O 错误或文件系统损坏。配置完成后使用 multipath -ll 确认路径状态为 active/ready。

4.3 NAS 存储挂载(NFS/CIFS)

NAS 挂载无需 LUN 划分,但需在存储端导出共享目录,并在主机端配置挂载选项以保障备份性能。

4.3.1 NFS 挂载示例(Linux 主机)

# 1. 安装 NFS 客户端
yum install -y nfs-utils

# 2. 创建本地挂载点
mkdir -p /backup/nfs_archive

# 3. 挂载 NFS 共享(建议使用 NFSv4 并指定硬挂载)
mount -t nfs4 -o hard,intr,rsize=1048576,wsize=1048576,noatime \
  192.168.200.10:/export/backup /backup/nfs_archive

# 4. 验证挂载
df -h /backup/nfs_archive

4.3.2 CIFS/SMB 挂载示例(Windows 主机)

# PowerShell 挂载命令
$cred = Get-Credential
New-PSDrive -Name "B" -PSProvider FileSystem -Root "\\192.168.200.20\backup$" -Credential $cred -Persist
性能优化: NFS 挂载时建议设置 rsize 和 wsize 为 1 MiB(1048576),并启用 noatime 以减少元数据写入。CIFS 挂载时建议禁用 oplocks 以避免备份进程被锁阻塞。

4.4 文件系统格式化与挂载点规划

SAN 块设备(如 /dev/sdb 或 /dev/mapper/mpatha)必须经过格式化才能使用。文件系统的选择直接影响备份写入效率与空间管理。

4.4.1 文件系统选型建议

文件系统 适用场景 最大文件大小 推荐块大小
XFS 大文件备份(数据库 dump、虚拟机镜像) 8 EiB 4 KiB(默认)
ext4 通用备份存储(中小文件混合) 16 TiB 4 KiB
ZFS 需要压缩、去重、快照的高级场景 16 EiB 可变(recordsize=1M)

4.4.2 格式化与挂载点规划示例

# 1. 对多路径设备进行分区(可选,建议直接使用整块设备)
parted /dev/mapper/mpatha mklabel  /dev/mapper/mpatha mkpart primary 0% 100%

# 2. 格式化(以 XFS 为例)
mkfs.xfs -f -b size=4096 -d agcount=4 /dev/mapper/mpatha-part1

# 3. 创建挂载点(遵循标准化命名)
mkdir -p /backup/san/oracle_prod
mkdir -p /backup/san/sql_alwayson
mkdir -p /backup/nfs/archive_logs

# 4. 写入 /etc/fstab 实现开机自动挂载
echo "/dev/mapper/mpatha-part1 /backup/san/oracle_prod xfs defaults,_netdev 0 0" >> /etc/fstab
echo "192.168.200.10:/export/backup /backup/nfs/archive_logs nfs4 hard,intr,rsize=1048576,wsize=1048576,noatime 0 0" >> /etc/fstab

# 5. 挂载所有条目
mount -a

4.4.3 挂载点规划原则

  • 隔离性:不同备份类型(数据库、文件、日志)使用独立挂载点,避免相互影响。
  • 可扩展性:挂载点路径包含业务标识与环境标识,如 /backup/{存储类型}/{应用名}_{环境}。
  • 容量预警:为每个挂载点设置监控阈值(建议 80% 告警,95% 紧急),并预留至少 10% 的 inode 余量。
挂载点命名规范示例:
/backup/san/oracle_prod          # SAN 块设备,Oracle 生产库
/backup/san/sql_alwayson         # SAN 块设备,SQL Server AlwaysOn
/backup/nfs/archive_logs         # NAS 共享,归档日志
/backup/nfs/file_server_daily    # NAS 共享,文件服务器日备

4.5 存储准备完整流程 SVG

下图展示了从存储端配置到主机端挂载的完整链路,涵盖 SAN 与 NAS 两种路径。

存储准备完整流程(SAN + NAS) 存储端配置 创建 RAID 组 划分 LUN / 共享目录 映射至主机(WWN/IQN) SAN / NAS ? SAN:iSCSI / FC 登录 多路径配置(DM-MP) 识别块设备(lsblk) NAS:NFS / CIFS 挂载 挂载选项优化(rsize) 验证挂载(df -h) 格式化 + 挂载点规划 ⚠ 关键检查点 多路径状态 & 挂载选项 & 容量预留

4.6 格式化与挂载点规划 SVG

下图聚焦于块设备格式化后的挂载点层级结构,展示标准化的目录树规划。

挂载点标准化目录树 /backup san nfs local oracle_prod sql_alwayson archive_logs file_daily temp_staging 命名规范:/backup/{存储类型}/{应用名}_{环境} 示例:/backup/san/oracle_prod → SAN 块设备,Oracle 生产环境 每个挂载点独立监控容量与 inode 使用率

4.7 验证清单与常见问题

检查项 命令 / 方法 预期结果
多路径状态 multipath -ll 所有路径显示 active/ready
磁盘识别 lsblk -o NAME,SIZE,TYPE,MOUNTPOINT 块设备大小与 LUN 容量一致
文件系统挂载 df -Th 挂载点类型为 xfs/ext4/nfs4
写入测试 dd if=/dev/zero of=/backup/san/test.dd bs=1M count=1024 无 I/O 错误,速度符合预期
持久化配置 cat /etc/fstab | grep backup 所有挂载点已配置自动挂载
常见问题:
  • LUN 无法识别:检查主机 IQN/WWN 是否与存储端映射一致,确认 iSCSI 服务已启动(systemctl status iscsid)。
  • 多路径 I/O 错误:确认 /etc/multipath.conf 中已配置 wwid 并启用 user_friendly_names。
  • NFS 挂载卡死:使用 hard,intr 选项,并检查网络丢包率(ping -f)。
最佳实践: 在变更窗口开始前,至少提前 24 小时完成存储挂载与格式化,并执行一次全量备份演练以验证 I/O 路径的稳定性。记录每个 LUN 的 WWID 与挂载点对应关系,纳入 CMDB 管理。