(需要Word版笔记的请私信留邮箱)
【IBM小型机AIX操作系统总结06–逻辑卷管理LVM】
注意:
LVM ( LogicalVolumeManager ) 即逻辑卷管理,和Linux区别的是,在Linux中的pv为一个分区,但在AIX中的一个pv为一个磁盘。pv的概念许多人把Linux和AIX的弄混淆,面试中也经常遇到此类的问答。
方便整理,此篇共分三个知识点:LVM1, LVM2, LVM3,如下
磁盘命名:
AIX中对于磁盘用hidiskX 形式命名
lspv --查看本机所有pv
lsdev -Cc disk --查看本机所有磁盘类设备
lspv hdisk1 ----
显示结果描述中:virtual SCSI…表示小型机自身磁盘
DS 4K DS4700… 共享存储及型号
LVM基本概念:
PV 物理卷,一块磁盘称为一个PV
VG 卷组,多个PV组成一个PV组,称为VG
LV 逻辑卷,从VG中划分出的一块从存储空间,称为LV,制作文件系统FS后,挂载使用
PP 物理存储单元,PV加入VG时,会按固定大小被分割成n多个存储单元,称为PP
LP 逻辑存储单元,划分LV时,根据LV的大小,从VG中划分出足够的PP。组成LV空间
PP在LV中又称为LP,即LP是PP在LV中的映射。
实验:
1.制作PV
lspv --查看PV,显示信息,第二列PV编号,第三列PV所在VG,第四列 PV状态
chdev -a PV=clear -l hdisk1 --取消磁盘PV
chdev -a PV=yes -l hdisk1 ---制作PV
rmdev -l hdisk1 --暂时关闭磁盘(lspv 查看不到,lsdev -Cc disk可查看到状态)
mkdev -l hdisk1 --启用PV
rmdev -dl hdisk1 --卸载PV
cfgmgr --扫描新设备
2.新建VG
smitty lvm =》 VG =》 add an Original 标准VG =》
=》 ..big... 大VG字
=》 ...salable 超大VG
=》菜单中:输入VG名字
PPsize 选中PP大小,
PVnames 选PV名
Force…强制加入PV建议no
active vg ..开机自动激活VG选yes
lsvg -l VG名字 --查看VG中的LV划分
lsvg --显示所有VG
lsvg -o --显示可用VG(去激活后不可用
lsvg VG名字 --查看VG的信息 (可见大小限制信息等)
3.划分LV
smitty lvm => LV => add ..选择VG名字 => 菜单中:输入LV名
输入LP数
选PV
选文件系统类型jfs2
lslv LV名字 --查看lv信息
lslv -m lv名字 --查看LV中LP映射
4.制作文件系统
smitty fs =》 add ... =》enhence ..对应jsf2 =》 add an ... on Previously Defined LV =》 =》菜单中: 选LV,输入挂载点路径,
auto...开机自动挂载
选择block大小
lsfs —查看文件系统
5.挂载使用
mount 挂载点路径 --指定挂载点 (人为挂载也可以)
/etc/filesystems (AIX中)
/etc/fstab (linux)
mount --查看
df -g --查看使用率
umount 挂载点路径 --卸载
VGDA:
VGSA:
VG A:
VGDA 卷组描述区域,
每个PV上都会有一个VGDA。记录本PV的相关信息。如:PP数量。使用率,空闲PP等。
AIX系统中,通VGDA可用与否,判断PV是否正常。
AIX系统中,一个VG中可用PV数超过一半,视为VG可用状态。即VGDA的可用数大于51%时,VG可用。
quorum值:当前VG中有几个VGDA可用时,满足大于51%的要求。
chvg -Qn VG名字 —关闭VGDA的quorum的51%限制
chvg -Qy VG名字 —启用VGDA的quorum的51%限制
VG管理:
lsvg VG名字 --可见VG中:现有的PP数,使用数,空闲数,现有的PV数,激活数,PPsize,
VG中最多允许划分的LV数,现有LV数
VG中最多允许的PP数。单个PV最大PP数,VG中最多允许PV数
计算:VG的最大容量 = PPsize *VG中最大PP个数
单个PV的最大容量 = PPsize * PV的最大PP数
lsvg -l VG名字 --查看VG中的LV划分
lsvg --显示所有VG
lsvg -o --显示可用VG(去激活后不可用)
varyoffvg VG名字 --去激活VG。即关闭VG
varyonvg VG名字 --激活VG
实验:
VG扩容,索容
方式一:smitty 菜单
smitty lvm => VG =》 set Charactor …=>
=>change …更改VG类型,改为big VG,或 salable VG
=>add a … 给VG加入PV. =>force ,强制,建议选择no
=>rmove a… 从VG中剔除PV
方式二:命令
extendvg VG名字 hdisk3 —扩容VG,加入PV
reducevg -d VG名字 hdisk3 —缩容VG,剔除PV, -d 表示若PV上有LV的划分,则自动删除LV后,再删除PV
注:reducevg最后一块PV后,VG自动剔除(和Linux有不同)
共享存储上的VG,在不同LPAR上的切换:
第一个LPAR上:
umount 挂载点路径 --卸载该VG上的所有FS卸载
varyoffvg VG名字 --去激活VG
exportvg VG名字 --导出VG,即本LPAR释放对该VG的控制权
第二个LPAR上:
importvg -y VG名字2 hdisk2 --导入VG
-y 指定VG在本LPAR中的名字
hdisk2 表示VG中的任一PV即可
lsvg -l VG名字 --查看所有LV
mkdir 挂载点路径 --新建挂载点
mount /dev/vg名字2 /挂载点路径 --手动挂载FS
PV管理
lspv --查看本机所有PV
lspv hdisk3 --查看单个PV
--可见:所属VG,大小,PP数,空闲PP数,VGDA个数,划分的LV数
故障盘的更换
sar 时间 次数 --查看
sar 1 3 ---每1秒查看一次,查看3次
sar -d 1 1 --查看磁盘繁忙度busy以及读写速度
iostat --查看磁盘读写速度
判断:繁忙度高,读写速度慢的PV判定为故障盘
开始换盘,插入新盘,新盘加入VG中
lspv -l dhisk2 --查看PV上的LV
lslv -m LV名字 --查看LV上的LP的映射
migratepv --整个PV的数据转移
migratepv -l LV名字 hdisk2 hdisk3 --把指定LV上的hdisk2上的映射,全部转移到hdisk3上。
migratepv hdisk2 hdisk3 --把hdisk2上的所有LV,全部转移映射到hdisk3上
lsvg -p VG名字 —查看VG中的所有PV
LV管理
lsvg -l VG名字
lspv -l hdisk2
lslv -m LV名字
smitty lvm =》 set 设置属性=》
=》change… =》 更改LV属性 ,MAXimum number of LP 最大LP数,可更改
=》increase …扩容 LV,指定增加的LP数,指定PV名
注:扩容LV后,新扩容的空间默认不能直接使用,因为未做文件系统
1.必须手动扩容文件系统才可用
2.清空LV,重新做文件系统
生成环境中,直接扩容文件系统FS,则会自动扩容LV
smitty fs = Add/change … =》enhance …=> change… =》 更改单位M或G,指定文件系统FS大小
LP转移
migratelp LV名字/LP名字/第几份数据 磁盘名
migratelp LV名字/20/1 hdisk3 --把指定LV上的第20个LP上的第一份copy映射,转移到hdisk2上
用脚本批量转移
for shu in `seq 21 38`
do
migratelp LV名字/$shu/1 hdisk3
done
或者命令:
for shu in seq 21 38
;do migratelp LV名字/$shu/1 hdisk3 ;done
ksh不支持seq,用以下命令
for shu in 21 22 23…38 ;do migratelp LV名字/$shu/1 hdisk3 ;done
练习实验
清理一块PV,如:hdisk3
新建VG,加入hdisk3
VG中新建LV,并制作文件系统,挂载使用
清理hdisk4,加入VG
在hdisk4上给LV扩容
重做文件系统FS
数据转移,把hdisk3上的所有数据转移到hdisk4上
逆向操作,清理实验。