Рейтинг:-1

Новый Ubuntu 20.04 с KVM, гостевой образ не может запускаться/создаваться с помощью Terraform

флаг jp

Я установил Ubuntu 20.04 с KVM и попытался создать гостевую виртуальную машину Centos 7 через Terraform.

Пишет: «Не удалось открыть ‘/mnt/storage/centos7tes.qcow2’: Отказано в доступе», но я пытался с правами root и пользователем. Также я использую Cockpit в качестве графического интерфейса.

провайдер.tf

терраформировать {
  required_providers {
    libvirt = {
      источник = "dmacvicar/libvirt"
    }
  }
}

провайдер "libvirt" {
  ## Параметры конфигурации
  #uri = "qemu:///система"
  #псевдоним = "сервер2"
  uri = "qemu+ssh://[email protected]/система"
}

main.tf

# Определение тома виртуальной машины
ресурс "libvirt_volume" "centos7-qcow2" {
  имя = "centos7tes.qcow2"
  пул = "по умолчанию"
  #source = "https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2"
  источник = "./CentOS-7-x86_64-GenericCloud.qcow2"
  формат = "qcow2"
}

# получить информацию о пользовательских данных
данные "template_file" "user_data" {
  шаблон = "${файл("${путь.модуль}/cloud_init.cfg")}"
}

# Используйте CloudInit, чтобы добавить экземпляр
ресурс "libvirt_cloudinit_disk" "commoninit" {
  имя = "commoninit.iso"
  pool = "default" # Список пулов хранения с помощью virsh pool-list
  user_data = "${data.template_file.user_data.rendered}"
}

# Определить домен KVM для создания
ресурс "libvirt_domain" "centos7" {
  имя = "центос7"
  память = "2048"
  ВЦП = 2

  сетевой интерфейс {
    имя_сети = "по умолчанию"
  }

  диск {
    volume_id = "${libvirt_volume.centos7-qcow2.id}"
  }

  cloudinit = "${libvirt_cloudinit_disk.commoninit.id}"

  приставка {
    тип = "пти"
    target_type = "серийный номер"
    целевой_порт = "0"
  }

  графика {
    тип = "пряность"
    listen_type = "адрес"
    автопорт = правда
  }
}

# IP сервера вывода
вывод "ip" {
  значение = "${libvirt_domain.centos7.network_interface.0.addresses.0}"
}
libvirt_volume.centos7-qcow2: Все еще создается... [прошло 40 секунд]
libvirt_volume.centos7-qcow2: Все еще создается... [прошло 50 секунд]
libvirt_volume.centos7-qcow2: Все еще создается... [прошло 1 мс]
libvirt_volume.centos7-qcow2: Все еще создается... [прошло 1 мин 10 с]
libvirt_volume.centos7-qcow2: создание завершено через 1 мин 14 с [id=/mnt/storage/centos7tes.qcow2]
libvirt_domain.centos7: Создание...
·
â Ошибка: Ошибка при создании домена libvirt: внутренняя ошибка: процесс завершился при подключении к монитору: 2021-12-11T23:02:04.400339Z qemu-system-x86_64: -blockdev {"драйвер":"файл","имя файла" :"/mnt/storage/centos7tes.qcow2","node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}: не удалось открыть '/ mnt/storage/centos7tes.qcow2': Отказано в доступе
✓ 
с libvirt_domain.centos7,
в строке 23 libvirt.tf, в ресурсе "libvirt_domain" "centos7":
23: ресурс "libvirt_domain" "centos7" {
Рейтинг:0
флаг at

Параметр

security_driver = "нет"

в /etc/libvirt/qemu.conf и перезапустите libvirtd, чтобы решить аналогичную проблему. (Debian 11, ни AppArmor, ни SELinux не активированы/не используются вообще). Ошибка здесь выглядела так:

Ошибка: ошибка при создании домена libvirt: внутренняя ошибка: процесс завершился при подключении к монитору: ...

и

Не удалось открыть «/var/lib/libvirt/images/d1test4-centos7.qcow2»: разрешение отклонено

Смотрите также https://stackoverflow.com/questions/63984912/coreos-image-fails-to-load-ignition-file-via-libvirt-permission-denied/70563027#70563027

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.