CloudExplorer Lite 主备部署


飞致云 发布于 2023-05-08 / 430 阅读 / 0 评论 /
CloudExplorer Lite 主备部署方式,使用 keepalived + vip 实现主备切换。

一、部署架构图

说明:

         1.数据库层:两台服务器,配置主从数据库。

         2.应用层:两台服务器,主备部署,使用 keepalived + vip ,vip: 10.1.12.1。


二、服务器要求

   1.服务器配置

服务器

配置

开通端口

IP

应用节点 1

CentOS 7.*/RHEL 7.* 以上,8C 16G,安装目录 /opt 空间大于等于100G

22、80、9200

10.1.12.2

应用节点 2

CentOS 7.*/RHEL 7.* 以上,8C 16G,安装目录 /opt 空间大于等于100G

22、80、9200

10.1.12.3

数据库 1

CentOS 7.*/RHEL 7.* 以上,4C 8G,安装目录 /var/lib/mysql 空间大于等于100G

22、3306

10.1.12.4

数据库 2

CentOS 7.*/RHEL 7.* 以上,4C 8G,安装目录 /var/lib/mysql 空间大于等于100G

22、3306

10.1.12.5

   2.服务器检查

       系统时间请用 CST 时间(否则对接阿里云等公有云后,账号校验会失败)。


三、数据库层 —— 主从数据库的安装和配置

   1.向两台 DB 服务器上传 rpm 安装包

      安装包下载地址:https://dev.mysql.com/downloads/mysql/

      只要下面这几个 rpm 包即可:
 

   2.安装及修改数据库密码

a.环境准备: 删除 mysql 已存在的相关文件
rpm -ev mysql-libs-* --nodeps
rpm -qa | grep -i mysql
find / -name mysql
  
b.创建数据数据存放目录
mkdir -p /var/lib/mysql/data
 
c.创建配置文件 my.cnf (此处为主数据库服务器配置,从数据库服务器配置需要修改 server_id=2)
cat <<EOF > /etc/my.cnf
[mysql]
default-character-set=utf8
  
[mysqld]
port=3306
default_authentication_plugin=mysql_native_password
socket =/var/lib/mysql/mysql.sock
basedir=/var/lib/mysql
datadir=/var/lib/mysql/data
plugin_dir=/usr/lib64/mysql/plugin
lower_case_table_names=1
character-set-server=utf8
default-storage-engine=InnoDB
collation-server=utf8_unicode_ci
init_connect='SET NAMES utf8'
innodb_buffer_pool_size=512M
innodb_flush_log_at_trx_commit=0
innodb_lock_wait_timeout=31536000
innodb_log_buffer_size=8M
innodb_log_file_size=16M
join_buffer_size=200M
key_buffer_size=400M
log-error=/var/lib/mysql/mysql.log
pid-file=/var/lib/mysql/mysql.pid
log_error_verbosity=1
max_allowed_packet=2000M
max_connections=1000
max_heap_table_size=6400M
myisam_max_sort_file_size=64M
myisam_sort_buffer_size=32M
read_buffer_size=4M
read_rnd_buffer_size=4000M
server_id=1
skip-external-locking=on
sort_buffer_size=256kb
table_open_cache=256
thread_cache_size=16
tmp_table_size=64M
wait_timeout=31536000
interactive_timeout=31536000
sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
group_concat_max_len=10240
  
[client]
port=3306
default-character-set=utf8
socket = /var/lib/mysql/mysql.sock
EOF
 
d.安装 rpm 包
rpm -ivh mysql-community-common-8.0.33-1.el7.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-libs-8.0.33-1.el7.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-client-8.0.33-1.el7.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-devel-8.0.33-1.el7.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-server-8.0.33-1.el7.x86_64.rpm --force --nodeps
 
e.启动 mysqld 服务
systemctl start mysqld
 
f.查看临时密码
sudo grep 'temporary password' /var/lib/mysql/mysql.log
  
g.登录
mysql -uroot -p
  
h.修改密码及权限
flush privileges;
ALTER USER root@localhost IDENTIFIED BY 'Password123@mysql';
use mysql;
update user set host = '%' where user = 'root';
flush privileges;
 
i.重启 mysqld 服务
systemctl restart mysqld
 
j.使用修改后的密码登录验证

    此处以主数据库服务器安装为例,从数据库服务器安装如上。


   3.两台服务器互测

mysql -h ipaddress -P 3306 -uroot -p

   4.配置主从同步数据库

     a.主数据库 10.1.12.4

show master status;

     b.从数据库 10.1.12.5

change master to master_host='10.1.12.4',master_user='root',master_password='fit2cloud',master_log_file='master-bin.000002',master_log_pos=15418;
start slave;         #开启主从同步
show slave status\G  #查看同步状态

    注:这里使用的是主从数据库,如果需要安装主主数据库,只需要再反向操作一次即可。


