Бекап VM ESXi засобами Bareos



Продовжуємо серію публікацій про можливості створення резервних копій за допомогою Bareos. У цій статті піде мова про резервне копіювання VM ESXi засобами Bareos.

Попередні посади: Бекап з допомогою Open Source рішення — Bareos

Для резервного копіювання віртуальних машин VMware ESXi часто застосовують такі засоби як Veeam або ж скрипт ghettovcb. У цій статті ми розглянемо спосіб резервного копіювання віртуальної машини засобами Bareos 16.2, а саме будемо використовувати один з плагінів дозволяє розширити функціонал Bareos — vmware-plugin. У 16-ї версії змінено розташування конфігураційних файлів, тепер кожен ресурс (pool, client, job тощо) розподілені за своїм директорій, добавлена багатомовність для web UI, поліпшена робота плагіна MySQL, більш детальну документацію можна переглянути тут.

Для даного прикладу у нас є ESXi 6.0 (для роботи плагіна досить ліцензії Evaluation) і сервер під CentOS 7, на який буде встановлений Bareos.

Додамо репозиторій:

wget http://download.bareos.org/bareos/release/16.2/CentOS_7/bareos.repo -O /etc/yum.repos.d/bareos.repo

Встановимо необхідні компоненти:

yum install -y bareos-client bareos-database-tools bareos-filedaemon bareos-database-postgresql bareos bareos-bconsole bareos-database-common bareos-storage bareos-director bareos-common

Встановимо базу даних:

yum install -y postgresql-server, postgresql-contrib

Після установки виконаємо:

# postgresql-setup initdb

Виконуємо скрипти підготовки бази даних, встановлені разом з Bareos:

su postgres -c /usr/lib/bareos/scripts/create_bareos_database
su postgres -c /usr/lib/bareos/scripts/make_bareos_tables
su postgres -c /usr/lib/bareos/scripts/grant_bareos_privileges

Докладніше про встановлення й опис компонентів, а також опис основних директив можна переглянути тут

Список директорій в 16-ї версії виглядає так:
/bareos-dir-export
/bareos-dir.d
/catalog
/client
/console
/counter
/director
/fileset
/job
/jobdefs
/messages
/pool
/profile
/schedule
/storage
/bareos-fd.d
/client
/director
/messages
/bareos-sd.d
/autochanger
/device
/director
/messages
/ndmp
/storage
/tray-monitor.d
/client
/director
/storage
bconsole.conf


У кожній піддиректорії свій конфігураційний файл, який відповідає за ресурс, відповідний назві директорії.

Перед внесенням будь-яких налаштувань, необхідно переконатися, що виконані усі вимоги для роботи плагіна VMware. Офіційний список вимог можна переглянути тут.

Потрібно встановити всі залежно перед установкою плагіна
Додамо один з репозиторіїв EPEL, т. к. нам знадобляться деякі пакети для подальшої установки:

rpm -ivh 

yum install python

yum install python-pip

yum install python-wheel

pip install --upgrade pip

pip install pyvmomi

yum install python-pyvmomi

Після можемо встановити сам плагін:

yum install bareos-vmware-plugin

Обов'язковою вимогою є, щоб VM на ESXi підтримувала і було дозволено CBT (Changed Block Tracking). На сайті VМware зазначено як дана опція включається, однак є більш простий спосіб — з допомогою скрипта. Сам скрипт називається vmware_cbt_tool і його можна взяти на GitHub.

Скачавши на сервер BareOS, і перейшовши в директорію скрипта, потрібно виконати наступне:

./vmware_cbt_tool.py -s 172.17.10.1 -u bakuser -p kJo@#!a -d ha-datacenter -f / -v ubuntu --info

По опціях:
-s — адресу сервера
-u — користувач на ESXi (спеціально завели користувача bakuser)
-p — пароль
-d — назва нашого «datacenter» в ESXi, за замовчуванням «ha-datacenter»
-f — папка з нашими VM, корінь за замовчуванням
-v — назва самої VM
--info — відобразить нам поточні налаштування CBT для VM


