早上一来就被通知昨晚开发的机器跳闸断电了,这都小事儿么,马上登录启动分分钟搞定。可是过了10分钟有一台就死活起不来了,觉得不好了碰上个坑了。
找问题吧,先看看控制界面有啥报错没,结果给我来个“在准备中,稍后再试。”等了都10几分钟了怎么可能呢,看看吧,发现原先系统的Console Proxy VM竟然还在启动中,这都半天了啊。果断重启,然而并没什么卵用。差了下这个VM是系统自动创建的,重启不行直接干掉还会自动生成,那还留着干嘛直接删除了,分分钟就重建了,启动正常。
这些可以看到控制台了,一看原来是有坏块了直接修复就好了么,可是当我鼠标和键盘点进去没有任何反映的时候我就要跪了,这尼玛是肿了么?
好吧,问题在这还得解决不能一直跪了。想了下这东西不也是基于KVM的么,那样的话VNC也是可以的么。反正都有端口号都有,直接连吧,可是这根本就不行啊
这5900的端口都没法用啊,其实并不是这样滴,如下才是正解
但试了下发现只有一个刚刚删除了重建的系统VM可以连接,其余的都不行呢。这是咋回事呢?
根据以前经验,这个是可以分开启动直接通过VNC连接,不用在cloudstack页面管理,找了下配置文件发现cloudstack的VM配置文件都在/var/run/libvirt/qemu下。而KVM的都在/etc/libvirt/qemu/下,而可以访问的VM的配置文件在这个2个目录都存在,无法访问的只有在/var/run/libvirt/qemu下。这下找到方法了,复制了一个/etc/libvirt/qemu/下系统的VM,修改配置文件(注意UUID还有source file=要修复的系统文件)。virsh define /etc/libvirt/qemu/i-2-21-VM.xml加载配置文件,没有问题启动正常,通过VNC可以连接,终于可以修复了,可是这个是系统的没法修复硬盘,看来得加载光盘救援模式了。这怎么让通过光盘启动呢,如下放到我们硬盘前面的字段里就可以了。
<disk type=‘file‘ device=‘cdrom‘> <driver name=‘qemu‘ type=‘raw‘ cache=‘none‘/> <source file=‘/tmp/CentOS-6.5-x86_64-bin-DVD1.iso‘/> <target dev=‘hdc‘ bus=‘ide‘/> <readonly/> <address type=‘drive‘ controller=‘0‘ bus=‘1‘ target=‘0‘ unit=‘0‘/> </disk>
最后启动顺利进入光盘救援模式,fsck.ext4 /dev/vda3 修复成功。
最后做下清理就好了virsh undefine /etc/libvirt/qemu/i-2-21-VM.xml 就会把文件删除。
本文出自 “毛竹之势” 博客,请务必保留此出处http://peaceweb.blog.51cto.com/3226037/1727630
原文地址:http://peaceweb.blog.51cto.com/3226037/1727630