四、应用层 —— 安装 CE Lite

   两个应用节点上不要同时安装,否则可能会损坏数据库文件!

   1.上传安装包

      请自行下载 CloudExplorer Lite 最新版本的离线安装包,并复制到目标机器的 /tmp 目录下,此处以 cloudexplorer-offline-installer-v1.0.1-x86_64.tar.gz 为例。
     安装包下载链接: https://community.fit2cloud.com/#/products/cloudexplorer-lite/downloads

   2.解压安装包

tar xvf cloudexplorer-offline-installer-v1.0.1-x86_64.tar.gz

    3.修改配置文件

cd cloudexplorer-offline-installer-v1.0.1-x86_64
vi install.conf    #修改数据库连接配置

   4.执行安装脚本安装

bash install.sh

     此处以应用服务器 10.1.12.2 为主节点,另一台应用服务器 10.1.12.3 为从节点 ,建议修改 mysql配置、redis 配置、elk 配置如下:



五、应用层 —— 安装 keepalived

   1.安装 keepalived

yum install -y keepalived

   2.keepalived 服务开机自启动

systemctl enable keepalived

   3.修改配置文件 keepalived.conf

    说明:

      1)这里配置的是 主备模式。

      2)使用 ifconfig 命令查看应用服务器的网卡文件。

      a.主节点 10.1.12.2

cat <<EOF > /etc/keepalived/keepalived.conf
! Configuration File for keepalived
  
global_defs {
   router_id ce-1
}
  
vrrp_script chk_ce {
    script "/opt/keepalived/chk_ce.sh"
    interval 2
    weight -5
    fall 2
    rise 1
}
  
vrrp_instance VI_1 {
    state MASTER
    interface eth0   #指定HA监测网络的接口  ifconfig 查看
    virtual_router_id 88   #虚拟路由
    priority 101  #优先级
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.1.12.1   #vip
    }
  
    track_script {
       chk_ce
    }
}
EOF

       b.从节点 10.1.12.3

cat <<EOF > /etc/keepalived/keepalived.conf
! Configuration File for keepalived
  
global_defs {
   router_id ce-2
}
  
vrrp_script chk_ce {
    script "/opt/keepalived/chk_ce.sh"
    interval 2
    weight -5
    fall 2
    rise 1
}
  
vrrp_instance VI_1 {
    state BACKUP
    interface eth0   #指定HA监测网络的接口  ifconfig 查看
    virtual_router_id 88   #虚拟路由
    priority 99  #优先级
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        10.1.12.1   #vip
    }
  
    track_script {
       chk_ce
    }
}
EOF

   4. keepalived 监控 ce 脚本

      a.让keepalived 监控 ce 的状态

          两个节点上均执行:

mkdir -p /opt/keepalived/
 
vi /opt/keepalived/chk_ce.sh
#!/bin/bash
counter=$(docker ps | grep 'cloudexplorer-core' | grep 'healthy' | wc -l)
echo "$counter"
if [ "${counter}" = "0" ]; then
    systemctl stop keepalived
fi

      b.设置脚本文件的权限并测试

chmod 755 /opt/keepalived/chk_ce.sh
bash /opt/keepalived/chk_ce.sh

  5.配置 keepalived 日志

     a.编辑系统日志配置文件

       说明:CentOS 7.* 以上是 rsyslog。

1) 在最后一行加上下面的配置
echo "local4.*   /etc/keepalived/logs/keepalived.log" >> /etc/rsyslog.conf
 
2) 重启系统日志服务
systemctl restart rsyslog

    b.编辑 keepalived 服务文件

1)修改最后一行的配置
cat <<EOF > /etc/sysconfig/keepalived
KEEPALIVED_OPTIONS="-D -d -S 4"
EOF

   6.重启 keepalived 服务

systemctl restart keepalived

   7.查看 keepalived 日志

tail -f /etc/keepalived/keepalived.log

   8.验证 keepalived 服务

     a.在主节点 10.1.12.2 使用 ifconfig 命令查看,发现 eth0 网络接口下多了一个 ip(vip 地址: 10.1.12.1)。

     b.关闭主节点 10.1.12.2 的 keepalived 服务,使用 ifconfig 命令查看发现 vip 不在 eth0 下面了;在从节点 10.1.12.3 使用 ifconfig 命令查看,发现 eth0 网络接口下多了一个 ip(vip 地址: 10.1.12.1)。

     c.重启主节点 10.1.12.2 的 keepalived 服务,使用 ifconfig 查看发现 vip 地址又回到了主节点 10.1.12.2 的 eth0 下面。

     d. keepalived 配置成功。


六、服务访问

     可以通过 vip 地址访问 ce 服务:http://10.1.12.1,也可以单独访问主节点 http://10.1.12.2 或从节点 http://10.1.12.3。



是否对你有帮助?