Виконавши команду, повинні перевірити:

INFO: VM ubuntu CBT supported: True
INFO: VM ubuntu CBT enabled: False

Тобто CBT підтримується, але в даний момент не включено, тому включимо все тим же скриптом додавши в кінці команди опцію --enablecbt

./vmware_cbt_tool.py -s 172.17.10.1 -u bakuser -p kJo@#!a -d ha-datacenter -f / -v ubuntu --enablecbt

В результаті побачимо наступне:

INFO: VM ubuntu CBT supported: True
INFO: VM ubuntu CBT enabled: False
INFO: VM ubuntu trying to enable CBT now
INFO: VM ubuntu trying to create and remove a snapshot to activate CBT
INFO: VM ubuntu successfully created and removed snapshot

CBT успішно включено.

Тепер необхідно перейти до налаштувань самого BareOS, також можна керуватися офіційною документацією.

Наводимо вміст конфіги:

/etc/bareos/bareos-dir.d/client/bareos-fd.conf

Client {
Name = vmware
#Адреса клієнта залишаємо саме localhost
Address = localhost
Password = "wai2Aux0"
}

/etc/bareos/bareos-dir.d/director/bareos-dir.conf

Director { 
Name = "bareos-dir"
QueryFile = "/usr/lib/bareos/scripts/query.sql"
Maximum Concurrent Jobs = 10
Password = "wai2Aux0" 
Messages = Standard
Auditing = yes
}

Наступний файл в даному прикладі один з найбільш важливих, оскільки в ньому виконується вказівка опцій для плагіна

/etc/bareos/bareos-dir.d/fileset/SelfTest.conf

FileSet {
Name = "vm-ubuntu"

Include {
Options {
signature = MD5
Compression = GZIP
}
Plugin = "python:module_path=/usr/lib64/bareos/plugins/vmware_plugin:module_name=bareos-fd-vmware:dc=ha-datacenter:folder=/:vmname=ubuntu:vcserver=172.17.10.1:vcuser=bakuser:vcpass=kJo@#!a"
}
}

python:module_path=/usr/lib64/bareos/plugins/vmware_plugin — вказуємо де розташований плагін
module_name=bareos-fd-vmware — вказуємо його ім'я
dc — назва datacenter в ESXi
folder — папка з VM, за замовчуванням корінь
vmname — ім'я віртуальної машини
vcserver — адресу сервера
vcuser — логін користувача спеціально заведеної для робіт з бекапом
vcpass — його пароль
Опис Job для бекапа:
/etc/bareos/bareos-dir.d/job/backup-bareos-fd.conf
Job {
Name = "vm-ubuntu-backup-job"
JobDefs = "DefaultJob"
Client = "vmware"
}

/etc/bareos/bareos-dir.d/jobdefs/DefaultJob.conf

JobDefs {
Name = "DefaultJob"
Type = Backup
Level = Incremental
FileSet = "vm-ubuntu" 
Schedule = "WeeklyCycle"
Storage = bareos-sd
Messages = Standard
Pool = Incremental
Priority = 10
Write Bootstrap = "/var/lib/bareos/%c.bsr"
Full Backup Pool = Full 
Differential Backup Pool = Differential 
Incremental Backup Pool = Incremental 
}


Опис Job для відновлення:

/etc/bareos/bareos-dir.d/job/RestoreFiles.conf

Job {
Name = "RestoreFiles"
Type = Restore
Client = vmware
FileSet = "vm-ubuntu"
Storage = bareos-sd
Pool = Incremental
Messages = Standard
Where = /tmp/
}

Налаштування сповіщень:

/etc/bareos/bareos-dir.d/messages/Standard.conf

