CN109710377A - 一种从故障的分布式存储里恢复kvm虚拟机的方法 - Google Patents
一种从故障的分布式存储里恢复kvm虚拟机的方法 Download PDFInfo
- Publication number
- CN109710377A CN109710377A CN201811534186.3A CN201811534186A CN109710377A CN 109710377 A CN109710377 A CN 109710377A CN 201811534186 A CN201811534186 A CN 201811534186A CN 109710377 A CN109710377 A CN 109710377A
- Authority
- CN
- China
- Prior art keywords
- block device
- mirror image
- type
- disk
- uuid
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及云计算技术领域,尤其是一种从故障的分布式存储里恢复kvm虚拟机的方法。本发明的方法包括如下步骤:1、检查块设备的类型;2、将镜像块设备挂载到物理机的nbd设备上,并查看UUID和TYPE;3、将***盘块设备挂载到物理机的nbd设备上,并查看UUID和TYPE;4、将UUID和TYPE相同的镜像块设备和***盘块设备进行合并。本发明解决了分布式存储故障后kvm虚拟机恢复存在的步骤繁琐、耗时的问题;可以用于从故障的分布式存储里恢复kvm虚拟机。
Description
技术领域
本发明涉及云计算技术领域,尤其是一种从故障的分布式存储里恢复kvm虚拟机的方法。
背景技术
在云计算领域里,虚拟化类型有vmware、xen、kvm等;云计算存储类型有本地存储、分布式存储、集中存储等。其中分布式存储以块设备的方式为kvm虚拟化提供存储服务。当分布式存储故障后无法提供服务,需要将块设备从故障的分布式存储里恢复出来。kvm虚拟机由镜像和***盘组成;此时无法确定块设备是镜像还是***盘,因此无法恢复虚拟机。
目前已有的解决方案是:将块设备挂载到一台虚拟机上,并登陆该虚拟机后查询UUID和TYPE。
此方法存在以下弊端:
1、操作步骤繁琐,每次操作均需要修改虚拟机配置文件;
2、操作耗时,每次操作均需要经过虚拟机开机、登陆虚拟机***、虚拟机关机等步骤,比较耗时。
发明内容
本发明解决的技术问题在于提供一种从故障的分布式存储里恢复kvm虚拟机的方法;解决现有方法存在步骤繁琐、耗时的问题。
本发明解决上述技术问题的技术方案是:
所述的方法包括如下步骤:
步骤1:检查块设备的类型;
步骤2:将镜像块设备挂载到物理机的nbd设备上,并查看UUID和TYPE;
步骤3:将***盘块设备挂载到物理机的nbd设备上,并查看UUID和TYPE;
步骤4:将UUID和TYPE相同的镜像块设备和***盘块设备进行合并。
所述的步骤1步骤具体为:
使用qemu-img工具查询块设备的信息;获得file format、virtual size、disksize、backing file信息;所述backing file是***盘的源文件,即镜像;
如果查询块设备的信息里包含backing file,则该设备是虚拟机的***盘,称之为***盘块设备;
如果查询块设备的信息里不包含backing file,则该设备是虚拟机的镜像,称之为镜像块设备。
所述的步骤2步骤具体为:
创建nbd设备;
挂载镜像块设备到nbd块设备;
查看镜像块设备的虚拟磁盘分区
执行命令blkid查看镜像块设备的虚拟磁盘分区的UUID和TYPE,所述UUID是磁盘分区的唯一识别码,TYPE是磁盘分区的格式;如果TYPE是“ntfs”,则该块设备是windows***镜像;如果TYPE是“ext4”,则该块设备是linux***镜像;
卸载nbd设备。
所述的步骤3步骤具体为:
创建nbd设备;
挂载***盘块设备到nbd块设备;
查看***盘块设备的虚拟磁盘分区;
执行命令blkid查看***盘块设备的虚拟磁盘分区的UUID和TYPE;
卸载nbd设备。
所述的步骤4步骤具体为:
找出UUID和TYPE均相同的镜像块设备和***盘块设备,并存放在同一个目录下;
将***盘块设备重定向到镜像块设备上;
合成新的磁盘文件,即为完整的虚拟机。
采用本发明的方法,当分布式存储故障后无法提供服务,可以从大量块设备中快速恢复出kvm虚拟机。比已有解决方案的操作步骤更加简单,效率更高。还可以通过编写代码,将步骤2和步骤3的操作脚本化,进一步提高效率。
附图说明
下面结合附图对本发明进一步说明:
图1是本发明流程图。
具体实施方式
见图1所示,是一种从故障的分布式存储里恢复kvm虚拟机的流程图。该方法包括:
步骤1:检查块设备的类型。
其步骤具体为:
1.使用qemu-img工具查询块设备的信息。可以获得file format、virtual size、disk size、backing file等信息;
所述backing file是***盘的源文件,即镜像。
2.如果查询块设备的信息里包含backing file,则该设备是虚拟机的***盘,称之为***盘块设备;
3.如果查询块设备的信息里不包含backing file,则该设备是虚拟机的镜像,称之为镜像块设备;
步骤2:将镜像块设备挂载到物理机的nbd设备上,并查看UUID和TYPE。
其步骤具体为:
1.创建nbd设备
#modprobe nbd max_part=8
2.挂载镜像块设备到nbd块设备
qemu-nbd-c/dev/nbd0$镜像块设备
注意:qemu-nbd工具需要和原虚拟化工具qemu的版本相同
3.查看镜像块设备的虚拟磁盘分区
#ls/dev/nbd0*
/dev/nbd0/dev/nbd0p1/dev/nbd0p2
以上显示镜像块设备的虚拟磁盘分区个数
4.执行命令blkid查看镜像块设备的虚拟磁盘分区的UUID和TYPE所述UUID是磁盘分区的唯一识别码,TYPE是磁盘分区的格式。如果TYPE是“ntfs”,则该块设备是windows***镜像;如果TYPE是“ext4”,则该块设备是linux***镜像。
5.卸载nbd设备
#qemu-nbd-d/dev/nbd0
步骤3:将***盘块设备挂载到物理机的nbd设备上,并查看UUID和TYPE。
其步骤具体为:
1.创建nbd设备
#modprobe nbd max_part=8
2.挂载***盘块设备到nbd块设备
qemu-nbd-c/dev/nbd0$***盘块设备
注意:qemu-nbd工具需要和原虚拟化工具qemu的版本相同
3.查看***盘块设备的虚拟磁盘分区
#ls/dev/nbd0*
/dev/nbd0/dev/nbd0p1/dev/nbd0p2
以上显示***盘块设备的虚拟磁盘分区个数
4.执行命令blkid查看***盘块设备的虚拟磁盘分区的UUID和TYPE所述UUID是磁盘分区的唯一识别码,TYPE是磁盘分区的分区格式。如果TYPE是“ntfs”,则该块设备是windows***盘;如果TYPE是“ext4”,则该块设备是linux***盘。
5.卸载nbd设备
#qemu-nbd-d/dev/nbd0
步骤4:将UUID和TYPE相同的镜像块设备和***盘块设备进行合并。
其步骤具体为:
1.找出UUID和TYPE均相同的镜像块设备和***盘块设备,并存放在同一个目录下;
2.将***盘块设备重定向到镜像块设备上,具体指令为:
qemu-img rebase-u-b$镜像块设备$***盘块设备
3.合成新的磁盘文件,即为完整的虚拟机,具体指令为:
qemu-img convert-p-O qcow2$虚拟机磁盘$镜像块设备。
Claims (7)
1.一种从故障的分布式存储里恢复kvm虚拟机的方法,其特征在于:所述的方法包括如下步骤:
步骤1:检查块设备的类型;
步骤2:将镜像块设备挂载到物理机的nbd设备上,并查看UUID和TYPE;
步骤3:将***盘块设备挂载到物理机的nbd设备上,并查看UUID和TYPE;
步骤4:将UUID和TYPE均相同的镜像块设备和***盘块设备进行合并。
2.根据权利要求1所述的方法,其特征在于:
所述的步骤1步骤具体为:
使用qemu-img工具查询块设备的信息;获得file format、virtual size、disk size、backing file信息;所述backing file是***盘的源文件,即镜像;
如果查询块设备的信息里包含backing file,则该设备是虚拟机的***盘,称之为***盘块设备;
如果查询块设备的信息里不包含backing file,则该设备是虚拟机的镜像,称之为镜像块设备。
3.根据权利要求1所述的方法,其特征在于:
所述的步骤2步骤具体为:
创建nbd设备;
挂载镜像块设备到nbd块设备;
查看镜像块设备的虚拟磁盘分区;
执行命令blkid查看镜像块设备的虚拟磁盘分区的UUID和TYPE,所述UUID是磁盘分区的唯一识别码,TYPE是磁盘分区的格式;如果TYPE是“ntfs”,则该块设备是windows***镜像;如果TYPE是“ext4”,则该块设备是linux***镜像;
卸载nbd设备。
4.根据权利要2所述的方法,其特征在于:
所述的步骤2步骤具体为:
创建nbd设备;
挂载镜像块设备到nbd块设备;
查看镜像块设备的虚拟磁盘分区;
执行命令blkid查看镜像块设备的虚拟磁盘分区的UUID和TYPE,所述UUID是磁盘分区的唯一识别码,TYPE是磁盘分区的格式;如果TYPE是“ntfs”,则该块设备是windows***镜像;如果TYPE是“ext4”,则该块设备是linux***镜像;
卸载nbd设备。
5.根据权利要求1至4任一项所述的方法,其特征在于:
所述的步骤3步骤具体为:
创建nbd设备;
挂载***盘块设备到nbd块设备;
查看***盘块设备的虚拟磁盘分区;
执行命令blkid查看***盘块设备的虚拟磁盘分区的UUID和TYPE;
卸载nbd设备。
6.根据权利要求1至4任一项所述的方法,其特征在于:
所述的步骤4步骤具体为:
找出UUID和TYPE均相同的镜像块设备和***盘块设备,并存放在同一个目录下;
将***盘块设备重定向到镜像块设备上;
合成新的磁盘文件,即为完整的虚拟机。
7.根据权利要求5所述的方法,其特征在于:
所述的步骤4步骤具体为:
找出UUID和TYPE均相同的镜像块设备和***盘块设备,并存放在同一个目录下;
将***盘块设备重定向到镜像块设备上;
合成新的磁盘文件,即为完整的虚拟机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811534186.3A CN109710377B (zh) | 2018-12-14 | 2018-12-14 | 一种从故障的分布式存储里恢复kvm虚拟机的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811534186.3A CN109710377B (zh) | 2018-12-14 | 2018-12-14 | 一种从故障的分布式存储里恢复kvm虚拟机的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109710377A true CN109710377A (zh) | 2019-05-03 |
CN109710377B CN109710377B (zh) | 2023-06-30 |
Family
ID=66256477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811534186.3A Active CN109710377B (zh) | 2018-12-14 | 2018-12-14 | 一种从故障的分布式存储里恢复kvm虚拟机的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109710377B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113110955A (zh) * | 2021-04-15 | 2021-07-13 | 山东英信计算机技术有限公司 | 一种***盘修复方法、存储介质及设备 |
CN114265628A (zh) * | 2021-12-22 | 2022-04-01 | 曙光信息产业股份有限公司 | 操作***的部署方法、装置、电子设备、存储介质及*** |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040030703A1 (en) * | 2002-08-12 | 2004-02-12 | International Business Machines Corporation | Method, system, and program for merging log entries from multiple recovery log files |
WO2005091161A1 (en) * | 2004-03-22 | 2005-09-29 | Nitgen Technologies Inc. | A streaming based contents distribution network system and methods for splitting, merging and retrieving files |
WO2012149844A1 (zh) * | 2011-10-12 | 2012-11-08 | 华为技术有限公司 | 一种虚拟机内存快照生成和恢复方法、装置及*** |
CN103729264A (zh) * | 2013-12-23 | 2014-04-16 | 国云科技股份有限公司 | 一种Windows虚拟机***盘备份还原方法 |
US20140380089A1 (en) * | 2013-06-21 | 2014-12-25 | Electronics And Telecommunications Research Institute | Method and apparatus for recovering failed disk in virtual machine |
CN104407931A (zh) * | 2014-10-28 | 2015-03-11 | 国云科技股份有限公司 | 一种获取虚拟机损坏***盘镜像的方法 |
WO2015051641A1 (zh) * | 2013-10-12 | 2015-04-16 | 华为技术有限公司 | 一种磁盘镜像空间回收的方法及装置 |
CN105095001A (zh) * | 2014-05-08 | 2015-11-25 | ***股份有限公司 | 分布式环境下虚拟机异常恢复方法 |
CN106126318A (zh) * | 2016-07-05 | 2016-11-16 | 云南大学 | 一种Openstack云平台中虚拟机的动态迁移方法 |
CN106648981A (zh) * | 2016-12-13 | 2017-05-10 | 龚平 | 一种基于持续数据保护的虚拟机数据保护方法 |
CN107885576A (zh) * | 2017-10-16 | 2018-04-06 | 北京易讯通信息技术股份有限公司 | 一种基于OpenStack的私有云中虚拟机HA的方法 |
-
2018
- 2018-12-14 CN CN201811534186.3A patent/CN109710377B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040030703A1 (en) * | 2002-08-12 | 2004-02-12 | International Business Machines Corporation | Method, system, and program for merging log entries from multiple recovery log files |
WO2005091161A1 (en) * | 2004-03-22 | 2005-09-29 | Nitgen Technologies Inc. | A streaming based contents distribution network system and methods for splitting, merging and retrieving files |
WO2012149844A1 (zh) * | 2011-10-12 | 2012-11-08 | 华为技术有限公司 | 一种虚拟机内存快照生成和恢复方法、装置及*** |
US20140380089A1 (en) * | 2013-06-21 | 2014-12-25 | Electronics And Telecommunications Research Institute | Method and apparatus for recovering failed disk in virtual machine |
WO2015051641A1 (zh) * | 2013-10-12 | 2015-04-16 | 华为技术有限公司 | 一种磁盘镜像空间回收的方法及装置 |
CN103729264A (zh) * | 2013-12-23 | 2014-04-16 | 国云科技股份有限公司 | 一种Windows虚拟机***盘备份还原方法 |
CN105095001A (zh) * | 2014-05-08 | 2015-11-25 | ***股份有限公司 | 分布式环境下虚拟机异常恢复方法 |
CN104407931A (zh) * | 2014-10-28 | 2015-03-11 | 国云科技股份有限公司 | 一种获取虚拟机损坏***盘镜像的方法 |
CN106126318A (zh) * | 2016-07-05 | 2016-11-16 | 云南大学 | 一种Openstack云平台中虚拟机的动态迁移方法 |
CN106648981A (zh) * | 2016-12-13 | 2017-05-10 | 龚平 | 一种基于持续数据保护的虚拟机数据保护方法 |
CN107885576A (zh) * | 2017-10-16 | 2018-04-06 | 北京易讯通信息技术股份有限公司 | 一种基于OpenStack的私有云中虚拟机HA的方法 |
Non-Patent Citations (1)
Title |
---|
北亚: "虚拟机数据恢复过程", 《HTTPS://ZHUANLAN.ZHIHU.COM/P/38521008》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113110955A (zh) * | 2021-04-15 | 2021-07-13 | 山东英信计算机技术有限公司 | 一种***盘修复方法、存储介质及设备 |
CN114265628A (zh) * | 2021-12-22 | 2022-04-01 | 曙光信息产业股份有限公司 | 操作***的部署方法、装置、电子设备、存储介质及*** |
CN114265628B (zh) * | 2021-12-22 | 2024-05-28 | 曙光信息产业股份有限公司 | 操作***的部署方法、装置、电子设备、存储介质及*** |
Also Published As
Publication number | Publication date |
---|---|
CN109710377B (zh) | 2023-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10528430B2 (en) | Optimized backup of clusters with multiple proxy servers | |
EP2731013B1 (en) | Backing up method, device, and system for virtual machine | |
US10528382B2 (en) | Storage layer based orchestration method for virtual machine migration across disparate virtualization environments | |
US8738883B2 (en) | Snapshot creation from block lists | |
CN102834822B (zh) | 由虚拟机共享的群集的快速-完整备份 | |
CN110188000B (zh) | 基于虚拟化以及iSCSI或FC的应用容灾方法及*** | |
EP2840495B1 (en) | Container-based processing method and apparatus | |
CN105446826A (zh) | 虚拟机备份、恢复的方法及设备 | |
CN108804189B (zh) | 一种云桌面管理方法及*** | |
US10031819B2 (en) | Checkpoint mechanism in a compute embedded object storage infrastructure | |
CN104216793A (zh) | 应用程序备份、恢复的方法及设备 | |
US9557980B2 (en) | Seamless application integration apparatus and method | |
US11086724B1 (en) | Single step merging of a virtual hard disk chain | |
US9766834B2 (en) | Live partition mobility using ordered memory migration | |
US11175944B2 (en) | Optimizing cluster-wide operations in a hyper-converged infrastructure (HCI) deployment | |
CN109710377A (zh) | 一种从故障的分布式存储里恢复kvm虚拟机的方法 | |
CN110968392A (zh) | 一种升级虚拟化模拟器的方法和装置 | |
CN102495812A (zh) | Linux平台硬盘数据保护与恢复方法 | |
US11263082B2 (en) | Data recovery of guest virtual machines | |
US9569138B2 (en) | Copying virtual machine flat tires from a source to target computing device based on matching disk layout | |
CN103713952A (zh) | 一种基于ufs的虚拟磁盘分布式存储方法 | |
CN116841799A (zh) | 虚拟机备份方法、***、设备及可读存储介质 | |
KR101835431B1 (ko) | 가상화 시스템에서 컨테이너의 데이터 업데이트 방법 및 그 장치 | |
CN104778048A (zh) | 基于Linux***的安装搭建服务器web环境的方法和装置 | |
US8918582B2 (en) | Simulating EEPROM in virtual distributed switches |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |