Proxmox. Создание и настройка виртуальных машин

Содержание
  1. Вход и выход
  2. Обрезка и удаление резервных копий
  3. Настройка сети
  4. Тип резервной копии
  5. Preparing the proxmox VE host
  6. Installing openbsd-inetd package
  7. Configuring the openbsd-inetd daemon
  8. Downloading and installing TigerVNC client
  9. Connecting to the Virtual machine using TigerVNC client
  10. Интеграция с Proxmox VE
  11. Сборка мусора
  12. Задания синхронизации
  13. Использование клиента
  14. Установка используя установщик
  15. Установка на Debian
  16. Установка на Proxmox VE
  17. История
  18. Переменные окружения
  19. Первые действия после установки
  20. Безопасность сетевого соединения
  21. Возможности решения
  22. Группа резервной копии
  23. Монтирование архивов используя FUSE
  24. Монтирование архива
  25. Время создания резервной копии
  26. Содержимое резервной копии
  27. <имя>. img
  28. <имя>. pxar
  29. Бинарные данные (BLOB)
  30. Каталог файлов
  31. Хранилище данных
  32. Настройка пользователей
  33. Снимок резервной копии
  34. Создание резервной копии
  35. Исключение файлов и папок из резервной копии
  36. ZFS
  37. Инструмент командной строки pxar
  38. Step 1 — Create a Directory To Store QCOW2 Images
  39. Обрезка по расписанию

Вход и выход

Клиентский инструмент предложит вам ввести пароль для входа, как только вы захотите получить доступ к серверу резервного копирования. Сервер проверяет ваши учетные данные и отправляет билет, действительный в течение двух часов. Клиентский инструмент автоматически сохраняет этот билет и использует его для дальнейших запросов к этому серверу.

Вы также можете вручную запустить вход / выход из системы с помощью команд:

# proxmox-backup-client login
Password: **********

# proxmox-backup-client logout

Обрезка и удаление резервных копий

Вы можете вручную удалить снимок резервной копии, используя команду forget:

Внимание! Эта команда удаляет все архивы в этом снимке резервной копии. Они будут недоступны и не подлежат восстановлению.

Хотя иногда требуется удаление вручную, команда prune обычно используется для систематического удаления старых резервных копий. Существует возможность указать, какие снимки резервных копий вы хотите сохранить. Доступны следующие варианты хранения:

Варианты хранения обрабатываются в указанном выше порядке. Каждый вариант распространяется только на резервное копирование в определенный период времени. Следующий вариант не обрабатывает уже покрытые резервные копии. Будут рассмотрены только старые резервные копии.

Незавершенные и не полные резервные копии будут удалены командой prune, если они не новее, чем последняя успешная резервная копия. В этом случае сохраняется последняя неудачная резервная копия.

Вы можете использовать параметр –dry-run, чтобы проверить свои настройки. Здесь отображается только список существующих снимков и действия, которые необходимо выполнить при сокращении.

# proxmox-backup-client prune host/elsa —dry-run —keep-daily 1 —keep-weekly 3

Примечание. Ни команда prune, ни команда forget не освобождают место в хранилище фрагментов. Хранилище фрагментов все еще содержит блоки данных. Чтобы освободить место, нужно выполнить сборку мусора.

Настройка сети

В официальной документации к Proxmoxнастройка сети виртуальных машин в двух вариантах: с использованием моста и маршрутизации. Все сетевые параметры настраиваются на уровне ноды, для этого нужно перейти на нужный сервер, открыть меню «Система» – «Сеть». Именно там и скрыты сетевые параметры. По умолчанию в VM используется конфигурация «Внешняя сеть», и она оправдывает свое применение.

Proxmox. Создание и настройка виртуальных машин

Пользователь обращается к виртуальным машинам как к самому обычному узлу локальной сети – от просмотра содержимого дисков до копирования, создания, удаления и редактирования файлов. База всех виртуальных сетей в Proxmox — сетевой мост (Linux Bridge) vmbr. Он допускает создание до 4095 таких устройств, подключение физических и виртуальных адаптеров. Все сетевые настройки осуществляются внутри VM, как будто на физическом сервере.

Тип резервной копии

Сервер резервного копирования группирует резервные копии по типу, где тип может быть одним из:

  • vm – используется для виртуальных машин, обычно состоит из файла конфигурации виртуальной машины и архива образов для каждого диска;
  • ct – используется для контейнеров, состоит из конфигурации контейнера и одного файлового архива для содержимого файловой системы;
  • host – используется для резервных копий данных с физического сервера, обычно это может быть физический хост, но также может быть виртуальная машина или контейнер. Такие резервные копии могут содержать файловые архивы и архивы образов, ограничений на это нет.

Preparing the proxmox VE host

We assume that you have Proxmox VE 2.x installed. I did not try this on previous version so I do not know if this would work.  On the Proxmox VE host, we will need to install the openbsd-inetd package.  In a few words, this package will install a network daemon program that will manage incoming network connections.  The daemon configuration file will allow you to tell which program needs to run when an incoming request is received.  In our situation, installing this package will ensure that the Proxmox VE host listen to incoming VNC incoming requests.

Installing openbsd-inetd package

When prompted, Press Yes to confirm the installation of this package

Proxmox. Создание и настройка виртуальных машин

Click on image for better resolution

Configuring the openbsd-inetd daemon

You ready to proceed to the next step.

Downloading and installing TigerVNC client

