当创建一个磁盘组(diskgroup)后,VxVM将该磁盘组的相关配置信息存储在属于该磁盘组的一个或多个磁盘上.一个物理磁盘被VxVM初始化后,S3一般为私有分区,用于存储磁盘组的配置信息,S4为公有分区,用于存储数据.为了提高安全性,VxVM一般会将磁盘组的配置信息复制多份,存储在不同的磁盘上.
对于保存有VxVM磁盘组配置信息的磁盘,通过”vxdisk list”命令可以看到其config项是被”enabled”的,如果该磁盘没有保存任何diskgroup的配置信息,config项为”disabled”,如:
# vxdisk list c4t1d22s2
...
pubpaths: block=/dev/vx/dmp/c4t1d22s4 char=/dev/vx/rdmp/c4t1d22s4
privpaths: block=/dev/vx/dmp/c4t1d22s3 char=/dev/vx/rdmp/c4t1d22s3
...
Defined regions:
config priv 000017-000247[000231]: copy=01 offset=000000 enabled
config priv 000249-002121[001873]: copy=01 offset=000231 enabled
log priv 002122-002439[000318]: copy=01 offset=000000 enabled
# vxdisk list c4t1d20s2
...
pubpaths: block=/dev/vx/dmp/c4t1d20s4 char=/dev/vx/rdmp/c4t1d20s4
privpaths: block=/dev/vx/dmp/c4t1d20s3 char=/dev/vx/rdmp/c4t1d20s3
...
Defined regions:
config priv 000017-000247[000231]: copy=01 offset=000000 disabled
config priv 000249-002121[001873]: copy=01 offset=000231 disabled
log priv 002122-002439[000318]: copy=01 offset=000000 disabled
如果一个diskgroup所包含的磁盘不多(<4),建议将diskgroup的配置信息存储在所有的磁盘上,以提高冗余性:
# vxedit set nconfig=all
备份
备份主要是指将diskgroup存储在磁盘私有分区(一般为Slice 3)中的配置信息转储到另一位置,以供将来磁盘组恢复时使用.
step1:确定VxVM私有分区所在的分区,一般为第3个分区.
step2:确定磁盘组内的哪个磁盘包含有该磁盘组的配置信息(检查其config项).
step3:将私有分区内的配置信息转储到另一位置.
#/etc/vx/diag.d/vxprivutil dumpconfig /dev/rdsk/c0t0d0s3 > dg_name.dump
step4:将磁盘组所包含的磁盘列表存储到文件中,供将来恢复时参考.
# vxdisk list | grep app-d2-newdg | awk {'print $1'} | sed -e 's/s2$//g'\
> dg_name.disklist
或:
# cat ./dg_name.dump | vxprint -D - -md | grep "last_da_name" | \
awk -F= '{print $2}' | awk -Fs '{print $1}' > dg_name.disklist
恢复
这里的恢复是指将原先创建的磁盘组按照既定的格式重新创建,并不是指恢复卷中的数据.
step1:初始化磁盘,磁盘列表可以从备份的磁盘列表文件中得到.
step2:根据原有的配置信息创建磁盘组(仅是创建一个空的磁盘组,不包含任何卷,磁盘组所包含的磁盘列表必须同原有一致).
step3:通过上述备份的磁盘组配置文件,重新创建diskgroup.
# cat dg_name.dump | vxprint -D - -hmvpsqQ > /tmp/vxmakefile.dg_name
# vxmake -g dg_name -d /tmp/vxmakefile.dg_name (恢复该dg内所有的卷)
step4:恢复卷及plex的状态
假如从配置文件中恢复的卷及plex均处于”EMPTY”状态,恢复其状态到”Active”状态:
# vxvol init clean
卷的状态将变成”Clean”
# vxvol –g dg_name –f startall &
卷的状态将变成”Active”
或者:
# vxvol –g dg_name init active
阅读(3918) | 评论(0) | 转发(0) |