virt-install:错误:无法识别的参数:(但没有列出参数)

virt-install:错误:无法识别的参数:(但没有列出参数)

尝试使用 KVM 创建我的第一台虚拟机,但收到来自 virt-install 的神秘错误。它说我有一个“无法识别的参数”,但没有说明是哪个参数:

$ sudo virt-install \
>             --name centos7_vm1 \
>             --memory 1024 \
>             --disk /data/kvm_images/centos7-vm1.qcow2,device=disk \
>             --disk /data/kvm_images/centos7-vm1.iso,device=cdrom \
>             --os-type linux \
>             --os-variant centos7.0 \
>             --virt-type kvm \
>             --graphics none \
>             --network default \
>             --import
usage: virt-install --name NAME --memory MB STORAGE INSTALL [options]
virt-install: error: unrecognized arguments:                                                                                                                        
$

查看文档和常规谷歌搜索无法找出问题所在。我运行的是 CentOS 7,virt-install 1.5.0。

$ ls -l /data/kvm_images
total 70584
-rw------- 1 qemu qemu 26847870976 May 11 00:06 centos7-docker.qcow2
-rw-r--r-- 1 root root      374784 May 11 14:35 centos7-vm1.iso
-rw-r--r-- 1 root root    68026368 May 11 14:02 centos7-vm1.qcow2
-rw-r--r-- 1 root root         104 May 11 14:33 centos7-vm1.setup.yaml
$

以下是我为实现这一目标所做的事情

我做的第一件事就是下载图片

$ wget wget https://cloud.centos.org/centos/7/images/CentOS-7-ppc64le-GenericCloud-2003.qcow2

然后检查了一下似乎还好

$ qemu-img info CentOS-7-ppc64le-GenericCloud-2003.qcow2

image: CentOS-7-ppc64le-GenericCloud-2003.qcow2c
file format: qcow2
virtual size: 8.0G (8589934592 bytes)
disk size: 395M
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false

然后我将其调整为 25 GB

$ qemu-img resize CentOS-7-ppc64le-GenericCloud-2003.qcow2 25G

并使用 qemu-img 转换

$ sudo qemu-img convert -f qcow2 -O qcow2 CentOS-7-ppc64le-GenericCloud-2003.qcow2 /data/kvm_images/centos7-vm1.qcow2

然后我创建了一个文件 centos7-vm1.setup.yaml

#cloud-config
password: xxxxxxxxxx
chpasswd: { expire: False }
ssh_pwauth: True
hostname: centos7-vm1

然后运行

$ sudo cloud-localds centos7-vm1.iso centos7-vm1.setup.yaml

答案1

肯定是哪里出了问题。该错误来自 python argparse,因此不是 virt-install 明确执行的操作。我猜您的命令行中有一些奇怪的空格或某些内容,argparse 将其解释为显式命令行参数。

尝试手写出该命令(不带换行符),看看 virt-install 是否仍然抱怨。

答案2

我解决了这个问题,我以 sudo 身份运行,我发现这对于 virt-install 来说不是一个好主意(除了这个问题之外,它还可能在以后引起问题)

相关内容