In order to connect to the virtual machine from an external vnc client, the client needs to support authentication.  Well known vnc client such as RealVnc or TightVNC cannot be used in this scenario because they do not support (yet) TLS authentication mechanism.

The Proxmox Wiki mention that a working client would be the TigerVNC. It’s the first time I’ve been used this vnc client and I’m really happy with it. This vnc client will probably be part of my Toolbox kit from now on.

You can download the latest version of the utility here.  Howerver, we recommend you to use the version 1.1.0 because it’s seems to be the most complete and most stable one. When you have download the utility, double-click on the exe (I’m assuming that you have chosen the Windows version) and the installation wizard will start

In the Welcome page, Press Next

Proxmox. Создание и настройка виртуальных машин

In the license Agreement Page, Accept and Press Next

Proxmox. Создание и настройка виртуальных машин

In the Select destination location, accept default or choose a location and press Next

Proxmox. Создание и настройка виртуальных машин

In the Start Menu Page, accept default and Press next

Proxmox. Создание и настройка виртуальных машин

In the additional tasks, uncheck the checkboxes. We only want to have the vncviewer installed (and not the vncserver part)

Proxmox. Создание и настройка виртуальных машин

In the Ready to Install page, Press Install

Proxmox. Создание и настройка виртуальных машин

Wait for the wizard to complete.  In the finish page, you simply press Finish.

To check that you have installed the utility correctly, you can open the start menu and locate the TigerVnc Viewer reference.

Proxmox. Создание и настройка виртуальных машин

If everything is fine, you should end up with something like this

Proxmox. Создание и настройка виртуальных машин

Connecting to the Virtual machine using TigerVNC client

Proxmox. Создание и настройка виртуальных машин

Proxmox. Создание и настройка виртуальных машин

Proxmox. Создание и настройка виртуальных машин

Proxmox. Создание и настройка виртуальных машин

After a few moment, you should see the vnc console displaying the screen of your virtual machine.  You have succesfully connected to your virtual machine using an external vnc viewer

Proxmox. Создание и настройка виртуальных машин

Интеграция с Proxmox VE

Примечание. Если вы не хотите передавать свой пароль в виде обычного текста, вы можете передать параметр –password без каких-либо аргументов. Это заставит программу запрашивать пароль при вводе команды.

Если ваш сервер резервного копирования использует самоподписанный сертификат, вам необходимо добавить отпечаток сертификата в конфигурацию. Вы можете получить отпечаток пальца, выполнив следующую команду на сервере резервного копирования:

Добавьте этот отпечаток в свою конфигурацию, чтобы установить доверительные отношения:

После этого вы сможете увидеть статус хранилища с помощью:

# pvesm status —storage store2

Добавив хранилище данных PBS в Proxmox VE, вы можете создавать резервные копии виртуальных машин и контейнеров так же, как и для любого другого устройства хранения.

Сборка мусора

Команда prune удаляет только индексные файлы резервных копий, но не данные из хранилища данных. Эта задача возложена на команду сборки мусора. Рекомендуется регулярно производить сборку мусора.

Сборка мусора работает в два этапа. На первом этапе отмечаются все блоки данных, которые все еще используются. На втором этапе удаляются неиспользуемые блоки данных.

Эта команда должна прочитать все существующие файлы индексов резервных копий и касается всего хранилища фрагментов. Это может занять много времени в зависимости от количества блоков и скорости основных дисков.

При сборке мусора удаляются только те фрагменты, которые не использовались хотя бы один день (ровно 24 часа 5 минут). Этот льготный период необходим, поскольку используемые блоки помечаются касанием блока, который обновляет свойство atime (время доступа). Файловые системы по умолчанию монтируются с параметром relatime. Это приводит к повышению производительности за счет обновления свойства atime только в том случае, если последний доступ был как минимум 24 часа назад. Обратной стороной является то, что прикосновение к чанку в течение этих 24 часов не всегда обновляет его свойство atime.

Фрагменты льготного периода будут регистрироваться в конце задачи сборки мусора как ожидающие удаления.

Задания синхронизации

Proxmox. Создание и настройка виртуальных машин

Задания синхронизации используются для извлечения содержимого хранилища данных на удаленном сервере в локальное хранилище. Вы можете управлять заданиями синхронизации в веб-интерфейсе, на вкладке Sync Jobs хранилища данных, для которого вы хотите их настроить, или с помощью подкоманды sync-job. Информация о конфигурации для заданий синхронизации хранится в /etc/proxmox-backup/sync.cfg. Чтобы создать новое задание синхронизации, нажмите кнопку добавления в графическом интерфейсе или воспользуйтесь командой create. После создания задания синхронизации вы можете либо запустить его вручную из графического интерфейса, либо предоставить ему расписание для регулярного выполнения.

# proxmox-backup-manager sync-job create pbs2-local —remote pbs2 —remote-store local —store local —schedule ‘Wed 02:30’
# proxmox-backup-manager sync-job update pbs2-local —comment ‘offsite’
# proxmox-backup-manager sync-job list
# proxmox-backup-manager sync-job remove pbs2-local

Для настройки заданий синхронизации пользователю необходимы следующие разрешения:

  • Remote.Read для хранилища на удаленном сервере
  • Datastore.Backup для хранилища на локальном сервере
Читайте также:  Introduction to Volume and volumeMounts

Задание синхронизации может синхронизировать только те группы резервных копий, которые может считывать пользователь или токен API. Если удаленный сервер настроен с помощью пользователя, который имеет только права Datastore.Backup, можно синхронизировать только ограниченный набор доступных снимков, принадлежащих этому пользователю.