Messages {
Name = Standard
# Опис команди для відправки email
mailcommand = "/usr/bin/bsmtp -h localhost -f \"\(Bareos\) \<%r\>\" -s \"Bareos: Intervention needed for %j\" %r"
operator = root@localhost = mount 
#Відправляємо повідомлення про всіх основних подіях
mail = admin@testdomain.com = alert,error,fatal,terminate, !skipped
# Консоль відображаємо всі основні події
console = all !skipped, !saved
# Вказуємо, що буде записуватися в лог, тобто всі 
append = "/var/log/bareos/bareos.log" = all !skipped
# Відправляти повідомлення в каталог БД 
catalog = all
}

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

Опис пулів:

/etc/bareos/bareos-dir.d/pool/Full.conf

Pool {
Name = Full
Pool Type = Backup
Recycle = yes 
AutoPrune = yes 
Volume Retention = 365 days 
Maximum Volume Bytes = 50G 
Maximum Volumes = 100 
Label Format = "Full-" 
}

/etc/bareos/bareos-dir.d/pool/Incremental.conf
Pool {
Name = Incremental
Pool Type = Backup
Recycle = yes 
AutoPrune = yes 
Volume Retention = 30 days 
Maximum Volume Bytes = 1G 
Maximum Volumes = 100 
Label Format = "Incremental-" 
}

Приклад пулу Differential приводити не будемо, тому що хоч він і вказаний в JobDefs, але використовувати його не будемо.

Налаштування розкладу:

/etc/bareos/bareos-dir.d/schedule/WeeklyCycle.conf

Schedule {
Name = "WeeklyCycle"
# Першого числа 21:00 запускається повний бекап 
Run = Full on 1 at 21:00
# З другого по 31 число годину ночі запускається також повний бекап 
Run = Full 2-31 at 01:00
# З 2 по 31 число 10,15 і 19:00 запускається інкрементальний бекап 
Run = Incremental on 2-31 at 10:00
Run = Incremental on 2-31 at 15:00
Run = Incremental on 2-31 at 19:00
}

Опис підключення до стореджу:

/etc/bareos/bareos-dir.d/storage/File.conf
Storage {
Name = bareos-sd
Address = localhost 
Password = "wai2Aux0"
Device = FileStorage
Media Type = File
}

Налаштування самого стореджа:

/etc/bareos/bareos-sd.d/device/FileStorage.conf

Device {
Name = FileStorage
Media Type = File
Archive Device = /opt/backup
LabelMedia = yes; 
Random Access = yes;
AutomaticMount = yes; 
RemovableMedia = no;
AlwaysOpen = no;
}

Параметри підключення стореджа до директора:

/etc/bareos/bareos-sd.d/director/bareos-dir.conf
Director {
Name = bareos-dir
Password = "wai2Aux0"
}

Використовувані параметри оповіщення:

/etc/bareos/bareos-sd.d/messages/Standard.conf

Messages {
Name = Standard
Director = bareos-dir = all
}

/etc/bareos/bareos-sd.d/storage/bareos-sd.conf

Storage {
Name = bareos-sd
Maximum Concurrent Jobs = 20
}

Обов'язково необхідно на стороні сервера виконати підключення плагіна, виконується це в наступному конфіги:

/etc/bareos/bareos-fd.d/client/myself.conf
Client {
Name = vmware
Maximum Concurrent Jobs = 20
# Підключення плагінів
Plugin Directory = /usr/lib64/bareos/plugins
Plugin Names = "python"
}

Підключення до директора:

/etc/bareos/bareos-fd.d/director/bareos-dir.conf
Director {
Name = bareos-dir
Password = "wai2Aux0"
}

Тип сповіщень, що надійшли на директор:

/etc/bareos/bareos-fd.d/messages/Standard.conf
Messages {
Name = Standard
Director = bareos-dir = all !skipped, !restored
}

Примусово в ручному режимі виконаємо резервне копіювання, для цього увійдемо в bconsole

*run

Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog"
A job name must be specified.
The defined Job resources are:
1: RestoreFiles
2: vm-ubuntu-backup-job

Select Job resource (1-2): 2

