虚机,操作系统启动以后,卡住不动了,按F2,出现缺失文件的内容

问题现象

生产环境上,用户的虚机,在启动的时候,一直卡在进度条,按f2的时候,报文件缺失的现象,

init: Failed to spawn rcS post-stop process: unable to execute: No such file or directory

故障原因

通过网络相关的帖子,可能是/bin/sh文件缺失,导致系统启动卡条,通过在计算节点,执行yum install libguestfs-tools命令,来安装guestfish套件,执行virt-ls –a disk /bin/命令来确认/bin目录下,确实没有sh,bash两个文件,其中sh是bash的软连接

问题处理方法

1、通过nova show 虚机uuid查看虚机位于哪个计算节点

2、登录到该计算节点,通过virsh list命令查看虚机的状态,如果虚机处于运行状态,那么执行virsh destroy instance-xxx命令,对虚机进行关机

3、执行virsh domrename instance-xxx cw_test对虚机进行更名,更名操作是因为在对虚机执行修复过程中,执行virsh start命令对虚机开机,会被nova这一层强制的关机,更名以后,虚机不被nova控制,可以自由的操作

4、把虚机镜像对应的iso镜像拷贝到计算节点,用于救援模式使用

5、执行virsh edit cw_test命令,修改虚机的xml文件,主要修改如下两点:

启动方式改为cdrom方式

把虚机xml文件中,原有的cdrom内容去掉,换成iso镜像的内容

<disk type='file' device='cdrom'>

<driver name='qemu' type='raw' cache='none'/>

<source file='/root/CentOS-7-X86_64-DVD-1611.iso'/>

<target dev='hdd' bus='ide'/>

</disk>

6、执行virsh start命令启动虚机,选择进行rescue mode模式

在救援模式下,不用选择网络模式,选择一般模式即可,成功进入救援模式后,虚机原有的操作系统内容,会被挂载到/mnt/sysimage目录下,所以如果想要往虚机的原有系统目录下增加文件,一定要注意路径,增加/mnt/sysimage。

 

7、执行cp /bin/bash / /mnt/sysimage/bin/ 把/bin/bash拷贝到虚机的操作系统/bin目录下

8、进入到/mnt/sysimage/bin目录下,执行ln -s bash sh命令,为bash建立软连接

(ln [参数][源文件或目录][目标文件或目录], -s 软链接(符号链接))

9、virsh destroy cw_test对虚机进行关机,并还原虚机的xml文件内容及dom名字,重启虚机,虚机正常启动,问题修复

原文地址:https://www.cnblogs.com/potato-chip/p/13723291.html