Использование клиента

Утилита командной строки клиента называется proxmox-backup-client.

Клиент использует следующую запись для указания репозитория хранилища данных на сервере резервного копирования:

Вы можете указать порт, если ваш сервер резервного копирования доступен через другой порт.

Вы можете передать репозиторий с помощью параметра командной строки –repository или установив переменную среды PBS_REPOSITORY.

Вот несколько примеров действующих репозиториев и реальных значений.

Установка используя установщик

Образ диска (файл ISO), предоставленный Proxmox, включает полную систему Debian («buster» для версии 1.x), а также все необходимые пакеты для сервера Proxmox Backup.

Установщик проведет вас через процесс установки и позволит вам:

  • разбить локальный диск или диски;
  • применить базовые конфигурации системы: часовой пояс, язык, сеть;
  • установить все необходимые пакеты.

Установщик поможет вам начать работу всего за несколько минут и является рекомендуемым методом установки.

Загрузите ISO с https://www.proxmox.com/downloads. Он включает программу установки, которая разбивает локальные диски с помощью ext4, xfs или ZFS и устанавливает операционную систему с полным набором инструментов для резервного копирования и ядром с поддержкой ZFS. В процессе установки по умолчанию все существующие данные удаляются.

Установка на Debian

В качестве альтернативы Proxmox BS можно установить поверх существующей системы Debian. После настройки репозиториев необходимо запустить:

# apt-get update
# apt-get install proxmox-backup-server

Приведенные выше команды сохраняют текущее ядро и устанавливают минимальный набор необходимых пакетов.

Если вы хотите установить тот же набор пакетов, что и установщик, используйте следующее:

Это установит все необходимые пакеты и ядро Proxmox с поддержкой ZFS.

Осторожно! Установка Proxmox BS поверх существующей установки Debian выглядит просто, но предполагает, что базовая система и локальное хранилище были настроены правильно. В общем, это нетривиально, особенно при использовании LVM или ZFS. Конфигурация сети также полностью зависит от ваших предыдущих настроек.

Установка на Proxmox VE

Внимание! Не рекомендуется устанавливать сервер резервного копирования непосредственно на гипервизор. Для хранения резервных копий безопаснее использовать отдельный физический сервер. Если сервер гипервизора выйдет из строя, вы все равно сможете получить доступ к резервным копиям.

История

Резервное копирование было и всегда будет центральным аспектом IT-администрирования. Более того, с использованием виртуализации важность резервных копий увеличивается. Поэтому мы с самого начала поставляем инструмент резервного копирования с Proxmox VE. Этот инструмент называется vzdump и может делать резервные копии контейнеров LXC и виртуальных машин KVM.

Однако vzdump позволяет делать только полные резервные копии. Это становится проблемой для пользователей с большими виртуальными машинами. Чтобы решить эту проблему, мы предложили дедупликацию и инкрементное резервное копирование.

Еще в октябре 2018 года началась разработка, а уже в июле 2020 года мы выпустили первую бета-версию Proxmox BS, а в ноябре 2020 года – первую стабильную версию.

Переменные окружения

PBS_REPOSITORY – Репозиторий резервных копий по умолчанию.

PBS_PASSWORD – Если установлено, используется для пароля от backup server. Вы также можете установить это значение для токена.

PBS_ENCRYPTION_PASSWORD – Если установлено, используется для доступа к секретному ключу шифрования (если защищен паролем).

PBS_FINGERPRINT – Если установлено, используется для проверки сертификата сервера (используется только если сертификаты CA системы не могут подтвердить сертификат).

Первые действия после установки

Перед эксплуатацией продукта рекомендуется провести обновление до актуальной версии и внести настройки безопасности. Это обеспечит наличие всех предусмотренных разработчиком функций и отсутствие проблем (релизы как раз и обновляют ради добавления новых возможностей, устранения выявленных ошибок в коде).

Первое, что рекомендуется сделать — это отключить от системы платный репозиторий. Он установлен по умолчанию, но требует приобретения платной подписки. Без нее пользователь увидит ошибку при скачивании новых источников пакетов. Выполнить отключение можно действиями:

1. Открыть консольное окно и следом файл конфигурации apt на редактирование:

2. Поставить символ # перед единственной строчкой, внесенной в него:

#deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise

Теперь можно выполнить обновление источников пакетов:

Рекомендуется скачивать новые версии всех имеющихся пакетов:

apt -y upgrade

Безопасность сетевого соединения

Шаг следующий — позаботиться о безопасности Proxmox Virtualization Environment. Все-таки VM чаще всего используют юридические лица, а у них масса информации, которую желательно хранить вне публичного доступа (коммерческие, персональные данные клиентов и т.д.). Как минимум нужно обезопасить систему от взлома путем перебора паролей, так называемого брутфорса. Эту задачу решит популярная утилита Fail2Ban.

Последовательность действий при установке Fail2Ban:

1. Открыть серверную консоль в браузере или в приложении SSH.

2. Обновить источники пакетов:

3. Инсталлировать саму программу:

apt install fail2ban

4. Открыть файл конфигурации для изменения содержимого:

7. Перезапустить службу:

systemctl restart fail2ban

fail2ban-client -v status sshd

Ответ выглядит следующим образом:

Возможности решения

виртуализациюдля чайников, то стоит упомянуть, что гипервизор играет роль «контроллера». Программа распределяет аппаратные ресурсы, приоритеты между VM, эмулирует необходимое с учетом стандартов, принятых в установленной операционной системе. Никаких ограничений по выбору операционной системы с Proxmox VEWindows 7/10, Linux и т.д.).

