You are not logged in.
--check action can only be performed locally, run at the remote end.
You can safely register the remote replica on top of a snapshot using the --options=R argument, then switch it on and verify whatever you need.
Do not delete the replica snaphot, the subsequent --replica cycles will take care to discard it and create a new one.
We have opened this bug after revising the logic in the combination of the --rotate and --rotate-at arguments, as it is flawed in some cases.
One of our basic principles at designing (c)XSIBackup is that it must be conservative and that it has to keep on running even if some errors are returned.
Due to the previously exposed principle we leave pruning old backups or folders until the end, so that you at least have a new backup before pruning old data, which is recommendable in case of low rotation figures (2,3) as we see all the time.
The thing is that when you are short of space and you use --replica instead of --backup to accumulate full copies at some local or remote FS this may lead to being caught in the middle in such way that the --rotate argument can't operate before the FS is indeed full.
We are going to revise that so that the priority is to make room, still, take on account that we leave a 10% margin and that maneuvering at the limit of your FS capacity may always lead to unexpected results, as once the FS is full a system error will be raised and everything will stop working.
As said we will revise the full logic in the exposed scenario and write a monographic post on the subject, so that anybody can be confident on how to use --rotate.
You are not offering crucial details, such as the (c)ESXi version or wether you added some snapshot.
Nonetheless you will find some clues in [url=https://communities.vmware.com/t5/ESXi-Discussions/Unable-to-combine-Snapshot-file-with-Flat-file/td-p/1735027]this post[/url]:
Continuum's is probably the best advice you can get.
We fixed that issue long ago, in any case please update to the latest release, 1.5.1.5 at the time to write these words.
tmp/ cleanup works well as per our tests, nonetheless when an error is raised it might not be removed, as it may contain important clues on the issue.
Next version will include the improvement.
The lock file is placed at B. Nonetheless you can easily check that.
Locking the repo consist in creating a file via the fopen() => open system call. When you receive that error you are getting a direct response to a system call from the file system itself, thus, there is some clear reason for that to happen: full FS, inappropiate backup volume (you can't use VMFS as a target), failing hardware, etc...
You can get real time system call level information by prepending strace to your job, i.e.:
strace /xsi-dir/xsibackup \
--replica=cbt \
"VMs(SQL2012)" \
"/vmfs/volumes/xsibackup02/SNAPSHOT" \
--description="Replica SQL2012" \
--mail-to="administrator@xxxxxxx.de" \
--use-smtp="1" \
--subject="Replica SQL2012" \
--subfolder="SQL2012" \
>> /xsi-dir/var/log/xsibackup.log 2>&1(c)XSIBackup repositories need two sources of information to be consistent:
1/ The data directory where the blocks with the data are stored in a hyerarchy of SHA-1 hashes
2/ The disks' manifests (.map files) stored in the timestamped folders where the VM folders are created containing these manifest files.
When you perform a backup you start adding blocks to the data folder. Once each disk backup ends, the corresponding manifest is copied over to the VM folder.
If you interrupt a backup via Ctr+C per instance, you are going to have new blocks. Some of them will be associated to a manifest file, should the disk copy be completed, some others will be orphan blocks without any manifest file.
Asuming the simplest case, namely: a one .vmdk disk VM. If you interrupt the backup in the middle of the only -flat.vmdk file copy process. You are going to leave orphan blocks in the data folder. The timestamped folder is usually removed automatically. Doing the same with the copied blocks would require a lot of time and would make Ctr+C'ing some backup job a really annoying experience.
These blocks can't be matched to any VM, as they are the blocks that are new to that restore point. They will remain in the data folder and will be overwritten in case they are found again in some subsequent backup cycle.
They won't be an issue, still they will occuppy some space. This space will be minimal, as the increment of data from one backup cycle to the next is usually limited and most of them will be again present in subsequent backups, maybe a few MB could be regained by pruning them, still it's not worth doing it.
In fact we haven't even provided a mechanism to prune orphan blocks. Maybe in the future, although this is not a priority. The reason for this type of pruning not being a priority to us can be deduced from the exposed above: only some minimal space will be regained, if some at all, while pruning this data would require traversing all blocks in the FS to check whether they are present in the .blocklog file or not. Approximately about the same time a prune process requires, given that the most time consuming task would be the stat() system call itself for every block in the repo.
One possibility to avoid leaving these orphan blocks would be to copy the blocks to a temp hyerarchy to then rename them to their final positions. We have evaluated this possibility since the beginning, still it could take quite a bit to rename them to their final destination folder. We'll keep this in mind and eventually incorporate it as an improvement if we find the average amount of time required to rename the blocks is worth the benefit.
To those of you getting sick thinking about those orphan blocks there, we just remind you that engineering is about results, not perfect beauty. When beauty can be achieved it's a bonus, still it's not the aim of the project. If you can't still get those blocks out of your mind, we would suggest that you start a career in mathematics ;-)
Version 1.5.1.5 has been released.
[quote]
However, XSIBackup-DC ignores this warning, does not raise any error and successfully completes the backup without any further issues.
[/quote]
As said, conservative by design.
[quote]
Unfortunately, this behavior is not kept the same way for the second issue: Sometimes, the destination system does not correctly report back the amount of available space. This second issue, while resulting in the same situation of not being capable of predicting whether the backup will fail or not, is treated differently:
[/quote]
Of course it's treated differently, it has nothing to do with lack of space. This error is telling you the remote command to retrieve the available space failed.
[quote]
I do not know what design constraints are behind this decision, but from a user experience the same result is treated differently.
[/quote]
You are comparing two different situations that have nothing to do between them.
Why are you duplicating your requests in multiple threads?
This is not going to help you get a faster response.
Version 1.5.1.5 will include a fix for REGEXP + --options=O
We have tested --options=O alone with plain VM names with no issue. We can't offer support for your scripts.
You can alternatively use the main VM folder as the source for the backup:
./xsibackup --backup "/vmfs/volumes/backup1/replicas/YOUR-XSIREP-VM" /vmfs/volumes/backup2/backup-repo --options=OThere is indeed a bug when combining _XSIREP + REGEXP + --options=O that we will fix in short in version 1.5.1.5.
When using the VM name + --options=O the VM selection mask is working for us in every case.
Thank you for your feedback, we'll try to reproduce and fix the issue you describe. It's probably something about quoting. Try to avoid quotes in the description in the meanwhile.
Was that the exact sequence of events?
We have tried to reproduce this behaviour, still we couldn't.
We know it's perfectly possible that such a bug could be present, still it might depend on the (c)ESXi version.
Please, let us know as much details as you can.
It doesn't have trouble, it skips them by design, use the --options=O flag to override this behaviour.
Yes, this is a limitation, we'll address this in future versions.
(c)XSIBackup is backup software as its name reflects. It's conservative software by design.
No, we are not going to go over such an error with a warning, it is indeed a gross error that deserves immediate action from part of the sys admin.
Independent disks can't be backed up. (c)XSIBackup does exclude them from the .vmx file.
For every reason that you find to keep the independent disk in the .vmx file we will find three not to do it.
Nonetheless, as you state, it's very easy to just add it again should you need to do so.
There's the --options=O flag to override filtering out _XSIREP VMs
[url]https://33hops.com/xsibackup-dc-full-manual-home.html#options[/url]
You can't do that.
--options=R only works with CBT as of version 1.5.1.4.
You aren't stating whether you are using CBT.
You can't use CBT on a _XSIREP VM.
You are making wrong assumptions on the functioning, not only of (c)XSIBackup but also on (c)ESXi itself.
CBT information is kept by host. If you replicate a VM from one host to another, your get a replica of the original VM and just that.
You are making the wrong assumption that the CBT state of that VM at host A will be transmitted to host B, which is not the case.
It is technically not possible to hot replicate an independent disk with any software.
[url]https://www.veritas.com/support/en_US/article.100024362[/url]
This is a limitation by design in ESXi.
[url]https://www.vmwareblog.org/disk-mode-esxi-vm-use/[/url]
You just can't do what you pretend to do. CBT information is kept at the host level. When you backup some VM you backup just the VM, not the CTK information associated to it.
Independent disks will be excluded as they simply can't be accessed, thus they will be excluded as non-readable files. We are sorry, we aren't getting the rest of your statement.
Please provide the backup job and full output.
You have 11 errors, those are quite a few. You should have them before the last one.
As a rule of thumb prepend strace to any job to have a full detailed output at the system call level and check the remote error log at /var/log/xsi if backing up or replicating over IP.
Some remote command is failing and returning 1 instead of 0.
Run with --debug-print to find out which is the last command that is failing and use
ssh -vvv root@1.2.3.4 "failing command" To debug the exact remote bash command.
The simplest and most effective way to multiply your backup speed is to use CBT:
[b][url=https://33hops.com/xsibackup-dc-full-manual-home.html#cbt]--backup=cbt[/url][/b]
[b][url=https://33hops.com/xsibackup-dc-full-manual-home.html#cbt]--replica=cbt[/url][/b]