AIX操作系统的逻辑卷管理功能的操作示例

AIX 的逻辑卷管理(LVM)操作是企业级运维的核心技能,以下围绕日常高频场景(从基础配置到故障处理),提供完整、可直接落地的操作示例,包含命令说明、输出解读和注意事项,覆盖 LVM 全生命周期管理(PV→VG→LV→FS)。
所有操作基于 AIX 7.1/7.2(主流版本),建议先在测试环境验证,生产环境操作前务必备份 VG 配置(vgcfgbackup)。

一、前置准备:环境检查与工具说明

1. 核心命令速查(必备)

操作场景 核心命令
PV 管理(物理卷) lspv(查看)、chdev(初始化)、extendvg(加入 VG)、reducevg(移出)、pvmove(迁移)
VG 管理(卷组) lsvg(查看)、mkvg(创建)、extendvg(扩容)、reducevg(缩容)、exportvg/importvg(导出 / 导入)
LV 管理(逻辑卷) lslv(查看)、mklv(创建)、extendlv(扩容)、reducelv(缩容)、mklvcopy(镜像)、rmlvcopy(删除镜像)、mklv -s(快照)
文件系统(FS) df(查看)、crfs(创建)、chfs(扩容 / 缩容)、mount/umount(挂载 / 卸载)
辅助工具 smit(图形化操作,降低门槛)、errpt(查看故障)、vgcfgbackup(备份 VG 配置)

2. 环境检查(操作前必做)

bash
运行
# 1. 查看系统识别的物理硬盘(确认PV候选设备)
lspv  # 输出示例:hdisk0、hdisk1、hdisk2(状态为"none"表示未加入任何VG)
# 2. 查看已存在的卷组(避免命名冲突)
lsvg  # 输出示例:vg00(默认系统卷组)、oravg(自定义应用卷组)
# 3. 查看卷组详情(剩余空间、包含PV等)
lsvg vg00  # 重点关注:FREE PPs(剩余物理分区数)、PP SIZE(每个PP大小)
# 4. 备份VG配置(生产环境操作前必须执行)
vgcfgbackup -f /backup/vg00_cfg.bak vg00  # 备份vg00配置到文件

二、场景 1:从 0 开始创建 LVM(PV→VG→LV→FS)

需求:新增 2 块硬盘(hdisk1、hdisk2),创建应用卷组appvg,并在其上创建逻辑卷applv,格式化 JFS2 文件系统后挂载到/appdata

步骤 1:初始化物理卷(PV)
新硬盘需先初始化为 AIX LVM 兼容的 PV,才能加入卷组:
bash
运行
# 1. 查看新硬盘状态(确认未被使用)
lspv hdisk1  # 输出示例:hdisk1: none (未加入任何VG)
# 2. 初始化PV(将hdisk1、hdisk2标记为LVM物理卷)
chdev -l hdisk1 -a pv=yes  # -l指定设备名,-a pv=yes开启PV属性
chdev -l hdisk2 -a pv=yes
# 3. 验证初始化结果(状态变为"available")
lspv hdisk1  # 输出示例:hdisk1: 00f72d5634123456  none  available
步骤 2:创建卷组(VG)
将 2 块 PV 整合为卷组appvg,设置 PP 大小为 8MB(默认 4MB,可按需调整):
bash
运行
# 创建卷组appvg,包含hdisk1、hdisk2,PP大小8MB
mkvg -y appvg -s 8 hdisk1 hdisk2
# 参数说明:
# -y:指定VG名;-s:PP大小(单位MB,可选值:1、2、4、8、16、32、64)
# 验证VG创建结果
lsvg appvg  # 输出示例:
# VG NAME:     appvg
# VG IDENTIFIER: 00f72d5600004c000000018a7e654321
# PV COUNT:     2
# TOTAL PPs:    2496 (19968 MB)  # 2块10GB硬盘,总容量≈20GB
# FREE PPs:     2488 (19896 MB)  # 剩余空间(创建VG时占用少量PP存储元数据)
步骤 3:创建逻辑卷(LV)
appvg中划分 10GB 空间,创建逻辑卷applv(用于存储应用数据):
bash
运行
# 创建LV:名称applv,大小10GB,文件系统类型JFS2,归属appvg
mklv -y applv -t jfs2 -L 10G appvg
# 参数说明:
# -y:LV名;-t:指定文件系统类型(jfs2为AIX默认);-L:LV大小(支持G/M)
# 验证LV创建结果
lslv applv  # 输出示例:
# LV NAME:     applv
# VG NAME:     appvg
# LV SIZE:     10240 MB (1280 PP)  # 10GB=1280×8MB(PP大小8MB)
# COPIES:      1                    # 无镜像(默认1份副本)
# STATE:       open/syncd            # 状态正常
步骤 4:创建并挂载 JFS2 文件系统
applv上创建 JFS2 文件系统,并挂载到/appdata
bash
运行
# 1. 创建文件系统(关联LV applv,挂载点/appdata)
crfs -v jfs2 -d applv -m /appdata -A yes
# 参数说明:
# -v:文件系统类型;-d:关联的LV名;-m:挂载点;-A yes:开机自动挂载
# 2. 挂载文件系统(立即生效,无需重启)
mount /appdata
# 3. 验证挂载结果
df -g /appdata  # 输出示例:
# Filesystem    GB blocks    Free %Used    Iused %Iused Mounted on
# /dev/applv       10.00      9.98    1%       5     1% /appdata