Особенности виртуальных машин:

  • Критический сбой, ошибки в работе одной VM никак не влияют на остальные.
  • Масштабирование осуществляется простым копированием виртуального сервера
  • Поломка «железа» не влияет на сохранность системы, главное — иметь резервную копию.
  • Одну и ту же VM легко развернуть на сервере любого производителя.

Последнее заметно упрощает задачу по модернизации оборудования ЦОД. Провайдер меняет любое «железо» на более современное без необходимости учитывать совместимость с ПО. За счет применения тех же дисковых массивов вроде RAID 5, Proxmox вообще не заметит замену одного или несколько накопителей. Виртуализация физических серверов работает бесшовно, чтобы обеспечить заявленную доступность уровня Tier 3 (не менее 99,9%).

Пользуются популярностью несколько гипервизоров: VMware ESXi, Microsoft Hyper-V, Oracle VM VirtualBox, Open Virtualization Alliance KVM. Каждый продукт имеет свои особенности и различную стоимость. При сравнении цена играет важную роль, здесь однозначно выигрывает KVM в составе готового решения на базе Debian Linux — это Proxmox Virtual Environment или Proxmox VE. Отчасти потому, что оно полностью бесплатно, да еще и имеет открытый исходный код.

Процедура установки продукта Proxmox обычно не вызывает вопросов. Инсталлятор работает через стандартный графический интерфейс, и пользователю остается лишь выбирать нужные настройки из выпадающих списков или вручную вносить наименования, пароли и т.д. Скачивать образ диска с новой версией программы рекомендуется с официальной страницы разработчика. Затем его или монтируют из консоли KVM, или развертывают на любой внешний диск.

  • Заказать аренду выделенного сервера у провайдера.
  • Смонтировать скачанный образ в качестве сменного диска.
  • Выбрать диск, куда будет произведена установка продукта.
  • В разделе Option задать дополнительные параметры (по необходимости).
  • Внести региональные настройки, в нашем случае – Russia.
  • Задать пароль для авторизации суперпользователя, указать email.
  • Перезагрузить компьютер кликом на кнопку Reboot.

Если речь идет о развертывании системы из ISO-образа на базе Debian, а не инсталляции файлом Proxmox Debian Install, последний пункт обязателен. В любом случае лучше это сделать, чтобы исключить вероятные сбои из-за другого софта, который пользователь ставил в ту же сессию. Остается запустить Proxmoxнастройкой виртуальной машины. Адрес веб-интерфейса выглядит следующим образом:

Группа резервной копии

Регулярное создание резервных копий – необходимый шаг во избежание потери данных. Однако более важным является восстановление. Рекомендуется выполнять периодические тесты восстановления, чтобы гарантировать доступ к данным в случае возникновения проблем.

Во-первых, вам нужно найти снимок, который вы хотите восстановить. Команда snapshot list предоставляет список всех снимков на сервере:

# proxmox-backup-client snapshot list

Вы можете просмотреть каталог, чтобы найти определенные файлы.

Команда восстановления позволяет восстановить отдельный архив из резервной копии.

# proxmox-backup-client restore host/elsa/2019-12-03T09:35:01Z root.pxar /target/path/

Чтобы получить содержимое любого архива, вы можете восстановить файл index.json в репозитории по целевому пути «-». Это выведет содержимое на стандартный вывод.

# proxmox-backup-client restore host/elsa/2019-12-03T09:35:01Z index.json —

Если вы хотите восстановить только несколько отдельных файлов, проще использовать интерактивную оболочку восстановления:

Интерактивная оболочка восстановления – это минимальный интерфейс командной строки, который использует метаданные, хранящиеся в каталоге, для быстрого отображения, навигации и поиска файлов в файловом архиве. Чтобы восстановить файлы, вы можете выбрать их по отдельности или сопоставить их с шаблоном.

Использование каталога для навигации значительно снижает накладные расходы, поскольку необходимо загрузить и при необходимости, расшифровать только каталог. Фактические фрагменты потребуются только в том случае, если метаданных в каталоге недостаточно для фактического восстановления.

Подобно обычным оболочкам UNIX cd и ls – это команды, используемые для изменения рабочего каталога и вывода содержимого каталога в архиве. pwd показывает полный путь к текущему рабочему каталогу относительно корня архива.

Возможность быстрого поиска в содержимом архива – это необходимая функция. Например:

Это найдет и распечатает все файлы с расширением .txt, расположенные в etc или подкаталоге, и добавит соответствующий шаблон в список для последующего восстановления. list-selected показывает эти шаблоны, а restore-selected восстанавливает все файлы в архиве в /target/path на локальном хосте.

Это просканирует все подкаталоги в /etc и восстановит все файлы, заканчивающиеся на .conf.

Монтирование архивов используя FUSE

Реализация FUSE для архива pxar позволяет вам монтировать файловый архив как файловую систему только для чтения к точке монтирования на вашем хосте.

# proxmox-backup-client mount host/backup-client/2020-01-29T11:29:22Z root.pxar /mnt/mountpoint
# ls /mnt/mountpoint
bin dev home lib32 libx32 media opt root sbin sys usr boot etc lib lib64 lost+found mnt proc run srv tmp var

Читайте также:  Повысьте производительность своих веб-сайтов с помощью эффективных стратегий кодирования

Это позволяет беспрепятственно получить доступ ко всему содержимому архива.

