ntfsclone Wrapper to Make Windows Backups More Reliable
Issue
The Windows backups get failed randomly because of the inconsistent file system even when the file system is clean before taking backups.
A snapshot taken in the 'live' file system, which is actively used, causes degradation of the file system on the snapshot.
Cluster accounting failed at 22502 (0x57e6): missing cluster in $Bitmap
ERROR: Filesystem check failed! Windows wasn't shutdown properly or inconsistent filesystem. Please run chkdsk /f on Windows then reboot it TWICE.
Fatal: Execution of ntfsclone -q -s -O /onapp/backups/m/e/mehxeoqqhrcnti /dev/sde1 > /tmp/onapp-tmp-ntfsclone-sdk.log 2>&1 || ( cat /tmp/onapp-tmp-ntfsclone-sdk.log; rm -f /tmp/onapp-tmp-ntfsclone-sdk.log; exit 1 ) failed
Environment
OnApp versions: 5.0 - 6.5
Windows-based virtual servers
Resolution
Consider using a new feature Backup Plugin System that enables the integration of third-party backup management services into OnApp. In case that it is not an option for you, the ntfsclone wrapper can be used as an alternative to take backups, restore, and provision and is based on the dd utility.
When using the wrapper, the backup tasks are completed successfully regardless of the file system state (provided that there are no other issues that may cause failures).
Download the ntfsclone wrapper and install it on the backup servers or compute resources provided that there are no backup servers in the cloud. To do that:
Run the following commands on the compute resource:
#NTFSCLONE_PATH=`which ntfsclone` #mv $NTFSCLONE_PATH $NTFSCLONE_PATH.orig #curl -s https://bitbucket.org/onappcore/support-tools-public/raw/e86b6a44a4f1857b9fb8bfe91085e08caa1130fb/ntfsclone-wrp.sh > $NTFSCLONE_PATH #chmod +x $NTFSCLONE_PATH
CODEChange the following variables in the script, if needed:
TMPL_PATH="/onapp/templates/" BKP_PATH="/onapp/backups/" DD_BS="64MB" SPARSE=false COMPR=true
CODE
To make the changes permanent on CloudBoot compute resources:
In Control Panel, locate the CloudBoot tftpboot config directory by its MAC address and copy the ntfsclone wrapper into it:
#/tftpboot/images/centos5/diskless/snapshot/<mac_address>/
CODEAdd these commands to the custom config file:
NTFSCLONE_PATH=`which ntfsclone` mv $NTFSCLONE_PATH $NTFSCLONE_PATH.orig cp /.rw/ntfsclone-wrp.sh $NTFSCLONE_PATH chmod +x $NTFSCLONE_PATH
CODE- Run these commands manually or reboot the compute resource to apply the changes.
Starting with the 6.6 version, we introduce the Force Windows Auto-Backups functionality, a replacement for the ntfsclone wrapper. Please remove the wrapper when upgrading to the 6.6 version to avoid conflicts.