返回顶部
首页 > 资讯 > 数据库 >MHA之虚拟IP
  • 404
分享到

MHA之虚拟IP

2024-04-02 19:04:59 404人浏览 独家记忆
摘要

在Mysql高可用之MHA部署这篇博文中,已经将MHA的基础架构部署完成,但是并没有解决一个虚拟IP的问题,因为当master宕机后,新的master顶上来,这时前端APP要连接的数据库IP已经发生了变化,

Mysql高可用之MHA部署这篇博文中,已经将MHA的基础架构部署完成,但是并没有解决一个虚拟IP的问题,因为当master宕机后,新的master顶上来,这时前端APP要连接的数据库IP已经发生了变化,为了解决这个问题,必然要引入虚拟IP,谈起虚拟IP,首先想到的应该是keepalived这个工具,但这个工具有个弊端,就是有一个脑裂的问题,所以更建议在生产中使用脚本的方式来控制这个VIP。

1、在manager节点写入此脚本

[root@manager scripts]# cat /scripts/master_ip_failover 
#!/usr/bin/env perl
use strict;
use warnings FATAL => 'all';
use Getopt::Long;
my (
 $command,$ssh_user,$orig_master_host,$orig_master_ip,$orig_master_port,
$new_master_host,$new_master_ip,$new_master_port
);
my $vip = '192.168.20.100';         #这里指定VIP地址
my $key = '0';
my $ssh_start_vip = "/sbin/ifconfig ens33:$key $vip";         #这条指令是启动VIP
my $ssh_stop_vip = "/sbin/ifconfig ens33:$key down";       #这条指令是停止VIP
GetOptions(
 'command=s' => \$command,
 'ssh_user=s' => \$ssh_user,
 'orig_master_host=s' => \$orig_master_host,
 'orig_master_ip=s' => \$orig_master_ip,
 'orig_master_port=i' => \$orig_master_port,
 'new_master_host=s' => \$new_master_host,
 'new_master_ip=s' => \$new_master_ip,
 'new_master_port=i' => \$new_master_port,
);
exit &main();
sub main {
 print "\n\nIN SCRIPT TEST====$ssh_stop_vip==$ssh_start_vip===\n\n";
 if ( $command eq "stop" || $command eq "stopssh" ) {
 my $exit_code = 1;
 eval {
 print "Disabling the VIP on old master: $orig_master_host \n";
 &stop_vip();
 $exit_code = 0;
 };
 if ($@) {
 warn "Got Error: $@\n";
 exit $exit_code;
 }
 exit $exit_code;
 }
 elsif ( $command eq "start" ) {
 my $exit_code = 10;
 eval {
 print "Enabling the VIP - $vip on the new master - $new_master_host
\n";
 &start_vip();
 $exit_code = 0;
 };
 if ($@) {
 warn $@;
 exit $exit_code;
 }
 exit $exit_code;
 }
 elsif ( $command eq "status" ) {
 print "Checking the Status of the script.. OK \n";
 #`ssh $ssh_user\@cluster1 \" $ssh_start_vip \"`;
 exit 0;
 }
 else {
 &usage();
 exit 1;
 }
}
# A simple system call that enable the VIP on the new master
sub start_vip() {
 `ssh $ssh_user\@$new_master_host \" $ssh_start_vip \"`;
}
# A simple system call that disable the VIP on the old_master
sub stop_vip() {
 return 0 unless ($ssh_user);
 `ssh $ssh_user\@$orig_master_host \" $ssh_stop_vip \"`;
}
sub usage {
 print
 "Usage: master_ip_failover --command=start|stop|stopssh|status --
orig_master_host=host --orig_master_ip=ip --orig_master_port=port --
new_master_host=host --new_master_ip=ip --new_master_port=port\n";
}

[root@manager ~]# ll /scripts/master_ip_failover             #需要保证脚本有可执行权限
-rwxr-xr-x 1 root root 2006 2月  24 16:32 /scripts/master_ip_failover

2、修改manager配置文件

