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

简介:

使用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,如需转载请自行联系原作者


相关文章
|
网络协议 虚拟化
76Linux - VMware虚拟机三种联网方法( NAT网络地址转换: 默认使用VMnet8 )
76Linux - VMware虚拟机三种联网方法( NAT网络地址转换: 默认使用VMnet8 )
153 0
|
虚拟化
74Linux - VMware虚拟机三种联网方法( Brigde桥接:默认使用VMnet0 )
74Linux - VMware虚拟机三种联网方法( Brigde桥接:默认使用VMnet0 )
98 0
|
6天前
|
监控 测试技术 数据库
详解Hyper-V虚拟机CPU分配方法
在Hyper-V环境中,合理分配虚拟机的CPU资源至关重要。vCPU是物理CPU的虚拟化表示,管理员可通过指定处理器数量、核心数、设置兼容性和亲和性、启用动态分配等方法优化性能。使用性能监视工具监控并调整CPU资源,避免过度分配,确保虚拟机稳定运行。定期评估和优化资源分配策略,以适应业务变化,保持最佳性能。
|
5月前
|
Java
jvm复习,深入理解java虚拟机一:运行时数据区域
这篇文章深入探讨了Java虚拟机的运行时数据区域,包括程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区、元空间和运行时常量池,并讨论了它们的作用、特点以及与垃圾回收的关系。
94 19
jvm复习,深入理解java虚拟机一:运行时数据区域
|
9月前
|
存储 Java C++
Java虚拟机(JVM)管理内存划分为多个区域:程序计数器记录线程执行位置;虚拟机栈存储线程私有数据
Java虚拟机(JVM)管理内存划分为多个区域:程序计数器记录线程执行位置;虚拟机栈存储线程私有数据,如局部变量和操作数;本地方法栈支持native方法;堆存放所有线程的对象实例,由垃圾回收管理;方法区(在Java 8后变为元空间)存储类信息和常量;运行时常量池是方法区一部分,保存符号引用和常量;直接内存非JVM规范定义,手动管理,通过Buffer类使用。Java 8后,永久代被元空间取代,G1成为默认GC。
88 2
|
10月前
|
存储 关系型数据库 MySQL
服务器数据恢复—EVA存储异常断电重启后虚拟机无法启动的数据恢复方案
服务器存储数据恢复环境: 某品牌EVA8400,服务器上安装VMware ESXi虚拟化平台,虚拟机的虚拟磁盘包括数据盘(精简模式)+快照数据盘,部分虚拟机中运行oracle数据库和mysql数据库。 服务器存储故障&检测: 存储异常断电重启后,存储中一台虚拟机无法启动。工作人员推测故障原因是异常断电导致电源模块出现故障,清空cache后重新启动存储发现该虚拟机仍无法正常启动。
|
10月前
|
存储 关系型数据库 MySQL
服务器数据恢复—ESXi虚拟机无法启动的数据恢复案例
**服务器数据恢复环境:** 某品牌EVA某型号存储中部署VMware ESXi虚拟化平台,数据盘(精简模式)+快照数据盘,虚拟机中有mysql数据库。 **服务器故障:** 机房意外断电导致该存储中的一台VMware虚拟机无法启动,管理员清空cache并尝试重新启动该虚拟机 ,问题依旧,无法成功启动虚拟机。用户方联系到我们数据恢复中心要求恢复该无法启动的虚拟机中的数据。
|
10月前
|
存储 Ubuntu Linux
虚拟机VMware Workstation Pro中配置Linux操作系统Ubuntu的方法
虚拟机VMware Workstation Pro中配置Linux操作系统Ubuntu的方法
220 1
|
10月前
|
存储 Kubernetes 安全
虚拟机测试Windows Server 2016原地升级2019,应用和数据完美保留
Windows Server 2016可以无缝升级到2019版本,确保应用程序和数据在原地升级过程中完整保留。
546 0
|
10月前
|
存储 缓存 Java
JVM【带着问题去学习 02】数据结构栈+本地方法栈+虚拟机栈+JVM栈运行原理
JVM【带着问题去学习 02】数据结构栈+本地方法栈+虚拟机栈+JVM栈运行原理
119 0

热门文章

最新文章