三、场景 2:动态扩容(LV+FS 在线扩容,核心高频操作)

需求:/appdata文件系统空间不足,需从appvg中扩容 5GB(全程不中断应用)。

步骤 1:检查 VG 剩余空间(关键前提)
bash
运行
lsvg appvg  # 重点查看:FREE PPs: 1280 (10240 MB) (需确保剩余空间≥5GB)
步骤 2:扩容 LV(增加 5GB 空间)
bash
运行
# 方式1:指定扩容后的总大小(推荐,避免误操作)
extendlv -L 15G applv appvg  # 将applv从10GB扩容到15GB
# 方式2:指定新增大小(+5G表示新增5GB)
extendlv -L +5G applv appvg
# 验证LV扩容结果
lslv applv  # 输出:LV SIZE: 15360 MB (1920 PP) (15GB=1920×8MB)
步骤 3:扩容文件系统(同步 LV 空间到 FS)
bash
运行
# 扩容文件系统到15GB(与LV大小一致)
chfs -a size=15G /appdata
# 验证文件系统扩容结果
df -g /appdata  # 输出:/dev/applv       15.00     14.98    1%       5     1% /appdata
注意事项:
  • 扩容顺序:先扩 LV,再扩 FS(反之会报错);
  • 无需卸载文件系统,应用可正常运行(在线扩容核心优势)。

四、场景 3:创建镜像 LV(数据高可用,防止硬盘故障)

需求:为applv创建 1+1 镜像(原数据 + 1 份备份),镜像数据存储在新硬盘hdisk3上(跨硬盘容错)。

步骤 1:添加新 PV 到 VG(若需新增镜像硬盘)
bash
运行
# 初始化新硬盘hdisk3为PV
chdev -l hdisk3 -a pv=yes
# 将hdisk3加入appvg(提供镜像存储空间)
extendvg appvg hdisk3
步骤 2:创建镜像(1+1 副本)
bash
运行
# 为applv添加1份镜像,指定镜像PV为hdisk3(避免与原数据同PV)
mklvcopy -k 2 applv 2 appvg hdisk3
# 参数说明:
# -k 2:保留2份副本(原+镜像);2:副本数;hdisk3:镜像数据存储的PV
# 验证镜像同步状态(后台同步,不影响业务)
lslv applv  # 输出:COPIES:      2 ,STATE:       open/syncd(syncd表示同步完成)
# 查看LP与PP映射(确认镜像分布在不同PV)
lslv -m applv  # 输出示例:
# PP RANGE  PV IDENTIFIER  VOLUME GROUP PP STATE  COPY  LV NAME  LV IDENTIFIER
# 1-1280    00f72d5634123456  appvg       used    1    applv    00f72d5600004c000000018a7e654321
# 1-1280    00f72d567890abcd  appvg       used    2    applv    00f72d5600004c000000018a7e654321
# (COPY 1在hdisk1,COPY 2在hdisk3,跨PV镜像)
步骤 3:移除镜像(如需释放空间)
bash
运行
# 移除1份镜像(保留原数据,释放hdisk3空间)
rmlvcopy applv 1 appvg hdisk3
# 验证结果:lslv applv → COPIES: 1