Примечание. Поскольку соединение FUSE должно извлекать и расшифровывать фрагменты из хранилища на сервере, это может вызвать дополнительную нагрузку на сеть и ЦП на вашем хосте.

Чтобы размонтировать файловую систему, используйте команду umount с точкой монтирования:

# umount /mnt/mountpoint

Монтирование архива

pxar позволяет монтировать и проверять содержимое архива через FUSE. Чтобы смонтировать архив с именем archive.pxar в точку монтирования /mnt, выполните команду:

# pxar mount archive.pxar /mnt
# cd /mnt
# ls
bin dev home lib32 libx32 media opt root sbin sys usr boot etc lib lib64 lost+found mnt proc run srv tmp var

Время создания резервной копии

Время, когда была сделана резервная копия.

Содержимое резервной копии

При дедупликации существуют разные стратегии для получения оптимальных результатов с точки зрения производительности или скорости. В зависимости от типа данных их можно разделить на блоки фиксированного или переменного размера.

Разделение на фрагменты фиксированного размера требует минимальной мощности процессора и используется для резервного копирования образов виртуальных машин.

Для фрагментов переменного размера требуется больше мощности процессора, но оно необходимо для обеспечения хорошей скорости дедупликации для файловых архивов.

Сервер резервного копирования Proxmox поддерживает обе стратегии.

<имя>. img

Это используется для образов виртуальных машин и других больших двоичных данных. Контент разбивается на фрагменты фиксированного размера (chunks).

<имя>. pxar

В файловом архиве хранится полное дерево каталогов. Контент хранится с использованием формата архива файлов Proxmox (.pxar), разбитого на блоки переменного размера. Формат оптимизирован для достижения хороших показателей дедупликации.

Бинарные данные (BLOB)

Этот тип используется для хранения двоичных данных меньшего размера (<16 МБ), например файлов конфигурации. Файлы большего размера следует хранить как архив образа.

Осторожно! Пожалуйста, не храните все файлы как большие двоичные объекты. Вместо этого используйте файловый архив для хранения целых деревьев каталогов.

Каталог файлов

Файл каталога – это индекс для файловых архивов. Он содержит список файлов и используется для ускорения операций поиска.

Манифест содержит список всех файлов резервных копий, их размеры и контрольные суммы. Он используется для проверки целостности резервной копии.

Хранилище данных

Хранилище данных – это место, в котором хранятся резервные копии. Текущая реализация использует каталог внутри стандартной файловой системы Unix (ext4, xfs или zfs) для хранения данных резервного копирования.

Хранилища данных идентифицируются простым именем. Вы можете настроить его при создании хранилища данных. Информация о конфигурации хранилищ данных хранится в файле /etc/proxmox-backup/datastore.cfg.

Требуется чтобы файловая система поддерживала не менее 65538 подкаталогов на каталог. Эта цифра получается из 216 предварительно созданных каталогов (chunk) пространств имен блоков. Это требование исключает поддержку определенных файловых систем. Например, ext3 в целом или ext4 с отключенной функцией dir_nlink.

Вы можете настроить несколько хранилищ данных (datastore). Но необходимо настроить минимум одно хранилище. Datastore идентифицируется простым именем и указывает на каталог в файловой системе. С каждым datastore также связаны настройки хранения, указывающие, сколько снимков резервных копий для каждого интервала времени хранить в этом хранилище. Сокращение и удаление резервных копий и сборку мусора также можно настроить для периодического запуска в соответствии с настроенным расписанием для каждого хранилища данных.

Вы можете создать новое хранилище данных из веб-интерфейса, щелкнув Add Datastore в боковом меню в разделе Datastore. В окне настройки:

  • Name – имя хранилища.
  • Backing Path – путь к каталогу, в котором вы хотите создать хранилище.
  • GC Schedule – время и интервалы, с которыми выполняется сборка мусора.
  • Prune Schedule – относится к частоте, с которой происходит обрезка.
  • Prune Options – количество резервных копий, которое вы хотите сохранить.
  • Comment – можно использовать для добавления некоторой информации о хранилище.

В качестве альтернативы вы можете создать новое хранилище данных из командной строки. Следующая команда создает новое хранилище данных с именем store1 на /backup/disk1/store1:

# proxmox-backup-manager datastore create store1 /backup/disk1/store1

Чтобы вывести список существующих хранилищ выполните:

# proxmox-backup-manager datastore list

Вы можете изменить параметры сборки мусора и сокращения хранилища данных, отредактировав хранилище данных из графического интерфейса пользователя или используя подкоманду update. Например, приведенные ниже команды изменят расписание сборки мусора и выведут его свойства:

# proxmox-backup-manager datastore update store1 —gc-schedule ‘Tue 04:27’
# proxmox-backup-manager datastore show store1

А также, можно удалить конфигурацию хранилища данных:

# proxmox-backup-manager datastore remove store1

Приведенная выше команда удаляет только конфигурацию хранилища, не удаляя данные из основного каталога.

После создания хранилища в каталоге появится:

  • файл .lock – пустой файл, используемый для блокировки процесса;
  • каталог .chunks – содержащий подкаталоги, в которых будут храниться фрагментированные данные после выполнения операции резервного копирования.

Настройка пользователей

Proxmox BS поддерживает несколько областей аутентификации, и вам необходимо выбрать область при добавлении нового пользователя. Возможные области:

  • pam – стандартная аутентификация Linux PAM. Используйте если вы хотите аутентифицироваться как пользователь системы Linux (пользователи должны существовать в системе).
  • pbs – область сервера Proxmox BS. Этот тип хранит хешированные пароли в /etc/proxmox-backup/shadow.json.

