大实验环境MHA+Apache+PHP+LVS+Keepalvied

                              综合实验

实验项目:(共用8台主机)
一. 用四台主机搭建MHA 高可用:(101,102,103,104)

主机 Ip
[root@mha-node-master ~]# 192.168.100.101
[root@mha-node-slave1 ~]# 192.168.100.102
[root@mha-node-slave2 ~]# 192.168.100.103
[root@mha ~]# 192.168.100.104
二. 用两台主机搭建apache+php(105,106)

主机 Ip
[root@apache-php-1 ~]# 192.168.100.105
[root@apache-php-2 ~]# 192.168.100.106
三. 用剩余两台主机搭建lvs+Keepalived(107,108)
主机 Ip
[root@lvs-keep-1~]# 192.168.100.107
[root@lvs-keep-2 ~]# 192.168.100.108

开始实验:
一, 搭建MHA:
1,配置所有主机相互SSH登录无密码验证
[root@mha-node-master ~]# ssh-keygen -t rsa
[root@mha-node-master ~]# ssh-copy-id 192.168.100.101
[root@mha-node-master ~]# ssh-copy-id 192.168.100.102
[root@mha-node-master ~]# ssh-copy-id 192.168.100.103
[root@mha-node-master ~]# ssh-copy-id 192.168.100.104

[root@mha-node-slave1 ~]# ssh-keygen -t rsa
[root@mha-node-slave1 ~]# ssh-copy-id 192.168.100.101
[root@mha-node-slave1 ~]# ssh-copy-id 192.168.100.102
[root@mha-node-slave1 ~]# ssh-copy-id 192.168.100.103
[root@mha-node-slave1 ~]# ssh-copy-id 192.168.100.104

[root@mha-node-slave2 ~]# ssh-keygen -t rsa
[root@mha-node-slave2 ~]# ssh-copy-id 192.168.100.101
[root@mha-node-slave2 ~]# ssh-copy-id 192.168.100.102
[root@mha-node-slave2 ~]# ssh-copy-id 192.168.100.103
[root@mha-node-slave2 ~]# ssh-copy-id 192.168.100.104

[root@mha ~]# ssh-keygen -t rsa
[root@mha ~]# ssh-copy-id 192.168.100.101
[root@mha ~]# ssh-copy-id 192.168.100.102
[root@mha ~]# ssh-copy-id 192.168.100.103
[root@mha ~]# ssh-copy-id 192.168.100.104
2,上传需要的软件包
3配置本地yum源,解决依赖包
[root@mha ~]# vim /etc/yum.repos.d/mhapath.repo
[mha]
name=mhapath
baseurl=file:///root/mhapath
enabled=1
gpgcheck=0
配置完之后 解压包
[root@mha ~]# tar -zxvf mhapath.tar.gz

4拷贝软件包和yum配置文件到其他节点
[root@mha ~]# scp -r /etc/yum.repos.d/* 192.168.100.101:/etc/yum.repos.d/
centos.repo
[root@mha ~]# scp -r /etc/yum.repos.d/* 192.168.100.102:/etc/yum.repos.d/
centos.repo
[root@mha ~]# scp -r /etc/yum.repos.d/* 192.168.100.103:/etc/yum.repos.d/
centos.repo
[root@mha ~]# scp -r /root/mha4mysql-node-0.57-0.el7.noarch.rpm 192.168.100.101:/root
[root@mha ~]# scp -r /root/mha4mysql-node-0.57-0.el7.noarch.rpm 192.168.100.102:/root
[root@mha ~]# scp -r /root/mha4mysql-node-0.57-0.el7.noarch.rpm 192.168.100.103:/root

[root@mha ~]# scp -r mhapath 192.168.100.101:/root
[root@mha ~]# scp -r mhapath 192.168.100.102:/root
[root@mha ~]# scp -r mhapath 192.168.100.103:/root
5,各个node节点安装软件依赖和软件包
[root@nha-node-master ~]# yum -y install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager --skip-broken --nogpgcheck
[root@mha-node-master ~]# rpm -ivh mha4mysql-node-0.57-0.el7.noarch.rpm
[root@mha-node-slave1 ~]# yum -y install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager --skip-broken --nogpgcheck
[root@mha-node-slave1 ~]# rpm -ivh mha4mysql-node-0.57-0.el7.noarch.rpm
[root@mha-node-slave2 ~]# yum -y install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager --skip-broken --nogpgcheck
[root@mha-node-slave2 ~]# rpm -ivh mha4mysql-node-0.57-0.el7.noarch.rpm
[root@mha ~]# yum -y install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager --skip-broken --nogpgcheck
[root@mha ~]# rpm -ivh mha4mysql-node-0.57-0.el7.noarch.rpm

