You are not logged in.
When grepping through the log file I see several errors popping up for each VM that is being backed up.
DC throws the error and moves on to the next VM.
[quote]
::: detail ::: 32.17% done | block 3624 out of 11264 | Done 29.35%2019-10-14T18:36:38 | Error code 434 at file dedup-in.c, line 434
Error description: can't rename temp block: /vmfs/volumes/XSI_BACKUP/POLLUX-xsitools/2019_DC//data/9/9/3/f/6/993f66a34b72396e2df357216056e72d3cc28da2
-----------------------------------------------------------------------------------------------------------------
--
[/quote]
Target repository is a Synology NFS mount on the ESX that has been running XSIBackup Pro for the last 2 years.
Gr
Congratulations on the new XSIBACKUP-DC, it really is a major update of XSIBackup-Pro which in itself is pretty great!
I'm running some tests before migrating all the backup jobs and I have some questions:
- In XSIBackup-Pro the email contained some filesystem stats like the available diskspace before & after the backup.
Really useful when checking emails in the morning, would it be possible to include those stats again in the DC email template in a future update?
- I ran some tests with a single VM and with XSIBackup-Pro the data folder is 1.8GB in size and with DC & compression enabled it's 2.2GB.
Is there anything that can explain the size difference?
Thanks!
This
find $1/ -path $1/data -prune -o -name *.vmdk | grep -v $1/data | while read LINE; do cat "$LINE" ; done | grep -o '^\b[0-9a-f]\{40\}\+\b' > $hashesgenerates the hashes a lot faster. The previous line still descended into data for some reason.
I've got about 40-60 GB of daily data added to the data directory so this script comes in handy. It's been running for while thinning out the backup tail but recently it started reporting errors while xsibackup did not report any errors on full repository checks.
Whenever XSIBackup/XSITools backs up a server that has a snapshot it stores the actual binary vmdk file in the VM folder and not in data. This snapshot .vmdk file does not have the usual xsitools vmdk file block ID list layout so there is a possibility the grep regexp will match an ID in this file. Best case is the specific id does not exist in the data folder and it throws an integrity error, worst case it would delete a possible valid block from data. I came across this situation on a snapshotted pfSense that includes pfBlockerNG ip & dns spam/blacklists.
In the snapshot vmdk file there are spam url lists in cleartext exactly like this:
[quote]https://i-removed-the-hostname/169c13b4f0ce92d5e5740c354187bbaf/790d8[/quote]
The [quote]169c13b4f0ce92d5e5740c354187bbaf[/quote] part is matched by the regexp resulting in the reported error, it thinks it's a valid block from a vmdk but it's not. Adding a carret sets the regexp to match only at the beginning of a line. After this the reported errors were gone.
From:
grep -o '\b[0-9a-f]\{40\}\+\b' To:
grep -o '^\b[0-9a-f]\{40\}\+\b' These pfBlockerNG dns/ip spam/blacklists are generated/refreshed hourly in raw tmp slices hence why they show up in cleartext in the vmdk file I think.
These are the sizes:
du -sh /storage/NFS_VOL1/ESXPR1-xsitools/20180300000000/*
36G /storage/NFS_VOL1/ESXPR1-xsitools/20180300000000/20180311160351
32G /storage/NFS_VOL1/ESXPR1-xsitools/20180300000000/20180312124803
37G /storage/NFS_VOL1/ESXPR1-xsitools/20180300000000/20180312135003
37G /storage/NFS_VOL1/ESXPR1-xsitools/20180300000000/20180313012003
36G /storage/NFS_VOL1/ESXPR1-xsitools/20180300000000/20180314012003
485G /storage/NFS_VOL1/ESXPR1-xsitools/20180300000000/data
The delta files are not deduplicated into data with just an placeholder file containing the hashes like for the regular vmdk files so the backup folder grows significantly each run even with no change in the delta.vmdk file for an offline VM.
The md5sum of the ESX delta.vmdk files are the same as the files that xsitools backs up every day. They do not change.
So instead of deduplicating it is actually 1:1 replicating those same files every day for every backup.
Hi,
I'm using:
"/vmfs/volumes/datastore1/xsi-dir/xsibackup" \
--time="Mon 01:20|Tue 01:20|Wed 01:20|Thu 01:20|Fri 01:20|Sat 01:20|Sun 01:20" \
--backup-prog=xsitools:z \
--backup-point="/vmfs/volumes/XSI_BACKUP/server-xsitools/$(date +%Y%m'00000000')" \
--backup-type=all \
--mail-from=mail@mail.com \
--mail-to=mail@mail.com \
--subject=Full-Daily-Backup-server \
--smtp-srv=xxx.xxx.x.x \
--smtp-port=25 \
--smtp-auth=none \
--smtp-usr=any \
--smtp-pwd=any \
--check-repo=yes \
--debug-info=yes
The time stamped directories contain auxiliary files for VM's without a snapshot and are very small but for VM's that have a snapshot the delta.vmdk snapshot file is also stored in the time stamped folder and not in the deduplicated data folder. I removed all my unnecessary snapshots from the VM's in ESXi and with the next xsibackup run I presume the delta files will no longer be in the timestamped directories.
Is there an option I can remove the -delta.vdmk files from the timestamped directories as they take up space.
Thanks!
Hi,
I'm running a crontab on a server that remotely executes a xsibackup script but it generates this error:
[quote]
seq: invalid option -- '1'
BusyBox v1.20.2 (2012-12-11 11:54:28 PST) multi-call binary.
Usage: seq [-w] [-s SEP] [FIRST [INC]] LAST
Print numbers from FIRST to LAST, in steps of INC.
FIRST, INC default to 1.
-w Pad to last with leading zeros
-s SEP String separator
Needed room: 164 Gb.
Available room: 618 Gb.
seq: invalid option -- '1'
BusyBox v1.20.2 (2012-12-11 11:54:28 PST) multi-call binary.
Usage: seq [-w] [-s SEP] [FIRST [INC]] LAST
Print numbers from FIRST to LAST, in steps of INC.
FIRST, INC default to 1.
-w Pad to last with leading zeros
-s SEP String separator
[/quote]
It does work and it backup up the VM's but I'm not sure if I am doing it correctly and never saw that error before.
On ESX host I have a backup_all_vms.sh in the xsi-dir:
[quote]
./xsibackup \
--backup-type=all \
--backup-point=/vmfs/volumes/ESX_BACKUPS/COBWEB \
--mail-from=email@net.com \
--mail-to=email@net.com \
--subject=Full-Daily-Backup-cobweb\
--smtp-srv=192.168.0.5 \
--smtp-port=25 \
--smtp-auth=none
[/quote]
Executing that on ESX works perfectly.
On a remote host I have a script that does:
[quote]
ssh -tt -vv -i /home/backup_user/.ssh/id_rsa -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no backup_user@esxhost '/vmfs/volumes/datastore1/xsi-dir/backup_all_vms.sh' >> /root/scripts/logs/backup_esxhost_$DATE.log
[/quote]
When I execute that script while I'm logged on the remote host it works perfectly.
When I schedule it from crontab like that I get the seq error.
Anyone any idea?
Thanks!
Thanks for you reply!
I was under the impression that everything I would send to it over NFS would also be under lessfs-files/ but there is nothing there. When I view it over NFS all the ESX VM directories & files are there. I extracted some files and the md5sum is identical to the original file. I still don't understand how I can see the filesystem over NFS but not local when I do ls -la lessfs-files/ but I suppose it is designed to work like that and I need to read up about inline file systems.
It seems lessfs is no longer maintained? There's not much detailed info I can find about it on the net. I might swap it with sdfs but it seems lessfs is better for large backup files.
Thanks again for the tutorial and the excellent xsibackup!
Hi,
I've followed the excellent tutorial ([url]https://33hops.com/deduplication-what-to-choose.html[/url]) but had to change some steps because I'm CentOS7.3 but in short: I have lessfs up & running and mounted it on a remote ESX server that has xsibackup.
There are some things I don't understand.
I'm running xsibackup's and used the mounted lessfs as target and that works perfectly. When I do a du -sh /mnt I see it has 181G of backed up VM's but when I check the actual lessfs (/home/lessfs-data) it only holds 200Mb? A lot of the ESX servers are pretty much the same but 200Mb really seems not much, does it yield that much space saving? When the full backup is finished I'm going to retrieve some VM's to see if I can restore them.
Another thing I can't understand is that on the local lessfs server the folder /home/lessfs-files has no data in it whatsoever, I can copy files in there and retrieve them. But if I NFS mount that folder I actually see all the directories & files xsibackup copied there through the NFS mount. But without NFS mount the files are nowhere but "inside lessfs" and only accessible via NFS mount? Are lessfs-files and lessfs-through-nfs different filesystems?
Thanks for any help!
Ok, I understand. Generating errors by hand always returns exitcode 137 so I think I cannot get the actual code like this.
I'll process the last lines of the output to catch possible errors.
Thanks!
Hi,
When running a backup the exit code is 137. I also notice the "killed" output right at the end.
Output:
[admin@pollux:/vmfs/volumes/56a64f9f-a754d740-20c1-000af78e7284/xsi-dir] ./xsibackup --backup-point=/vmfs/volumes/datastore1/ESX_BACKUP_LOCAL/ --backup-how=cold --backup-type=custom --backup-vms="DILEWEB0001" --date-dir=no
#####################################################################################
# #
# (c) XSIBACKUP-FREE 9.0.1 | Backup for (c) VMWARE ESXi Hypervisor by 33hops.com #
# #
#####################################################################################
XSIBackup PID: 1810763 pollux.intra.*****.com
Tue, 13 Jun 2017 19:49:41 +0000 IPv4: 192.168.20.50/255.255.255.0
VMware ESXi 6.0.0 build-2494585 (c) Rsync 3.1.0 as opt. dependency
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Found --backup-point at [ /vmfs/volumes/datastore1/ESX_BACKUP_LOCAL/]
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
E-mail Warnings
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
The e-mail report will not be sent because of the followig reasons:
The --mail-from string has not been set
The --mail-to string has not been set
The --smtp-srv string has not been set
The --smtp-port string has not been set
The --smtp-usr string has not been set, you need --smtp-usr if --smtp-auth is other than -none-
The --smtp-pwd string has not been set, you need --smtp-pwd if --smtp-auth is other than -none-
Getting list of all VMs...
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
186 DILEWEB0001 [datastore1] DILEWEB0001_1/DILEWEB0001_1.vmx windows7Server64Guest vmx-11 Application & Webserver (ACC + PRD)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
VMs to backup:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
186 DILEWEB0001 [datastore1] DILEWEB0001_1/DILEWEB0001_1.vmx windows7Server64Guest vmx-11 Application & Webserver (ACC + PRD)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Needed room: 80 Gb.
Available room: 102 Gb.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Excerpt
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
VM [DILEWEB0001] was already in an Off state
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Alert: Windows 64 bit OS detected on MBR partition, quiescing disabled
Alert: double check that your backups are being made properly if you use Windows Server
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Syncronizing config files
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Backing up virtual disks...
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
scsi0:0.fileName = "/vmfs/volumes/56a64f9f-a754d740-20c1-000af78e7284/DILEWEB0001/DILEWEB0001.vmdk"
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Destination disk format: VMFS thin-provisioned
Cloning disk '/vmfs/volumes/56a64f9f-a754d740-20c1-000af78e7284/DILEWEB0001/DILEWEB0001.vmdk'...
Clone: 100% done.
The ESXi configuration was saved to "/vmfs/volumes/datastore1/ESX_BACKUP_LOCAL/"
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
No errors detected in backup
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Backup finished
Tip: no chained backups scheduled, set --on-success and/or --on-error arguments to chain a backup
Killed
[admin@pollux:/vmfs/volumes/56a64f9f-a754d740-20c1-000af78e7284/xsi-dir] echo $?
137
[admin@pollux:/vmfs/volumes/56a64f9f-a754d740-20c1-000af78e7284/xsi-dir]
Thanks for your reply. I just bought a brand-new poweredge & synology for backups so once that hits 100% full I'm getting the pro version ![]()
Hi Daniel,
Exactly!
Does it check the contents of the folder or will it just do an equivalent of rm -Rf <folder> ?
Thanks!
W
--backup-room[=NNNGb]
Is this parameter specific to the VM being backed up (--backup-vms="VM1") or is it for all VM's in that location and will XSIBackup just remove the oldest in that location regardless of the --backup-vms="VM1" cmdline option?
The reason I'm asking: I have 10 VM's. Some have to be backed up every day, other only once a week so I have multiple XSIBackup cmd's. If it would remove any VM there's a risk it would remove the one that is backed up only once a week.
Thanks!
W
Hi,
Thanks for this really great tool!
I would like to tar.gz after a backup. Is this possible with XSIBackup-Free?
I thought about compressing the folders etc but I'm not sure how that would react when XSIBackup thinks it's time to remove old backups.
Thanks!
W