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
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
/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
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
./vmware_cbt_tool.py -s 172.17.10.1 -u bakuser -p kJo@#!a -d ha-datacenter -f / -v ubuntu --info
-s - server address
-u - user on ESXi (specially brought bakuser user)
-p - his password
-d - the name of our "datacenter" in ESXi, by default "ha-datacenter"
-f - folder with our VM, default root
-v - the name of the VM itself
--info - shows us the current CBT settings for the VM
INFO: VM ubuntu CBT supported: True INFO: VM ubuntu CBT enabled: False
./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
/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 - specify where the plugin is located
module_name = bareos-fd-vmware - specify its name
dc - datacenter name in ESXi
folder - folder with VM, default root
vmname is the name of the virtual machine
vcserver - server address
vcuser - user login specially created for work with backup
vcpass - his password
/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 }
/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-" }
/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 }
*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
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
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
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 ***
*restore Automatically selected Catalog: MyCatalog Using Catalog "MyCatalog" First you select one or more JobIds that contain files 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 list of comma separated 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 for found 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: Backup Format 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
cd /tmp/" [datastore1] ubuntu" ls ubuntu.vmdk
JobId 80: Fatal error: python-fd: Error VM VMBitrix5.1.8 must be poweredOff for restore, but is poweredOn
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
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"
/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=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 { 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 { Name = "restorefiles-vm-bitrix" Type = Restore Client = vmware FileSet = "vm-bitrix" Storage = bareos-sd Pool = vm-bitrix-Incremental Messages = Standard Where = /tmp/ }
# 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-" }
systemctl restart bareos-fd systemctl restart bareos-dir
Source: https://habr.com/ru/post/315402/
All Articles