6, 安装MHA Manager
安装MHA Manger依赖的perl模块:
[root@mha ~]# yum -y install perl-DBD-MySQL perl-Config-Tiny perl-Log-Dispatch perl-Parallel-ForkManager --skip-broken –nogpgcheck

安装MHA Manager软件包:
[root@mha ~]# rpm -ivh mha4mysql-manager-0.57-0.el7.noarch.rpm
7,搭建主从
在101配置主数据库服务器,配置my.cnf:
[root@mha-node-master ~]# vim /etc/my.cnf #在最后添加以下行
log-bin=mysql-bin-master #启用二进制日志
server-id=1 #本机数据库ID 标示
[root@ mha-node-master ~]# systemctl restart mysqld #重启服务
创建需要同步的数据库:
[root@ mha-node-master ~]# mysql -uroot -p123
mysql> create database HA;
mysql> use HA;
mysql> create table test(id int,name varchar(20));
授权:
repl用户用来主从同步,root用户给MHA使用
mysql> grant replication slave on . to repl@‘192.168.100.%’ identified by ‘123456’;
mysql> grant all privileges on . to ‘root’@‘192.168.100.%’ identified by ‘123456’;
mysql> flush privileges; #刷新权限
在102配置从服务:配置my.cnf:
[root@ mha-node-slave1 ~]# vim /etc/my.cnf #在最后加入以下行
log-bin=mysql-slave1 #启用二进制日志
server-id=2 #本机数据库ID 标示
log_slave_updates=1 #只有开启log_slave_updates,从库binlog才会记录主库同步的操作日志
[root@ mha-node-slave1 ~]# systemctl restart mysqld #重启服务
授权
[root@ mha-node-slave1~]# mysql -uroot -p123
mysql> grant replication slave on . to ‘repl’@‘192.168.100.%’ identified by ‘123456’;
mysql> grant all privileges on . to ‘root’@‘192.168.100.%’ identified by ‘123456’;
mysql> flush privileges; #刷新权限
建立主从关系
mysql> stop slave;
mysql> change master to master_host=‘192.168.100.101’,master_user=‘repl’,master_password=‘123456’;
mysql> start slave;
mysql> show slave status\G

在103配置从服务:配置my.cnf:
[root@ mha-node-slave2~]# vim /etc/my.cnf
log-bin=mysql-slave1 #启用二进制日志
server-id=3 #本机数据库ID 标示
log_slave_updates=1 #只有开启log_slave_updates,从库binlog才会记录主库同步的操作日志
[root@ mha-node-slave2~]# systemctl restart mysqld #重启服务
授权
[root@ mha-node-slave2 ~]# mysql -uroot -p123
mysql> grant replication slave on . to ‘repl’@‘192.168.100.%’ identified by ‘123456’;
mysql> grant all privileges on . to ‘root’@‘192.168.100.%’ identified by ‘123456’;
mysql> flush privileges; #刷新权限
建立主从关系
mysql> stop slave;
mysql> change master to master_host=‘192.168.100.101’,master_user=‘repl’,master_password=‘123456’;
mysql> start slave;
mysql> show slave status\G

两台slave服务器设置read_only
从库对外提供读服务,只所以没有写进配置文件,是因为slave随时会提升为master
[root@ mha-node-slave1 ~]# mysql -uroot -p123 -e ‘set global read_only=1’
[root@ mha-node-slave2~]# mysql -uroot -p123 -e ‘set global read_only=1’
到这里整个集群环境已经搭建完毕,剩下的就是配置MHA软件了
配置MHA
创建MHA的工作目录,并且创建相关配置文件
[root@mha~]# mkdir -p /etc/masterha
[root@mha ~]# mkdir -p /var/log/masterha/app1
[root@mha ~]# vim /etc/masterha/app1.cnf
修改app1.cnf配置文件,修改后的文件内容如下(注意,配置文件中的注释需要去掉):
[server default]
manager_workdir=/var/log/masterha/app1
manager_log=/var/log/masterha/app1/manager.log
master_binlog_dir=/data/mysql/data
user=root
password=123456
ping_interval=1
remote_workdir=/tmp
repl_user=repl
repl_password=123456
ssh_user=root

