You are not logged in.
Latest (c)XSIBackup Edition: [url=https://33hops.com/xsibackup-vmware-esxi-backup.html](c)XSIBackup-DC/Pro/Free[/url]
That is indeed a deprecated version of our software, it's more than two years old and will not be maintained any more.
You are using a deprecated version of our software, use new (c)XSIBackup to receive support, we will close this subforum in short.
We don't know the exact reason for your problem, nonetheless there is an argument to explicitly set the remote path: [url=https://33hops.com/xsibackup-help-man-page.html#remotexsipath]--remote-xsipath[/url]
Yes, you can safely delete those files, except if you backup VMs that keep some snapshots along with your base disks. In that case you should delete all .vmsn/ .xml files except the ones corresponding to your current snapshots.
Latest 1.5.1.8 makes a full cleanup by default upon every replica cycle. Thus, the simplest solution is to upgrade.
Those files are the .vmsn/.xml files corresponding to the subsequent backup snapshots created by (c)XSIBackup
This is all fixed in 1.5.1.8 which will be released in short
.map files are always checked, the default and fastest [b][url=https://33hops.com/xsibackup-dc-full-manual-home.html#check]--check[/url][/b] method (file) will just check their existence, whereas [b]fast[/b] will check the size and [b]full[/b] will recalculate the hash and compare it to the original one (the file name of the chunk).
Quiescing issues are always relative to the OS, version, running services and many other circumstances. Still, the most important thing is to comprehend what it is and how to deal with it. We have covered this in many posts and articles before, I will offer an excerpt here:
Some services like databases, specially if they are busy systems, require that their pages are fully written to disk to be 100% consistent. Let's say you have a series of SQL statements that add some data to your DB. If the snapshot is taken in the middle of some I/O operation to disk, the cut point may not include the final statements and the closing bytes of the transaction. This would cause that restoring the VM backup would return some corrupted DB message from part of the DB system.
Do not panic. When someone uses the word corruption one tends to think of some fully corrupted data from the beginning to the end. In case of non-quiesced snapshots, what you have is some unclosed page written to the DB. Fixing it is easy, it just requires to run some standard repair tool that will get rid of the partially written data. Still, that is a hassle and in case of big DBs might take some valuable time.
This is where quiescing comes in handy. Quiescing is a concept, it may involve many different pieces of software depending on the OS and DB system you are using. Microsoft OSs are in general trickier to quiesce than Linux. You will usually need the Virtual disk service running plus Volume Shadow Copy service in automatic mode and, off course, the latest version of VMWare Tools correctly installed.
The checklist below will do it most of the times:
Virtual Disk service is started and startup type is Automatic.
VMware snapshot provider service is stopped and disabled.
VMware Tools services are running.
Ensure that Volume Shadow Copy service start up type is AutomaticThere exist additional helper services for MS SQL Server and Exchange that may be required in your case.
But the above are just the steps to take to get (c)VMWare (c)ESXi to quiesce your system without errors. You need to comprehend what's behind this, which in the end is very simple and easy to understand.
What the different quiescing mechanisms do is to put the DB system in Read Only mode, flush any pending DB I/O buffers (namely: write any pending data to disk) and take the snapshot. When the snapshot is finally taken the DB system is put back in RW mode. This usually requires just some seconds to complete 3-5 seconds from our own experience. During that time the DB system is still available for reading, thus there's only a short glitch for writes which can easily be addressed from the application layer by just delaaying some write when you get a RO message from the database server (to be continued)...
Now, the thing is how to accomplish the above for every database system and OS.
As said there exist some helper services that will do that for you and may add some more sophisticated logic that will minimize the downtime, still there will always be some minimal downtime. As stated, this can be addressed from the application layer.
What if I have some DB system that does not offer some helper service to accomplish the above?: well you can do it on your own with the help of a script from within (c)VMWare Tools. This script will handle three events: freeze, thaw and freezefail
[b]Windows batch version[/b]:
Create the dir: C:\Program Files\VMware\VMware Tools\backupScripts.d
Create some file inside of it and run the code below adapted to your own DB system, we are using some code suitable to be used with MariaDB or MySQL. The scripts in the above dir will be run in alphabetical order.
FREEZE is the event that will be run just before taking the snapshot
THAW is the event that will be run when finishing to take the snapshot
FREEZEFAIL is the event that will be run when the snapshot fails to be taken.
@echo off
if "%~1" == "" goto USAGE
if %1 == freeze goto FREEZE
if %1 == freezeFail goto FREEZEFAIL
if %1 == thaw goto THAW
:USAGE
echo "Usage: %~nx0 [ freeze | freezeFail | thaw ]"
goto END
:FREEZE
set PATH=C:\Program Files\MariaDB 10.6\bin\
mysql -uroot -p"yourpassword" -e "FLUSH TABLES WITH READ LOCK;SET GLOBAL read_only = 1;"
goto END
:FREEZEFAIL
set PATH=C:\Program Files\MariaDB 10.6\bin\
mysql -uroot -p"yourpassword" -e "SET GLOBAL read_only = 0;UNLOCK TABLES;"
goto END
:THAW
set PATH=C:\Program Files\MariaDB 10.6\bin\
mysql -uroot -p"yourpassword" -e "SET GLOBAL read_only = 0;UNLOCK TABLES;"
goto END
:ENDWhat is explained here is basically the same concept applied to make some consistent backup of a running database server.
There exist some wrapper SQL commands like [b]FLUSH TABLES FOR EXPORT[/b] that will basically join the flush and set to read only operation.
Yes, deleting the snapshots is safe. If you have some active DB server you need to quiesce the system, otherwise your replicated DB might get corrupted, nothing serious, still it would require to run a repair.
Can you share the backup log, it's weird it didn't register any error.
You need to take immediate action. Stop the backup for that VM and solve the issue.
You should see some error in the backup report or log, unless those snapshots where there before you started to run the backups.
Errors taking snapshots usually have to do with some rogue service on the guest not responding to VMWare Tools. I believe your snapshot is with --quiesce, isn't it?
Check the event viewer or VMWare Tools log
We will try to reproduce your issue and eventually release a fix
Yes, disk names should be unique per VM. Just rename them.
All (c)XSIBackup-DC and (c)XSIBackup-Classic versions can handle disks transparently, no matter where they are stored in. There isn't any limitation in that regards. Disks will indeed be collected from wherever they are and placed in the same backup/ replica folder.
Nonetheless, we offer a fully featured trial version that you can fully try before buying.
Take a look at <install dir>/etc/xsibackup.conf
# When power on/off request is issued, the VM power state is queried every N seconds
power_query_interval=2
# When power on/off request is issued, the VM power state is queried N times
# Thus the power state will be queried a total of power_query_interval*power_query_times seconds
# Should the query_times limit be reached, a plain power off will be issued
power_query_times=10As explained there (c)XSIBackup will try to perform a controlled shut down as per the above mentioned variables before issuing a plain power-off.
We like to torture VMs specially VMs hosting DB servers. We have some CentOS 6.0/ MySQL 5.6 here that we have been excruciatingly powering-off in the rudest manner for years and they never suffered from DB corruption, although that will off course depend on how busy the DB is when you commit the crime.
Yes, --quiesce will issue a quiesce request, thus you can use regular pre-freeze/ post-thaw VMWare Tools scripts to prevent DB corruption.
We already fixed that typo, it will show up in some hours.
That is due to the AD DB getting corrupt due to some pending I/O operation.
"This error is an indication that the Active Directory database (NTDS.DIT) is corrupt."
[url=https://support.hostway.com/hc/en-us/articles/360001126259-How-to-fix-Error-0xc00002e2-after-rebooting-Windows-Domain-Controller]How to fix AD 0xc00002e2 error[/url]
It's not difficult to fix it, still obviously the best approach is to have a 100% functional DC after restoring.
You have a number of ways to ensure the integrity of your DC:
1/ The easiest way is through a warm backup, if you can afford to stop the DC for 30 sec. to 1 minute at most.
2/ Revise the MS documents to find out how you must configure your DC to allow the AD DB to be quiesced in coordination with VMWare Tools, namely: make sure that it writes any pending data, just like before taking any snapshot.
3/ Take multiple VSS snapshots during the day and revert to the latest after restoring (not very convinient).
4/ Use pre and post snapshot scripts to stop the AD service or put it in read-only mode before taking the snapshot and start it up or put it back in R/W mode after the snapshot has been taken. This is what the related MS services should do, still you can easily implement it on your own.
Please, remove the --verbosity argument and see if you still get the error, it might just be a spurious error coming out of the remove command.
Your (c)XSIBackup installation dir seems to be at some shared DS (0c6d4303-b890de35) instead of a local dir. We strongly recommend not doing so to avoid this kind of problems. Install to /scratch/XSI/XSIBackup-DC
You are getting an error stating that there is a file which is still open
rm: can't remove '/vmfs/volumes/0c6d4303-b890de35/xsibackup_1.5.1.6_olympus2/XSIBackup-DC/tmp/4773327/.vnfs-f000340a0-.blocklog: Device or resource busyWe are revising the --rotate feature. It worked well for the most part, we detected some bug when using the --rotate=max argument that will be fixed in 1.5.1.7.
We have also taken the chance to add a feature that you have been asking for, namely: to consider size on-disk or non-zero data on sparse files instead of the full nominal size of the VHD. Nonetheless, as there is no possibility to know which FS you are using as the VM datastore in case of NFS shares or whether the remote end actually supports sparse files, we will add some options to:
1/ Set the FS block size which is usually 512 bytes, it it very rare that you have to set this, the feature will work out of the box 99% of the times with the default 512 byte size, still we added the possibility that the user sets it just in case.
2/ Select nominal full size of the disk (default) or non-zero data by using a flag.
There are two posts that treat this subject in more depth and that will be updated to reflect the new behaviour:
1/ [b][url=https://33hops.com/xsibackup-rotating-replicas.html]Rotating replicas[/url][/b]
2/ [b][url=https://33hops.com/xsibackup-extended-rotation-features.html]Extended rotation features[/url][/b]
UPDATE:
To keep finer control once you have some CBT job running for some time use the alternative command line option or edit the files. Per instance to resync some previously synced blocks if you changed some faulty HD per instance. In any case, if you want to make sure that you completely reset the .cbt feature, deleting the .cbt dir is the best way to ensure you clean any related info.
Yes, you can do so to force a full resync, still if you want to do it the right way having finer control on what's going on, you should edit the files in:
YOUR-VM/.xsi/.cbt/.seq/There is one per disk:
YOUR-VM/.xsi/.cbt/.seq/.seq-YOUR-VM-flat.vmdk
YOUR-VM/.xsi/.cbt/.seq/.seq-YOUR-VM_1-flat.vmdk
YOUR-VM/.xsi/.cbt/.seq/.seq-YOUR-VM_2-flat.vmdkThe content of one of this files could look like the following
--replica:192.168.120.201:22:/backup/replicas/YOUR-VM; 1
--replica:192.168.10.110:22:/backup/some_other_replicas/repo01/YOUR-VM; 1
--replica:/vmfs/volumes/backup4/repo-test02/YOUR-VM; 5Each line represents one target:
Action;target;CBT-sequence
You can modify the sequence number in any target and (c)XSIBackup will retake the syncronization from that point. If you set it to 1 you will produce a full resync.
On top of that you can pass the sequence number directly from the command line like:
./xsibackup --replica=cbt:1 "VMs(YOUR-VM)" /vmfs/volumes/backup/replicasEdit carefully and practice before using in a real scenario.
It's some FS timing issue, we'll try to reproduce the error that you are getting, still we do not see it in our daily tasks, nor have we received feedback from other users but very seldomly. See if you are using async NFS, switch to Sync NFS and let us know if the problem is still there.
We could easily remove that error, in the end it's quite spurious, still it's letting you know something is not right, maybe it didn't get to the point where it is critical, still you should delve a bit more into it. We'll revise that part of the code and see if we can improve it somehow.
Thank you for the feedback.
Solved.
That is a direct message from the FS. Remove the content of that dir [b]/vmfs/volumes/0c6d4303-b890de35/xsibackup_1.5.1.6_olympus2/XSIBackup-DC/tmp/[/b] and try again.
Also, remove:
--block-size=1M
--compression=true
Those are values by default, your don't need them and they make the job file larger
Could it be that you didn't fully install the new release but you just overwrote the xsibackup binary?
Please install using ./install, you may have missed some new binary
Please post the job and the significant part of the output, including the initial part (header) which contains fundamental information on your server and remote end: (c)ESXi version, FS, paths, etc...
Hide whatever information you believe to be sensitive.
Actually the copy algorithm is robust enough so that an additional certification by means of a checksum on the whole files is kind of redundant.
Still, you can --check the replica from the remote end if you will. Just launch a --check command after your --replica job:
The example below would assume your working dir is the installation dir, adapt your paths accordingly.
ssh -i xsibackup_id_rsa root@a.b.c.d "/remote/path/to/xsibackup --check /your/target/directory/VM_NAME && echo 'sucess' || echo 'failure'"As the product evolves we will add more features to simplify these kind of tasks.