五、场景 4:创建快照 LV(快速备份 / 测试,不中断业务)

需求:基于applv创建只读快照,用于业务高峰期备份(避免影响生产数据)。

步骤 1:创建快照 LV(大小为原 LV 的 20%,按需调整)
bash
运行
# 创建快照LV:名称applv_snap,大小2GB(原LV 15GB,20%足够),只读
mklv -s snapshot -y applv_snap -L 2G appvg
# 参数说明:
# -s snapshot:指定为快照LV;-y:快照名;-L:快照大小(取决于数据变化率)
# 验证快照状态
lslv applv_snap  # 输出:LV TYPE:     snapshot,STATE:       open/syncd
步骤 2:挂载快照并备份
bash
运行
# 1. 创建挂载点并只读挂载(避免修改快照数据)
mkdir /snap_backup
mount -o ro /dev/appvg/applv_snap /snap_backup
# 2. 备份快照数据(如tar打包到备份目录)
tar -cvf /backup/appdata_snap_$(date +%Y%m%d).tar /snap_backup
# 3. 备份完成后,卸载并删除快照(释放空间)
umount /snap_backup
rmlv applv_snap
关键说明:
  • 快照采用 “写时复制(COW)” 机制:仅存储原 LV 变化的数据,创建速度快(秒级);
  • 快照大小建议为原 LV 的 10%-30%(数据变化率高则设更大);
  • 只读快照适合备份,可写快照(-s jfs2)适合测试环境搭建。

六、场景 5:条带化 LV(提升 I/O 性能,适合数据库 / 大文件)

需求:创建跨 3 块硬盘(hdisk1、hdisk2、hdisk3)的条带 LV,用于存储数据库数据文件(提升并行 I/O 速度)。

步骤 1:创建条带 LV
bash
运行
# 创建条带LV:名称dblv,大小30GB,条带单位64MB,跨3块PV
mklv -y dblv -t jfs2 -L 30G -S 64M -u 3 appvg hdisk1 hdisk2 hdisk3
# 参数说明:
# -S 64M:条带单位(默认4MB,大文件建议64M/128M);-u 3:条带宽度(3块PV并行)
# 验证条带配置
lslv -m dblv  # 输出示例:
# PP RANGE  PV IDENTIFIER  VOLUME GROUP PP STATE  COPY  LV NAME  LV IDENTIFIER
# 1-64      00f72d5634123456  appvg       used    1    dblv     ...
# 1-64      00f72d567890abcd  appvg       used    1    dblv     ...
# 1-64      00f72d56abcdef12  appvg       used    1    dblv     ...
# (数据均匀分布在3块PV,实现并行I/O)
步骤 2:创建文件系统并挂载
bash
运行
crfs -v jfs2 -d dblv -m /oradata -A yes
mount /oradata
df -g /oradata  # 验证:/dev/dblv       30.00     29.98    1%       5     1% /oradata

七、场景 6:PV 在线迁移(更换故障硬盘,零停机)

需求:appvg中的hdisk1出现硬件预警(errpt检测到坏道),需更换为新硬盘hdisk4,全程不中断业务。