[server1]
hostname=192.168.100.101
port=3306

[server2]
hostname=192.168.100.102
port=3306
candidate_master=1
check_repl_delay=0

[server3]
hostname=192.168.100.103
port=3306
设置relay log的清除方式(在每个slave节点上):
[root@mha-node-slave1 ~]# mysql -uroot -p123 -e ‘set global relay_log_purge=0’
[root@mha-node-slave2 ~]# mysql -uroot -p123 -e ‘set global relay_log_purge=0’
检查SSH配置
[root@mha ~]# masterha_check_ssh --conf=/etc/masterha/app1.cnf
检查整个复制环境状况
[root@mha ~]# masterha_check_repl --conf=/etc/masterha/app1.cnf

开启监控
[root@mha ~]# nohup masterha_manager --conf=/etc/masterha/app1.cnf
–remove_dead_master_conf --ignore_last_failover < /dev/null >
/var/log/masterha/app1/manager.log 2>&1 &
查看监控是否正常:
[root@mha ~]# masterha_check_status --conf=/etc/masterha/app1.cnf

设置VIP 实现MHA 高可用:
[root@mha ~]# ifconfig ens33:1 192.168.100.88 netmask 255.255.255.0 up

在主配置文件中添加红色命令:
[root@mha ~]# vim /etc/masterha/app1.cnf
[server default]
manager_log=/var/log/masterha/app1/manager.log
manager_workdir=/var/log/masterha/app1
master_binlog_dir=/data/mysql/data
password=123456
ping_interval=1
remote_workdir=/tmp
repl_password=123456
repl_user=repl
ssh_user=root
user=root
master_ip_failover_script=/usr/bin/master_ip_failover #开启脚本
编写脚本/usr/bin/master_ip_failover,
[root@mha ~]# vim /usr/bin/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.100.88/24’;
my $key = ‘1’;
my s s h s t a r t v i p = " / s b i n / i f c o n f i g e n s 33 : ssh_start_vip = "/sbin/ifconfig ens33: sshstartvip="/sbin/ifconfigens33:key $vip";
my s s h s t o p v i p = " / s b i n / i f c o n f i g e n s 33 : ssh_stop_vip = "/sbin/ifconfig ens33: sshstopvip="/sbin/ifconfigens33:key down";

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() {
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@mha ~]# chmod +x /usr/bin/master_ip_failover
检查ssh连接状态:
[root@mha ~]# masterha_check_ssh --conf=/etc/masterha/app1.cnf

检查整个集群连接状态, 需要删除之前健康检查的文件
[root@mha ~]# rm -rf /var/log/masterha/app1/app1.master_status.health
[root@mha ~]# masterha_check_repl --conf=/etc/masterha/app1.cnf

开启监控:

