Simplifying Backups with Zmanda Recovery Manager

An easy-to-use yet comprehensive backup and recovery solution for MySQL databases is at the top of every DBA's wish list.

Most modern enterprises process immense amounts of data as part of their day-to-day operations. On-demand access to this data is critical, and most enterprises invest heavily in relational database technologies to manage their data. Cutting-edge technologies at cost-effective prices have led many enterprises to adopt open-source databases such as MySQL. As a result, MySQL has become a core component of many data management solutions.

Traditionally, backup of data stored in relational databases like MySQL has been an art form, practiced by database administrators who have relied on a mix of command-line wizardry, custom scripts and, sometimes, just sheer luck. Successful data recovery often is seen as black magic, or almost. Not surprisingly, most backup and recovery strategies emphasize the backup phase, but they don't actually test whether data can be recovered successfully when it's needed.

Zmanda, Inc., a startup based in Sunnyvale, California, aims to bring sanity into the backup and recovery process of MySQL databases by incorporating industry best practices in its product—Zmanda Recovery Manager (ZRM) for MySQL. Zmanda's strong expertise in open-source backup and recovery software comes from many years of work by the company's core engineers on the award-winning Amanda open-source backup system, a project started at the University of Maryland back in 1991.

What Is the Zmanda Recovery Manager (ZRM)?

ZRM provides a comprehensive open-source solution for backup and recovery of MySQL databases. ZRM eases day-to-day backup and recovery tasks with its Web-based Zmanda Management Console (ZMC). The management console integrates with the Zmanda Network to provide on-line documentation and other support services for ZRM. Because it is open source and supports common standards, as well as open data formats for backups, ZRM frees you from vendor lock-in. ZRM's command-line interface (CLI) integrates well into existing backup and recovery processes.

Figure 1. Summary of Backup Parameters in Zmanda Management Console

Enabling advanced backup and recovery practices, ZRM provides Continuous Data Protection (CDP) for MySQL by combining filesystem-level snapshots along with data from MySQL binary logs. Filesystem snapshots help reduce database server downtime, especially when working with large databases. ZRM uses a flexible framework of plugins for snapshotting LVM, NetApp SnapManager, Windows VSS, Veritas VxFS and Solaris ZFS. Plugins for NetApp SnapManager and Veritas VxFS are sold separately.

Zmanda offers three versions of ZRM for MySQL: the ZRM Enterprise edition, ZRM Cluster edition and ZRM Community edition. The Enterprise edition includes a graphical installer, Zmanda Management Console, command-line interface and plugin framework. Three levels of support (Basic, Standard and Premium) are available for Enterprise edition customers. An annual subscription with basic support starts at $300 (US). Customers using the NDB storage engine with MySQL Cluster can take advantage of the ZRM Cluster edition. The Community edition is a freely downloadable subset of the Enterprise edition, licensed under the GNU GPLv2, which supports LVM snapshots but does not include the ZMC and the graphical installer.

Figure 2. The graphical installer makes setting up ZRM a piece of cake.

Review Environment

I evaluated the Zmanda Recovery Manager for MySQL Enterprise edition version 2.2. The test platform (ZRM server) was Red Hat Enterprise Linux 5.1 installed on a PC with an Intel Dual Core 3GHz processor, 4GB of system memory and a 750GB SATA hard disk. I installed MySQL Community Server version 5.0.51a-0 locally on the ZRM server as well as on another PC with Ubuntu 7.10 server installed. With this configuration, I was able to test ZRM's ability to back up from and restore to local and remote MySQL servers. Note that MySQL versions 4.1.x are also supported by ZRM. Finally, I set up my test databases on a 50GB LVM (Logical Volume Manager) partition to test ZRM's hot backup capabilities.

Installing ZRM

Zmanda provides installation packages for ZRM on Red Hat Enterprise Linux, SUSE Linux Enterprise, Fedora, CentOS, Solaris and OpenSolaris. To install ZRM, download the ZRM graphical installer binary executable and ZRM license key file from the Zmanda Network site. The license key file has to be placed in /etc/zmanda/zmanda_license. A full installation of the ZRM Enterprise edition includes command-line tools, a MySQL server instance for use by ZRM, an Apache Web server instance for ZMC and a PHP 5.2.x and Perl 5.8.x environment.

Getting ZRM up and running is easy, if you're familiar with a MySQL environment on Linux. A couple minor but necessary post-installation tasks included setting up sudo permissions for the mysql system user and creating a MySQL server user account with the right privileges to perform backups and restores.