Получить список пользователей можно так:

У вновь созданных пользователей нет разрешений.

Если вы хотите отключить учетную запись пользователя, вы можете сделать это, установив –enable в 0:

Или полностью удалите пользователя:

Снимок резервной копии

Примеры снимков резервной копии:

vm / 104 / 2019-10-09T08: 01: 06Z
host / elsa / 2019-11-08T09: 48: 14Z

Как видите, формат времени – RFC 3399 с универсальным временем (UTC, обозначается буквой Z в конце).

Создание резервной копии

В этом разделе объясняется, как создать резервную копию на хосте. Это может быть как физический хост, так и виртуальная машина или контейнер. Такие резервные копии могут содержать архивы файлов и образов.

В следующем примере вам необходимо настроить сервер резервного копирования, рабочие учетные данные и знать имя репозитория. В следующих примерах мы используем сервер резервного копирования: store1.

# proxmox-backup-client backup root.pxar:/ —repository backup-server:store1
Starting backup: host/elsa/2019-12-03T09:35:01Z
Client name: elsa
skip mount point: «/boot/efi»
skip mount point: «/dev»
skip mount point: «/run»
skip mount point: «/sys»
Uploaded 12129 chunks in 87 seconds (564 MB/s).
End Time: 2019-12-03T10:36:29+01:00

Вам будет предложено ввести пароль, а затем будет загружен файловый архив с именем root.pxar, содержащий все файлы в каталоге /.

Обратите внимание, что proxmox-backup-client не включает автоматически точки монтирования. Вместо этого вы увидите короткое уведомление о пропуске точки монтирования для каждого из них. Идея состоит в том, чтобы создать отдельный файловый архив для каждого подключенного диска. Вы можете явно включить их, используя параметр –include-dev (например, –include-dev /boot/efi). Вы можете использовать эту опцию несколько раз для каждой точки монтирования, которую необходимо включить.

Параметр –repository может быть довольно длинным. Вместо этого вы можете установить переменную среды PBS_REPOSITORY. Если вы хотите, чтобы это значение оставалось после перезагрузки, вам следует добавить следующую строку в ваш файл .bashrc:

# export PBS_REPOSITORY=backup-server:store1

После этого вы можете выполнять все команды без указания опции –repository.

Одна резервная копия может содержать более одного архива. Например, если вы хотите сделать резервную копию двух дисков, установленных в /mnt/disk1 и /mnt/disk2:

# proxmox-backup-client backup disk1.pxar:/mnt/disk1 disk2.pxar:/mnt/disk2

Это создаст резервную копию обоих дисков.

Команда резервного копирования принимает список спецификаций резервного копирования, который включает имя архива на сервере, тип архива и источник архива на клиенте. Формат:

Распространенными типами являются .pxar для файловых архивов и .img для образов блочных устройств. Чтобы создать резервную копию блочного устройства, выполните следующую команду:

# proxmox-backup-client backup mydata.img:/dev/mylvm/mydata

Исключение файлов и папок из резервной копии

Иногда желательно исключить определенные файлы или папки из резервного архива. Чтобы сообщить клиенту Proxmox Backup, когда и как игнорировать файлы и каталоги, поместите текстовый файл с именем .pxarexclude в иерархии файловой системы. Каждый раз, когда клиент резервного копирования встречает такой файл в каталоге, он интерпретирует каждую строку этого файла как шаблоны файлов и каталогов, которые должны быть исключены из резервной копии.

Файл должен содержать по одному шаблону на строку. Пустые строки и закомментированные игнорируются. А “!” в начале строки изменяет шаблон совпадения с исключения на явное включение. Строки, оканчивающиеся на /, соответствуют только каталогам. Каталог, содержащий файл .pxarexclude, считается корнем данных шаблонов. Сопоставлять файлы можно только в этом каталоге и его подкаталогах.

используется для экранирования специальных символов.

? соответствует любому одиночному символу.

* соответствует любому символу, включая пустую строку.

