В этой статье подробно рассматриваются все шаги и подходы для переноса виртуальных машин между гипервизорами Proxmox, включая использование миграции в реальном времени (Live Migration), архивацию и ручной перенос.
Введение
Proxmox VE (Virtual Environment) — это гибкая и мощная платформа виртуализации, которая поддерживает как виртуальные машины (ВМ), так и контейнеры. В некоторых случаях администраторы могут столкнуться с необходимостью перемещения ВМ между гипервизорами, например, для балансировки нагрузки, масштабирования инфраструктуры или при замене оборудования.
В этой статье мы рассмотрим три метода переноса ВМ между гипервизорами: Live Migration, Архивирование и восстановление и Ручной перенос файлов.
Метод 1: Использование Live Migration
Live Migration позволяет перемещать виртуальную машину между гипервизорами без прерывания её работы. Этот метод возможен, если оба гипервизора находятся в одном кластере и подключены к общему хранилищу данных. Это идеальный вариант, если вы хотите обеспечить непрерывность работы ВМ.
Шаги для выполнения Live Migration:
1. Создание и настройка кластера Proxmox
Для начала убедимся, что оба гипервизора находятся в одном кластере. Процесс создания кластера подразумевает объединение нескольких серверов Proxmox в единую группу, где все узлы смогут взаимодействовать и использовать общее хранилище.
На главном сервере (например, pve1
) создаем кластер:
pvecm create my-cluster
Этот процесс создаст кластер с именем my-cluster
. После этого на втором сервере (например, pve2
) добавим его в кластер.
На втором сервере (pve2
) вводим:
pvecm add <IP-адрес главного сервера>
Замените <IP-адрес главного сервера>
на IP-адрес вашего первого узла. После этого оба гипервизора будут в одном кластере.
2. Настройка общего хранилища
Для того чтобы ВМ можно было мигрировать между гипервизорами без потери данных, оба сервера должны иметь доступ к одному хранилищу. Пример использования NFS:
- На сервере, который будет предоставлять хранилище (например,
pve1
), настраиваем NFS сервер.
apt-get install nfs-kernel-server
mkdir /mnt/nfs_share
chmod 777 /mnt/nfs_share
echo "/mnt/nfs_share <IP-адрес второго сервера>(rw,sync,no_subtree_check)" >> /etc/exports
exportfs -a
systemctl restart nfs-kernel-server
- На сервере, который будет подключаться к хранилищу (например,
pve2
), монтируем NFS:
mount <IP-адрес первого сервера>:/mnt/nfs_share /mnt/nfs_share
Теперь оба гипервизора имеют доступ к одному и тому же хранилищу.
3. Запуск миграции через Web-интерфейс Proxmox
После настройки кластера и общего хранилища можно начать миграцию виртуальной машины.
- Войдите в веб-интерфейс Proxmox на любом из серверов (например, на
pve1
). - Перейдите к списку виртуальных машин и выберите ВМ, которую нужно переместить.
- Нажмите на кнопку Миграция (Migrate).
- В появившемся окне выберите целевой сервер (например,
pve2
). - Нажмите OK, чтобы начать процесс миграции.
Процесс миграции будет проходить в фоновом режиме, и вы сможете наблюдать за его прогрессом.
4. Миграция через командную строку
Если вы предпочитаете работать через терминал, можно выполнить миграцию с помощью команды:
qm migrate <VMID> <target-node>
Где:
<VMID>
— это идентификатор виртуальной машины, который можно найти в интерфейсе Proxmox или с помощью командыqm list
.<target-node>
— это имя гипервизора, на который нужно переместить ВМ (например,pve2
).
Пример:
qm migrate 101 pve2
Эта команда выполнит миграцию ВМ с ID 101
на гипервизор pve2
.
5. Проверка работы ВМ
После завершения миграции важно проверить, что ВМ успешно запустилась на новом сервере. Веб-интерфейс Proxmox или команда:
qm status <VMID>
Убедитесь, что состояние ВМ — running.
Метод 2: Перенос с помощью архивирования
Если ваши гипервизоры не находятся в одном кластере или миграция в реальном времени невозможна, можно использовать метод архивирования. Это более простой способ, но он требует остановки ВМ и дополнительных шагов для восстановления.
Шаги для выполнения переноса через архивирование:
1. Остановка виртуальной машины
Перед созданием резервной копии необходимо остановить виртуальную машину. Это можно сделать через веб-интерфейс или с помощью команды:
qm stop <VMID>
2. Создание резервной копии ВМ
Proxmox предоставляет утилиту для создания резервных копий виртуальных машин — vzdump
. Команда для создания архивной копии:
vzdump <VMID> --dumpdir /mnt/backup --mode stop
<VMID>
— это идентификатор виртуальной машины.--dumpdir
— директория, куда будет сохранён архив. В данном примере это/mnt/backup
.
Если архивируемая машина имеет большие размеры или при необходимости резервного копирования в реальном времени, можно использовать режим --mode snapshot
, но это зависит от типа хранилища.
Пример:
vzdump 101 --dumpdir /mnt/backup --mode stop
Резервная копия будет сохранена в формате .tar.lzo
и готова для переноса на новый сервер.
3. Перенос резервной копии на новый сервер
Теперь нужно перенести архив с виртуальной машиной на новый сервер. Для этого используем утилиту scp
:
scp /mnt/backup/vm-101-2025_02_25-00_00_00.tar.lzo <username>@<new-server>:/mnt/backup
Где:
<username>
— это имя пользователя на целевом сервере.<new-server>
— это IP-адрес или имя хоста нового сервера.
4. Восстановление виртуальной машины на новом сервере
После того как файл был перенесен на новый сервер, его можно восстановить с помощью команды vzdump restore
:
vzdump restore /mnt/backup/vm-101-2025_02_25-00_00_00.tar.lzo <VMID>
Пример:
vzdump restore /mnt/backup/vm-101-2025_02_25-00_00_00.tar.lzo 101
Это восстановит ВМ с ID 101
на новом сервере.
5. Запуск виртуальной машины
После восстановления ВМ можно запустить её:
qm start 101
Проверьте работоспособность ВМ, используя веб-интерфейс или команду:
qm status 101
Метод 3: Перенос вручную через копирование файлов
Если ни один из предыдущих методов не подходит, можно перенести файлы ВМ вручную. Это требует копирования как конфигурации ВМ, так и её дисков.
Шаги для выполнения ручного переноса:
1. Остановка виртуальной машины
Как и в предыдущих методах, начнем с остановки ВМ:
qm stop <VMID>
2. Копирование файлов конфигурации и дисков
Копирование конфигурации ВМ
Файл конфигурации ВМ обычно находится в /etc/pve/qemu-server/
. Для его копирования используем команду scp
:
scp /etc/pve/qemu-server/101.conf <username>@<new-server>:/etc/pve/qemu-server/
Копирование диска виртуальной машины
Диски виртуальной машины обычно находятся в директориях, например /var/lib/vz/images/
. Чтобы скопировать их на новый сервер, используем команду:
scp /var/lib/vz/images/101/vm-101-disk-1.raw <username>@<new-server>:/var/lib/vz/images/101/
3. Запуск виртуальной машины
После того как все файлы были перенесены на новый сервер, можно запустить виртуальную машину:
qm start 101
Заключение
Перенос виртуальных машин между гипервизорами Proxmox может быть выполнен разными способами, в зависимости от ситуации. Выбор метода зависит от требований к миграции: для быстрого и безопасного переноса лучше использовать Live Migration, для переноса на не связанный кластер подойдёт Архивирование и восстановление, а для точного контроля — метод Ручного переноса файлов.
Важно учитывать состояние ВМ, проверять её работоспособность после переноса и проводить все операции с учётом безопасности данных.
Реклама Google |
|
Внимание! Данная статья не является официальной документацией.Использование информации необходимо выполнять с осторожностью, используя для этого тестовую среду.
Если у вас есть вопросы о построении современных систем резервного копирования, репликации, синхронизации данных и защиты от программ вымогателей обратитесь в нашу компанию для получения консультации о современных технологиях резервного копирования и восстановления данных. Наша компания имеет более чем 20-летний опыт в этой области. |
Десять лучших практик резервного копирования в Казахстане
- Защита гипервизора oVirt — глубокое погружение
- Перенос виртуальной машины из oVirt в Proxmox
- Как перенести виртуальную машину из Proxmox в oVirt
- Защита контейнеров Kubernetes — глубокое погружение
- Как защитить гипервизор Proxmox от взлома - Глубокое погружение
- Использование Fail2Ban для защиты oVirt - Глубокое погружение
- Организация резервного копирования гипервизора oVirt — Глубокое погружение
- Перенос виртуальной машины между гипервизорами Proxmox
- Конфигурация гипервизора Proxmox для оптимальной работы виртуальных машин
- Защита root после взлома SSH на Proxmox - глубокое погружение