28.2.5.2. 使用虚拟机安装失败
如果您正在执行虚拟安装,且该进程在第一阶段因为任何原因中断(如硬件故障、断电或键盘中断),virt-install 将无法再次启动,直到之前创建的临时磁盘镜像和虚拟机被删除为止。以下流程解释了如何执行此操作。
并非每次都需要执行所有步骤。例如,如果您在系统崩溃后恢复,则不必停止临时虚拟机,而是只能使用 virsh undefine name 命令。如果您只想清理 livemedia-creator 创建的临时文件,也可以使用第 4 和 5 步。
过程 28.2. 删除临时虚拟客户机和磁盘镜像文件
- 使用 virsh 列出系统上当前可用的所有虚拟机(guest)。输出结果类似如下:
#
virsh list --all Id Name State ---------------------------------------------------- 93 LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 running - RHEL7 shut off确定临时虚拟机。其名称始终以LiveOS
开头,后跟一个随机数字和字符字符串。 - 确定临时虚拟机后,使用 virsh destroy name 命令停止它,其中 name 是虚拟机的名称:
#
virsh destroy LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 Domain LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 destroyed - 使用 virsh undefine name,使用与上一步中相同的 名称 删除临时虚拟机。
#
virsh undefine LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 Domain LiveOS-2a198971-ba97-454e-a056-799f453e1bd7 has been undefined - 查找临时文件系统的挂载。它将以
/var/tmp/
目录为目标,其名称将 islorax.imgutils
,后跟六个随机数字或字符。#
findmnt -T /var/tmp/lorax.imgutils* TARGET SOURCE FSTYPE OPTIONS /var/tmp/lorax.imgutils.bg6iPJ /dev/loop1 iso9660 ro,relatime然后,使用 umount 命令卸载它:#
umount /var/tmp/lorax.imgutils.bg6iPJ - 在
/var/tmp/
目录中找到 virt-install 创建的临时磁盘镜像。除非您使用--image-name
选项指定名称,否则该文件的名称会在安装过程开始时打印到命令行并随机生成。例如:2013-10-30 09:53:03,161: disk_size = 5GB 2013-10-30 09:53:03,161: disk_img = /var/tmp/diskQBkzRz.img 2013-10-30 09:53:03,161: install_log = /home/pbokoc/lorax/virt-install.log mount: /dev/loop1 is write-protected, mounting read-only
在上例中,临时磁盘映像为/var/tmp/diskQBkzRz.img
。如果无法找到初始消息,您可以手动识别临时文件。使用 ls 命令列出/var/tmp/
目录的所有内容,并过滤名称中包含磁盘
的文件的输出结果:#
ls /var/tmp/ | grep disk diskQBkzRz.img然后,删除临时磁盘镜像:#
rm -f /var/tmp/diskQBkzRz.img
如果您遵循此流程中的所有步骤,现在可以使用 virt-install 启动新安装。