这是一份关于AIX中rootvg镜像的制作、取消与更换硬盘的详细操作指南。内容基于IBM AIX(主要适用于AIX 5L、6.1、7.x版本)的最佳实践。
核心概念
- rootvg: 存放操作系统内核、关键命令和配置文件的卷组。
- 镜像: 将逻辑卷(LV)的数据同步复制到不同物理卷(PV)上的不同物理分区(PP)上,提供高可用性。
- 关键命令:
mirrorvg, unmirrorvg, reducevg, migratepv, chpv, lspv。
第一部分:为rootvg制作镜像
这是最常用的操作,将rootvg扩展到第二块硬盘并实现数据镜像。
前提条件
有一块
大小足够的空白或可用的物理磁盘(磁盘大小应不小于rootvg当前使用的空间)。
确认磁盘状态:
lspv- 新磁盘应显示为
None,如:hdisk1 none
确保有足够的
引导记录槽位(非常重要!)。
操作步骤
方法A:使用 mirrorvg 命令(标准方法)
# 1. 扩展rootvg,将新磁盘(如hdisk1)加入rootvg
extendvg rootvg hdisk1
# 2. 为rootvg创建镜像(此命令会自动镜像所有逻辑卷,包括root卷)
# -c 表示创建两个副本(即镜像),-S 表示同步执行
mirrorvg -c 2 rootvg
# 3. (关键!)在备用磁盘上创建引导映像
bosboot -ad /dev/hdisk1
bootlist -m normal hdisk0 hdisk1
bootlist -m normal -o
# 4. 同步引导信息(适用于AIX 6.1/7.x,如果使用旧版,上一步已足够)
# 此步骤确保每个磁盘都有完整的BLV(引导逻辑卷)信息
mkboot -d /dev/hdisk1
方法B:手动镜像(更可控)
# 1. 扩展rootvg
extendvg rootvg hdisk1
# 2. 仅为关键逻辑卷镜像(例如:hd5, hd6, hd8, hd4, hd2, hd9var, hd10opt等)
mklvcopy hd5 2 hdisk1
mklvcopy hd6 2 hdisk1
mklvcopy hd8 2 hdisk1
# ... 为其他需要镜像的LV执行mklvcopy
# 3. 在备用磁盘上创建引导信息(至关重要!)
bosboot -ad /dev/hdisk1
bootlist -m normal hdisk0 hdisk1
# 4. 同步数据(后台执行,可观察进度)
syncvg -v rootvg
# 5. 设置镜像的写调度策略(可选,推荐用于rootvg)
mirrorvg -c 2 rootvg # 如果之前没做,可以现在做来统一调度策略
# 或者
chlv -c 2 <lvname>
验证镜像
# 查看卷组镜像状态
lsvg -l rootvg
# 查看每个逻辑卷的LP/PP分布,应有“2个”副本
lsvg -M rootvg
# 或查看具体LV
lslv hd5
# 查看引导列表
bootlist -m normal -o
第二部分:取消rootvg镜像
当需要移除一块磁盘(例如磁盘故障或计划维护)时,需要先取消镜像。
步骤
# 1. 从引导列表中移除要取下的磁盘(例如hdisk1)
bootlist -m normal hdisk0
bootlist -m normal -o
# 2. 取消镜像,将指定磁盘上的副本移除
# 此命令会将hdisk1上所有rootvg的逻辑卷副本删除,数据保留在其他磁盘上
unmirrorvg rootvg hdisk1
# 3. 将磁盘从rootvg中移除
reducevg rootvg hdisk1
# 4. 清除磁盘上的引导记录和PVID(如果磁盘要取出或重用)
chpv -c hdisk1 # 清除引导记录
rmdev -dl hdisk1 # 从ODM中删除磁盘定义,如果是永久移除
注意: 如果磁盘已经故障无法访问,需要使用强制选项:
unmirrorvg -f rootvg hdisk1
reducevg -f rootvg hdisk1
然后从系统中rmdev掉这块盘。
第三部分:更换rootvg中的故障硬盘
这是最常见的维护场景。假设镜像对中的一块盘(hdisk1)故障。
在线更换步骤
识别故障盘:
lspv
# 故障盘可能显示为`missing`或状态异常
diag -> 功能选择 -> 诊断 -> 高级诊断 -> SCSI/磁盘管理 -> 识别故障
取消故障盘的镜像(如果系统仍可运行):
unmirrorvg rootvg hdisk1
reducevg rootvg hdisk1
rmdev -dl hdisk1
物理更换硬盘(热插拔或关机更换)。
重新扫描磁盘:
cfgmgr
lspv
# 确认新磁盘被识别,例如新的hdisk1
将新磁盘加入rootvg并重建镜像:
extendvg rootvg hdisk1
mirrorvg -c 2 rootvg
bosboot -ad /dev/hdisk1
bootlist -m normal hdisk0 hdisk1
syncvg -v rootvg
验证:
lsvg -l rootvg
lsvg -M rootvg | grep stale # 确保没有“stale”分区
第四部分:更换rootvg的启动盘(如hdisk0故障)
这种情况更复杂,因为故障盘是当前系统的启动盘。
最佳情况:系统仍在运行(hdisk0故障但通过hdisk1启动了)
系统会告警,但可能已自动从
hdisk1启动。
# 确认当前启动盘
bootinfo -b
# 如果已经是hdisk1,则操作如下:
# a. 将故障盘hdisk0取消镜像并移除
unmirrorvg rootvg hdisk0
reducevg rootvg hdisk0
rmdev -dl hdisk0
# b. 物理更换磁盘
# c. 扫描新盘
cfgmgr
# d. 将新盘加入并重建镜像到新盘(现在它可能叫hdisk2)
extendvg rootvg hdisk2
mirrorvg rootvg
bosboot -ad /dev/hdisk2
bootlist -m normal hdisk1 hdisk2
syncvg -v rootvg
最坏情况:系统无法启动(两块盘都故障或镜像断裂)
从
AIX安装介质或备份磁带启动。
选择
诊断模式或
维护模式。
导入原有的rootvg(如果数据可读):
importvg -y rootvg hdiskX
尝试修复文件系统:
fsck /dev/fslvXX
重建引导映像:
bosboot -ad /dev/hdiskX
重新设置引导列表并重启。
关键注意事项与故障排除
引导记录是重中之重: 每次镜像结构改变(增/删磁盘),都必须用
bosboot和
bootlist更新引导信息。
同步状态: 使用
syncvg后,用
lsvg -l rootvg检查是否有
stale分区。Stale状态表示副本不同步,需要重新同步或修复。
磁盘大小: 新磁盘必须不小于原rootvg已使用的空间,否则
extendvg或
mirrorvg会失败。
quorum: 默认
mirrorvg会关闭卷组的quorum(
-Q选项),防止一块盘离线导致整个vg冻结。这是AIX rootvg镜像的推荐设置。可以使用
lsvg rootvg查看quorum状态。
更换启动盘后: 如果系统启动顺序改变,务必在HMC/ASMI或系统BIOS中确认物理启动顺序。
备份: 在进行任何镜像操作前,如果可能,确保有可用的
系统备份(mksysb)。
查看详细错误: 操作失败时,查看
/var/adm/ras/下的日志文件,特别是
errlog。
通过遵循上述步骤,您可以安全地管理AIX rootvg的镜像,确保系统的高可用性和可维护性。对于生产系统,务必在测试环境演练或在有经验人员指导下进行。