Chinaunix

标题: 请教关于LVM的问题 [打印本页]

作者: wdfwdf2727    时间: 2012-01-06 12:32
标题: 请教关于LVM的问题
1:-----------文件系统与文件目录------------
一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。
卸载后,可以继续使用这个目录的文件。
请问:以前存在此目录中的文件在挂载上分区后去哪里了???
2:------------LVM实验---------------
一个逻辑卷组vg08 包含一个逻辑卷oracle 大小200M,CP一些文件到oracle。
bash-4.2# mkdir /dev/vg08
bash-4.2# mknod /dev/vg08/group c 64 0x080000
bash-4.2# vgcreate /dev/vg08 /dev/dsk/c3t6d0
bash-4.2# lvcreate -L 200 -n oracle vg08
bash-4.2# newfs /dev/vg08/oracle
bash-4.2# mount /dev/vg08/oracle /1
bash-4.2# cp -R /etc/* /1
bash-4.2# vgcfgbackup -f /tmp/vg08.conf.bak /dev/vg08
bash-4.2# umount /1
bash-4.2# vgchange -a n vg08
bash-4.2# vgexport -m /tmp/vg08.map /dev/vg08
bash-4.2# pvcreate -f /dev/rdsk/c3t6d0
------------------------------------------------------------------
现在磁盘盘头信息已经被初始化了,应该通过怎样的操作来找回vg08上的oracle逻辑卷,以及我CP过去的数据


作者: lp8653    时间: 2012-01-06 15:03
1、man mount
  mount 到目录后,更新了/etc/mtab文件,在此文件中增加了你MOUNT后的条目。你使用cd 命使,先读取此文件,然后。。。
2、vgexport 用于卷组的导出
   vgcfgbackup 用于备份LVM的信息,按你的情况,估计是找不回来的了
作者: fruitmantis    时间: 2012-01-06 18:02
1.不知道怎么回答
2.可以先用vgcfgrestore将卷组信息恢复到/dev/rdsk/c3t6d0,然后重新创建卷组的group文件,然后vgimport原来的map文件卷组和逻辑卷应该就回来了
作者: hbh231    时间: 2012-01-07 04:49
重新执行下列命令,你的数据会回来的.)

bash-4.2# mkdir /dev/vg08
bash-4.2# mknod /dev/vg08/group c 64 0x080000
bash-4.2# vgcreate /dev/vg08 /dev/dsk/c3t6d0
bash-4.2# lvcreate -L 200 -n oracle vg08
bash-4.2# mount /dev/vg08/oracle /1

作者: wdfwdf2727    时间: 2012-01-09 09:52
回复 4# hbh231

数据是回来了,可是怎么能不用创建文件系统呢???
bash-4.2# lvcreate -L 200 -n oracle vg08
bash-4.2# fstyp /dev/vg08/oracle
vxfs

这个文件系统是怎么出现的呢???
那能不能不用自己手动去创建oracle逻辑卷,找回oracle逻辑卷的信息呢???
谢谢了···
作者: wdfwdf2727    时间: 2012-01-09 10:29
回复 3# fruitmantis
能不能细说一下啊,先执行vgcfgrestore,要lvmtab文件中有vg08的信息才能执行啊,现在这个vg08中只有一块磁盘,还是pvcreate过的。如果是先创建vg08卷组,然后使用vgcfgrestore的话,提示不能在备份的vg08.conf.bak中找到pv的构造信息。。。再说了,就算是这步过去了,那执行vgimport也不是行不通的啊?vgimport是恢复vg08的信息到lvmtab文件中,现在lvmtab文件已经存在vg08的信息了,这个命令不会执行成功的。
-----------------------------
mkdir /dev/vg08
mknod /dev/vg08/group c 64 0x080000
vgimport -m /tmp/vg08.map /dev/vg08 /dev/dsk/c3t6d0
Logical Volume is not defined on any physical volume.
"/dev/vg08/oracle" is missing Physical Volumes.
我尝试执行vgimport 直接导入vg08的信息,提示lv丢失了。。。
然后执行vgcfgrestore
bash-4.2# vgcfgrestore -f /tmp/vg08.conf.bak /dev/rdsk/c3t6d0
Volume Group configuration has been restored to /dev/rdsk/c3t6d0
激活vg08 失败···
bash-4.2# vgchange -a y vg08
vgchange: Warning: Couldn't attach to the volume group physical volume "/dev/dsk/c3t6d0":
Cross-device link
vgchange: Warning: couldn't query physical volume "/dev/dsk/c3t6d0":
The specified path does not correspond to physical volume attached to
this volume group
vgchange: Warning: couldn't query all of the physical volumes.
vgchange: Couldn't activate volume group "vg08":
Quorum not present, or some physical volume(s) are missing.

现在手里还有一份lvmtab的备份,是vgexport vg08操作前的。
-------------------------------------------------------
想来想去,是不是vgcfgrestore 命令恢复的是vg08的信息???没有把磁盘的pvid恢复过去???
作者: fruitmantis    时间: 2012-01-09 17:32
wdfwdf2727 发表于 2012-01-09 10:29
回复 3# fruitmantis
能不能细说一下啊,先执行vgcfgrestore,要lvmtab文件中有vg08的信息才能执行啊,现 ...


先执行vgcfgrestore再执行vgimport,这样lvmtab会自动生成关于vg08的信息

你先执行vgimport那么map表里的lvm信息是无法被硬盘识别的,先restore就是将原来的盘头信息以及卷组信息写回去,这样import的时候map表里的信息才能被识别
作者: chinadns    时间: 2012-01-13 16:51
pvcreate 处理的是lvm信息
vgcfgrestore 恢复的也是lvm信息
newfs处理的才是filesystem block的信息

另外,hpux下的lvm中的pvid的生成 会跟timestamp有关,并不是一直不变,这跟aix还是有区别




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2