Mysql Ha DRBD En.a4
Mysql Ha DRBD En.a4
This is the MySQL and DRBD extract from the MySQL Reference Manual.
iii
iv
Preface and Legal Notices
This is the MySQL and DRBD extract from the MySQL Reference Manual.
Legal Notices
Copyright © 1997, 2013, Oracle and/or its affiliates. All rights reserved.
This software and related documentation are provided under a license agreement containing
restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly
permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate,
broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any
form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless
required by law for interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-
free. If you find any errors, please report them to us in writing.
If this software or related documentation is delivered to the U.S. Government or anyone licensing it on
behalf of the U.S. Government, the following notice is applicable:
U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and
technical data delivered to U.S. Government customers are "commercial computer software" or
"commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-
specific supplemental regulations. As such, the use, duplication, disclosure, modification, and
adaptation shall be subject to the restrictions and license terms set forth in the applicable Government
contract, and, to the extent applicable by the terms of the Government contract, the additional rights set
forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc.,
500 Oracle Parkway, Redwood City, CA 94065.
This software is developed for general use in a variety of information management applications. It is not
developed or intended for use in any inherently dangerous applications, including applications which
may create a risk of personal injury. If you use this software in dangerous applications, then you shall
be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure the
safe use of this software. Oracle Corporation and its affiliates disclaim any liability for any damages
caused by use of this software in dangerous applications.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. MySQL is a trademark
of Oracle Corporation and/or its affiliates, and shall not be used without Oracle's express written
authorization. Other names may be trademarks of their respective owners.
This software and documentation may provide access to or information on content, products, and
services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly
disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle
Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to
your access to or use of third-party content, products, or services.
This document in any form, software or printed matter, contains proprietary information that is the
exclusive property of Oracle. Your access to and use of this material is subject to the terms and
conditions of your Oracle Software License and Service Agreement, which has been executed and with
which you agree to comply. This document and information contained herein may not be disclosed,
copied, reproduced, or distributed to anyone outside Oracle without prior written consent of Oracle
or as specifically provided below. This document is not part of your license agreement nor can it be
incorporated into any contractual agreement with Oracle or its subsidiaries or affiliates.
This documentation is NOT distributed under a GPL license. Use of this documentation is subject to the
following terms:
You may create a printed copy of this documentation solely for your own personal use. Conversion
to other formats is allowed as long as the actual content is not altered or edited in any way. You shall
v
Legal Notices
not publish or distribute this documentation in any form or on any media, except if you distribute the
documentation in a manner similar to how Oracle disseminates it (that is, electronically for download
on a Web site with the software) or on a CD-ROM or similar medium, provided however that the
documentation is disseminated together with the software on the same medium. Any other use, such
as any dissemination of printed copies or use of this documentation, in whole or in part, in another
publication, requires the prior written consent from an authorized representative of Oracle. Oracle and/
or its affiliates reserve any and all rights to this documentation not expressly granted above.
For more information on the terms of this license, or for details on how the MySQL documentation is
built and produced, please visit MySQL Contact & Questions.
For additional licensing information, including licenses for third-party libraries used by MySQL products,
see Preface and Legal Notices.
For help with using MySQL, please visit either the MySQL Forums or MySQL Mailing Lists where you
can discuss your issues with other MySQL users.
For additional documentation on MySQL products, including translations of the documentation into
other languages, and downloadable versions in variety of formats, including HTML and PDF formats,
see the MySQL Documentation Library.
vi
Chapter 1. Overview of MySQL with DRBD/Pacemaker/
Corosync/Oracle Linux
DRBD (Distributed Replication Block Device) is one of the leading solutions for MySQL HA (High
Availability). When combined with Pacemaker and Corosync, users have:
• An end-to-end, integrated stack of mature and proven open source technologies, fully supported by
Oracle (as part of MySQL Enterprise Edition).
• Mirroring, via synchronous replication, to ensure failover between nodes without the risk of losing
committed transactions.
• Building of HA clusters from commodity hardware, without the requirement for shared-storage.
The following figure illustrates the stack that can be used to deliver a level of High Availability for the
MySQL service.
At the lowest level, 2 hosts are required in order to provide physical redundancy; if using a virtual
environment, those 2 hosts should be on different physical machines. It is an important feature that no
shared storage is required. At any point in time, the services will be active on one host and in standby
mode on the other.
Pacemaker and Corosync combine to provide the clustering layer that sits between the services and
the underlying hosts and operating systems. Pacemaker is responsible for starting and stopping
services, ensuring that they are running on exactly one host, thus delivering high availability and
avoiding data corruption. Corosync provides the underlying messaging infrastructure between the
nodes that enables Pacemaker to do its job; it also handles the nodes membership within the cluster
and informs Pacemaker of any changes.
1
Figure 1.1. MySQL, DRBD, Pacemaker, and Corosync Stack
The core Pacemaker process does not have built-in knowledge of the specific services to be managed;
instead, it uses agents that provide a wrapper for the service-specific actions. For example, in this
solution we use agents for Virtual IP Addresses, MySQL and DRBD: these are all existing agents and
come packaged with Pacemaker.
2
Support for DRBD
The essential services managed by Pacemaker in this configuration are DRBD, MySQL and the Virtual
IP Address that applications use to connect to the active MySQL service.
DRBD synchronizes data at the block device (typically a spinning or solid state disk) – transparent
to the application, database and even the file system. DRBD requires the use of a journaling file
system such as ext3 or ext4. For this solution, it acts in an active-standby mode: at any point in time,
the directories being managed by DRBD are accessible for reads and writes on exactly one of the
two hosts and inaccessible (even for reads) on the other. Any changes made on the active host are
synchronously replicated to the standby host by DRBD.
Download the following guide for detailed instructions on installing, configuring, provisioning and testing
the complete MySQL and DRBD stack, including:
• MySQL Database.
3
4