步骤 1:检查故障 PV 状态
bash
运行
lspv hdisk1  # 确认hdisk1属于appvg:VG NAME: appvg
errpt | grep hdisk1  # 查看hdisk1的故障日志(如"DISK OPERATION ERROR")
步骤 2:在线迁移 PV 数据(将 hdisk1 数据迁移到 hdisk4)
bash
运行
# 1. 初始化新硬盘hdisk4为PV,并加入appvg
chdev -l hdisk4 -a pv=yes
extendvg appvg hdisk4
# 2. 迁移hdisk1的所有数据到hdisk4(后台执行,不影响业务)
pvmove hdisk1 hdisk4
# 验证迁移进度(可多次执行查看)
pvmove -w  # 输出:0516-1126 pvmove: All data has been moved successfully.
步骤 3:移除故障 PV(从 VG 中删除 hdisk1)
bash
运行
# 从appvg中移除hdisk1(需确保数据已完全迁移)
reducevg appvg hdisk1
# 验证:lsvg appvg → PV COUNT: 3(hdisk2、hdisk3、hdisk4,hdisk1已移除)
步骤 4:更换硬盘后恢复(可选)
若更换新硬盘(仍命名为 hdisk1),可反向迁移数据:
bash
运行
chdev -l hdisk1 -a pv=yes
extendvg appvg hdisk1
pvmove hdisk4 hdisk1  # 将数据迁回新hdisk1
reducevg appvg hdisk4  # 移除临时PV hdisk4

八、场景 7:VG 导出 / 导入(服务器间迁移存储资源)

需求:将服务器 A 的appvg迁移到服务器 B(如服务器 A 下线,需保留应用数据)。

步骤 1:服务器 A 导出 VG
bash
运行
# 1. 卸载VG下所有文件系统
umount /appdata
umount /oradata
# 2. 关闭VG(断开与当前服务器的关联)
varyoffvg appvg
# 3. 导出VG(生成VG元数据,便于服务器B识别)
exportvg appvg
# 4. 确认导出结果:lsvg → 无appvg(已从当前服务器移除)
步骤 2:服务器 B 导入 VG
bash
运行
# 1. 确认服务器B识别到原PV(hdisk1、hdisk2、hdisk3,需通过存储映射或硬盘迁移)
lspv  # 输出:hdisk1、hdisk2、hdisk3的VG NAME为"none"
# 2. 导入VG(通过任意一个PV识别)
importvg -y appvg hdisk1
# 3. 激活VG
varyonvg appvg
# 4. 挂载文件系统(恢复业务)
mount /appdata
mount /oradata
# 验证:df -g → 可见/appdata和/oradata已正常挂载

九、场景 8:LVM 故障排查(常见问题解决)

1. 镜像同步失败(STATE: open/stale)

bash
运行
# 原因:镜像数据未同步(如服务器重启、PV离线)
# 解决:手动同步VG
syncvg -v appvg  # 同步appvg下所有镜像LV
lslv applv  # 验证:STATE: open/syncd

2. 扩容时提示 “VG 无剩余空间”

bash
运行
# 解决:添加新PV到VG
chdev -l hdisk5 -a pv=yes
extendvg appvg hdisk5
# 再次执行extendlv/chfs扩容

3. LV 状态为 “closed”(无法挂载)

bash
运行
# 原因:VG未激活或LV被手动关闭
# 解决:激活VG并打开LV
varyonvg appvg
chlv -u applv  # 打开LV
mount /appdata

十、图形化操作:smit(简化运维,适合新手)

AIX 提供smit工具,可通过菜单式操作完成 LVM 配置,无需记忆复杂命令:
bash
运行
# 启动smit,进入LVM管理菜单
smit lvm

常用菜单路径:

  • 创建 VG:Volumes → Volume Groups → Add a Volume Group
  • 创建 LV:Volumes → Logical Volumes → Add a Logical Volume
  • 扩容 LV:Volumes → Logical Volumes → Change/Show Characteristics of a Logical Volume → Size
  • 镜像 LV:Volumes → Logical Volumes → Add a Copy to a Logical Volume
smit操作后会自动生成对应的命令行脚本,可通过smit -x查看,便于学习命令逻辑。

总结

AIX LVM 操作的核心原则:
  1. 在线操作优先:扩容、迁移、镜像等操作均支持零停机,保障业务连续性;
  2. 顺序不可反:扩容(LV→FS)、缩容(FS→LV)、导出(umount→varyoff→export);
  3. 备份为先:生产环境操作前务必备份 VG 配置(vgcfgbackup)和关键数据;
  4. 按需选择功能:数据库用条带 + 镜像,备份用快照,多应用用独立 VG/LV 隔离。
通过以上示例,可覆盖 LVM 日常运维的 90% 场景,熟练掌握后能高效管理 AIX 存储资源,支撑企业级关键业务稳定运行。
阅读剩余
THE END