热门标签 | 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服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 树莓派Linux基础(一):查看文件系统的命令行操作
    本文介绍了在树莓派上通过SSH服务使用命令行查看文件系统的操作,包括cd命令用于变更目录、pwd命令用于显示当前目录位置、ls命令用于显示文件和目录列表。详细讲解了这些命令的使用方法和注意事项。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
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社区 版权所有