Авторские статьи

Моя ода любви к Proxmox Backup Server


Много лет назад из всех игроков на рынке виртуализации выбрали с коллегами Proxmox VE, как самый интересный open source проект уровня enterprise. Спустя некоторое время, получили железо под Proxmox Backup Server, что вместе с Proxmox Virtual Environment дало законченное решение. В данной статье хочется немного рассказать об самых удивительных возможностях PVE + PBS.

Читая в документации проекта все возможности, проникаешься на практике только когда сам начнёшь их использовать.

Инкрементная передача только изменений

Приятное слово reused - значит передавать эти данные по сети не нужно, итоговое время создания резервной копии снижается за счёт передачи только изменений. При желании можно увеличить частоту создания резервных копий у очень важных виртуальных машины. При настроенной вами схеме очистки старых копий (Backup Retention) в Proxmox Backup Server, автоматически останутся нужные резервные копии (дневные, недельные, месячные, годовые).

У меня у всех виртуальных жёстких дисков виртуальных машин выставлена опция Discard. В современных Linux системах должен исправно работать fstrim через таймер раз в неделю по умолчанию - sudo systemctl status fstrim.timer Сам лично могу дополнительно вызвать sudo fstrim -v --all, если на сервере удалял много данных.

На современных MS Windows платформах у меня в Планировщике вызывается PowerShell скрипт fstrim.ps1 с содержимым типа:
Optimize-Volume -DriveLetter C -ReTrim
Optimize-Volume -DriveLetter D -ReTrim

Ключевая мысль - с помощью отправки TRIM быстрее сообщаем нижележащему слою хранилища какие блоки данных уже не используются, а значит потом в резервную копию они не попадут. Если ваше хранилище Thin Provisioning (Snapshots = yes), то TRIM позволяет быть стройнее вашим виртуальным машинам и их резервным копиям.

INFO: Starting Backup of VM 119 (qemu)
INFO: Backup started at 2023-11-08 11:29:14
INFO: include disk 'virtio0' 'rbd:vm-119-disk-0' 80G
INFO: include disk 'virtio1' 'rbd:vm-119-disk-1' 1000G
INFO: include disk 'virtio2' 'rbd:vm-119-disk-2' 1500G
INFO: virtio0: dirty-bitmap status: OK (5.1 GiB of 80.0 GiB dirty)
INFO: virtio1: dirty-bitmap status: OK (1.6 GiB of 1000.0 GiB dirty)
INFO: virtio2: dirty-bitmap status: OK (10.9 GiB of 1.5 TiB dirty)
INFO: using fast incremental mode (dirty-bitmap), 17.6 GiB dirty of 2.5 TiB total
INFO: 1% (180.0 MiB of 17.6 GiB) in 3s, read: 60.0 MiB/s, write: 60.0 MiB/s
...
INFO: 99% (17.4 GiB of 17.6 GiB) in 6m 23s, read: 45.0 MiB/s, write: 45.0 MiB/s
INFO: 100% (17.6 GiB of 17.6 GiB) in 6m 27s, read: 38.0 MiB/s, write: 38.0 MiB/s
INFO: backup was done incrementally, reused 2.50 TiB (99%)
INFO: transferred 17.57 GiB in 387 seconds (46.5 MiB/s)
INFO: Finished Backup of VM 119 (00:06:29)
INFO: Backup finished at 2023-11-08 11:35:43

Фактор дедупликации

Proxmox Backup Server с помощью ZFS эффективно хранит данные резервных копий. Так как резервные копии мало чем отличаются друг от друга в рамках конкретной виртуальной машины, то, в целом, ожидаемо видишь большой фактор дедупликации. Хранилище не так быстро исчерпывает своё дисковое пространство, что не может не радовать.

Фактор дедупликации Proxmox Backup Server

Особо удивляют случаи создания первой резервной копии виртуальной машины (created new). Инстинктивно думаешь что сейчас будет отправлена полная копия, а Proxmox Backup Server снова тебе пишет reused, так как внутри виртуальной машины операционная система, чьи копии он уже хранит. Особо стоит напомнить, что резервная копия создаётся в онлайн режиме, благодаря механизму снапшотов, без остановки работы гостевой операционной системы виртуальной машины (status = running).