MHA 搭建完成
二,搭建apache + php 环境(105,106):
两台主机操作一样
1, 上传软件包
httpd-2.4.38.tar.gz
2,解包:
[root@apache-php-1 ~]# tar -zxvf httpd-2.4.38.tar.gz -C /usr/local/src/
3,安装依赖环境:
[root@apache-php-1 ~]# yum -y install gcc gcc-c++ apr apr-devel cyrus-sasl-devel expat-devel libdb-devel openldap-devel apr-util-devel apr-util pcre-devel pcre openssl*
4,预编译:
[root@ apache-php-1 ~]# cd /usr/local/src/httpd-2.4.38/
[root@ apache-php-1 httpd-2.4.38]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi --enable-ssl --enable-mpms-shared=all
5,编译并安装:
[root@ apache-php-1 httpd-2.4.38]#make && make install
6,修改主配置文件,加速启动:
[root@ apache-php-1 httpd-2.4.38]#vim /usr/local/httpd/conf/httpd.conf
ServerName localhost:80 #修改这一行,加快重启
7,修改首页内容:
[root@apache-php-1 ~]# echo “nihao” >> /usr/local/httpd/htdocs/index.html
8,设置apache启动脚本:
[root@ apache-php-1 ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
[root@ apache-php-1 ~]# vim /etc/init.d/httpd #第一行后添加两行
#!/bin/sh
#chkconfig: 2345 11 88

despriction: Web Site

9,启动服务:
[root@ apache-php-1 ~]#/etc/init.d/httpd start
10,添加path环境变量:
[root@ apache-php-1 ~]#ln -s /usr/local/httpd/bin/* /usr/local/bin/
测试:

安装php
1,安装php依赖包:
安装依赖包
[root@ apache-php-1 ~]# yum -y install php-mcrypt libmcrypt libmcrypt-devel autoconf freetype gd libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel re2c libmcrypt-devel freetype-devel libjpeg-devel bzip2-devel
2,上传libmcrypt 安装libmcrypt
[root@ apache-php-1 ~]# tar zxf libmcrypt-2.5.7.tar.gz
[root@ apache-php-1 ~]# cd libmcrypt-2.5.7/
[root@ apache-php-1 libmcrypt-2.5.7]# ./configure --prefix=/usr/local/libmcrypt && make && make install
3,上传php软件包并解压:
[root@apache-php-1 ~]# ls
anaconda-ks.cfg httpd-2.4.38.tar.gz libmcrypt-2.5.7.tar.gz
cronolog-1.6.2.tar.gz libmcrypt-2.5.7 php-5.6.36.tar.gz
[root@apache-php-1 ~]# tar zxvf php-5.6.36.tar.gz -C /usr/local/src
4,进行预编译:
[root@apache-php-1 ~]# cd /usr/local/src/php-5.6.36/
[root@apache-php-1 php-5.6.36]# ./configure --prefix=/usr/local/php5.6 --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-fpm --enable-sockets --enable-sysvshm --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --with-mhash --with-mcrypt=/usr/local/libmcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/usr/local/php5.6/etc/ --with-bz2 --enable-maintainer-zts --with-apxs2=/usr/local/httpd/bin/apxs
5,编译并安装:
[root@apache-php-1 ~]#make && make install
6,生成配置文件
[root@ apahce-php-1 php-5.6.36]# cp php.ini-production /usr/local/php5.6/etc/php.ini
7,添加Apache 支持:
[root@ apahce-php-1 ~]# vim /usr/local/httpd/conf/httpd.conf
265 DirectoryIndex index.php index.html #265添加index.php
#403行写入如下内容
403 AddType application/x-httpd-php .php .phtml(点的前边都有空格)

8,创建测试页面进行测试:
[root@ apahce-php-1 ~]# vim /usr/local/httpd/htdocs/index.php #php测试页面

<?php phpinfo(); ?>

[root@ apahce-php-1 ~]# vim /usr/local/httpd/htdocs/test.php #测试mysql连接页面

<?php $link=mysql_connect('192.168.100.101','root','123456'); if ($link)echo "connection success......"; mysql_close(); ?>

9,重启httpd服务 并进行测试:
[root@apahce-php-1 ~]# systemctl restart httpd

搭建discuz论坛网站:
1,上传软件包:
[root@apache-php-1 ~]# ls
Discuz_7.2_FULL_SC_UTF8.zip
2,解压到指定目录:
[root@apache-php-1 ~]# unzip Discuz_7.2_FULL_SC_UTF8.zip -d /usr/local/bbs
2, 拷贝论坛到网站根目录:
[root@apache-php-1 ~]# cd /usr/local/bbs
[root@apache-php-1 bbs]# cp -r upload/ /usr/local/httpd/htdocs/bbs
3, 修改php.ini 文件:
[root@apache-2 bbs]# vim /usr/local/php5.6/etc/php.ini
将OFF 改为 On

4, 重启httpd服务:
[root@apache-php-1 bbs]# /etc/init.d/httpd restart
5, 安装discuz 论坛

点击‘我同意’进入:

此时看到有错误❌
修改文件权限即可纠正:
[root@apache-php-1 bbs]# chmod -R 777 /usr/local/httpd/htdocs/bbs/
刷新页面:

配置数据库:

完成:

三, 搭建LVS+Keepalived负载均衡(107,108)
1, 在107和108上都
安装ipvsadm
安装 keepalived
[root@lvs-keep-1 ~]#yun -y install ipvsadm
[root@lvs-keep-1 ~]#yum -y install keepalived
[root@lvs-keep-2 ~]#yum -y install ipvsadm
[root@lvs-keep-2 ~]#yum -y install keepalived
2,进入(107)的 keepalived 备份 修改配置文件
[root@lvs-keep-1 ~]# cd /etc/keepalived/
[root@lvs-keep-1 keepalived]# cp keepalived.conf keepalived.conf.bak
[root@lvs-keep-1 keepalived]# vim keepalived.conf
global_defs { #全局配置
router_id LVS_01 #LVS服务器节点名(不能相同)
}

vrrp_instance VI_1 {
state MASTER #设置热备类型(MASTER为主,BACKUP为备)
interface ens33 #热备份接口
virtual_router_id 51 #热备份组号(必须相同)
priority 100 #优先级,主的优先级要
比备的高
advert_int 1 #hello time
authentication { #密码认证
auth_type PASS #认证的类型为密码认证
auth_pass 1111
}
virtual_ipaddress { #虚拟IP
192.168.100.66
}
}
virtual_server 192.168.100.66 80 { #创建虚拟服务器 VIP 和端口
delay_loop 6 #多长时间检测一次real server 单位为秒
lb_algo rr #调度算法,rr代表轮询
lb_kind DR #集群工作模式
persistence_timeout 0 #健康监测时间,设置0为不检测
protocol TCP 使用为TCP协议

real_server 192.168.100.105 80 {                    #添加真实服务器和端口
    weight 1                                                #分配权重
    TCP_CHECK {                                     #检测模块,为TCP连接
        connect_port 80                     #检测端口
        connect_timeout 3                   #连接超时时间
        nb_get_retry 3                      #重试次数
        delay_before_retry 3                #重试间隔时间
    }
}

real_server 192.168.100.106 80 {                    #添加真实服务器和端口
    weight 1
    TCP_CHECK {
        connect_port 80
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
    }
}

}
修改完之后 重启keepalived
[root@lvs-keep-1 keepalived]# systemctl restart keepalived
进入 108 keepalived 备份 修改配置文件
[root@lvs-keep-2 ~]# cd /etc/keepalived/
[root@lvs-keep-2 keepalived]# cp keepalived.conf keepalived.conf.bak
[root@lvs-keep-2 keepalived]# vim keepalived.conf
global_defs {
router_id LVS_02
}

vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 51
priority 90
advert_int 1 #hello time
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.100.66
}
}
virtual_server 192.168.100.66 80 {
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 0
protocol TCP

real_server 192.168.100.105 80 {   
    weight 1                                                
    TCP_CHECK {                                     
        connect_port 80                
        connect_timeout 3               
        nb_get_retry 3                   
        delay_before_retry 3               
    }
}

real_server 192.168.100.106 80 {                    #添加真实服务器和端口
    weight 1
    TCP_CHECK {
        connect_port 80
        connect_timeout 3
        nb_get_retry 3
        delay_before_retry 3
    }
}

}
修改完之后 重启keepalived
[root@lvs-keep-1 keepalived]# systemctl restart keepalived
做完这些后在107(master)查看有没有VIP

