一种恢复无法启动的虚拟机中的数据的方法

简介:

使用VirtualBox或者Vmware虚拟机的时候,可能由于程序错误或者异常关机,导致系统无法启动,碰到这种情况该怎么恢复之前虚拟机里的数据呢?


一个可行的办法是重新建一个虚拟机,确定它能够运行之后,把之前虚拟机的虚拟磁盘也挂载上。考虑到默认同一个SATA控制器上无法区别同一个同名卷,需要把老的虚拟机的磁盘挂载到IDE控制器上。


如下面基于Oralc VM VirtualBox的截图所示:


wKiom1l5Mo7QBKP0AADaaqno8U8032.png


完成之后,重新启动虚拟机,发现能发现老磁盘上的卷组。但由于新系统和老系统都是基于同一个导出的虚拟机镜像制作的,此时系统中出现了同名的卷,导致老虚拟机上的盘无法自动导入。那么又如何解决这一新的问题呢?


1.首先,确定不能自动挂载的vg的uuid:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
lvm
  vgdisplay
lvm>
vgdisplay
---
Volume group ---
VG
Name               centos
System
ID
Format
                lvm2
Metadata
Areas        1
Metadata
Sequence No  5
VG
Access             read/write
VG
Status             resizable
MAX
LV                0
Cur
LV                3
Open
LV               0
Max
PV                0
Cur
PV                1
Act
PV                1
VG
Size               63.51 GiB
PE
Size               4.00 MiB
Total
PE              16258
Alloc
PE / Size       16242 / 63.45 GiB
Free
  PE / Size       16 / 64.00 MiB
VG
UUID               bX2g0F-S2gA-7fjc-yj2e-qkeR-ImE9-mkp1xu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
---
Volume group ---
VG
Name               centos
System
ID
Format
                lvm2
Metadata
Areas        1
Metadata
Sequence No  4
VG
Access             read/write
VG
Status             resizable
MAX
LV                0
Cur
LV                3
Open
LV               3
Max
PV                0
Cur
PV                1
Act
PV                1
VG
Size               255.51 GiB
PE
Size               4.00 MiB
Total
PE              65410
Alloc
PE / Size       65394 / 255.45 GiB
Free
  PE / Size       16 / 64.00 MiB
VG
UUID               ydgLeu-Wt4t-PQ4u-fq1o-XJ8r-JsKH-qwQtyU


可以看到上面有两个同名的VG,结合mount命令,可以发现uuid为bX2g0F-S2gA-7fjc-yj2e-qkeR-ImE9-mkp1xu的卷组但无法自动挂载。


2.为此,需要重命名老的重名卷组:

1
2
lvm
vgrename bX2g0F-S2gA-7fjc-yj2e-qkeR-ImE9-mkp1xu centos-1


3.再次确认修改过成功:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
lvm>
vgdisplay
---
Volume group ---
VG
Name               centos-1
System
ID
Format
                lvm2
Metadata
Areas        1
Metadata
Sequence No  5
VG
Access             read/write
VG
Status             resizable
MAX
LV                0
Cur
LV                3
Open
LV               0
Max
PV                0
Cur
PV                1
Act
PV                1
VG
Size               63.51 GiB
PE
Size               4.00 MiB
Total
PE              16258
Alloc
PE / Size       16242 / 63.45 GiB
Free
  PE / Size       16 / 64.00 MiB
VG
UUID               bX2g0F-S2gA-7fjc-yj2e-qkeR-ImE9-mkp1xu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
---
Volume group ---
VG
Name               centos
System
ID
Format
                lvm2
Metadata
Areas        1
Metadata
Sequence No  4
VG
Access             read/write
VG
Status             resizable
MAX
LV                0
Cur
LV                3
Open
LV               3
Max
PV                0
Cur
PV                1
Act
PV                1
VG
Size               255.51 GiB
PE
Size               4.00 MiB
Total
PE              65410
Alloc
PE / Size       65394 / 255.45 GiB
Free
  PE / Size       16 / 64.00 MiB
VG
UUID               ydgLeu-Wt4t-PQ4u-fq1o-XJ8r-JsKH-qwQtyU


4.重新激活由于同名没法自动加载的卷组

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
[root@localhost
dev]# lvscan
inactive
          '/dev/centos-1/swap' [2.00 GiB] inherit
inactive
          '/dev/centos-1/home' [20.16 GiB] inherit
inactive
          '/dev/centos-1/root' [41.29 GiB] inherit
ACTIVE
            '/dev/centos/swap' [3.88 GiB] inherit
ACTIVE
            '/dev/centos/home' [201.57 GiB] inherit
ACTIVE
            '/dev/centos/root' [50.00 GiB] inherit
[root@localhost
dev]# ls /dev/centos/
home
  root  swap
[root@localhost
dev]# vgchange -ay /dev/centos-1
3
logical volume(s) in volume group "centos-1" now active
[root@localhost
dev]# lvscan
ACTIVE
            '/dev/centos-1/swap' [2.00 GiB] inherit
ACTIVE
            '/dev/centos-1/home' [20.16 GiB] inherit
ACTIVE
            '/dev/centos-1/root' [41.29 GiB] inherit
