Настраиваем Proxmox Backup Server в режиме удаленного хранилища (Remote)

  • Автор:

Proxmox-Backup-Server-Remote-000.pngВ современном мире, с постоянно растущими объемами информации резервные копии являются важным элементом инфраструктуры и залогом ее устойчивости. Также они стали отдельным объектом атак и интереса злоумышленников, поэтому очень важно иметь более одной резервной копии и хранить второй экземпляр в отдельной физической локации. И если мы говорим о виртуальной инфраструктуре Proxmox, то самое время познакомиться со штатной возможностью Proxmox Backup Server - работой в режиме удаленного хранилища.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

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

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

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

Если вы не знакомы с Proxmox Backup Server и не устанавливали, и не настраивали его ранее, то советуем предварительно ознакомиться с нашей статьей:

Установка и настройка Proxmox Backup Server

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

Настройка удаленного хранилища с ведущим основным сервером

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

Настройка удаленного сервера

Прежде всего создадим на удаленном сервере отдельное хранилище, для этого перейдите в раздел Datastore - Add Datastore, этот процесс ничем не отличается от создания локального хранилища. Что касается настроек, то их следует указать либо как в основном хранилище, либо изменить по собственному усмотрению, как мы уже говорили выше, вы можете сократить или увеличить количество хранимых копий, в зависимости от вашей политики резервного копирования и доступного дискового пространства. Также мы советуем выбирать название хранилища таким образом, чтобы сразу было понятно, что это удаленная копия. Например, мы используем префикс remote.

Proxmox-Backup-Server-Remote-001.pngЗатем нам нужно создать нового пользователя, который будет иметь доступ к этому хранилищу, мы крайне не рекомендуем использовать для этого уже существующих пользователей и тем более суперпользователя root. Для этого перейдите в Configuration - Access Control - User Management, после чего укажите желаемое имя пользователя и его пароль.

Proxmox-Backup-Server-Remote-002.pngЗатем здесь же переходим на вкладку Permissions и выдаем созданному пользователю права DatastoreAdmin для созданного хранилища (хранилищ). В зависимости от политик безопасности вы можете использовать как отдельных пользователей для каждого хранилища, так и одного для всех, но соблюдая условие, что удаленный пользователь не имеет прав к локальным хранилищам.

Proxmox-Backup-Server-Remote-003.pngНа этом настройка удаленного сервера закончена.

Настройка локального сервера

На локальном сервере переходим в раздел Configuration - Remotes и подключаем удаленное хранилище. В поле Remote ID указываем желаемое имя хранилища, а в поле Auth ID - имя пользователя для доступа к нему, ниже указываем адрес сервера и пароль, также нам потребуется отпечаток сертификата удаленного сервера (Fingerprint), его можно получить на главной странице веб-интерфейса (Dashboard).

Proxmox-Backup-Server-Remote-004.pngНапоминаем, что подключаете вы не удаленный сервер, а только набор хранилищ, доступные указанному при подключении пользователю и если хранилищ и пользователей у вас несколько, то необходимо добавить в этом разделе несколько записей.

После чего переходим в локальное хранилище, которое мы хотим синхронизировать и переходим на закладку Sync Jobs, там по кнопке Add доступно два варианта: Pull Sync Job - получить с удаленного сервера и Push Sync Job - отправить на удаленный сервер. Выбираем последний вариант. В открывшемся окне выбираем удаленный набор хранилищ - Target Remote и указываем доступное хранилище Target Datastore на удаленном сервере. Затем в поле Sync Schedule указываем расписание обмена и ограничение скорости Rate Limit, мы настоятельно советуем не пропускать эту настройку, если вы не хотите, чтобы синхронизация полностью положила вам внешний канал.

Proxmox-Backup-Server-Remote-005.pngОтдельно коснемся настройки Remove vanished - при ее включении в удаленном хранилище также будут удаляться копии, которые отсутствуют в локальном. Может показаться, что это хорошая идея, но на самом деле лучше настроить отдельное задание очистки удаленного хранилища, так как если по какой-то причине вы или кто-то еще удалит все локальные копии, то они также будут удалены и в удаленном хранилище.

Настройка удаленного хранилища с ведущим удаленным сервером

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

Настройка локального сервера

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

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

Настройка удаленного сервера

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

После чего создаем хранилище для синхронизации с хранилищем локального сервера. Никаких пользователей создавать не нужно, равно как и устанавливать на хранилище какие-то права. После создания хранилища переходим на закладку Sync Jobs - Add - Add Pull Sync Job и заполняем поля аналогично прошлому сценарию: в Source Remote указываем удаленный набор хранилищ и конкретное хранилище для синхронизации - Source Datastore. В Sync Sсhedule указываем расписание, а в Rate Limit - лимит скорости канала, остальные опции оставляем без изменений.

Proxmox-Backup-Server-Remote-006.pngНа этом настройка удаленного сервера окончена.

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

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Или подпишись на наш Телеграм-канал: Подпишись на наш Telegram-канал



Loading Comments