Як імпортувати образ диска в libvirt?


12

Чи може хтось розмістити належний синтаксис? Я спробував використовувати команду chmod, але я роблю щось неправильно. Я просто намагаюся перенести файл centos iso в / images, щоб налаштувати тестовий vm


Чи можете ви розміщувати команди, які ви намагаєтеся запустити? А яке повідомлення про помилку?
Ерік Карвальо

Відповіді:


16

Ви насправді не "повинні" робити це саме так, оскільки libvirt піклується про власні пули гучності. Використання:

size=$(stat -Lc%s centos.iso)
virsh vol-create-as default centos $size --format raw
virsh vol-upload --pool default centos centos.iso

Це створить том вирша, названий centosу пулі за замовчуванням із вмістом centos.iso.

Таким чином, libvirt піклується про всі необхідні дозволи та право власності.


1
Перший раз я використовував форум. Відмінна порада.
Фмоов

2

Я припускаю, що дві речі: /var/lib/libvirt/images/належить rootвам, а ви - ні root. Це добре, але ви повинні поважати, в чому полягає проблема.

Напевно, було б найрозумніше просто скопіювати файл як root , використовуючи sudo:

sudo cp my-image /var/lib/libvirt/images/

Крім того, ви можете взяти на себе /var/lib/libvirt/images/:

sudo chown $USER /var/lib/libvirt/images/

Або (щонайменше добре), ви можете просто зробити його глобальним для запису:

sudo chmod 755 $USER /var/lib/libvirt/images/

Я б дотримувався логіки, що це корінь з причини, але якщо ви просто граєте, і це ніколи не буде виробничою машиною, вам, мабуть, не потрібно бути таким обережним.


Я, мабуть, йду з останньою командою, оскільки я розумію цю, і це тестове середовище.
Фмоов

2

Я знаю, що це стара публікація, але я хотів поділитися тим, що я зробив.

У моєму випадку мені потрібно було імпортувати зображення qcow2 в об'єм. Я використовував jq, qemu-img та і bash:

# export IMGSIZE=$(qemu-img info --output json /data/myfile.qcow2 | jq -r .[\"virtual-size\"])
# export IMGFMT=$(qemu-img info --output json /data/myfile.qcow2 | jq -r .format)

Перелічіть пули та виберіть потрібний:

# virsh pool-list --all
 Name                 State      Autostart
-------------------------------------------
 default              active     yes

# export IMGPOOL=default

Створіть гучність:

# virsh vol-create-as $IMGPOOL myvolume $IMGSIZE --format $IMGFMT
Vol myvolume created

І завантажте зображення:

# virsh vol-upload --pool $IMGPOOL myvolume /data/myfile.qcow2

Я не знаю, чи можна передавати qemu-img на virsh, на кшталт 'qemu-img dd ... | virsh vol-upload ... ', але це було б зручно :-)

Дякую @Robie Basak за свою посаду, я використав це для написання інформації вище.


1

Ви можете спробувати це зробити в nautilus просто введіть

sudo -i nautilus

і після цього скопіюйте файл, як зазвичай.


Чи припускаю, що завантажений nautilus?
Фмоов

nautilus - це файловий менеджер за замовчуванням для Ubuntu. Я не думаю, що я дуже розумію ваше запитання.
Міхай

2
@ Rat2000 FYI
Oli

1
Олі так, ти прав, gksudo не встановлений за замовчуванням, тому я змінив команду на sudo -i, що повинно зробити цю роботу.
Міхай
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.