尝试使用 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 来说不是一个好主意(除了这个问题之外,它还可能在以后引起问题)