在 AIX 操作系统中创建新卷组(VG)的核心是 “初始化物理卷(PV)→ 整合 PV 创建 VG”,需确保硬件兼容、资源充足,以下是 完整可落地的操作步骤、参数详解、示例及注意事项,覆盖普通 VG、大 VG 等常见场景(基于 AIX 7.1/7.2 主流版本)。
一、创建 VG 的前置条件(必满足)
- 硬件要求:有至少 1 块 AIX 识别的空闲硬盘(本地硬盘或存储阵列映射的 LUN,设备名通常为
hdiskX); - 权限要求:必须以
root用户或具有solaris.admin.vm权限的用户执行; - 资源检查:空闲硬盘未加入任何 VG(
lspv查看状态为none),无命名冲突(lsvg确认 VG 名未被使用)。
二、创建 VG 的核心步骤(分 2 步走)
步骤 1:准备物理卷(PV 初始化)
新硬盘需先激活 “PV 属性”(标记为 LVM 兼容),才能加入 VG。
操作命令:
bash
运行
# 1. 查看系统中所有空闲硬盘(状态为"none"的是未使用的硬盘)
lspv # 输出示例:hdisk0(vg00)、hdisk1(none)、hdisk2(none)
# 2. 选择目标硬盘(如hdisk1、hdisk2),初始化PV属性
chdev -l hdisk1 -a pv=yes # -l:指定硬盘设备名;-a pv=yes:启用PV属性
chdev -l hdisk2 -a pv=yes
# 3. 验证PV初始化结果(状态变为"available",VG NAME为"none")
lspv hdisk1 # 输出示例:
# hdisk1: 00f72d5634123456 none available # 可用作VG的PV
关键说明:
- 若硬盘已加入其他 VG(
lspv显示 VG NAME 非none),需先通过reducevg移除(需确保该 PV 无数据); - 若硬盘状态为
not available,需先排查硬件连接(如存储映射、硬盘故障)。
步骤 2:创建卷组(VG)
使用
mkvg 命令将初始化后的 PV 整合为 VG,核心参数需根据业务场景配置。2.1 命令语法
bash
运行
mkvg [选项] 物理卷列表(hdiskX)
2.2 核心选项详解(必选 / 常用)
| 选项 | 作用 | 示例 |
|---|---|---|
-y <VG名> |
指定 VG 名称(自定义,唯一标识) | -y appvg(应用卷组) |
-s <PP大小> |
设置物理分区(PP)大小(单位 MB) | -s 8(8MB/PP,创建后不可改) |
-B |
创建 “大 VG(Big VG)”(支持更多 LV/PP) | 无参数,直接加在选项中 |
-S |
创建 “可扩展 VG(Scalable VG)” | 无参数,支持更大容量和 PV 数量 |
-t <类型> |
指定 VG 类型(默认普通 VG,无需指定) | -t big(等价于-B) |
关键参数选择建议:
- PP 大小:默认 4MB,建议根据业务调整:
- 小文件场景(如日志、配置文件):4MB/8MB(节省空间);
- 大文件场景(如数据库、备份数据):16MB/32MB/64MB(提升 I/O 效率);
- 注意:PP 大小创建后不可修改,需提前规划。
- VG 类型:
- 普通 VG(默认):最大 256 个 PV,每个 PV 最大 1PB,满足绝大多数场景;
- 大 VG(
-B):支持更多 LV(最大 512 个)和 PP(每个 PV 最大 131072 个),适合超大规模存储; - 可扩展 VG(
-S):AIX 6.1 + 支持,最大 1024 个 PV,每个 PV 最大 1PB,推荐企业级场景使用。
2.3 实战示例(3 种常见场景)
示例 1:创建普通 VG(默认类型,适合常规应用)
需求:将 hdisk1、hdisk2(各 10GB)创建为普通 VG
appvg,PP 大小 8MB。bash
运行
# 执行创建命令
mkvg -y appvg -s 8 hdisk1 hdisk2
# 验证VG创建结果(核心信息解读)
lsvg appvg # 输出示例:
# VG NAME: appvg # VG名称
# VG IDENTIFIER: 00f72d5600004c000000018a7e654321 # 唯一ID(导入/恢复用)
# PV COUNT: 2 # 包含2块PV
# TOTAL PPs: 2496 (19968 MB) # 总容量(2496×8MB≈20GB,扣除少量元数据空间)
# FREE PPs: 2488 (19896 MB) # 剩余可用空间(可分配给LV)
# PP SIZE: 8 megabytes # PP大小
# VG STATE: active/complete # 状态:激活/完整(可正常使用)
# AUTO ON: no # 默认不开机自动激活(需手动配置)
示例 2:创建大 VG(Big VG,适合多 LV 场景)
需求:将 hdisk3、hdisk4(各 20GB)创建为大 VG
dbvg,PP 大小 16MB。bash
运行
# 执行创建命令(-B指定大VG)
mkvg -y dbvg -s 16 -B hdisk3 hdisk4
# 验证VG类型(VG TYPE为big)
lsvg dbvg | grep "VG TYPE" # 输出:VG TYPE: big
示例 3:创建可扩展 VG(Scalable VG,企业级推荐)
需求:将 hdisk5、hdisk6、hdisk7(各 30GB)创建为可扩展 VG
datavg,PP 大小 32MB。bash
运行
# 执行创建命令(-S指定可扩展VG)
mkvg -y datavg -s 32 -S hdisk5 hdisk6 hdisk7
# 验证VG类型(VG TYPE为scalable)
lsvg datavg | grep "VG TYPE" # 输出:VG TYPE: scalable
步骤 3:可选配置(生产环境推荐)
创建 VG 后,建议补充以下配置,提升可用性:
1. 配置 VG 开机自动激活
默认创建的 VG 开机不自动激活,需手动配置:
bash
运行
chvg -a y appvg # -a y:启用开机自动激活
lsvg appvg | grep "AUTO ON" # 验证:AUTO ON: yes
2. 备份 VG 配置(防止元数据丢失)
bash
运行
vgcfgbackup -f /backup/appvg_cfg_$(date +%Y%m%d).bak appvg
三、常见错误与解决方法
错误 1:创建 VG 时提示 “PV 已加入其他 VG”
bash
运行
# 报错示例:0516-1162 mkvg: Physical volume hdisk1 is already assigned to a volume group.
# 解决:先从原VG中移除该PV(需确保PV无数据)
reducevg oldvg hdisk1 # oldvg为原VG名称
chdev -l hdisk1 -a pv=yes # 重新初始化PV
mkvg -y appvg -s 8 hdisk1 hdisk2 # 重新创建VG
错误 2:硬盘未初始化 PV 属性
bash
运行
# 报错示例:0516-1163 mkvg: Physical volume hdisk1 is not a valid physical volume.
# 解决:执行chdev命令初始化PV
chdev -l hdisk1 -a pv=yes
错误 3:VG 名称已存在
bash
运行
# 报错示例:0516-1164 mkvg: Volume group appvg already exists.
# 解决:更换VG名称(如appvg_new)
mkvg -y appvg_new -s 8 hdisk1 hdisk2
错误 4:硬盘状态为 “not available”
bash
运行
# 报错示例:0516-1165 mkvg: Physical volume hdisk1 is not available.
# 解决:排查硬件连接(如存储映射、硬盘故障),或强制激活硬盘
chdev -l hdisk1 -a state=available
四、创建 VG 后的后续操作(可选)
- 创建 LV 和文件系统:从新 VG 中分配空间给 LV,格式化后挂载使用(核心目的):
bash运行
mklv -y applv -t jfs2 -L 10G appvg # 创建10GB的LV crfs -v jfs2 -d applv -m /appdata -A yes # 创建JFS2文件系统并设置开机挂载 mount /appdata # 立即挂载 - 扩容 VG:后续需增加空间时,添加新 PV 即可:
bash运行
chdev -l hdisk8 -a pv=yes # 初始化新PV extendvg appvg hdisk8 # 加入现有VG
五、总结
创建 AIX VG 的核心流程:确认空闲硬盘→初始化 PV→用 mkvg 创建 VG→可选配置(自动激活 + 备份),关键注意事项:
- PP 大小创建后不可修改,需根据业务场景(小文件 / 大文件)提前规划;
- 生产环境优先选择 “可扩展 VG(-S)”,兼容性和扩展性更强;
- 操作前务必检查硬盘状态(
lspv),避免误操作已使用的 PV; - 配置开机自动激活(
chvg -a y)和定期备份 VG 配置,提升可用性。
通过以上步骤,可快速创建符合业务需求的 VG,为后续 LV 和文件系统的部署打下基础。