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 划分流程
- 创建 RAID 组:在存储控制器上选择磁盘类型(SAS/SSD/NL-SAS),配置 RAID 级别(推荐 RAID 10 或 RAID 6)。
- 划分 LUN:从 RAID 组中分配逻辑单元号(LUN),指定容量(建议按备份窗口峰值需求 + 20% 余量)。
- 映射 LUN 至主机:绑定主机 WWN(FC)或 IQN(iSCSI),设置 LUN ID(建议从 0 开始连续编号)。
- 启用多路径:配置 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 两种路径。
4.6 格式化与挂载点规划 SVG
下图聚焦于块设备格式化后的挂载点层级结构,展示标准化的目录树规划。
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 管理。