Proxmox VE Administration Guide
Он реплицирует гостевые Тома на другой узел, так что все данные доступны без использования общего хранилища. Репликация использует моментальные снимки для минимизации трафика, передаваемого по сети. Поэтому новые данные отправляются только постепенно, после первоначальной полной синхронизации. В случае сбоя узла гостевые данные по-прежнему доступны на реплицированном узле.
Репликация будет выполняться автоматически через заданные интервалы времени. Минимальный интервал репликации составляет одну минуту, а максимальный-один раз в неделю. Формат, используемый для указания этих интервалов, является подмножеством событий календаря systemd, см. раздел формат расписания:
Каждый гость может быть реплицирован на несколько целевых узлов, но гость не может быть реплицирован дважды на один и тот же целевой узел.
Пропускная способность каждой репликации может быть ограничена, чтобы избежать перегрузки хранилища или сервера.
Виртуальный гость с активной, в настоящее время, репликацией не может использовать оперативную миграцию. Оффлайн миграция поддерживается в целом. Если вы мигрируете на узел, где данные гостей уже реплицированы, то должны быть отправлены только изменения, произошедшие с момента последней синхронизации (так называемая Дельта), что значительно сократит необходимое время. В этом случае направление репликации также автоматически переключит узлы после завершения миграции.
Например: VM100 в настоящее время находится на nodeA и реплицируется в nodeB. Вы переносите его в nodeB, так что теперь он автоматически реплицируется обратно из nodeB в nodeA. При переносе на узел, где гость не реплицируется, должны передаваться все данные диска. После переноса задание репликации продолжает реплицировать этого гостя на настроенные узлы.
Репликация хранилищ
Средство командной строкиpvesr
управляет репликацией хранилищ платформы Proxmox VE. Репликация хранилища обеспечивает избыточность для гостей, использующих локальное хранилище, и сокращает время миграции.Он реплицирует гостевые Тома на другой узел, так что все данные доступны без использования общего хранилища. Репликация использует моментальные снимки для минимизации трафика, передаваемого по сети. Поэтому новые данные отправляются только постепенно, после первоначальной полной синхронизации. В случае сбоя узла гостевые данные по-прежнему доступны на реплицированном узле.
Репликация будет выполняться автоматически через заданные интервалы времени. Минимальный интервал репликации составляет одну минуту, а максимальный-один раз в неделю. Формат, используемый для указания этих интервалов, является подмножеством событий календаря systemd, см. раздел формат расписания:
Каждый гость может быть реплицирован на несколько целевых узлов, но гость не может быть реплицирован дважды на один и тот же целевой узел.
Пропускная способность каждой репликации может быть ограничена, чтобы избежать перегрузки хранилища или сервера.
Виртуальный гость с активной, в настоящее время, репликацией не может использовать оперативную миграцию. Оффлайн миграция поддерживается в целом. Если вы мигрируете на узел, где данные гостей уже реплицированы, то должны быть отправлены только изменения, произошедшие с момента последней синхронизации (так называемая Дельта), что значительно сократит необходимое время. В этом случае направление репликации также автоматически переключит узлы после завершения миграции.
Например: VM100 в настоящее время находится на nodeA и реплицируется в nodeB. Вы переносите его в nodeB, так что теперь он автоматически реплицируется обратно из nodeB в nodeA. При переносе на узел, где гость не реплицируется, должны передаваться все данные диска. После переноса задание репликации продолжает реплицировать этого гостя на настроенные узлы.
- Важно!
- Высокая доступность разрешена в сочетании с репликацией хранилища, но она имеет следующие ограничения:
- поскольку живая миграция в настоящее время невозможна, перераспределение служб после подключения более предпочтительного узла не работает. Имейте это в виду при настройке групп HA и их приоритетов для реплицированных гостей.
- восстановление работает, но может произойти некоторая потеря данных между последним синхронизированным временем и временем сбоя узла.
Поддерживаемые типы хранения
Таблица 1. Тип хранилищаОписание PVE тип Создание снимков Стабильный ZFS (local) zfspool да да Формат расписания
Proxmox VE имеет очень гибкий планировщик репликации. Он основан на формате события календаря времени systemd.1 календарные события могут использоваться для обозначения одного или нескольких моментов времени в одном выражении.
Такое событие календаря использует следующий формат:
Это позволяет настроить набор дней, в которые должно выполняться задание. Вы также можете установить одно или несколько времен начала, оно сообщает планировщику репликации моменты времени, когда задание должно начаться. С помощью этой информации мы могли бы создать задание, которая выполняется каждый рабочий день в 10 вечера:[day(s)] [[start-time(s)][/repetition-time(s)]]
'mon,tue,wed,thu,fri 22'
, которое можно было бы сократить до:'mon..fri 22'
, большинство разумных графиков могут быть написаны вполне интуитивно таким образом.
1Смотри man 7systemd.time
для получения дополнительной информации
- Внимание!
- Часы устанавливаются в 24-часовом формате.
Для облегчения и сокращения времени настройки можно задать одно или несколько повторений. Они указывают, что в начальный момент времени и начальный момент плюс все кратные значения повторения будут выполнены репликации. Если вы хотите начать репликацию в 8 утра и повторять ее каждые 15 минут до 9 утра, вы будете использовать:'8:00/15'
Здесь вы также видите, что если не используется часовое разделение (:), то значение интерпретируется как минута. Если используется такое разделение, то значение слева обозначает час(ы), а значение справа-минуту(ы). Кроме того, вы можете использовать * для задания всех возможных значений.
Чтобы лучше понять, посмотрите на другие примеры ниже.Подробная спецификация
- days
- Дни указаны с сокращенной английской версией:sun, mon, tue, wed, thu, fri и sat.. Вы можете указать несколько дней в виде списка, разделенного запятыми. Диапазон дней также можно задать, указав начальный и конечный дни, разделенные"..- например, mon..fri. Эти форматы также могут быть смешанными. Если значение опущено предполагается. ' * '
- time-format
- Формат времени состоит из списков интервалов часов и минут. Часы и минуты разделяются символом ":". Оба, час и минута, могут быть списком и диапазонами значений, используя тот же формат, что и дни. Сначала идут часы, затем минуты, часы могут быть опущены, если это не нужно, в этом случае '*' принимается за значение часов. Допустимый диапазон значений: 0-23 для часов и 0-59 Для минут.
Примеры
Таблица 2. Примеры заданийСтрока задания Альтернатива Значение mon,tue,wed,thu,fri mon..fri Каждый рабочий день в 0:00 sat,sun sat..sun Только по выходным в 0:00 mon,wed,fri — Только в понедельник, среду и пятницу в 0:00 12:05 12:05 Каждый день в 12:05 вечера */5 0/5 Каждые пять минут mon..wed 30/10 mon,tue,wed 30/10 Понедельник, Вторник, Среда 30, 40 и 50 минут после каждого полного часа mon..fri 8..17,22:0/15 — Каждый рабочий день каждые 15 минут между 8 утра и 6 вечера и между 10 вечера и 11 вечера fri 12..13:5/20 fri 12,13:5/20 Пятница в 12:05, 12:25, 12:45, 13:05, 13:25 и 13: 45 12,14,16,18,20,22:5 12/2:5 Каждый день, начиная с 12:05 до 22:05, каждые 2 часа * */1 Каждую минуту (минимальный интервал)
Обработка ошибок
Если задание репликации столкнется с проблемами, оно будет помещено в состояние ошибки. В этом состоянии настроенные интервалы репликации временно приостанавливаются. Затем мы повторяем неудачную репликацию с интервалом в 30 минут, как только это удается, исходный график снова активируется.Возможные проблемы
Это относится только к наиболее распространенным возможным проблемам, в зависимости от вашей установки может быть и другая причина.- Сеть не работает.
- На целевом хранилище репликации не осталось свободного места.
- Хранилище с тем же идентификатором хранилища, доступным на целевом узле
- На заметку!
- Вы всегда можете использовать журнал репликации для получения подсказок о причине проблемы.
Миграция гостя в случае ошибки
В случае серьезной ошибки виртуальный гость может застрять на отказавшем узле. Затем вам снова нужно вручную переместить его на рабочий узел.Пример
Предположим, что у вас есть два гостя (VM 100 и CT 200), работающих на узле A и реплицирующихся на узел B. узел A потерпел неудачу и не может вернуться в оперативный режим. Теперь вы должны перенести гостя на узел B вручную.- Подключитесь к узлу B по ssh или откройте его оболочку через WebUI
- Проверьте, есть ли кворум кластера
# pvecm status
- Если у вас нет кворума, мы настоятельно рекомендуем сначала исправить это и снова сделать узел работоспособным. Только если это невозможно в данный момент, Вы можете использовать следующую команду для обеспечения кворума на текущем узле:
# pvecm expected 1
- Внимание!
- Если ожидаемые голоса установлены вручную, избегайте изменений, которые влияют на кластер (например, добавление/удаление узлов, хранилищ, виртуальных гостей) любой ценой. Используйте его только для того, чтобы снова запустить жизненно важных гостей или решить проблему кворума.
- переместите оба гостевых файла конфигурации из исходного узла A в узел B:
# mv /etc/pve/nodes/A/qemu-server/100.conf /etc/pve/nodes/B/qemu-server/100.conf # mv /etc/pve/nodes/A/lxc/200.conf /etc/pve/nodes/B/lxc/200.conf
- Теперь вы можете стартовать гостей снова:
Не забудьте заменить Vmid и имена узлов соответствующими значениями.# qm start 100 # pct start 200
Управление задачами
С помощью веб-интерфейса можно легко создавать, изменять и удалять задания репликации. Кроме того, для этого можно использовать инструмент интерфейса командной строки (CLI) pvesr.
Панель репликации можно найти на всех уровнях (центр обработки данных, узел, виртуальный гость) в графическом веб-интерфейсе. Они различаются тем, какие задания отображаются: все, только узловые или только гостевые.
После добавления нового задания необходимо указать виртуального гостя (если он еще не выбран) и целевой узел. Расписание репликации можно настроить, если каждые 15 минут по умолчанию не подходят. Вы также можете указать ограничение скорости для задание репликации, это поможет сохранить приемлемую нагрузку на хранилище.
Задание репликации определяется уникальным идентификатором для всего кластера. Этот идентификатор состоит из VMID в дополнение к номеру задания. Этот идентификатор должен быть указан вручную, если используется инструмент CLI.Примеры для интерфейса командной строки
Создайте задание репликации, которое будет выполняться каждые 5 минут с ограниченной пропускной способностью 10 Мби/с (мегабайт в секунду) для гостя с идентификатором гостя 100.
Отключить активное задание с идентификатором 100-0# pvesr create-local-job 100-0 pve1 --schedule "*/5" --rate 10
Включение неактивного задания с идентификатором 100-0# pvesr disable 100-0
Измените интервал выполнения задания с идентификатором 100-0 на один раз в час# pvesr enable 100-0
# pvesr update 100-0 --schedule '*/00'
пропущена команда по тексту:
ОтветитьУдалить"Вы можете использовать следующую команду для обеспечения кворума на текущем узле:"
Исправил, спасибо.
Удалить