8000 GitHub - fujiwara/MHA-AWS: A support script for MySQL MasterHA which running on Amazon Web Service.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

fujiwara/MHA-AWS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NAME

MHA::AWS - A support script for "MySQL Master HA" running on AWS

SYNOPSIS

$ mhaws [subcommand] --interface_id=ENI-id [... args passed by MHA]
$ mhaws [subcommand] --route_table_id=[RouteTable-id] --vip=[master VIP] [... args passed by MHA]

required arguments:
  1. failover method is ENI attach/detach
    --interface_id=[ENI-id for master VIP]

  2. failover method is RouteTable change destination
    --route_table_id=[RouteTable-id]
    --vip=[master VIP]

subcommand:
  master_ip_failover
  master_ip_online_change
  shutdown


/etc/masterha_default.cnf

[server default]
master_ip_failover_script=mhaws master_ip_failover --interface_id=eni-xxxxxxxx
master_ip_online_change_script=mhaws master_ip_online_change --interface_id=eni-xxxxxxxx
shutdown_script=mhaws shutdown --interface_id=eni-xxxxxxxx

DESCRIPTION

MHA::AWS is a support script for "MySQL Master HA" which running on Amazon Web Service.

Installation

# cpanm MHA::AWS

REQUIREMENTS

  • EC2 instance's "Name" tags must be resolved as DNS name in internal.
  • root user must be allowed to ssh login between each MySQL instances.
  • aws-cli is installed and available.

Failover method = ENI attach/detach

  • One ENI (Elastic Network Interface) must be attached to the MySQL master instance. Clients accesses for the ENI's IP address.

Failover method = VPC route table rewriting

  • Prepare a VIP address in your VPC.
  • All MySQL hosts(master, slaves) can handle the VIP.
  • Clients accesses for the VIP address.

FAILOVER FLOW

  1. MHA detect master failure.
  2. "mhaws master_ip_failover --command stop",
    • (ENI) ENI will be detached from the old master instance.
    • (Route table) Route to VIP will be removed from VPC route table.
  3. "mhaws shutdown --command (stopssh|stop)", Old master mysqld process will be killed (if ssh connection is available). Or old master instance will be stopped via AWS API (if ssh connection is NOT available).
  4. MHA will elect the new master and set up replication.
  5. "mhaws master_ip_failver --command start",
    • (ENI) ENI will be attached to the new master instance.
    • (Route table) Route to VIP will be set to new master instance.

SEE ALSO

AWS::CLIWrapper, https://code.google.com/p/mysql-master-ha/

LICENSE

Copyright (C) FUJIWARA Shunichiro.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR

FUJIWARA Shunichiro fujiwara.shunichiro@gmail.com

About

A support script for MySQL MasterHA which running on Amazon Web Service.

584B

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Languages

0