供稿者:闫旭
随着设备的更新,用户会经常遇到数据转移的问题。如何将老的存储设备上的数据转移到新的存储设备上呢?我们下面将举例子,讲解如何使用AIX的lv镜像的方法实现。
mklvcopy功能可以将一个vg中的指定lv进行mirror。
mirror的目的盘必须在同一个vg中。
如果将一个vg中的所有lv mklvcopy效果等同于mirrorvg。
{如果您不希望使用命令行,而使用smit法,请参考:smit lv/Set Characteristic of a Logical Volume/Add a Copy to a Logical Volume}
现有的环境
我们有:
2、1)本地磁盘(需要转储的源盘):
pv:hdisk1
vg:vg-local
lv:lv-local
fs:/mnt/lv-local
2、2)fastt上提供(与本实验无关):
pv:hdisk2;hdisk3
vg:vg-fastt600
lv: lv-fastt600-1
fs: /mnt/lv-fastt600-1
2、3)fastt上提供(需要转储的目的)提供了一个裸盘:pv:hdisk4
我们下面的操作是将数据从原始位置pv:hdisk1,移动到fastt上提供(需要转储的目的)了一个盘pv:hdisk4上。我们会利用IBM fastt 的管理软件观察目的盘hdisk4的流量。还要验证在这个过程中数据的访问是否中断以及移动的效率如何。
将hdisk4上面的数据毁掉
p615:/>tar -cvf /dev/hdisk4 /etc
a /etc/test/b3 1 blocks.
a /etc/test/b4 1 blocks
a /etc/test/b5 1 blocks
a /etc/inittab.tsm 8 blocks
……
检验是否毁掉
p615:/>tar -tvf /dev/hdisk4
-rw-r--r--0 030 Oct 25 10:21:10 2004 /etc/test/b4
-rw-r--r--0 031 Oct 25 10:21:29 2004 /etc/test/b5
-rw-------0 03608 Dec 30 11:17:07 2004 /etc/inittab.tsm
drwxr-xr-x0 00 Jul 16 10:44:15 2004 /etc/tivready/
……
查看现有情况,建立模拟环境
p615:/>lslv -m lv-local
lv-local:/mnt/lv-local
LPPP1PV1PP2PV2PP3PV3
00011738hdisk1
00021739hdisk1
00031740hdisk1
00041741hdisk1
00051742hdisk1
为了测试操作对I/O的连续性的影响,我们在另外的telnet中建立一个脚本work:
while [ "1" = "1" ]
do
tar -cvf /mnt/lv-fastt600-1/usrlib.tar /mnt/lv-local/usrlib
sleep 1
tar -xvf /mnt/lv-fastt600-1/usrlib.tar /mnt/lv-local/usrlib
sleep 1
done
让/mnt/lv-local文件系统持续被读写。
运行它:
p615:/>./work
……
a /mnt/lv-local/usrlib/libarm4.a 150 blocks
a /mnt/lv-local/usrlib/libasl.a 395 blocks
a /mnt/lv-local/usrlib/libauthm.a 22 blocks
a /mnt/lv-local/usrlib/libc128.a 132 blocks
a /mnt/lv-local/usrlib/libc_r.a 13847 blocks
……
x /mnt/lv-local/usrlib/libasl.a, 202213 bytes, 395 media blocks
x /mnt/lv-local/usrlib/libauthm.a, 11024 bytes, 22 media blocks
x /mnt/lv-local/usrlib/libc128.a, 67571 bytes, 132 media blocks
x /mnt/lv-local/usrlib/libc_r.a, 7089423 bytes, 13847 media blocks
x /mnt/lv-local/usrlib/libc_t.a, 5152768 bytes, 10064 media blocks
……
vg-local中加入新盘hdisk4(fastt600)
p615:/>lspv
hdisk0005c39ff63baaa57rootvgactive
hdisk1005c39ffbf1771fcvg-localactive
hdisk4005c39ffb2bc883dNone
hdisk2005c39ffb1d713f2vg-fastt600active
hdisk3005c39ffb1d7161cvg-fastt600active
p615:/>extendvg vg-local hdisk4
p615:/>lspv
hdisk0005c39ff63baaa57rootvgactive
hdisk1005c39ffbf1771fcvg-localactive
hdisk4005c39ffb2bc883dvg-localactive
hdisk2005c39ffb1d713f2vg-fastt600active
hdisk3005c39ffb1d7161cvg-fastt600active
p615:/>
我们可以看到Logical Drive aix3(hdisk4)上有一个25 I/O出现并且再没有变
。
aix1,aix2持续增加。
增加一个lv的copy:
p615:/>mklvcopy lv-local 1 hdisk4
0516-1122 mklvcopy:Invalid number of copies entered, must be 2 or 3.
p615:/>mklvcopy lv-local 2 hdisk4
2秒……
看到fastt600上的所有逻辑卷都持续增长。说明aix3(hdisk4)已经投入使用。
我们在另外的telnet中的work的I/O操作始终没有停止:
……
a /mnt/lv-local/usrlib/libasl.a 395 blocks
a /mnt/lv-local/usrlib/libauthm.a 22 blocks
a /mnt/lv-local/usrlib/libc128.a 132 blocks
a /mnt/lv-local/usrlib/libc_r.a 13847 blocks
……
x /mnt/lv-local/usrlib/libauthm.a, 11024 bytes, 22 media blocks
x /mnt/lv-local/usrlib/libc128.a, 67571 bytes, 132 media blocks
x /mnt/lv-local/usrlib/libc_r.a, 7089423 bytes, 13847 media blocks
x /mnt/lv-local/usrlib/libc_t.a, 5152768 bytes, 10064 media blocks
……
p615:/>lslv lv-local
LOGICAL VOLUME:lv-localVOLUME GROUP:vg-local
LV IDENTIFIER:005c39ff00004c0000000101a86ef484.
3PERMISSION:read/write
VG STATE:active/completeLV STATE:opened/stale
TYPE:jfsWRITE VERIFY:off
MAX LPs:512PP SIZE:4 megabyte(s)
COPIES:2SCHED POLICY:parallel
LPs:5PPs:10
STALE PPs:5BB POLICY:relocatable
INTER-POLICY:minimumRELOCATABLE:yes
INTRA-POLICY:middleUPPER BOUND:32
MOUNT POINT:/mnt/lv-localLABEL:/mnt/lv-local
MIRROR WRITE CONSISTENCY:on/ACTIVE
EACH LP COPY ON A SEPARATE PV ?:yes
Serialize IO ?:NO
p615:/>lslv -l lv-local
lv-local:/mnt/lv-local
PVCOPIESIN BANDDISTRIBUTION
hdisk1005:000:000100%000:005:000:000:000
hdisk4005:000 :000100%000:005:000:000:000
p615:/>lslv -m lv-local
lv-local:/mnt/lv-local
LPPP1PV1PP2PV2PP3PV3
00011738hdisk11537hdisk4
00021739hdisk11538hdisk4
00031740hdisk11539hdisk4
00041741hdisk11540hdisk4
00051742hdisk11541hdisk4
删除老本地盘上的pp-copy:
p615:/>rmlvcopy lv-local 1 hdisk1
0516-076 lreducelv: Cannot remove last good copy of stale partition
Resynchronize the partitions with syncvg and try again
0516-922 rmlvcopy: Unable to remove logical partition copies from
logical volume lv-local
p615:/>syncvg -l lv-local
p615:/>rmlvcopy lv-local 1 hdisk1
查看结果
逻辑卷已经切换到hdisk4(fastt上的物理卷pv上了):
p615:
/>lslv lv-local
LOGICAL VOLUME:lv-localVOLUME GROUP:vg-local
LV IDENTIFIER:005c39ff00004c0000000101a86ef484.
3PERMISSION:read/write
VG STATE:active/completeLV STATE:opened/syncd
TYPE:jfsWRITE VERIFY:off
MAX LPs:512PP SIZE:4 megabyte(s)
COPIES:1SCHED POLICY:parallel
LPs:5PPs:5
STALE PPs:0BB POLICY:relocatable
INTER-POLICY:minimumRELOCATABLE:yes
INTRA-POLICY:middleUPPER BOUND:32
MOUNT POINT:/mnt/lv-localLABEL:/mnt/lv-local
MIRROR WRITE CONSISTENCY: on/ACTIVE
EACH LP COPY ON A SEPARATE PV ?: yes
Serialize IO ?:NO
p615:/>lslv -l lv-local
lv-local:/mnt/lv-local
PVCOPIESIN BANDDISTRIBUTION
hdisk4005:000:000100%000:005:000:000:000
p615:/>lslv -m lv-local
lv-local:/mnt/lv-local
LPPP1PV1PP2PV2PP3PV3
00011537hdisk4
00021538hdisk4
00031539hdisk4
00041540hdisk4
00051541hdisk4
我们在另外的telnet中的work的I/O操作始终没有停止:
……
a /mnt/lv-local/usrlib/libasl.a 395 blocks
a /mnt/lv-local/usrlib/libauthm.a 22 blocks
a /mnt/lv-local/usrlib/libc128.a 132 blocks
a /mnt/lv-local/usrlib/libc_r.a 13847 blocks
……
x /mnt/lv-local/usrlib/libauthm.a, 11024 bytes, 22 media blocks
x /mnt/lv-local/usrlib/libc128.a, 67571 bytes, 132 media blocks
x /mnt/lv-local/usrlib/libc_r.a, 7089423 bytes, 13847 media blocks
x /mnt/lv-local/usrlib/libc_t.a, 5152768 bytes, 10064 media blocks
……
从卷组中删去本地盘hdisk1
p615:/>reducevg vg-local hdisk1
0516-016 ldeletepv: Cannot delete physical volume with allocated
partitions. Use either migratepv to move the partitions or
reducevg with the -d option to delete the partitions
0516-884 reducevg: Unable to remove physical volume hdisk1
我们确认这个hdisk1上没有其他跨越pv的lv存在了(其实我们错了,见后面)。
p615:/>reducevg -d vg-local hdisk1
0516-914 rmlv: Warning, all data belonging to logical volume
loglv00 on physical volume hdisk1 will be destroyed
rmlv: Do you wish to continue? y(es) n(o)? y
0516-1008 rmlv: Logical volume loglv00 must be closed.If the logical
volume contains a filesystem, the umount command will close
the LV device
0516-884 reducevg: Unable to remove physical volume hdisk1
原来是log卷没有转储。
p615:/>mklvcopy loglv00 2 hdisk4
p615:/>rmlvcopy loglv00 1 hdisk1
0516-076 lreducelv: Cannot remove last good copy of stale partition
Resynchronize the partitions with syncvg and try again
0516-922 rmlvcopy: Unable to remove logical partition copies from
logical volume loglv00
p615:/>syncvg -l loglv00
p615:/>rmlvcopy loglv00 1 hdisk1
p615:/>reducevg vg-local hdisk1
我们在另外的telnet中的work的I/O操作始终没有停止:
……
a /mnt/lv-local/usrlib/libasl.a 395 blocks
a /mnt/lv-local/usrlib/libauthm.a 22 blocks
a /mnt/lv-local/usrlib/libc128.a 132 blocks
a /mnt/lv-local/us
rlib/libc_r.a 13847 blocks
……
x /mnt/lv-local/usrlib/libauthm.a, 11024 bytes, 22 media blocks
x /mnt/lv-local/usrlib/libc128.a, 67571 bytes, 132 media blocks
x /mnt/lv-local/usrlib/libc_r.a, 7089423 bytes, 13847 media blocks
x /mnt/lv-local/usrlib/libc_t.a, 5152768 bytes, 10064 media blocks
……
查看结果
p615:/>lspv
hdisk0005c39ff63baaa57rootvgactive
hdisk1005c39ffbf1771fcNone
hdisk4005c39ffb2bc883dvg-localactive
hdisk2005c39ffb1d713f2vg-fastt600active
hdisk3005c39ffb1d7161cvg-fastt600active
p615:/>lsvg -p vg-local
vg-local:
PV_NAMEPV STATETOTAL PPsFREE PPsFREE DISTRIBUTION
hdisk4active767976731536..1530..1535..1536..1536
p615:/>lsvg -l vg-local
vg-local:
LV NAMETYPELPsPPsPVsLV STATEMOUNT POINT
loglv00jfslog111open/syncdN/A
lv-localjfs551open/syncd/mnt/lv-local
p615:/>lslv lv-local
LOGICAL VOLUME:lv-localVOLUME GROUP:vg-local
LV IDENTIFIER:005c39ff00004c0000000101a86ef484.
3PERMISSION:read/write
VG STATE:active/completeLV STATE:opened/syncd
TYPE:jfsWRITE VERIFY:off
MAX LPs:512PP SIZE:4 megabyte(s)
COPIES:1SCHED POLICY:parallel
LPs:5PPs:5
STALE PPs:0BB POLICY:relocatable
INTER-POLICY:minimumRELOCATABLE:yes
INTRA-POLICY:middleUPPER BOUND:32
MOUNT POINT:/mnt/lv-localLABEL:/mnt/lv-local
MIRROR WRITE CONSISTENCY: on/ACTIVE
EACH LP COPY ON A SEPARATE PV ?: yes
Serialize IO ?:NO
p615:/>lslv -l lv-local
lv-local:/mnt/lv-local
PVCOPIESIN BANDDISTRIBUTION
hdisk4005:000:000100%000:005:000:000:000
p615:/>lslv -m lv-local
lv-local:/mnt/lv-local
LPPP1PV1PP2PV2PP3PV3
00011537hdisk4
00021538hdisk4
00031539hdisk4
00041540hdisk4
00051541hdisk4
p615:/>mount
nodemountedmounted overvfsdateoptions
-------- ------------------------------------ ------------ ------
/dev/hd4/jfsJan17 17:15 rw,log=/dev/hd8
/dev/hd2/usrjfsJan17 17:15 rw,log=/dev/hd8
/dev/hd9var/varjfs Jan17 17:15 rw,log=/dev/hd8
/dev/hd3/tmpjfsJan17 17:15 rw,log=/dev/hd8
/dev/hd1/homejfsJan17 17:17 rw,log=/dev/hd8
/proc/proc procfsJan17 17:17 rw
/dev/hd10opt/optjfsJan17 17:17 rw,log=/dev/hd8
/dev/lv00/ptfjfsJan17 17:17 rw,log=/dev/hd8
/dev/lv01/TSMjfsJan17 17:17 rw,log=/dev/hd8
/dev/lv-fastt600-1/mnt/lv-fastt600-1jfsJan27 10:51 rw,log=/dev/loglv01
/dev/lv-local/mnt/lv-localjfsJan27 14:46 rw,log=/dev/loglv00
p615:/>df
Filesystem512-blocksFree %UsedIused %IusedMounted on
/dev/hd42621440217495218%22571% /
/dev/hd26291456161032875%577688% /usr
/dev/hd9var1310727364844%8366% /var
/dev/hd39437184333040065%64081% /tmp
/dev/hd11310721195291%5484% /home
/proc-----/proc
/dev/hd10opt1310728584835%4043% /opt
/dev/lv00419430477677682%4861% /ptf
/dev/lv0110354688640909639%9421% /TSM
/dev/lv-fastt600-112288010032819%181% /mnt/lv-fastt600-1
/dev/lv-local409602093649%281% /mnt/lv-local
p615:/>ls /mnt/lv-local
lost+foundusrlib
成功!!
p615:/>