Run Backup job
JobName: vm-ubuntu-backup-job
Level: Incremental
Client: vmware
Format: Native
FileSet: vm-ubuntu
Pool: Incremental (From Job IncPool override)
Storage: bareos-sd (From Job resource)
When: 2016-11-14 07:22:11
Priority: 10
OK to run? (yes/mod/no): yes

Командою message можемо спостерігати, що відбувається з завданням, бачимо, що процес запустився успішно:

14-Nov 07:22 vmware JobId 66: python-fd: Starting backup of /VMS/ha-datacenter/ubuntu/[datastore1] ubuntu/ubuntu.vmdk_cbt.json
14-Nov 07:22 vmware JobId 66: python-fd: Starting backup of /VMS/ha-datacenter/ubuntu/[datastore1] ubuntu/ubuntu.vmdk

Під час виконання завдання на стороні ESXi можна спостерігати, що в консолі виведення повідомлень з'являться відповідні повідомлення про те, що відбувається звертання до диска віртуальної машини, а по закінченні видаляється тимчасовий snapshot.



що Приходять повідомлення виглядає приблизно так:
13-Nov 22:47 bareos-dir JobId 36: No prior Full backup Job record found.
13-Nov 22:47 bareos-dir JobId 36: No prior or suitable Full backup found in catalog. Doing FULL backup.
13-Nov 22:47 bareos-dir JobId 36: Start Backup JobId 36, Job=vm-ubuntu-backup-job.2016-11-13_22.47.47_04
13-Nov 22:47 bareos-dir JobId 36: Using Device "FileStorage" to write.
13-Nov 22:47 bareos-sd JobId 36: Volume "Full-0001" previously written, moving to end of data.
13-Nov 22:47 bareos-sd JobId 36: Ready to append to end of Volume "Full-0001" size=583849836
13-Nov 22:47 vmware JobId 36: python-fd: Starting backup of /VMS/ha-datacenter/ubuntu/[datastore1] ubuntu/ubuntu.vmdk_cbt.json
13-Nov 22:47 vmware JobId 36: python-fd: Starting backup of /VMS/ha-datacenter/ubuntu/[datastore1] ubuntu/ubuntu.vmdk
13-Nov 22:51 bareos-sd JobId 36: Elapsed time=00:04:01, Transfer rate=2.072 M Bytes/second
13-Nov 22:51 bareos-dir JobId 36: Bareos bareos-dir 16.2.4 (01Jul16):
Build OS: x86_64-redhat-linux-gnu redhat CentOS Linux release 7.0.1406 (Core)
JobId: 36
Job: vm-ubuntu-backup-job.2016-11-13_22.47.47_04
Backup Level: Full (upgraded from Incremental)
Client: "vmware" 16.2.4 (01Jul16) x86_64-redhat-linux-gnu,redhat,CentOS Linux release 7.0.1406 (Core) ,CentOS_7,x86_64
FileSet: "vm-ubuntu" 2016-11-13 22:47:47
Pool: "Full" (From Job FullPool override)
Catalog: "MyCatalog" (From Client resource)
Storage: "bareos-sd" (From Job resource)
Scheduled time: 13-Nov-2016 22:47:45
Start time: 13-Nov-2016 22:47:50
End time: 13-Nov-2016 22:51:51
Elapsed time: 4 mins 1 sec
Priority: 10
FD Files Written: 2
SD Files Written: 2
FD Bytes Written: 499,525,599 (499.5 MB)
SD Bytes Written: 499,527,168 (499.5 MB)
Rate: 2072.7 KB/s
Software Compression: 73.1 % (gzip)
VSS: no
Encryption: no
Accurate: no
Volume name(s): Full-0001
Volume Session Id: 9
Volume Session Time: 1479067525
Last Volume Bytes: 1,083,996,610 (1.083 GB)
Non-fatal FD errors: 0
SD Errors: 0
FD termination status: OK
SD termination status: OK
Termination: Backup OK


Як бачимо повідомлення говорить про успішне бекапі, тип бекапа Full, записано 499,5 Mb (на стороні ESXi vmdk файл займає 560 M). У налаштуваннях FileSet ми встановлювали тип стиснення gzip, що в даному повідомленні також видно у рядку Software Compression.

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

