热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

openstack平台的KVM虚拟机数据文件恢复方法

本文描述了在OpenStack环境下的kvm虚拟机数据文件损坏后,如何找回数据非系统盘的数据故障现象:在物理机非法关闭之后,虚拟机连接不上了,ssh连接是总提示超时,novashow查看实例,其中status行是snapshoting。因为没有手动的做snapshot,因此直接reboot

本文描述了在OpenStack环境下的kvm虚拟机数据文件损坏后,如何找回数据非系统盘的数据

故障现象:

   在物理机非法关闭之后,虚拟机连接不上了,ssh连接是总提示超时,novashow查看实例,其中status 行是snapshoting。因为没有手动的做snapshot,因此直接reboot实例,重启之后status是active的,但是还是连接不上。

   首先查看VNC的端口:

nova list | grep  172.0.0.1(得到实例的id,name,ip信息)

novaget-vnc-console  instance_name  novnc(得到vnc的地址)

使用VNC连接,查看到<0>Kernel panic ? not syncing :Fatal exception(服务器系统盘坏了)

处理方案和操作过程:

经确认,主要的数据在额外挂在的vdb盘下面(非EBS盘,没有使用EBS技术,这里实体机显示的名称为disk.local),系统盘坏了,那么我就需要把之前实例的vdb盘数据恢复就OK了,首先尝试修改 instance的libvirt.xml文件

1、把disk挂在到一个正常的实例下面,看看能不能看到数据

2、修改毁坏的实例libvirtd.xml,将引导盘设置成一个没有毁坏的实例的disk盘(物理机显示名称是disk),看能不能启动实例

3、设置iso启动实例,以linuxrescue方式进入系统,配置IP,挂载disk.local盘,scp出数据

几个命令的介绍:

①查看实例的信息:nova list  | grep     ip或者nova show  uuid

②编辑libvirtd.xml的方法:Virsh     edit   uuid

③强制删除实例:use nova

Delete    from nova.security_group_instance_association where id=

Delete    from  nova.instance_info_caches where    id=

Delete    from  nova.instances  where uuid=

上面方案1、2的方法就不介绍了,和正常恢复了数据的方案3差不多,修改相关的路径即可,但是1、2两种方案不可行

方案3:设置iso启动实例,以linuxrescue方式进入系统,配置IP,挂载disk.local盘,scp出数据。

1、edit  实例uuid

将原来的启动盘部分删除掉,在现有标签段后再添加如下代码段,以添加光驱设备并挂载iso:






再在标签内,之前添加一行:

2.   此时再将该实例destroy再start就会从光盘启动了

# destroy  old_instance_domain

# start  old_instance_domain

注:救援模式如何配置IP之类的就不再说了,网上很多。

那现在进入救援模式,fdisk ?l查看现有的盘,建立新的目录,将sdb盘挂载上去,之后就可以使用scp将数据拷出去,此时sdb盘的数据便恢复了。

新建实例,将数据恢复到新的实例上面去;

1、先nova show uuid 查看毁坏的instance的详细信息,比如:flavor的类型,使用哪个image、在那个实体机上面等,

Glance index查看镜像的信息

Nova flavor-list 查看实例类型

2、之后删除原先的实例,新建实例

Nova boot  --flavor 7  --image image_id   instance_name  --availability_zone nova:compute_name

3、分配floating ip

Nova   add-floating-ip   uuid 172.0.0.2

SCP 备份的数据到新的实例即可


推荐阅读
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • 本周信息安全小组主要进行了CTF竞赛相关技能的学习,包括HTML和CSS的基础知识、逆向工程的初步探索以及整数溢出漏洞的学习。此外,还掌握了Linux命令行操作及互联网工作原理的基本概念。 ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • 本文详细介绍了如何在BackTrack 5中配置和启动SSH服务,确保其正常运行,并通过Windows系统成功连接。涵盖了必要的密钥生成步骤及常见问题解决方法。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文探讨了 RESTful API 和传统接口之间的关键差异,解释了为什么 RESTful API 在设计和实现上具有独特的优势。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
author-avatar
甄Ven-Li
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有