分类: 其他UNIX
2016-08-10 11:51:50
做vgexport要先备份/etc/lvmtab、/etc与/etc/lvmconf/vgnn.conf
一、vgexport/vgimport相关解释
在去激活一个卷组的情况下(vgchange –a n vgxx)对其执行vgexport,就可以在OS中去掉有关这个VG的信息。vgexported的磁盘可以物理的移动到另一个系统。
注:
导出卷组将从 /etc/lvmtab 和 /etc/lvmtab_p 中删除有关该卷组及其相关物理卷的信息,并删除该卷组的目录以及 /dev 目录中的设备文件。
这时VG中实际的数据事实上完全没有被更改,更改的只是OS中的配置息。vgexport之后,还可以在原来的主机或另外的主机上,用相同/不同的VG名字,相同/不同的minor number vgimport回来。
示例:
System A:
1、确保卷组中的所有逻辑卷均未在使用。可能需要停止那些正在使用卷组中任何逻辑
卷的应用程序,并卸除卷组中包含的文件系统。
对每个逻辑卷执行 fuser 命令。例如:
# fuser -cu /dev/vgnn/lvoln
2、#vgchange -a n vgdata
3、#vgexport -v -s -p -m /tmp/vgdata.map /dev/vgdata
-V参数――――显示详细过程
-m参数――――mapfile
如果计划将卷组移动到其他系统,请使用带 -m 选项的 vgexport 创建映射文件。
通常执行vgexport命令都加上一个-m参数,以产生一个mapfile。这个文件实际上是一个纯文件文件,里面记录的是LV的编号与名字的对应关系。事实上不经过vgexport我们也可以用vgimport命令来import一个VG。只不过命令结束后,我们看到VG中的LV命名是lvol1、lvol2…。所以在lv不是用的这些standard names就要加这个-m option。
-p参数―――――preview
加上-p参数,就不会从OS中将VG相关的信息去掉,也就是不修改/etc/lvmtab和、/dev下的设备文件;与-m合用,可以用来只产生一个map文件。
-s参数―――――sharable
上例中没有使用这个参数。事实上这也是一个很常用的参数,但是要注意它的副作用。使用-s参数执行vgexport命令后产生的map文件,最前面会多一行数字,实际上就是这个VG的VGID。
如果卷组中包含多个磁盘,请在 vgexport 中使用 -s 选项; 此选项可向映射文件中添加卷组标识符 (VGID)。导入卷组后,可以不必按名称指定所有磁盘。
如果在vgexport的时候不加上-s参数,在vgimport的时候会提示map文件里没有VGID
RX6600#[/]vgimport -v -s -N -m /tmp/hpce/vg02.map.old vg02
Beginning the import process on Volume Group "vg02".
Bad or no VGID in mapfile /tmp/hpce/vg02.map.old.
System B:
#mkdir /dev/vgdata
#ll /dev/*/group
#mknod /dev/vgdata/group c 64 0xXX0000
#vgimport -s -m /tmp/vgdata.map /dev/vgdata
这样在另外的主机上执行vgimport参数时,就不用再手工指定这个VG中包含有哪些硬盘,OS会扫描所有的硬盘,并将VGID等于这串数字的所有硬盘加入到这个VG中。
也就是将上例改成:
#vgexport -s -p -m /tmp/vgdata.map /dev/vgdata#hosta
#vgimport -s -m /tmp/vgdata.map /dev/vgdata#hostb
在两台主机的硬件结构不同时,共享的硬盘在两台主机上对应的设备文件名可能是不同的。或是共享的磁盘很多,存储系统的结构复杂,也较难判定hosta上的设备文件与hostb上的设备文件的对应关系。都可以通过使用-s参数来确保VG与PV的对应关系是正确的。
但是如果使用了-s参数,则OS会把硬件路径比较’小’的设备摆在前面,也就是说,在上例中一定会把c1t2d0排在c2t2d0前面。在有些应用场合,比如说共享存储是VA系列等情况时,设备的排列顺序就不是无关紧要了。有关这方面的信息,可以参看VA一节。
在上述这样的场合,可以考虑用-s参数同步VG配置信息以后再用vgreduce/vgextend命令来调整顺序。
二、vgexport/vgimport操作步骤
#ll /dev/vgtes01 ---查看并备份lv的属主及权限
#cp /etc/lvmtab /tmp/hpce/lvmtab.old ---备份/etc/lvmtab
#cp /etc/lvmtab_p /tmp/hpce/lvmtab_p.old ---备份/etc/lvmtab_p
#cp /etc/lvmconf/vgtest01.conf /tmp/hpce/vgtest01.old ---备份/etc/vgxx.conf
#ls /tmp/hpce ---查看备份配置文件是否成功
#vgexport -p -s -v -m /tmp/hpce/vgtest01.map vgtest01
#ls /tmp/hpce ---查看输出结果是否成功
#vgchange -a n vgtest01 ---VG去激活
#vgexport vgtest01
#strings /etc/lvmtab
#vgdisplay
#ll /dev/*/group
#mkdir /dev/vgtest01
#mknod /dev/vgtest01/group c 64 0x010000 ---此步骤不一定要,除非数据库要求VG属主一样
#vgimport -N -v -s -m/tmp/hpce/vgtest01.map vgtest01
#vgchange -a y
#vgdisplay -v vgtest01
#strings /etc/lvmtab
vgexport/vgimport之后,要注意lv的属主和权限的变化,由于客户环境和数据库的要求,务必保持一致性!
vgimport - N 通过在/etc/lvmtab 文件中填充持久性设备专用文件来配置卷组(对应于卷组vg_name)。该选项只能与-s 选项一起使用。如果不带-N 选项调用vgimport ,则将使用Legacy 设备专用文件来填充/etc/lvmtab 文件。此选项在以后的版本中将过时。
-s 扫描选项。扫描与系统连接的每个磁盘,并使用具有匹配卷组信息(在mapfile 中找到)的物理卷更新/etc/lvmtab 文件。该选项应该始终与-m 选项一起使用。指定的mapfile 是运行带有-m 和-s 选项的vgexport 命令生成的文件。