Как можно перенести папку с образами виртуальных машин на другой физический диск, учитывая ограничения по месту на диске и невозможность создания новых виртуальных машин из-за нехватки места? После монтирования диска в /mnt, каким образом можно переместить папку images со всеми файлами формата qcow2 на новый диск?
Для изменения местоположения хранения виртуальных машин в программе QEMU-KVM, можно воспользоваться опцией -drive в командной строке при запуске виртуальной машины. Например: ``` qemu-kvm -drive file=/path/to/new/location/image.qcow2,format=qcow2 ``` Для перемещения папки с образами виртуальных машин на другой физический диск, следует выполнить следующие шаги: 1. Создайте новую папку на другом физическом диске, например /mnt/new_location. 2. Смонтируйте новый диск в папку /mnt. 3. Скопируйте содержимое папки images (с образами виртуальных машин) на новый диск с помощью команды cp: ``` cp -r /path/to/old_location/images /mnt/new_location ``` 4. После копирования убедитесь, что все файлы формата qcow2 были успешно скопированы. 5. Далее, можно удалить старую папку images или оставить ее как резервную копию. 6. Для того чтобы QEMU-KVM начал использовать новый путь к образам виртуальных машин, обновите пути к образам в файле конфигурации виртуальных машин. После выполнения данных шагов, виртуальные машины должны корректно работать с образами, находящимися на новом физическом диске.
Алгоритм движух такой будет:
# Удаляешь pool default sudo virsh pool-undefine default
## Чтобы в дальнейшем при создании/старте ВМ не было ошибки Permission denied (отказано в доступе) к созданному ниже каталогу и подпапки в нём libvirt/images, устанавливаем правильные ACL-права доступа для пользователя libvirt-qemu, например, в Домашнем каталоге (или в другом...): sudo setfacl -m u:libvirt-qemu:rx /home/user/
вместо user ваше имя Пользователя
## Создание где-либо папки (каталога) libvirt и подпапки images (название любое): mkdir -p /home/user/libvirt/images
## Создание pool-а с именем default в созданном выше где-либо папки (каталога) libvirt и подпапки images: virsh pool-define-as --name default --type dir --target /home/user/libvirt/images
## Запуск созданного pool-а default: virsh pool-start default
## Помещение созданного pool-а default в автозагрузку, чтобы после перезагрузки системы от стартовал вместе с ней: virsh pool-autostart default
И усё...
Я обычно создаю ВМ тоже через консоль, например так:
virt-install --virt-type=kvm --name ubuntu --ram=2048 --vcpus=2 --cpu host --hvm --disk path=/home/user/libvirt/images/ubuntu,size=5,format=raw --cdrom /home/user/Загрузки/mini.iso --osinfo detect=on,require=off --graphics spice --boot uefi --destroy-on-exit &