Розгорнути
14-Nov 01:17 vmware JobId 39: Fatal error: python-fd: Error VM VMBitrix5.1.8 is not CBT enabled
14-Nov 01:17 vmware JobId 39: Fatal error: fd_plugins.c:654 Command plugin "python:module_path=/usr/lib64/bareos/plugins/vmware_plugin:module_name=bareos-fd-vmware:dc=ha-datacenter:folder=/:vmname=VMBitrix5.1.8:vcserver=172.17.10.1:vcuser=bakuser:vcpass=kJo@#!a" requested, but is not loaded.
14-Nov 01:17 bareos-dir JobId 39: Error: Bareos bareos-dir 16.2.4 (01Jul16):
Build OS: x86_64-redhat-linux-gnu redhat CentOS Linux release 7.0.1406 (Core)
JobId: 39
Job: vm-bitrix-backup-job.2016-11-14_01.17.51_04
Backup Level: Full (upgraded from Incremental)
Client: "vmware" 16.2.4 (01Jul16) x86_64-redhat-linux-gnu,redhat,CentOS Linux release 7.0.1406 (Core) ,CentOS_7,x86_64
FileSet: "vm-bitrix-fileset" 2016-11-14 01:17:51
Pool: "vm-bitrix-Full" (From Job FullPool override)
Catalog: "MyCatalog" (From Client resource)
Storage: "bareos-sd" (From Job resource)
Scheduled time: 14-Nov-2016 01:17:47
Start time: 14-Nov-2016 01:17:53
End time: 14-Nov-2016 01:17:54
Elapsed time: 1 sec
Priority: 10
FD Files Written: 0
SD Files Written: 0
FD Bytes Written: 0 (0 B)
SD Bytes Written: 0 (0 B)
Rate: 0.0 KB/s
Software Compression: None
VSS: no
Encryption: no
Accurate: no
Volume name(s):
Volume Session Id: 12
Volume Session Time: 1479067525
Last Volume Bytes: 0 (0 B)
Non-fatal FD errors: 1
SD Errors: 0
FD termination status: Fatal Error
SD termination status: Canceled
Termination: *** Backup Error ***


У відповідності з нашим розкладом у директиві Schedule{} установки директора, протягом дня повинно було виконатися 3 інкрементальних бекапа (останній в списку Full бекап виконаний в ручному режимі). У bconsole, командою «status dir» можна переглянути наскільки розмір інкрементальних бекапів відрізняється від повного бекапа:



Що стосується відновлення, то воно може бути здійснене відразу на хост з ESXi, що виконується за замовчуванням, але для цього сама віртуальна машина має бути вимкнена. Або ж відновлення можна виконати на сервер з BareOS. Розглянемо обидва варіанти.

При відновленні локально на сервер з BareOS. Заходимо в bconsole:
*restore

Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog"

First you select one or more JobIds files that contain
to be restored. You will be presented several methods
of specifying the JobIds. Then you will be allowed to
select which files from those JobIds are to be restored.

To select the JobIds, you have the following choices:
1: List last 20 Jobs run
2: List Jobs where a given File is saved
3: Enter comma separated list of JobIds to select
4: Enter SQL list command
5: Select the most recent backup for a client
6: Select backup for a client before a specified time
7: Enter a list of files to restore
8: Enter a list of files to restore before a specified time
9: Find the JobIds of the most recent backup for a client
10: Find the JobIds for a backup for a client before a specified time
11: Enter a list of directories to restore found for JobIds
12: Select full restore to a specified Job date
13: Cancel
Select item: (1-13): 3
Enter JobId(s), comma separated, to restore: 66

Building directory tree for JobId(s) 66 ... 
1 files inserted into the tree.

You are now entering file selection mode where you add (mark) and
remove (unmark) files to be restored. No files are initially added, unless
you used the "all" keyword on the command line.
Enter "done" to leave this mode.