ACTIVE
            '/dev/centos/swap' [3.88 GiB] inherit
ACTIVE
            '/dev/centos/home' [201.57 GiB] inherit
ACTIVE
            '/dev/centos/root' [50.00 GiB] inherit


5.检查是否自动挂载lv


重启系统之后,运行下面的命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
[root@localhost
dev]# cd /dev/mapper/
[root@localhost
mapper]# ls
centos--1-home
  centos--1-root  centos--1-swap  centos-home  centos-root 
centos-swap  control
[root@localhost
mapper]# ls -alrt
total
0
crw-------.
  1 root root 10, 236 Jul 16 22:34 control
lrwxrwxrwx.
  1 root root       7 Jul 16 22:34 centos-swap -> ../dm-1
lrwxrwxrwx.
  1 root root       7 Jul 16 22:34 centos-root -> ../dm-0
lrwxrwxrwx.
  1 root root       7 Jul 16 22:34 centos-home -> ../dm-2
drwxr-xr-x.
21 root root    3280 Jul 16 23:44 ..
lrwxrwxrwx.
  1 root root       7 Jul 16 23:44 centos--1-swap -> ../dm-3
lrwxrwxrwx.
  1 root root       7 Jul 16 23:44 centos--1-root -> ../dm-5
lrwxrwxrwx.
  1 root root       7 Jul 16 23:44 centos--1-home -> ../dm-4
drwxr-xr-x.
  2 root root     180 Jul 16 23:44 .
[root@localhost
mapper]# mount /dev/dm-
dm-0
  dm-1  dm-2  dm-3  dm-4  dm-5
[root@localhost
mapper]# mount /dev/dm-4 /mnt/
[root@localhost
mapper]# ls /mnt/
baba
  worker
[root@localhost
mapper]#


通过上面命令可以看到,之前不能挂载的卷组已经可以自动挂载了。



参考链接:http://www.92csz.com/47/736.html
















本文转自存储之厨51CTO博客,原文链接: http://blog.51cto.com/xiamachao/1951293,如需转载请自行联系原作者


相关文章
|
6月前
|
网络协议 虚拟化
76Linux - VMware虚拟机三种联网方法( NAT网络地址转换: 默认使用VMnet8 )
76Linux - VMware虚拟机三种联网方法( NAT网络地址转换: 默认使用VMnet8 )
58 0
|
6月前
|
虚拟化
74Linux - VMware虚拟机三种联网方法( Brigde桥接:默认使用VMnet0 )
74Linux - VMware虚拟机三种联网方法( Brigde桥接:默认使用VMnet0 )
58 0
|
Linux KVM 虚拟化
如何恢复故障KVM虚拟机qcow2磁盘镜像文件LVM分区中的数据
如何恢复故障KVM虚拟机qcow2磁盘镜像文件LVM分区中的数据
488 0
如何恢复故障KVM虚拟机qcow2磁盘镜像文件LVM分区中的数据
|
4月前
|
存储 Ubuntu Linux
虚拟机VMware Workstation Pro中配置Linux操作系统Ubuntu的方法
虚拟机VMware Workstation Pro中配置Linux操作系统Ubuntu的方法
|
4月前
|
Linux 虚拟化 Windows
1:VMware虚拟机的使用-步入Linux的现代方法
1:VMware虚拟机的使用-步入Linux的现代方法
56 0
|
6月前
|
网络协议 虚拟化 Windows
75Linux - VMware虚拟机三种联网方法( Host-Only私有网络共享主机:默认使用VMnet1 )
75Linux - VMware虚拟机三种联网方法( Host-Only私有网络共享主机:默认使用VMnet1 )
62 0
|
8月前
|
编解码 网络安全 数据安全/隐私保护
不使用VMTools,宿主机与虚拟机交换文件的方法(接上章)(下)
VMTool虽然方便,但毕竟是专用于虚拟机的软件,将要封装的系统不安装VMTools,易导致一些琐碎问题。下面我给大家介绍一个最常用的宿主机与虚拟机交换文件的方法,当然,比VMTools繁琐,但绝不影响系统封装。
130 0
|
8月前
|
安全 数据安全/隐私保护 虚拟化
不使用VMTools,宿主机与虚拟机交换文件的方法(接上章)(上)
VMTool虽然方便,但毕竟是专用于虚拟机的软件,将要封装的系统不安装VMTools,易导致一些琐碎问题。下面我给大家介绍一个最常用的宿主机与虚拟机交换文件的方法,当然,比VMTools繁琐,但绝不影响系统封装。
230 0
不使用VMTools,宿主机与虚拟机交换文件的方法(接上章)(上)
|
8月前
|
存储 缓存 安全
【jvm系列-03】精通运行时数据区私有区域---虚拟机栈、程序计数器、本地方法栈
【jvm系列-03】精通运行时数据区私有区域---虚拟机栈、程序计数器、本地方法栈
49 0
|
11月前
|
存储 安全 Java
【JVM调优实战100例】02——虚拟机栈与本地方法栈调优五例
【JVM调优实战100例】02——虚拟机栈与本地方法栈调优五例

热门文章

最新文章