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

Затем я изменил размер на двадцать пять ГБ

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

И использовал qemu-img convert

$ 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

Что-то определенно странное. Эта ошибка возникает из-за python argparse, так что это не что-то, что делает virt-install явно. Я предполагаю, что у вас есть какое-то странное пробел или что-то в вашей командной строке, что argparse интерпретирует как явный аргумент командной строки.

Попробуйте написать эту команду вручную без переносов строк и посмотрите, будет ли virt-install продолжать выдавать ошибку.

Я разобрался, я запускал от имени sudo и выяснил, что это не очень хорошая идея для virt-install (помимо этой проблемы, это может вызвать проблемы в будущем)

Ответ или решение

Проблема, с которой вы столкнулись при использовании virt-install, связана с ошибкой, указывающей на «нераспознанные аргументы». Эта ошибка может возникнуть из-за различных факторов, включая наличие лишних символов или неправильные параметры командной строки. Давайте рассмотрим ваше решение и последовательные шаги, которые вы можете предпринять для устранения проблемы.

  1. Проверка пробелов и символов: Первая рекомендация – убедитесь, что в вашей команде нет лишних пробелов, табуляций или невидимых символов, которые могут вызывать проблемы при парсинге аргументов командной строки. Попробуйте ввести команду в одной строке без переноса:

    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
  2. Запуск без sudo: Ваша команда virt-install может столкнуться с проблемами, если вы используете ее с правами sudo. В большинстве случаев, повышенные привилегии не нужны. Важно запускать virt-install от пользователя с правами доступа к виртуальным машинам и образам, а не от суперпользователя:

    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
  3. Проверка наличия зависимостей: Убедитесь, что все необходимые пакеты и зависимости для virt-install установлены и обновлены. Иногда обновления могут исправить баги или несовместимости.

  4. Логи и отладка: Если ошибка продолжает возникать, посмотрите логи libvirt для получения более подробной информации о причинах сбоя. Логи можно найти в /var/log/libvirt/.

  5. Документация и версия: Убедитесь, что вы обращаетесь к актуальной документации для вашей версии virt-install, так как синтаксис или параметры могут изменяться между версиями.

Следуя этим шагам, вы сможете выявить и устранить источник ошибки «нераспознанные аргументы», и в дальнейшем успешно создать виртуальную машину с помощью virt-install.

Оцените материал
Добавить комментарий

Капча загружается...