** используется для сопоставления подкаталогов. Его можно использовать, например, для исключения всех файлов, оканчивающихся на .tmp, в каталоге или подкаталогах с помощью следующего шаблона **/*.tmp.

Порядок важен, более поздние записи имеют приоритет над предыдущими. Это также верно для шаблонов соответствия, встречающихся на более глубоких уровнях дерева каталогов, которые могут переопределить предыдущее исключение. Имейте в виду, что исключенные каталоги не будут прочитаны клиентом резервного копирования. Таким образом, файл .pxarexclude в исключенном подкаталоге не будет иметь никакого эффекта. Файлы .pxarexclude обрабатываются как обычные файлы и будут включены в резервную копию.

Например, рассмотрим следующую структуру каталогов:

# ls -aR folder
folder/:
. .. .pxarexclude subfolder0 subfolder1
folder/subfolder0:
. .. file0 file1 file2 file3 .pxarexclude
folder/subfolder1:
. .. file0 file1 file2 file3

Различные файлы .pxarexclude содержат следующее:

# cat folder/.pxarexclude
/subfolder0/file1
/subfolder1/*
!/subfolder1/file2

# cat folder/subfolder0/.pxarexclude
file3

При этом будут исключены файлы file1 и file3 в subfolder0 и всё в subfolder1, кроме file2.

Восстановление этой резервной копии приведет к:

Читайте также:  Рейтинг хостинга beget

# ls -aR restored
restored/:
. .. .pxarexclude subfolder0 subfolder1
restored/subfolder0:
. .. file0 file2 .pxarexclude
restored/subfolder1:
. .. file2

ZFS

ZFS – это комбинированный менеджер файловой системы и логических томов, разработанный Sun Microsystems. Нет необходимости вручную компилировать модули ZFS – все пакеты включены.

Используя ZFS, можно достичь максимальных корпоративных функций с малобюджетным оборудованием, а также высокопроизводительными системами за счет использования кэширования SSD или даже только SSD. ZFS может заменить дорогостоящие аппаратные рейд-карты умеренной загрузкой процессора и памяти в сочетании с простым управлением.

Общие преимущества ZFS:

  • Простая настройка и управление с помощью графического интерфейса и командной строки
  • Надежность
  • Защита от повреждения данных
  • Сжатие данных на уровне файловой системы
  • Снимки
  • Копирование при записи (клоны)
  • Различные уровни рейдов: RAID0, RAID1, RAID10, RAIDZ1, RAIDZ2 и RAIDZ3.
  • Можно использовать SSD для кеширования
  • Самовосстановление
  • Непрерывная проверка целостности
  • Разработан для хранения большой емкости
  • Асинхронная репликация по сети
  • Открытый исходный код
  • Шифрование

ZFS сильно зависит от памяти, поэтому для запуска вам потребуется не менее 8 ГБ. На практике используйте столько, сколько можете получить в соответствии с вашим оборудованием / бюджетом. Чтобы предотвратить повреждение данных, мы рекомендуем использовать ОЗУ с ECC высокого качества.

Если вы используете выделенный кэш и / или диск для журнала, вам следует использовать SSD корпоративного класса (например, Intel SSD DC S3700 Series). Это может значительно повысить общую производительность.

Важно! Не используйте ZFS поверх аппаратного контроллера, который имеет собственное управление кешем. ZFS необходимо напрямую взаимодействовать с дисками. Адаптер HBA – это то, что нужно, или что-то вроде контроллера LSI, прошитого в IT Mode.

В этом разделе приведены некоторые примеры использования для общих задач. Сама по себе ZFS действительно мощная и предоставляет множество возможностей. Основные команды для управления ZFS – это zfs и zpool. Обе команды имеют отличные справочные страницы, которые можно прочитать с помощью:

# man zpool
# man zfs

Для создания нового пула необходим как минимум один диск. ashift зависит от размера сектора на диске (2 в степени ashift = размер сектора) или больше. 212 = 4096.

В следующем листинге показаны примеры создания пулов:

Создание пула с кешем (L2ARC)

Создание пула с логом (ZIL)

Для увеличения производительности можно использовать выделенный раздел кеш-диска (SSD).

Добавление кеша и журнала в существующий пул

Если у вас пул без кеша и журнала. Сначала разделите SSD на 2 раздела с помощью parted или gdisk (используйте только GPT таблицу разделов). Максимальный размер устройства журнала должен составлять примерно половину размера физической памяти, поэтому обычно он довольно мал. Остальной SSD можно использовать как кеш.

Замена вышедшего из строя устройства

Замена отказавшего загрузочного устройства

В зависимости от того, как был установлен Proxmox Backup, в качестве загрузчика используется либо grub, либо systemd-boot.

Первые шаги по копированию таблицы разделов, повторной выдаче GUID и замене раздела ZFS такие же. Чтобы сделать систему загрузочной с нового диска, необходимы различные шаги, которые зависят от используемого загрузчика.

Примечание. Используйте команду zpool status -v, чтобы отслеживать, насколько продвинулся процесс resilvering нового диска.

С помощью systemd-boot:

Примечание. ESP означает системный раздел EFI, который устанавливается как раздел №2 на загрузочных дисках, устанавливаемый установщиком pve, начиная с версии 5.4.

Обычно grub.cfg находится в /boot/grub/grub.cfg

Активация e-mail уведомлений

ZFS поставляется с демоном событий, который отслеживает события, генерируемые модулем ядра ZFS. Демон также может отправлять электронные письма о событиях ZFS, например об ошибках пула. Новые пакеты ZFS поставляют демон в отдельном пакете, и вы можете установить его с помощью apt-get:

# apt-get install zfs-zed

Для активации демона необходимо отредактировать /etc/zfs/zed.d/zed.rc вашим любимым редактором и раскомментировать параметр ZED_EMAIL_ADDR:

Обратите внимание, что Proxmox Backup пересылает почту root на адрес электронной почты, настроенный для пользователя root. Единственная необходимая настройка – ZED_EMAIL_ADDR. Все остальные настройки не обязательны.

Лимит использование памяти ZFS

Для ZFS ARC рекомендуется использовать не более 50 % (по умолчанию) системной памяти, чтобы предотвратить снижение производительности хоста. Используйте предпочтительный редактор, чтобы изменить конфигурацию в /etc/modprobe.d/zfs.conf и вставить:

options zfs zfs_arc_max=8589934592

В этом примере 8GB.

Важно: если ваша корневая файловая система – ZFS, вы должны обновлять initramfs каждый раз, после этих изменений:

# update-initramfs -u

SWAP на ZFS

Пространство подкачки, созданное на zvol, может вызвать некоторые проблемы, такие как блокировка сервера или создание высокой нагрузки ввода-вывода, что часто наблюдается при запуске резервного копирования во внешнее хранилище.

Мы настоятельно рекомендуем использовать достаточно памяти, чтобы обычно не возникали ситуации нехватки памяти. Если вам нужно или вы хотите добавить подкачку, рекомендуется создать раздел на физическом диске и использовать его как устройство подкачки. Вы можете оставить для этой цели свободное место в расширенных параметрах установщика. Кроме того, вы можете снизить значение подкачки. Хорошее значение для серверов – 10:

Чтобы сделать подкачку постоянной, откройте /etc/sysctl.conf в любом редакторе и добавьте следующую строку:

Чтобы активировать сжатие:

Мы рекомендуем использовать алгоритм lz4, поскольку он очень мало увеличивает нагрузку на процессор. Также доступны другие алгоритмы, такие как lzjb и gzip-N (где N – целое число от 1 до 9, представляющее степень сжатия, 1 – самое быстрое, а 9 – лучшее сжатие). В зависимости от алгоритма и степени сжатия данных включение сжатия может даже повысить производительность ввода-вывода.

Вы можете отключить сжатие в любое время с помощью:

Это изменение затронет только новые блоки.

Специальное устройство ZFS

Начиная с версии 0.8.0 ZFS поддерживает специальные устройства. Специальное устройство в пуле используется для хранения метаданных, таблиц дедупликации и, возможно, небольших файловых блоков.

Специальное устройство может повысить скорость пула, состоящего из медленно вращающихся жестких дисков с большим количеством изменений метаданных. Например, рабочие нагрузки, связанные с созданием, обновлением или удалением большого количества файлов, выиграют от наличия специального устройства. ZFS датасеты также можно настроить для хранения целых небольших файлов на специальном устройстве, что может еще больше повысить производительность. Используйте быстрые SSD для специального устройства.

Важно! Резервирование специального устройства должно совпадать с резервированием пула, так как специальное устройство является точкой отказа для всего пула.

Предупреждение! добавление специального устройства в пул нельзя отменить!

Создание пула со специальным устройством и RAID-1:

Добавление специального устройства в существующий пул с RAID-1:

Например включим все файлы размером меньше 4K-блоков для всего пула:

Или для одного датасета:

Отказаться от небольших файловых блоков можно так:

В случае повреждения файла кэша ZFS некоторые тома не могут быть смонтированы во время загрузки, пока не будут смонтированы вручную позже.

Для каждого пула запустите:

# zpool set cachefile=/etc/zfs/zpool.cache POOLNAME

а затем обновите initramfs, запустив:

# update-initramfs -u -k all

и, наконец, перезагрузите ваш сервер.

Иногда файл кэша ZFS может быть поврежден, и служба zfs-import-cache.service не импортирует пулы, которых нет в файле кеша.

Еще один способ решения этой проблемы – включить службу zfs-import-scan.service, которая выполняет поиск и импорт пулов с помощью сканирования устройства (обычно медленнее).

Инструмент командной строки pxar

pxar – это утилита командной строки для создания и управления архивами в формате файлового архива Proxmox (.pxar). Он вдохновлен форматом файлового архива casync, который обслуживает аналогичный вариант использования. Формат .pxar адаптирован для удовлетворения конкретных потребностей Proxmox Backup Server, например, для эффективного хранения жестких ссылок. Формат предназначен для уменьшения объема памяти, необходимого на сервере, за счет достижения высокого уровня дедупликации.

Step 1 — Create a Directory To Store QCOW2 Images

First, we need to create a directory to store the QCOW2 images. I am going to create a directory called «qcow» under the Proxmox default storage directory.

$ sudo mkdir /var/lib/vz/template/qcow

Please note that you can save the images on any location of your choice.

Prune позволяет указать, какие снимки резервных копий вы хотите сохранить. Доступны следующие варианты хранения:

Вы можете использовать симулятор обрезки, чтобы изучить влияние различных вариантов хранения с различным расписанием резервного копирования.

Чтобы получить доступ к обрезке для конкретной группы резервных копий, вы можете использовать параметр командной строки prune, или перейти на вкладку Content хранилища данных и щелкнуть значок ножниц в соответствующей группе резервного копирования.

Обрезка по расписанию

Параметры планирования для сокращения на уровне хранилища данных можно найти на вкладке Prune & GC  хранилища данных. Здесь вы можете установить параметры хранения и отредактировать интервал, с которым происходит обрезка.

В следующем примере мы предполагаем, что вы делаете ежедневные резервные копии, имеете период хранения 10 лет, а период между хранением резервных копий постепенно увеличивается:

  • keep-last: 3 – даже если резервное копирование выполняется только ежедневно, администратор может захотеть сохранить ещё 3 резервные копии на случай резервных копий сделанных вручную.
  • keep-hourly: не задано – для ежедневных резервных копий это не актуально.
  • keep-daily: 13 – вместе с keep-last, у вас будет как минимум две недели резервного копирования.
  • keep-weekly: 8 – гарантирует, что у вас будет как минимум два полных месяца еженедельного резервного копирования.
  • keep-monthly: 11 – вместе с предыдущими настройками это гарантирует, что у вас будет как минимум годовое ежемесячное резервное копирование.
  • keep-yearly: 9 – для долгосрочного архива. Что даст вам в общей сложности как минимум 10 лет покрытия.

Мы рекомендуем вам использовать более длительный срок хранения, чем минимально требуется в вашей среде; вы всегда можете уменьшить его, если обнаружите, что он излишне высок, но вы не можете воссоздать снимки резервных копий которых уже нет.

Оцените статью
Хостинги