[root@manager ~]# cat /etc/masterha/app1.cnf           #配置文件指定脚本的位置
[server default]
manager_workdir=/var/log/masterha/app1
manager_log=/var/log/masterha/app1/manager.log
user=manager
passWord=123.com
ssh_user=root
repl_user=mharep
repl_password=123.com
ping_interval=1
master_ip_failover_script=/scripts/master_ip_failover     #增加改行,指定脚本的位置即可。

[server1]
hostname=192.168.20.2
port=3306
master_binlog_dir=/usr/local/mysql/data
candidate_master=1

[server2]
hostname=192.168.20.3
port=3306
master_binlog_dir=/usr/local/mysql/data
candidate_master=1

[server3]
hostname=192.168.20.4
port=3306
master_binlog_dir=/usr/local/mysql/data
no_master=1

做到这里,就可以保证在切换master时,VIP地址也会随之切换到新的master主机上。

您可能感兴趣的文档:

--结束END--

本文标题: MHA之虚拟IP

本文链接: https://lsjlt.com/news/44149.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MHA之虚拟IP
    在MySQL高可用之MHA部署这篇博文中,已经将MHA的基础架构部署完成,但是并没有解决一个虚拟IP的问题,因为当master宕机后,新的master顶上来,这时前端APP要连接的数据库IP已经发生了变化,...
    99+
    2024-04-02
  • 【Mysql】MHA配置虚拟ip
    虚拟ip飘逸 说到Failover,通常有两种方式:一种是虚拟IP地址,一种是全局配置文件。 MHA并没有限定使用哪一种方式,而是让用户自己选择,虚拟IP地址的方...
    99+
    2024-04-02
  • 虚拟ip如何实现
    小编给大家分享一下虚拟ip如何实现,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!当需要建立局域网并连接多台计算机时。我会重新设置电脑的IP地址,这样电脑就可以上网...
    99+
    2023-06-20
  • 云服务器虚拟ip
    云服务器虚拟ip是一种常见的网络管理技术,可以帮助服务器管理员在不同的云服务器之间实现安全通信。 以下是如何使用云服务器虚拟ip技术实现的一般步骤: 确定您的云服务器使用的网络适配器。这可以是公共云,私有云或者虚拟私有云。您需要确定适当...
    99+
    2023-10-26
    服务器 ip
  • mysql之MHA架构
    角色Ip地址主机名Server id类型master192.168.1.131master11主(写)Master(candicate)192.168.1.132Master22从(读)Slave192.1...
    99+
    2024-04-02
  • 虚拟主机如何屏蔽ip
    在虚拟主机中屏蔽ip的方法:1.远程登录虚拟主机;2.进入iis管理器;3.选择站点进入属性页面;4.“编辑”ip地址和域名限制;5.添加屏蔽的ip,确认;具体步骤如下:首先,远程登录虚拟主机,进入虚拟主机器操作界面;进入到虚拟主机器操作界...
    99+
    2024-04-02
  • CentOS虚拟机设置固定ip
    目录 一、查看自己的电脑配置 1.1、找到自己的局域网IP 二 、确保当前模式是 NAT 模式 2.1、查看模式:  2.2、确认模式​编辑  三、设置网关地址 四、先查看虚拟机上用的是哪个网卡端口 4.1 安装net-tools 4.1....
    99+
    2023-09-25
    centos linux 服务器
  • 虚拟主机怎么屏蔽ip
    要屏蔽IP地址,您可以通过以下方法来实现:1. 使用防火墙:通过配置防火墙规则,将要屏蔽的IP地址加入到黑名单中。这样可以阻止该IP...
    99+
    2023-09-07
    虚拟主机
  • 虚拟主机ip如何查询
    要查询一个虚拟主机的IP地址,可以按照以下步骤进行:1. 打开命令行终端(Windows用户可以按下Windows键+R,然后输入"...
    99+
    2023-08-25
    虚拟主机
  • 云服务器虚拟ip技术
    云服务器虚拟ip技术可以实现以下几个方面的功能: 安全性:云服务器虚拟IP技术可以保证在同一台云服务器上,用户使用同一IP段和用户身份验证等机制,确保用户的数据只被允许使用给指定的人或组织,从而防止数据被窃取和非法使用。 稳定性:云服务...
    99+
    2023-10-26
    服务器 技术 ip
  • 虚拟主机云服务器ip
    首先,虚拟主机通常是基于Web服务器技术的,这意味着您需要购买一个服务器空间来托管您的网站和应用程序。这是因为虚拟主机可以提供比物理主机更多的虚拟服务器资源,例如内存、CPU、磁盘空间、网络带宽等。此外,虚拟主机还可以根据用户的需求提供不同...
    99+
    2023-10-28
    虚拟主机 服务器 ip
  • python 之 virtualenv 虚拟环境
    最近需要使用virtualenv,查了下资料总结记录下。 virtualenv是Python的一个工具,用于创建独立的Python环境。它允许你在同一台计算机上同时管理多个独立的Python环境,每个环境都可以有自己的包依赖和Pyth...
    99+
    2023-09-05
    python virtualenv 开发语言
  • 如何查看虚拟主机的ip
    查看虚拟主机ip的方法:1、使用ping命令检查网络是否连通,可以获取到网站的IP地址,此方法适用于虚拟主机、云服务器等;2、使用第三方工具查看虚拟主机ip,此方法适用于虚拟主机和云主机。具体内容如下:ping命令Ping是Windows、...
    99+
    2024-04-02
  • 怎么样查虚拟主机的ip
    查看虚拟主机ip的方法:1.远程登录虚拟主机;2.打开命令提示符窗口;3.执行ipconfig命令查看ip地址;具体步骤如下:首先,远程登录虚拟主机,进入虚拟主机操作界面;在虚拟主机操作界面中,使用组合键“win+R”运行cmd,打开命令提...
    99+
    2024-04-02
  • Ubuntu配置虚拟IP和多网卡
    文章目录 实验环境1、Ubuntu子接口方式配置虚拟IP1.1、修改网卡文件1.2、重启网卡,验证 2、Ubuntu如何添加不同网段的多个IP,多网卡2.1、查询定位到具体添加的IP2.2...
    99+
    2023-09-16
    ubuntu linux ip tcp/ip 服务器
  • 如何看云虚拟主机的ip
    要查看云虚拟主机的IP地址,你可以按照以下步骤进行操作:1. 登录到云虚拟主机的控制面板。这可能是你所使用的云服务提供商提供的管理界...
    99+
    2023-09-21
    云虚拟主机
  • 怎么为虚拟主机添加ip
    为虚拟主机添加IP地址的具体步骤可能会因为不同的虚拟主机提供商或操作系统而略有不同,但以下是一般的步骤:1. 登录到虚拟主机提供商的...
    99+
    2023-09-05
    虚拟主机
  • 虚拟主机的ip怎么配置
    配置虚拟主机的IP地址需要进行以下步骤:1. 首先,在虚拟主机所在的操作系统中配置IP地址。这可以通过打开网络设置或者使用命令行工具...
    99+
    2023-08-29
    虚拟主机
  • 带独立IP的云虚拟空间
    随着科技的不断进步,云计算已成为当今信息时代的核心驱动力之一。云虚拟空间作为云计算的重要组成部分,为用户提供了强大的计算和存储能力,使得数据的管理变得更加高效、灵活和安全。而带独立IP的云虚拟空间更是在这个领域中取得了一席之地,为用户带来...
    99+
    2024-01-24
    带独立IP的云虚拟空间 独立ip服务器 云服务器知识
  • 云虚拟主机有独立ip吗
    云虚拟主机有独立ip吗?虚拟主机是将一台物理服务器划分成多个虚拟空间,每个虚拟空间都可看作一台独立的服务器。它是一种共享资源的服务器,提供经济的网络服务解决方案。云虚拟主机基于云计算技术,更稳定安全。云虚拟主机是否有独立ip,取决于所选择...
    99+
    2024-03-15
    云虚拟主机有独立ip吗 云虚拟主机独立IP 独立ip主机 虚拟主机知识
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作