如何为 libvirt 虚拟机创建合适的驱动器?

如何为 libvirt 虚拟机创建合适的驱动器?

我正在尝试virt-install在 CentOS 7 主机中创建 CentOS 7 虚拟机。为此,我一直在阅读RHEL 网站上的 virt-install 文档,我也一直在阅读man virt-installvirt-install --help。我在文档中看到了参数的几种语法类型--disk,因此我选择了一种并提出了下面的语法,该语法引发了错误。 如何创建可供该命令使用的适当虚拟驱动器virt-install

这是我到目前为止所拥有的:

[root@localhost home]# virt-install --name=public-centos7 --disk path=/home/publicvm --graphics none --vcpus=2 --memory=2048 --cdrom /media/usb/CentOS-7-x86_64-DVD-1503-01.iso --network bridge=br0 --os-type=linux --os-variant=rhel7.0
WARNING  CDROM media does not print to the text console by default, so you likely will not see text install output. You might want to use --location.See the man page for examples of using --location with CDROM media

Starting install...
ERROR    internal error: process exited while connecting to monitor: 2015-10-08T19:53:08.694875Z qemu-kvm: -drive file=/home/publicvm,if=none,id=drive-virtio-disk0,format=dir: 'dir' invalid format

Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:
  virsh --connect qemu:///system start public-centos7
otherwise, please restart your installation.
[root@localhost home]# 

请注意,这/home/publicvm只是安装在 的分区内的一个目录/home。它使用ext4文件系统。

注意:该iso文件采用 USBntfs格式。我下载了一个库,以便从终端将 CentOS 7 启用到 USB,并检查以确保在运行上述命令之前可以读取其中的mount内容。我不认为这与有关驱动器的错误消息有任何关系,但是,由于有关上述命令的警告,我添加了此消息。ntfs/media/usbcdrom

答案1

根据聊天发现,解决办法是:

将您的 .ISO 映像复制到/var/lib/libvirt/images并运行,virt-install如下所示:

virt-install --name=public-centos7 \
    --disk path=/home/publicvm/some.img,size=10 \
    --graphics none \
    --vcpus=2 \
    --memory=2048 \
    --location /var/lib/libvirt/images/CentOS-7-x86_64-DVD-1503-01.iso \
    --network bridge=br0 \
    --os-type=linux \
    --os-variant=rhel7.0 \
    --extra-args console=ttyS0

如果之前失败的尝试仍在运行,您需要首先使用 virsh 删除并取消定义它:

virsh destroy public-centos7
virsh undefine public-centos7

相关内容