mylvmbackup is a tool for quickly creating full
physical backups of a MySQL server's data files. To perform a backup,
mylvmbackup obtains a read lock on all tables and flushes all server
caches to disk, makes an LVM snapshot of the volume containing the MySQL
data directory, and unlocks the tables again. The snapshot process
takes only a small amount of time. When it is done, the server can
continue normal operations, while the actual file backup proceeds.
The LVM snapshot is mounted to a
temporary directory and all data is backed up using the tar program by
default. The archive files are created using names in the form of
backup- YYYYMMDD_ hhmmss_ mysql.tar. gz, where YYYY, MM,
DD, hh, mm and ss represent the year, month, day, hour, minute, and
second of the time at which the backup occurred. The default prefix
backup, date format and file suffix may be modified. The use of
timestamped archive names allows you to run mylvmbackup many times
without risking to overwrite old archives. It is possible to preserve
only a defined number of last backups, to avoid running out of disk
space.
Alternatively, instead of tar, you can use rsync, rsnap or zbackup to perform the archiving.
The rsync backup can perform both local backups as well as backing up to a remote server using rsyncd or rsync via SSH.
rsnap is a wrapper around rsync to automatically maintain and rotate a given number of last backups (7 by default). It utilizes hard links to link to unchanged files for saving disk space.
zbackup is a globally- deduplicating backup tool. Feed a large
.tar into it, and it will store duplicate regions of it only once, then
compress and optionally encrypt the result. Feed another .tar file, and
it will also re-use any data found in any previous backups. This way
only new changes are stored, and as long as the files are not very
different, the amount of storage required is very low. Any of the backup
files stored previously can be read back in full at any time.
Moreover, a backup type none is provided for cases where the user wants to use mylvmbackup only for creating the snapshots and intends to perform the actual backup by using the appropriate hooks. (Or for cases where the snapshot itself is considered to be the backup).
mylvmbackup also provides several methods for logging and reporting the progress and success of a backup run. The log messages can either be printed to the console (STDOUT) or logged via syslog.
Additionally, a report can be sent to you via email, and you can receive notifications about failures or successes via SNMP.
It is required to run mylvmbackup on the same host where the MySQL server runs. If your MySQL daemon is not listening on localhost or using the default socket location, you must specify --host or --socket. Even though mylvmbackup communicates with the server through a normal client connection to obtain the read lock and flush data, it performs the actual backup by accessing the file system directly. It is also a requirement that the MySQL server's data directory resides on an LVM volume. (It is, however, a good idea to do the LVM backup to a different partition than the one where the data directory resides. Otherwise, there is a good chance that LVM will run out of undo space for LVM snapshot maintenance and the backup will fail.)
Alternatively, instead of tar, you can use rsync, rsnap or zbackup to perform the archiving.
The rsync backup can perform both local backups as well as backing up to a remote server using rsyncd or rsync via SSH.
rsnap is a wrapper around rsync to automatically maintain and rotate a given number of last backups (7 by default). It utilizes hard links to link to unchanged files for saving disk space.
zbackup is a globally-
Moreover, a backup type none is provided for cases where the user wants to use mylvmbackup only for creating the snapshots and intends to perform the actual backup by using the appropriate hooks. (Or for cases where the snapshot itself is considered to be the backup).
mylvmbackup also provides several methods for logging and reporting the progress and success of a backup run. The log messages can either be printed to the console (STDOUT) or logged via syslog.
Additionally, a report can be sent to you via email, and you can receive notifications about failures or successes via SNMP.
It is required to run mylvmbackup on the same host where the MySQL server runs. If your MySQL daemon is not listening on localhost or using the default socket location, you must specify --host or --socket. Even though mylvmbackup communicates with the server through a normal client connection to obtain the read lock and flush data, it performs the actual backup by accessing the file system directly. It is also a requirement that the MySQL server's data directory resides on an LVM volume. (It is, however, a good idea to do the LVM backup to a different partition than the one where the data directory resides. Otherwise, there is a good chance that LVM will run out of undo space for LVM snapshot maintenance and the backup will fail.)
No comments:
Post a Comment