Первая резервная копия в Proxmox Backup Server

138: 2023-11-08 09:43:14 INFO: Starting Backup of VM 138 (qemu)
138: 2023-11-08 09:43:14 INFO: status = running
138: 2023-11-08 09:43:14 INFO: VM Name: OpenDCIM
138: 2023-11-08 09:43:14 INFO: include disk 'scsi0' 'rbd:vm-138-disk-0' 32G
138: 2023-11-08 09:43:14 INFO: backup mode: snapshot
138: 2023-11-08 09:43:14 INFO: ionice priority: 7
138: 2023-11-08 09:43:14 INFO: creating Proxmox Backup Server archive 'vm/138/2023-11-08T06:43:14Z'
138: 2023-11-08 09:43:14 INFO: issuing guest-agent 'fs-freeze' command
138: 2023-11-08 09:43:16 INFO: issuing guest-agent 'fs-thaw' command
138: 2023-11-08 09:43:16 INFO: resuming VM again
138: 2023-11-08 09:43:16 INFO: scsi0: dirty-bitmap status: created new
138: 2023-11-08 09:43:19 INFO: 7% (2.3 GiB of 32.0 GiB) in 3s, read: 769.3 MiB/s, write: 158.7 MiB/s
...
138: 2023-11-08 09:44:31 INFO: 77% (24.7 GiB of 32.0 GiB) in 1m 15s, read: 785.3 MiB/s, write: 150.7 MiB/s
138: 2023-11-08 09:44:34 INFO: 96% (30.8 GiB of 32.0 GiB) in 1m 18s, read: 2.0 GiB/s, write: 116.0 MiB/s
138: 2023-11-08 09:44:35 INFO: 100% (32.0 GiB of 32.0 GiB) in 1m 19s, read: 1.2 GiB/s, write: 60.0 MiB/s
138: 2023-11-08 09:44:35 INFO: backup is sparse: 21.11 GiB (65%) total zero data
138: 2023-11-08 09:44:35 INFO: backup was done incrementally, reused 21.45 GiB (67%)
138: 2023-11-08 09:44:35 INFO: transferred 32.00 GiB in 79 seconds (414.8 MiB/s)
138: 2023-11-08 09:44:36 INFO: Finished Backup of VM 138 (00:01:22)

Восстановление одиночных файлов или всей виртуальной машины

Реально крутая возможность восстановить из резервной копии конкретный файл (Single File Restore). Шаловливые ручки пользователей обычно случайно стирают-затирают конкретные файлы или папки.

Восстановление файла в Proxmox VE

Если нужно восстановить всю виртуальную машину, то и тут может здорово помочь технология Live-Restore и разительно сократить итоговое время восстановления работоспособного состояния. Выигрыш особо виден у виртуальных машин с виртуальными дисками большого размера. Данные на таких дисках обычно не нужны сразу все одномоментно, поэтому опция Live-Restore позволит сразу запустить виртуальную машину с небольшим штрафом по чтению своего диска, в то время как с Proxmox Backup Server налету будут подтягиваться требуемые данные. Виртуальная машина будет иметь возможность обслуживать своих пользователей, в то время как её диски в фоне восстанавливаются из резервной копии. Причём, если запросы пользователей, вынуждают ВМ прочесть конкретные данные, именно они и будут затребываться в первую очередь. Снижение времени простоя (downtime) при восстановлении - это реально круто!

Восстановление Live-Restore всей виртуальной машины в Proxmox VE


Возможности Proxmox Virtual Environment 8.0

Дополнительные материалы:
Proxmox VE API.
Старая и не актуальная статья Отдайте моё назад.

Дата последней правки: 2023-11-11 11:27:41

RSS vasilisc.com   


Разделы

Главная
Новости
Ворох бумаг
Видео Linux
Игры в Linux
Безопасность
Статьи об Astra Linux
Статьи о FreeBSD
Статьи об Ubuntu
Статьи о Snappy
Статьи об Ubuntu Phone
Статьи о Kubuntu
Статьи о Xubuntu
Статьи о Lubuntu
Статьи об Open Source
Карта сайта