Шаги ==== Подготовка ---------- Настроить два сервера libvirtd на хостах (использовались виртуальные машины на PVE с 10 GB RAM, processor - host): 1. # apt-get install -y virt-manager qemu libvirt libvirt-daemon-driver-storage-disk 2. Добавить второй диск (как минимум 40 GB). Создать на нём раздел: # (echo o; echo n; echo p; echo 1; echo; echo; echo w) | fdisk /dev/sdb 3. # gpasswd -a test vmusers 4. # ! stat /dev/kvm && modprobe kvm-intel 5. # systemctl enable --now libvirtd На сервере 1 скачать образ системы (например, alt-server-10.1-x86_64.iso) в папку /var/lib/libvirt/images. На сервере 2 создать ssh ключ для пользователя и добавить его в разрешённые на сервер 1: 1. $ ssh-keygen -t ed25519 -N "" -f /home/test/.ssh/id_ed25519 2. $ ssh-copy-id -f root@<server 1 ip> Создание ВМ ----------- На сервере 1 создать ВМ, установить систему из iso: 1. Запустить virt-manager. Дождаться подключения к QEMU/KVM, выбрать эту строку в списке. Создать pool для хранения данных: Выбрать Правка -> Свойства подключения -> Пространство данных -> нажать + -> ввести название или оставить по умолчанию pool -> Тип: disk -> Путь к источнику: /dev/sdb -> Готово. 2. Вкладка Виртуальные сети -> выбрать default -> нажать треугольник (запустить) -> включить Автозапуск: при загрузке -> Применить. 3. Файл -> Создать виртуальную машину -> Метод: Локальный ISO или CDROM -> Вперёд -> Обзор - выбрать скачанный образ - Выбор тома -> в строке выбора операционной системы должно быть автоматически обнаружено ALT 10.1 -> Вперёд -> настроить память и процессор -> Вперёд -> Настроить пространство хранения данных -> Выбрать или создать дополнительное пространство данных -> Настроить -> выбрать пул с диском -> в списке томов выбрать sdb1 -> Выбор тома -> Вперёд -> Готово. 4. Установить систему в ВМ. Миграция -------- В настройках виртуальной машины на сервере 1 задать модель в конфигурации процессора kvm64: 1. Выключить ВМ 2. Открыть ВМ 3. Показать виртуальное оборудование (значок лампочки на панели инструментов) 4. Процессоры 5. Убрать галочку "Копировать конфигурацию ЦП хоста (host-passthrough)" 6. Выбрать модель kvm64 7. Применить Мигрировать, используя сервер 2: 1. Выбрать Файл - Добавить соединение - Подключиться к удалённому узлу с помощью SSH - вводим имя пользователя (root) и адрес сервера 1 - Подключиться. 2. Запустить удалённую ВМ, затем в окне менеджера ПКМ на ней -> Миграция -> выбрать локальный узел -> в поле Адрес ввести IP адрес сервера 2 (по которому сервер 1 сможет найти сервер 2) -> нажать Миграция 3. После завершения миграции открыть ВМ Фактический результат ===================== Состояние ВМ (RAM) мигрировано успешно, но при попытке выполнения каких-либо действий (например, нажатие на "Приложения" в строке меню) элементы интерфейса падают/перезапускаются. Если принудительно сбросить VM с помощью virt-manager (обычное выключение не работает), то система не загружается. Похоже, что диск не мигрируется корректно. Ожидаемый результат =================== ВМ корректно работает после миграции. Дополнительно ============= Во время миграции прогресс отображается только на 2 GB (размер RAM). После миграции свойствах подключения > Пространство данных > pool на 2-х серверах корректно отображается статус использования (используется на целевом сервере 2, не используется на 1-м). Воспроизводимость ================= Воспроизводится на виртуальных машинах: server-10.1-x86-64 [p10] libvirt-9.7.0-alt2.x86_64 x2 [sisyphus] libvirt-9.7.0-alt2.x86_64 x2