Proxmox. Миграция виртуальных машин и контейнеров: различия между версиями
Cless (обсуждение | вклад) (Новая страница: «Категория:Proxmox __ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__») |
Cless (обсуждение | вклад) |
||
| (не показаны 4 промежуточные версии этого же участника) | |||
| Строка 1: | Строка 1: | ||
= Миграция между нодами PVE с разделами '''ZFS''' = | |||
== Требования == | |||
[[Категория:Proxmox]] | [[Категория:Proxmox]] | ||
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__ | __ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__ | ||
Требования для миграции все те же, что и для репликации: [[Proxmox. Репликация виртуальных машин и контейнеров]] | |||
* Репликация работает ТОЛЬКО на разделах ZFS (используя технологию клонирования ZFS разделов) | |||
* На обоих хостах в кластере должен быть раздел ZFS с одинаковым именем (объем НЕобязательно должен быть одинаковым) | |||
* При миграции ВМ и КТ на разделе ZFS хоста, на который мигрируем, создаются новые Датасеты-ZFS-клоны для каждой ВМ или КТ, то есть, по сути, миграция ВМ - это Датасет-клон-ZFS на хосте, на который мигрируем, на старом датасет удаляется | |||
== Миграция контейнера == | |||
Миграция '''КОНТЕЙНЕРА''' '''100''' (при условии что настроена репликация '''КОНТЕЙНЕРА''' '''100''' с '''pve1''' на '''pve2''') проходит довольно быстро (что неудивительно, ведь реплика образа ВД уже имеется на pve2) | |||
'''КОНТЕЙНЕР''' '''100''' исчезнет на '''pve1''' и появится на '''pve2''' | |||
При этом в настройках репликации '''КОНТЕЙНЕРА 100''' мы увидим что Target поменялся с '''pve2''' на '''pve1''' | |||
То есть после миграции '''КОНТЕЙНЕРА 100''' с '''pve1''' на '''pve2''', он начал реплицироваться обратно на '''pve1''' | |||
Если мы проведем обратные действия и мигрируем '''КОНТЕЙНЕР 100''' на '''pve1''', то он снова автоматически начнет реплицироваться на '''pve2''' | |||
== Миграция ВМ == | |||
=== HINTS === | |||
* При миграции, по сути, удаляется датасет-zfs, содержащий образ ВД, с одного хоста и создается на втором, а также переносится файл настройки (<code>mv /etc/pve/nodes/pve1/qemu-server/100.conf /etc/pve/nodes/pve2/qemu-server/</code> или обратно) | |||
* МИГРАЦИЯ ПРИ НАЛИЧИИ СНЭПШОТОВ НЕВОЗМОЖНА. Необходимо '''удалить''' все '''снэпшоты''' | |||
* МИГРАЦИЯ ПРИ НАСТРОЕННОЙ РЕПЛИКАЦИИ НЕВОЗМОЖНА. Необходимо удалить репликацию, затем запустить миграцию, а затем снова создать репликацию, если необходимо | |||
* По сути, мигрировать при настроенной репликации можно командой: <code>mv /etc/pve/nodes/pve1/qemu-server/100.conf /etc/pve/nodes/pve2/qemu-server/</code> | |||
* При этом мы теряем новые данные с момента последней синхронизации через репликацию | |||
=== ОШИБКА "proxmox can't migrate vm with local cd/dvd" === | |||
Образ cd/dvd, прикрепленный к ВМ, лежит на хранилище, в свойствах которого не стояла галка "'''Shared'''", | |||
ошибка возникала даже после того как образ и даже сам cd-rom от машины я отключил | |||
'''РЕШЕНИЕ''' | |||
В свойствах хранилища, на котором лежит образ cd/dvd, подключенный к машине, включить галку "Shared" | |||
= Миграция ВМ между нодами PVE с разделами '''iSCSI''' или '''RBD''' = | |||
Собираем кластер из '''2-х нод PVE''': [[Proxmox. Кластер]] | |||
Подключаем к любой ноде блочное устройство (например, RDB из системы CEPH). После подключения блочное устройство автоматически появится как локальное хранилище на всех нодах кластера: [[Proxmox. Mount Ceph RBD image]] | |||
Проверяем статус кластера | |||
<code>pvecm status</code><blockquote>'''Expected votes:''' - для успешной миграции этот параметр должен быть '''2''' (устанавливается по-умолчанию при создании кластера из 2-х нод), если нет - вводим в консоли (обе ноды должны быть онлайн): <code>pvecm expected 2</code></blockquote> | |||
... | |||
Cluster information | |||
------------------- | |||
Name: pve-cluster | |||
Config Version: 4 | |||
Transport: knet | |||
Secure auth: on | |||
Quorum information | |||
------------------ | |||
Date: Tue Mar 28 21:24:44 2023 | |||
Quorum provider: corosync_votequorum | |||
Nodes: 2 | |||
Node ID: 0x00000002 | |||
Ring ID: 1.5c | |||
Quorate: Yes | |||
Votequorum information | |||
---------------------- | |||
Expected votes: 2 | |||
Highest expected: 2 | |||
Total votes: 2 | |||
Quorum: 2 | |||
Flags: Quorate | |||
Membership information | |||
---------------------- | |||
Nodeid Votes Name | |||
0x00000001 1 192.168.199.180 | |||
0x00000002 1 192.168.199.188 (local) | |||
... | |||
== Вариант 1. Обе ноды PVE онлайн == | |||
'''ПКМ на ВМ - Migrate - target: pve02''' | |||
Произойдет '''живая''' миграция. ВМ не выключится. ВМ исчезнет на '''pve01''' и через несколько секунд появится на '''pve02''', так как виртуальный ЖД, подключенный к ВМ, остался все на том же сетевом SAN хранилище, по сути мигрирует только настройка ВМ и опертивная память. | |||
== Вариант 2. Нода '''pve01''' офлайн == | |||
В данном случае миграцию через веб-интерфейс выполнить не получится | |||
Необходимо ввести следующую команду на оставшейся онлайн ноде '''pve02:''' | |||
<code>pvecm expected 1</code> | |||
Теперь в консоли '''pve02''' просто переносим конфиг машины в директорию '''pve02:''' | |||
<code>mv /etc/pve/nodes/pve01-test/qemu-server/100.conf /etc/pve/nodes/pve02-test/qemu-server/</code> | |||
ВМ появится в веб-интерфейсе '''pve02'''. | |||
Когда '''pve01''' вернется онлайн - вводим в консоли: | |||
<code>pvecm expected 2</code> | |||
Теперь снова можно делать живую миграцию обратно на '''pve01'''. | |||
Текущая версия на 21:57, 28 марта 2023
Миграция между нодами PVE с разделами ZFS
Требования
Требования для миграции все те же, что и для репликации: Proxmox. Репликация виртуальных машин и контейнеров
- Репликация работает ТОЛЬКО на разделах ZFS (используя технологию клонирования ZFS разделов)
- На обоих хостах в кластере должен быть раздел ZFS с одинаковым именем (объем НЕобязательно должен быть одинаковым)
- При миграции ВМ и КТ на разделе ZFS хоста, на который мигрируем, создаются новые Датасеты-ZFS-клоны для каждой ВМ или КТ, то есть, по сути, миграция ВМ - это Датасет-клон-ZFS на хосте, на который мигрируем, на старом датасет удаляется
Миграция контейнера
Миграция КОНТЕЙНЕРА 100 (при условии что настроена репликация КОНТЕЙНЕРА 100 с pve1 на pve2) проходит довольно быстро (что неудивительно, ведь реплика образа ВД уже имеется на pve2)
КОНТЕЙНЕР 100 исчезнет на pve1 и появится на pve2
При этом в настройках репликации КОНТЕЙНЕРА 100 мы увидим что Target поменялся с pve2 на pve1
То есть после миграции КОНТЕЙНЕРА 100 с pve1 на pve2, он начал реплицироваться обратно на pve1
Если мы проведем обратные действия и мигрируем КОНТЕЙНЕР 100 на pve1, то он снова автоматически начнет реплицироваться на pve2
Миграция ВМ
HINTS
- При миграции, по сути, удаляется датасет-zfs, содержащий образ ВД, с одного хоста и создается на втором, а также переносится файл настройки (
mv /etc/pve/nodes/pve1/qemu-server/100.conf /etc/pve/nodes/pve2/qemu-server/или обратно) - МИГРАЦИЯ ПРИ НАЛИЧИИ СНЭПШОТОВ НЕВОЗМОЖНА. Необходимо удалить все снэпшоты
- МИГРАЦИЯ ПРИ НАСТРОЕННОЙ РЕПЛИКАЦИИ НЕВОЗМОЖНА. Необходимо удалить репликацию, затем запустить миграцию, а затем снова создать репликацию, если необходимо
- По сути, мигрировать при настроенной репликации можно командой:
mv /etc/pve/nodes/pve1/qemu-server/100.conf /etc/pve/nodes/pve2/qemu-server/ - При этом мы теряем новые данные с момента последней синхронизации через репликацию
ОШИБКА "proxmox can't migrate vm with local cd/dvd"
Образ cd/dvd, прикрепленный к ВМ, лежит на хранилище, в свойствах которого не стояла галка "Shared",
ошибка возникала даже после того как образ и даже сам cd-rom от машины я отключил
РЕШЕНИЕ
В свойствах хранилища, на котором лежит образ cd/dvd, подключенный к машине, включить галку "Shared"
Миграция ВМ между нодами PVE с разделами iSCSI или RBD
Собираем кластер из 2-х нод PVE: Proxmox. Кластер
Подключаем к любой ноде блочное устройство (например, RDB из системы CEPH). После подключения блочное устройство автоматически появится как локальное хранилище на всех нодах кластера: Proxmox. Mount Ceph RBD image
Проверяем статус кластера
pvecm status
Expected votes: - для успешной миграции этот параметр должен быть 2 (устанавливается по-умолчанию при создании кластера из 2-х нод), если нет - вводим в консоли (обе ноды должны быть онлайн):
pvecm expected 2
... Cluster information ------------------- Name: pve-cluster Config Version: 4 Transport: knet Secure auth: on Quorum information ------------------ Date: Tue Mar 28 21:24:44 2023 Quorum provider: corosync_votequorum Nodes: 2 Node ID: 0x00000002 Ring ID: 1.5c Quorate: Yes Votequorum information ---------------------- Expected votes: 2 Highest expected: 2 Total votes: 2 Quorum: 2 Flags: Quorate Membership information ---------------------- Nodeid Votes Name 0x00000001 1 192.168.199.180 0x00000002 1 192.168.199.188 (local) ...
Вариант 1. Обе ноды PVE онлайн
ПКМ на ВМ - Migrate - target: pve02
Произойдет живая миграция. ВМ не выключится. ВМ исчезнет на pve01 и через несколько секунд появится на pve02, так как виртуальный ЖД, подключенный к ВМ, остался все на том же сетевом SAN хранилище, по сути мигрирует только настройка ВМ и опертивная память.
Вариант 2. Нода pve01 офлайн
В данном случае миграцию через веб-интерфейс выполнить не получится
Необходимо ввести следующую команду на оставшейся онлайн ноде pve02:
pvecm expected 1
Теперь в консоли pve02 просто переносим конфиг машины в директорию pve02:
mv /etc/pve/nodes/pve01-test/qemu-server/100.conf /etc/pve/nodes/pve02-test/qemu-server/
ВМ появится в веб-интерфейсе pve02.
Когда pve01 вернется онлайн - вводим в консоли:
pvecm expected 2
Теперь снова можно делать живую миграцию обратно на pve01.