搭建成功后 在 105 106 上边 配置脚本 使
用(105,106)网站 可以 访问 keepalived 的· VIP 地址
在 105 106 上边都进行一下操作:
[root@apache-1 ~]# vim /etc/init.d/lvsdr
#!/bin/sh
#LVS Client Server
VIP=192.168.100.88 #定义一个变量(这是keepalived的VIP 地址)
case $1 in #定义一个case取值变量
start)
ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP #在环回接口上添加一个IP地址,调用VIP变量
/sbin/route add -host $VIP dev lo:0 #添加vip本地访问路由
echo “1” >/proc/sys/net/ipv4/conf/lo/arp_ignore #关闭ARP响应
echo “2” >/proc/sys/net/ipv4/conf/lo/arp_announce
echo “1” >/proc/sys/net/ipv4/conf/all/arp_ignore
echo “2” >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p >/dev/null 2>&1
echo “RealServer Start OK”
exit 0
;;
stop)
ifconfig lo:0 down
route del $VIP >/dev/null 2>&1
echo “0” >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo “0” >/proc/sys/net/ipv4/conf/lo/arp_announce
echo “0” >/proc/sys/net/ipv4/conf/all/arp_ignore
echo “0” >/proc/sys/net/ipv4/conf/all/arp_announce
echo “RealServer Stoped OK”
exit 1
;;
*)
echo “Usage: $0 {start|stop}”
;;
esac
给脚本赋予权限 [root@apache-1 ~]# chmod +x /etc/init.d/lvsdr
设置开机自启 [root@apache-1 ~]# echo “/etc/init.d/lvsdr start” >> /etc/rc.local
查看 [root@apache-1 ~]# ifconfig

四, 测试
1,关闭MySQL master主服务器 网站还可以进去 论坛

也就是说 用keepalived 的 vip 访问 mysql 可以进去

2,关闭一个web(105) 用另一个web(106) 访问 还可以进去 论坛

3, 关闭一个调度器(107) 还可以访问 论坛

测试成功 实验环境均可实现高可用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值