cwd is: /
$ ls
VMS/

$ mark *
1 file marked.

$ done

Defined Clients:
1: vmware
...
Select the Client (1-4): 1

Using Catalog "MyCatalog"
Client "bareos-fd" not found.
Automatically selected Client: vmware
Restore Client "bareos-fd" not found.
Automatically selected Client: vmware
Run Restore job
JobName: RestoreFiles
Bootstrap: /var/lib/bareos/bareos-dir.restore.1.bsr
Where: /tmp/
Replace: Always
FileSet: vm-ubuntu
Backup Client: bareos-fd
Restore Client: vmware
Format: Native
Storage: bareos-sd
When: 2016-11-14 07:37:57
Catalog: MyCatalog
Priority: 10
Plugin Options: *None*
OK to run? (yes/mod/no): mod

Parameters to modify:
1: Level
2: Storage
3: Job
4: FileSet
5: Restore Client
6: Format Backup
7: When
8: Priority
9: Bootstrap
10: Where
11: File Relocation
12: Replace
13: JobId
14: Plugin Options

Select parameter to modify (1-14): 14
Please enter Plugin Options string: python:localvmdk=yes

Run Restore job
JobName: RestoreFiles
Bootstrap: /var/lib/bareos/bareos-dir.restore.1.bsr
Where: /tmp/
Replace: Always
FileSet: vm-ubuntu
Backup Client: vmware
Restore Client: vmware
Format: Native
Storage: bareos-sd
When: 2016-11-14 07:37:57
Catalog: MyCatalog
Priority: 10
Plugin Options: python:localvmdk=yes
OK to run? (yes/mod/no): yes


Після цього можна перейти в папку /tmp і побачити відновлений файл vmdk.

cd /tmp/" [datastore1] ubuntu"
ls
ubuntu.vmdk

Відновлення ж відразу на ESXi не вимагає внесення будь-яких правок перед виконанням restore, але як і писалося раніше, необхідно перед цим вимикати віртуальну машину інакше станеться помилка:

JobId 80: Fatal error: python-fd: Error VM VMBitrix5.1.8 must be poweredOff for restore, but is poweredOn

В якості тесту достатньо створити на віртуальній машині пару тестових файлів, запуск Job на бекап. Видалити ці файли, вимкнути машину, і відновити через пункт restore без внесення правок як у попередньому прикладі, як правило, будуть видалені файли на колишньому місці.

Тепер розглянемо можливість додавання резервного копіювання для ще однієї VM, її ім'я «VMBitrix5.1.8»

Важливо! Спочатку необхідно в налаштуваннях директора у файлі /etc/bareos/bareos-dir.d/director/bareos-dir.conf підключити плагіни для роботи з VMware інакше при підключенні додаткових завдань для бекапа VM отримаємо помилку про не завантаженому плагіні:

Приклад:

JobId 41: Fatal error: fd_plugins.c:654 Command plugin "python:module_path=/usr/lib64/bareos/plugins/vmware_plugin:module_name=bareos-fd-vmware:dc=ha-datacenter:folder=/:vmname=" requested, but is not loaded

Тепер файл /etc/bareos/bareos-dir.d/director/bareos-dir.conf повинен виглядати так:

Director { # define myself
Name = "bareos-dir"
QueryFile = "/usr/lib/bareos/scripts/query.sql"
Maximum Concurrent Jobs = 10
Password = "wai2Aux0" # Console password
Messages = Standard
Auditing = yes
Plugin Directory = /usr/lib64/bareos/plugins
Plugin Names = "python"
}

Як бачимо рядки нижче і виконали підключення плагіна:

Plugin Directory = /usr/lib64/bareos/plugins
Plugin Names = "python"

Далі переходимо до редагування директиви FileSet{} для бекапа другої віртуальної машини

/etc/bareos/bareos-dir.d/fileset/SelfTest.conf

