设为首页 收藏本站
查看: 1204|回复: 0

[经验分享] openstack 环境下KVM虚拟机数据文件恢复

[复制链接]

尚未签到

发表于 2018-6-2 11:52:50 | 显示全部楼层 |阅读模式
  本文描述了在OpenStack环境下的kvm虚拟机数据文件损坏后,如何找回数据非系统盘的数据
  

故障现象:
      在物理机非法关闭之后,虚拟机连接不上了,ssh连接是总提示超时,nova show查看实例,其中status 行是snapshoting。因为没有手动的做snapshot,因此直接reboot实例,重启之后status是active的,但是还是连接不上。
      首先查看VNC的端口:
  nova list | grep  172.0.0.1(得到实例的id,name,ip信息)
  nova  get-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启动实例,以linux  rescue方式进入系统,配置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启动实例,以linux rescue方式进入系统,配置IP,挂载disk.local盘,scp出数据。
  1、edit  实例uuid
将原来的启动盘部分删除掉,在现有<disk>…</disk>标签段后再添加如下代码段,以添加光驱设备并挂载iso:
<disktype=’file’ device=’cdrom’>
<driver name=’qemu’ type=’raw’/>
<source file=’/home/openstack/rhel-server-5.3-x86_64-dvd.iso’/>
<target dev=’hdc’ bus=’ide’/>
<readonly/>
</disk>

再在<os>…</os>标签内,<bootdev=’hd’/>之前添加一行:
<boot dev=’cdrom’/>
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 备份的数据到新的实例即可


  



附件:http://down.51cto.com/data/2363900

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-506946-1-1.html 上篇帖子: openstack 遇到的问题一 下篇帖子: openstack havana部署和调通第一个虚机
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表