- Хорошая новость!
- Со времени выхода обзора интерфейса прошло обновление и в пункте "Администрирование"/"Статус сервера" появилась кнопка вызова консоли: теперь мы можем обойтись без SSH
Установка клиента в Debian Linux осуществляется стандартным образом:
Добавляем ключ тестового репозитория:# sudo wget http://download.proxmox.com/debian/proxmox-ve-release-6.x.gpg -O /etc/apt/trusted.gpg.d/proxmox-ve-release-6.x.gpg
добавляем тестовый репозиторий
# sudo echo 'deb http://download.proxmox.com/debian/pbs buster pbstest'> /etc/apt/sources.list.d/pbstest-beta.list
устанавливаем клиент
# sudo apt update
# sudo apt install proxmox-backup-client
Использование клиента
- Примечание
- Я не планирую приводить всеобъемлющего описания работы с клиентом: он сырой и на мой взгляд в данном виде не вполне удобен.
Как и в предыдущем случае, нам потребуется создать на сервере хранилище и пользователя: для простоты назову их обоих debian-test
дам права пользователю на хранилище
Проверяем пингуется ли с клиентской машины наш бэкап сервер по имени, если нет - добавляем запись для него на DNS сервере или в /etc/hosts
Создание архивов
- Пояснение
- Клиент умеет работать с 2 мя форматами архивов:
- <name>.pxar - файловый архив
- <name>.img - образ блочного устройства
Для создания файлового архива на Debian машине из под root нужно выполнить:
# proxmox-backup-client backup root.pxar:/ --repository debian-test@pbs@pbs:debian-test
Starting backup: host/debian-test/2020-08-25T13:59:27Z
Client name: debian-test
Starting protocol: 2020-08-25T16:59:27+03:00
Upload directory '/' to 'debian-test@pbs@pbs:debian-test' as root.pxar.didx
root.pxar: had to upload 3.33 GiB of 3.34 GiB in 179.69s, average speed 18.99 MiB/s).
root.pxar: backup was done incrementally, reused 9.13 MiB (0.3%)
Uploaded backup catalog (4.23 MiB)
Duration: PT179.781544170S
End Time: 2020-08-25T17:02:26+03:00
В итоге я получил бэкап корневого раздела своей Debian машины (точки монтирования по умолчанию не бэкапятся: в моем случае /home /var /tmp)
Вот так это выглядит в интерфейсе
Нажав на значок папки возле значка скачивания архива можно просмотреть его содержимое
Для того, чтоб включить в архив примонтированные разделы необходимо их указать в команде архивирования, например для того чтоб включить /home наша предыдущая команда должна выглядеть так:
# proxmox-backup-client backup root.pxar:/ home.pxar:/home --repository debian-test@pbs@pbs:debian-test
Starting backup: host/debian-test/2020-08-25T14:18:30Z
Client name: debian-test
Starting protocol: 2020-08-25T17:18:30+03:00
Upload directory '/' to 'debian-test@pbs@pbs:debian-test' as root.pxar.didx
root.pxar: had to upload 2.37 GiB of 3.34 GiB in 148.08s, average speed 16.40 MiB/s).
root.pxar: backup was done incrementally, reused 993.98 MiB (29.0%)
Upload directory '/home' to 'debian-test@pbs@pbs:debian-test' as home.pxar.didx
home.pxar: had to upload 27.02 MiB of 27.02 MiB in 1.81s, average speed 14.93 MiB/s).
Uploaded backup catalog (4.23 MiB)
Duration: PT150.002499619S
End Time: 2020-08-25T17:21:00+03:00
Видим, что появился архив для /home |
Чтоб не писать такую длинную строку можно настроить переменную окружения PBS_REPOSITORY, так же можно настроить PBS_PASSWORD, чтоб не вводить пароль.
export PBS_REPOSITORY=debian-test@pbs@pbs:debian-test
Для сохранения после перезагрузки есть смысл добавить эту строку в .bashrc файл тогда команда будет выхлядеть так:
# proxmox-backup-client backup root.pxar:/ home.pxar:/home
- Примечание
- Далее в этом посте все примеры предполагают, что переменная окружения PBS_REPOSITORY установлена.
Для того, чтоб исключить какие то файлы из архива, используется достаточно
запутанная, на мой взгляд метода:
В каталог, в котором мы хотим управлять включением/исключением файлов
необходимо поместить файл .pxarexclude с шаблонами исключений. Файл
обрабатывается сверху вниз более поздние шаблоны переопределяют более
ранние.
Файл должен содержать по одному шаблону исключения на строку. Пустые строки
игнорируются. То же самое верно и для строк, начинающихся с #, что указывает
на комментарий. A ! в начале строки меняет шаблон с исключения на явное
включение. Это позволяет исключить все записи в каталоге, за исключением
нескольких отдельных файлов/подкаталогов. Строки, заканчивающиеся
/совпадением, только в каталогах. Каталог, содержащий .pxarexclude файл,
считается корнем данных шаблонов. Сопоставлять файлы можно только в этом
каталоге и его подкаталогах. \ используется для экранирования специальных
символов.
? соответствует любому одиночному символу.
* соответствует любому символу, включая пустую строку.
** используется для сопоставления подкаталогов. Его можно использовать,
например, для исключения всех файлов, оканчивающихся на, .tmp в каталоге или
подкаталогах с помощью следующего шаблона **/*.tmp.
[...]соответствует одному символу из любого из предоставленных символов в
квадратных скобках.
[!...]является дополнительным и соответствует любому одиночному символу, не
заключенному в скобки. Также можно указать диапазоны двумя символами,
разделенными знаком -. Например, [a-z]соответствует любому буквенному символу
нижнего регистра и [0-9]любой отдельной цифре.
Например, мы в нашем предыдущем бэкапе хотим исключить каталог /etc оставив в
архиве только /etc/firebird и /etc/firefox-esr
для этого мы должны в корень / поместить следующий .pxarexclude файл:
etc/*
!/etc/fire*
Итоговый архив получим следующий
- Примечание
- Примеры из документации не работают: следует использовать относительные пути
Чтобы создать резервную копию блочного устройства, необходимо выполнить следующую команду:
proxmox-backup-client backup mydata.img:/dev/mylvm/mydata
Например Вот мой частичный вывод команды mount:
# mount
/dev/sda8 on /home type ext4 (rw,relatime)
/dev/sda5 on /var type ext4 (rw,relatime)
/dev/sda7 on /tmp type ext4 (rw,relatime)
Если я хочу сделать образ /dev/sda8, на котором находится /home? я должен выполнить следующую команду:
proxmox-backup-client backup home.img:/dev/sda8
Бэкап блочного устройства делается не в пример дольше файлового и занимает много дискового пространства - не стоит им злоупотреблять без необходимости
27 Mb vs 19.55 Gb |
Клиент, так же, поддерживает шифрование (не рассматриваю).
Восстановление данных
Посмотреть существующие копии на клиенте можно командой:
# proxmox-backup-client snapshots
┌───────────────────────────────────────┬─────────────┬──────────────────────────────────────────────┐
│ snapshot │ size │ files │
╞═══════════════════════════════════════╪═════════════╪══════════════════════════════════════════════╡
│ host/debian-test/2020-08-25T13:59:27Z │ 3593039782 │ catalog.pcat1 index.json root.pxar │
├───────────────────────────────────────┼─────────────┼──────────────────────────────────────────────┤
│ host/debian-test/2020-08-25T14:18:30Z │ 3621381929 │ catalog.pcat1 home.pxar index.json root.pxar │
├───────────────────────────────────────┼─────────────┼──────────────────────────────────────────────┤
│ host/debian-test/2020-08-26T05:43:15Z │ 3621382283 │ catalog.pcat1 home.pxar index.json root.pxar │
├───────────────────────────────────────┼─────────────┼──────────────────────────────────────────────┤
│ host/debian-test/2020-08-26T05:53:57Z │ 3593040138 │ catalog.pcat1 index.json root.pxar │
├───────────────────────────────────────┼─────────────┼──────────────────────────────────────────────┤
│ host/debian-test/2020-08-26T06:00:40Z │ 3593040183 │ catalog.pcat1 index.json root.pxar │
├───────────────────────────────────────┼─────────────┼──────────────────────────────────────────────┤
│ host/debian-test/2020-08-26T06:46:23Z │ 671 │ catalog.pcat1 index.json root.pxar │
├───────────────────────────────────────┼─────────────┼──────────────────────────────────────────────┤
│ host/debian-test/2020-08-26T06:50:31Z │ 3589540024 │ catalog.pcat1 index.json root.pxar │
├───────────────────────────────────────┼─────────────┼──────────────────────────────────────────────┤
│ host/debian-test/2020-08-26T06:57:48Z │ 3589581742 │ catalog.pcat1 index.json root.pxar │
├───────────────────────────────────────┼─────────────┼──────────────────────────────────────────────┤
│ host/debian-test/2020-08-26T07:32:07Z │ 20991443265 │ home.img index.json │
└───────────────────────────────────────┴─────────────┴──────────────────────────────────────────────┘
Увидем список, аналогичный интерфейсу сервера
Можно просмотреть каталог (пользователю нужны права datastortAdmin)
proxmox-backup-client catalog dump host/debian-test/2020-08-26T05:53:57Z
f "./root.pxar.didx/usr/share/zsh/vendor-completions/_systemd-inhibit" 1163 2019-02-14T12:11:58+02:00
f "./root.pxar.didx/usr/share/zsh/vendor-completions/_systemd-resolve" 2595 2019-02-14T12:11:58+02:00
f "./root.pxar.didx/usr/share/zsh/vendor-completions/_systemd-run" 3363 2019-02-14T12:11:58+02:00
f "./root.pxar.didx/usr/share/zsh/vendor-completions/_systemd-tmpfiles" 736 2019-02-14T12:11:58+02:00
f "./root.pxar.didx/usr/share/zsh/vendor-completions/_timedatectl" 2042 2019-02-14T12:11:58+02:00
f "./root.pxar.didx/usr/share/zsh/vendor-completions/_udevadm" 6347 2019-02-14T12:11:58+02:00
f "./root.pxar.didx/usr/share/zsh/vendor-completions/_youtube-dl" 3343 2019-04-28T00:03:56+03:00
d "./root.pxar.didx/usr/src"
d "./root.pxar.didx/var"
l "./root.pxar.didx/vmlinuz"
l "./root.pxar.didx/vmlinuz.old"
Команда восстановления позволяет восстановить отдельный архив из резервной копии.
proxmox-backup-client restore host/debian-test/2020-08-26T06:00:40Z root.pxar /target/path/
Так же можно использовать интерактивную оболочку для восстановления единичных файлов.(пользователю нужны права datastortAdmin)
proxmox-backup-client catalog shell host/debian-test/2020-08-25T13:59:27Z root.pxar
Error: no permissions on '/datastore/debian-test'
Так же есть возможность примонтировать архив через FUSE(у меня не получилось)
Error: manifest does not contain file 'root.pxar'
Резюме
На данном этапе я не готов рекомендовать клиент к использованию:
Копии создаются, с архивом можно работать через веб интерфейс сервера, можно разархивировать архив в целевую папку на клиенте, можно восстанавливать файлы через интерактивную оболочку, но постоянно вылазят какие то нюансы.
- P.S.
- Снова напоминаю, что это обзорная заметка бета версии продукта и не в коем случае не описание рабочего продукта!
Комментариев нет:
Отправить комментарий