Після додавання нових рядків для бекапа віртуальної машини VMBitrix5.1.8 файл виглядає так:
FileSet {
Name = "vm-ubuntu"

Include {
Options {
signature = MD5
Compression = GZIP
}
Plugin = "python:module_path=/usr/lib64/bareos/plugins/vmware_plugin:module_name=bareos-fd-vmware:dc=ha-datacenter:folder=/:vmname=ubuntu:vcserver=172.17.10.1:vcuser=bakuser:vcpass=qLpE1QQv"
}
}

FileSet {
Name = "vm-bitrix"

Include {
Options {
signature = MD5
Compression = GZIP
}
Plugin = "python:module_path=/usr/lib64/bareos/plugins/vmware_plugin:module_name=bareos-fd-vmware:dc=ha-datacenter:folder=/:vmname=VMBitrix5.1.8:vcserver=172.17.10.1:vcuser=bakuser:vcpass=kJo@#!a"
}
}


Переходимо до додавання нового Job для бекапа нової VM створимо файл backup-bareos-bitrix.conf в директорії /etc/bareos/bareos-dir.d/job. У цьому файлі пропишемо параметри для нового Job (група і власник всіх створюваних файлів повинні бути «bareos»):

Job {
Name = "vm-bitrix-backup-job"
Client = "vmware"
Type = Backup
Level = Incremental
FileSet = "vm-bitrix" 
Schedule = "WeeklyCycle"
Storage = bareos-sd
Messages = Standard
Pool = vm-bitrix-Incremental
Priority = 10
Write Bootstrap = "/var/lib/bareos/%c.bsr"
Full Backup Pool = vm-bitrix-Full 
Incremental Backup Pool = vm-bitrix-Incremental 
}

Також необхідно створити Job для відновлення у разі необхідності для другої віртуальної машини VMBitrix5.1.8. Створимо файл /etc/bareos/bareos-dir.d/job/restorefiles-vm-bitrix.conf.

Його вміст:

Job {
Name = "restorefiles-vm-bitrix"
Type = Restore
Client = vmware
FileSet = "vm-bitrix"
Storage = bareos-sd
Pool = vm-bitrix-Incremental
Messages = Standard
Where = /tmp/
}

Обов'язково дотримання відповідностей між FileSet і Pool.

Як бачимо, також необхідно створити нові пули. Перейдемо в каталог /etc/bareos/bareos-dir.d/pool

Створимо два файлу Full-vm-bitrix.conf і Incremental-vm-bitrix.conf. Наводимо вміст:

# cat /etc/bareos/bareos-dir.d/pool/Full-vm-bitrix.conf

Pool {
Name = vm-bitrix-Full
Pool Type = Backup
Recycle = yes 
AutoPrune = yes 
Volume Retention = 365 days 
Maximum Volume Bytes = 50G 
Maximum Volumes = 100 
Label Format = "Full-vm-bitrix-" 
}

# cat /etc/bareos/bareos-dir.d/pool/Incremental-vm-bitrix.conf
Pool {
Name = vm-bitrix-Incremental
Pool Type = Backup
Recycle = yes 
AutoPrune = yes 
Volume Retention = 30 days 
Maximum Volume Bytes = 1G 
Maximum Volumes = 100 
Label Format = "Incremental-vm-bitrix-"
}

Знову ж, як на попередніх кроках потрібно для другої VM активувати CBT через скрипт vmware_cbt_tool

Після внесення будь-яких змін в конфіги обов'язково необхідно перезапустити служби:

systemctl restart bareos-fd
systemctl restart bareos-dir

Якщо не виникло ніяких помилок, то можна знову перейти до консолі bconsole і побачити додані Job для нової VM

Список нових Job:



Запустимо нову задачу:



Частковий висновок команди «status dir» після успішного виконання бекапа:



Що стосується відновлення другої віртуальної машини, то воно нічим не відрізняється від прикладу відновлення першої. Додавання додаткових завдань за бэкапу додаткових VM аналогічно додаванню завдання по бэкапу другий VM.


SIM-Networksнадійне хмара в Німеччині, SSD хостинг і VPS.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.