Linux下挂载lvm管理的文件系统,备份数据,并解决lvm同名冲突问题


NND,今天改了几个linux的内核参数,然后终端就操作不了了,重启也无用,起不来,因为自己不在机房,所以没办法看到错误提示,也不能进入单用户模式去修复linux操作系统,最后机房的人拿新的硬盘安装了操作系统,再把磁盘挂载到这个新系统上,然后我就准备把数据备份出来,2个系统分区格式全为系统默认分区,系统默认使用的lvm格式,并且默认的卷都是 VolGroup00 ,彻底无语,以下是具体备份方法:

使用 pvs 查看显示如下:
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 VolGroup00 lvm2 a- 136.62G 0
/dev/sdb2 VolGroup00 lvm2 a- 136.62G 0
发现可以正确认别到两个VG,但是同名,如何挂载呢?
解决办法是,将原来的VG更名,解决冲突即可挂载。



重命名格式为:vgrename VolGroup00 VolGroup01
此时会提示:
[root@localhost ~]# vgrename VolGroup00 VolGroup01
Found more than one VG called VolGroup00. Please supply VG uuid.
原因是存在两个 VolGroup00,修改的方法他已经提示了要指定 VG uuid即可。


查看VG uuid的命令为:
[root@localhost ~]# vgs -v
Finding all volume groups
Finding volume group "VolGroup00"
Finding volume group "VolGroup00"
VG Attr Ext #PV #LV #SN VSize VFree VG UUID
VolGroup00 wz--n- 32.00M 1 2 0 136.62G 0 dcHa6G-abU2-Xfq8-EPBm-jBLj-sf18-O5uH0U
VolGroup00 wz--n- 32.00M 1 2 0 136.62G 0 OF8g7h-PQJB-9D9z-yPxn-1kfY-Advq-YbNHJ9



查到VG uuid以后,再次执行改名:
[root@localhost ~]# vgrename OF8g7h-PQJB-9D9z-yPxn-1kfY-Advq-YbNHJ9 VolGroup01
Volume group "VolGroup00" still has active LVs



修改成功以后,再执行:lvscan
[root@localhost ~]# lvscan
inactive '/dev/VolGroup01/LogVol00' [130.84 GB] inherit
inactive '/dev/VolGroup01/LogVol01' [5.78 GB] inherit
ACTIVE '/dev/VolGroup00/LogVol00' [130.84 GB] inherit
ACTIVE '/dev/VolGroup00/LogVol01' [5.78 GB] inherit
可以看到新修改的VolGroup01是inactive状态。


再使用vgchange 加载 VolGroup01
[root@localhost ~]# vgchange -ay /dev/VolGroup01
2 logical volume(s) in volume group "VolGroup01" now active


最后 mount 就可以
[root@localhost ~]#mkdir /mnt/old
[root@localhost ~]# mount /dev/VolGroup01/LogVol00 /mnt/old
[root@localhost ~]#tar -zcvf back_20101217.tar.gz /mnt/old/var/lib/mysql /mnt/old/usr/local/nginx/htdocs/
然后想办法把back_20101217.tar.gz拷贝到本地来就可以了
至此,全部完成。

添加新评论 »