When Point in Time consistency is not enough to meet your backup policy needs, you can install and configure the Noovolari Smart Backup Agent to ensure Transaction consistency for file-system and databases. Once you install the Agent, file-system consistency is enabled by default.
You need to configure the Agent only to connect to the database and issue commands that ensure Transaction consistency on the snapshot.
To install the Agent on an instance, you have to click on the Agent Link action in the Resources section. Once done a page will appear and let you copy a script that will automatically download executable and configure the communication with Noovolari Smart Backup application.
The Agent enables consistency on MySQL databases by flushing all writes and placing a read lock on all tables. This puts the database in a read-only state where any INSERT/UPDATE/DELETE/REPLACE/ALTER statements will not run until the lock is released.
When Noovolari Smart Backup notifies that the snapshot started, the Agent removes the read lock and the database can resume its normal operations.
The Agent enables consistency on MongoDB databases without the risk of compromising data present in the DB. It supports consistent backups of entire Replica Sets with the exclusion of consistent backups of sharded MongoDB databases.
For a single instance, the Agent forces all pending writes, stops new writes while READ operations can proceed as normal. However, because of the MongoDB locking model, writing to the database while performing a read lock hangs even reads. Most of the time this doesn’t pose a problem because the freezing time of the MongoDB database is usually less than any client timeout. With a huge amount of data, however, this isn’t guaranteed and eventual exceptions/retries should be handled by clients.
Replica Set – single node
The Agent is installed on one secondary node of the Replica Set. This configuration guarantees the consistency of the backup without the drawbacks of a temporary lock of the database operations as the primary node continue its normal operations. Once the backup is done the node is updated with the data from the primary node.
This ensures the total availability of the database even during backups but comes at the price that the Replica Set can’t be automatically recovered with a Point in Time recovery. It must be recovered as in the MongoDB documentation using the data from the secondary node. Another problem can arise if following the failure of the primary node, the secondary node is elected as the primary node. In this case, backups operations will block momentarily all writes on the Replica Set.
Replica Set – all nodes
The Agent is installed on all nodes of the MongoDB Replica Set. This configuration enables the simplest recovery solution by recovering all nodes to the desired Point in Time. However in this configuration, all write operations on the Replica Set are stopped for the time necessary to start the snapshots of all instances, causing the database to be unreachable for some time, from few seconds to one minute.
The Agent enables consistency on Linux by stopping all the writes on the file system. When Noovolari Smart Backup notifies that the snapshot has started, the Agent restores the normal operation of the file system.
The Agent has a default timeout of 30 seconds, after which it automatically restores functionality in case of communication problems.
The Agent enables consistency on Windows by leveraging the Volume Shadow Copy (VSS).
When notified, the Agent starts a shadow copy and ensures that the snapshot is taken only when consistency is achieved.
By default, the Noovolari Agent subscribes all VSS Writers when starting the Shadow Copy. Therefore all VSS compliant applications are Transaction consistent without any further configuration.
To uninstall the Agent from an instance, you have to connect to the instance and remove it with the correct procedure. The Uninstall button in the Agent tab only flag the instance as Agentless.
It does not automatically remove the program from your instance.
You can remove the Agent by using the default uninstall procedure in Programs and Features.
All Agents are shipped with a script that determines the default Linux system manager (systemd, SystemV or initctl) and automatically installs the program as a service. You can use the helper in scripts/init_service_case.sh in the Agent directory to let it determine your system manager and issue the correct procedure.
You can run this command for uninstalling the agent: /usr/local/noovolari/smartbackup/scripts/init_service_case.sh uninstall
Where can I find the Agent?
Windows: C:\Program Files\Noovolari\SmartBackup
Where can I find the Agent logs?
You can find the logs inside the installation directory.
Consistency involves the integrity of the data and should be considered within individual programs, databases, and application systems.
This concept is strongly tied with data usability to enable correct recovery of potential failures.