# lsvg -l IQ_DWvg |more
IQ_DWvg:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
lv_dwiq jfs2 80 160 2 open/syncd /iq
loglv00 jfs2log 1 2 2 open/syncd N/A
lv_zfsybase jfs2 16 32 2 open/syncd /sybase2
lv_zfmaster raw 1 2 2 closed/syncd N/A
lv_zfsybproc raw 1 2 2 closed/syncd N/A
lv_zfdata01 raw 120 240 2 closed/syncd N/A
lv_zfdata02 raw 120 240 2 closed/syncd N/A
lv_zfdata03 raw 120 240 2 closed/syncd N/A
lv_zfdata04 raw 120 240 2 closed/syncd N/A
lv_zfdata05 raw 120 240 2 closed/syncd N/A
lv_zfdata06 raw 120 240 2 closed/syncd N/A
lv_zfdata07 raw 120 240 2 closed/syncd N/A
lv_zfdata08 raw 120 240 2 closed/syncd N/A
lv_zfdata09 raw 120 240 2 closed/syncd N/A
lv_zfdata10 raw 120 240 2 closed/syncd N/A
lv_zfdata11 raw 120 240 2 closed/syncd N/A
lv_zfdata12 raw 120 240 2 closed/syncd N/A
lv_zfdata13 raw 120 240 2 closed/syncd N/A
lv_zfdata14 raw 120 240 2 closed/syncd N/A
lv_zfdata15 raw 120 240 2 closed/syncd N/A
lv_zfdata16 raw 120 240 2 closed/syncd N/A
lv_zfdata17 raw 120 240 2 closed/syncd N/A
lv_zfdata18 raw 120 240 2 closed/syncd N/A
lv_zfdata19 raw 120 240 2 closed/syncd N/A
lv_zfdata20 raw 120 240 2 closed/syncd N/A
lv_zflog01 raw 60 120 2 closed/syncd N/A
lv_dwmain01 raw 400 800 8 closed/syncd N/A
lv_dwtemp01 raw 200 400 8 closed/syncd N/A
lv_dwmain02 raw 400 800 8 closed/syncd N/A
lv_dwmain03 raw 800 1600 8 closed/syncd N/A
lv_dwmain04 raw 800 1600 8 closed/syncd N/A
lv_dwmain05 raw 800 1600 8 closed/syncd N/A
lv_dwtemp02 raw 400 800 8 closed/syncd N/A
lv_zftemp01 raw 4 8 2 closed/syncd N/A
lv_b2bmain01 raw 400 800 8 closed/syncd N/A
lv_b2bmain02 raw 200 400 8 closed/syncd N/A
lv_b2bmain03 raw 200 400 8 closed/syncd N/A
lv_b2btemp01 raw 200 400 8 closed/syncd N/A
fslv00 jfs2 200 400 2 open/syncd /2iqinfa2
lv_zfdata21 raw 120 240 2 closed/syncd N/A
lv_zftemp02 raw 120 240 2 closed/syncd N/A
lv_zfdata22 raw 120 240 2 closed/syncd N/A
lv_zfdata23 raw 120 240 2 closed/syncd N/A
lv_zfdata24 raw 120 240 2 closed/syncd N/A
lv_dwmain06 raw 800 1600 8 closed/syncd N/A
lv_GMmon jfs2 16 32 5 open/syncd /GMmon
lv_zfdata25 jfs 120 240 2 closed/syncd N/A
lv_dwmain07 raw 400 800 4 closed/syncd N/A
lv_zfdata26 raw 120 240 2 closed/syncd N/A
lv_zfdata27 raw 120 240 4 closed/syncd N/A
lv_zfdata28 raw 120 240 4 closed/syncd N/A
lv_zfdata29 raw 120 240 2 closed/syncd N/A
fslv02 jfs2 40 80 2 open/syncd /iqtar
lv_zfdata30 raw 120 240 2 closed/syncd N/A
lv_zfdata31 raw 120 240 2 closed/syncd N/A
lv_zfdata32 raw 120 240 2 closed/syncd N/A
lv_dwmain08 raw 600 1200 4 closed/syncd N/A
lv_zflog02 raw 20 40 2 closed/syncd N/A
lv_zfdata33 raw 120 240 2 closed/syncd N/A
lv_zfdata34 raw 120 240 2 closed/syncd N/A
lv_zfdata35 raw 120 240 2 closed/syncd N/A
lv_zfdata36 raw 120 240 2 closed/syncd N/A
lv_zfdata37 raw 120 240 2 closed/syncd N/A
lv_zfdata38 raw 120 240 2 closed/syncd N/A
lv_zflog03 raw 80 160 2 closed/syncd N/A
# lsvg -p IQ_DWvg
IQ_DWvg:
PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION
hdisk8 active 1098 0 00..00..00..00..00
hdisk9 active 1199 371 00..00..00..131..240
hdisk16 active 1999 0 00..00..00..00..00
hdisk17 active 1999 0 00..00..00..00..00
hdisk18 active 2699 4 00..00..00..00..04
hdisk19 active 1599 18 00..00..00..00..18
hdisk20 active 1599 0 00..00..00..00..00
hdisk3 active 1999 0 00..00..00..00..00
hdisk4 active 1999 0 00..00..00..00..00
hdisk5 active 2698 3 00..00..00..00..03
hdisk6 active 1599 18 00..00..00..00..18
hdisk7 active 1599 0 00..00..00..00..00
hdisk21 active 1199 93 00..00..00..00..93
hdisk23 active 1199 379 00..00..00..139..240
# splitvg -y newIQ_DWvg -i -f -c 2 IQ_DWvg
0516-1359 splitvg: The mirror specified to split the volume group must exists on a disk or
set of disks that contains nothing but this mirror.
0516-1355 splitvg: Unable to split the volume group.
# lslv -m lv_GMmon
lv_GMmon:/GMmon
LP PP1 PV1 PP2 PV2 PP3 PV3
0001 1211 hdisk7 1211 hdisk20
0002 1212 hdisk7 1212 hdisk20
0003 0381 hdisk8 0381 hdisk21
0004 0382 hdisk8 0382 hdisk21
0005 0383 hdisk8 0383 hdisk21
0006 0384 hdisk8 0384 hdisk21
0007 0385 hdisk8 0385 hdisk21
0008 0386 hdisk8 0386 hdisk21
0009 1099 hdisk21 0821 hdisk9
0010 1100 hdisk21 0822 hdisk9
0011 1101 hdisk21 0823 hdisk9
0012 1102 hdisk21 0824 hdisk9
0013 1103 hdisk21 0825 hdisk9
0014 1104 hdisk21 0826 hdisk9
0015 1105 hdisk21 0827 hdisk9
0016 1106 hdisk21 0828 hdisk9
# rmlvcopy lv_GMmon 2 hdisk21
0516-921 rmlvcopy: All logical partitions have less than or
equal to 2 number of copies.
首先,我想拆开并保留卷组信息;
然后,当我执行splitvg的时候,报错了,然后发现lv_GMmon对应的LV分布位置有问题;
最后,我想删除掉第二份,报错了。
请教下大家,怎么才能让这个LV的PV分布均匀?
1、splitvg错误跟你的空间有关系,另外你的镜像做的有点乱。
2、rmlvcopy你要指定1份中的所有盘,不是一个, lv_GMmon中的2份镜像存在5块盘,这5块盘是怎么分,你要检查下,将其它一份的盘全部写上去。而且数字应该改成数据1
rmlvcopy lv_GMmon 1 hdiskx hdisky..
splitvg的用途是将镜像好的卷组拆分成两个独立卷组,前提是VG里的LV都是做好镜像,而且(注意了,有而且)必须得保证所有LV的副本同时可以完整(注意了这个完整可以是不连续的完整)的以PV为单位整体分割!
从你的-c 2的参数可以看到,你是行把 IQ_DWvg的所有LV的第二个副本拆分并组成 newIQ_DWvg,那你的前提就得保证“ IQ_DWvg 所有LV的第一个副本必须完整分布在某些可独立分割的PV上,而所有LV的第二个副本完整分布在其余的独立PV上”,通俗点说, IQ_DWvg现有14个PV,必须满足14个PV分成两组,且每一组都包含了所有LV的完整的一份副本。具体是7/7,6/8,5/9......这得根据你的PV的大小,LV的副本分布情况来定。即使你现在的LV分布情况不满足独立PV分割的前提,也可以通过migratepv命令来调整LV的分布。最终满足LV副本独立PV分割后,slpitvg自然可以执行。
这里面说的可能有点难懂,但是你参考一下rootvg LP:PP:PV=1:2:2的时候做unmirrorvg的操作就不难理解我以上所说的原因了。
提供一些参考命令:lvpv -l, lslv -l,lslv -m,migratepv