1、产品版本 密级 iV100 机密基于Linux系统和 MySQL数据库的双机热备环境安装实施指南共17 页基于Linux 系统和MySQL数据库的双机热备环境安装实施指南拟制 左力华 日期 2012-12-21审核 日期批准 日期版权所有 侵权必究基于 Linux系统和MySQL 数据库的双机热备环境安装实施指南版权所有,侵权必究 第2页,共18页目 录1 概述 .3关于本章 31.1 双机概述 31.2 Heartbeat 介绍 .42 环境及布局 .5关于本章 52.1 运行环境 52.2 布线连接及IP地址分配 .62.2.1 直连网线布线连接 .62.2.2 串口布线连接 .73 软件
2、安装 .9关于本章 93.1 磁盘阵列划分 .10操作步骤 103.2 安装网络对时服务 .113.2.1 安装NTP服务 .11操作步骤 113.2.2 配置NTP服务端 .12操作步骤 123.2.3 配置NTP客户端 .12操作步骤 123.3 安装和配置Heartbeat 软件 133.3.1 安装Heartbeat 。 13操作步骤 133.3.2 配置Heartbeat 软件 14操作步骤 143.4 安装MySQL 数据库 173.5 配置MySQL 数据库 17操作步骤 17基于 Linux系统和MySQL 数据库的双机热备环境安装实施指南版权所有,侵权必究 第3页,共18页1
3、 概述关于本章本章描述内容如下表所示。标题 内容1.1 双机概述 对双机热备进行简单介绍。1.2 Heartbeat 介绍 对Heartbeat 集群软件进行简单介绍1.1 双机概述双机热备这一概念包括了广义与狭义两种意义。 从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务。当一台服务器出现故障时,可以由另一台服务器承担服务任务,从而在不需要人工干预的情况下,自动保证系统能持续提供服务。双机热备由备用的服务器解决了在主服务器故障时服务不中断的问题,但在实际应用中,可能会出现多台服务器的情况,即服务器集群。从狭义上讲,双机热备特指基于active/standby方式的服
4、务器热备。服务器数据包括数据库数据同时写入两台或多台服务器,或者使用一个共享的存储设备。系统在同一时间内只有一台服务器提供服务为Active状态,而当处于 Active状态的服务器出现故障无法提供服务时,另一台备份服务器会通过软件诊测(一般是通过心跳诊断)将standby机器激活,保证应用在短时间内完全恢复正常使用。双机热备的实施一般情况下需要有共享的存储设备和专业的集群软件或双机软件。在本文中,使用Heartbeat 集群软件和MySQL数据库系统,使用TOYOU NetStor_iSUM530共享存储设备作为存储载体搭建Linux操作系统下的CBC业务的双机热备环境。基于 Linux系统和
5、MySQL 数据库的双机热备环境安装实施指南版权所有,侵权必究 第4页,共18页1.2 Heartbeat 介绍Heartbeat 软件是 Linux-HA项目的一个组成部分,它实现了一个高可用集群系统。作为一个开源和免费的项目,自1999 年开始到现在,发布了众多版本,是 Linux-HA项目最成功的一个例子,在行业内得到了广泛的应用。Heartbeat通过插件技术实现了集群间的 串口、多播、广播和组播通信,在配置的时候可以根据通信媒介选择采用的通信协议,Heartbeat通过冗余通信通道和消息重传机制来保证通信的可靠性。Heartbeat检测主通信链路工作状态的同时也检测备用通信链路状态,
6、并把这一状态报告给系统管理员,这样可以大大减少因为多重失效引起的集群故障不能恢复。Heartbeat通过实现不同的通信子系统,从而避免了某一通信子系统失效而引起的通信失效,最典型的就是采用以太网和串口相结合的通信方式。基于 Linux系统和MySQL 数据库的双机热备环境安装实施指南版权所有,侵权必究 第5页,共18页2 环境及布局关于本章本章描述内容如下表所示。标题 内容2.1 运行环境 对运行环境的要求2.2 布线连接及IP地址分配 布线连接及IP地址分配规划方案 2.1 运行环境下面以CBCV10.0项目为例,具体实施时硬件设备型号可以灵活更换,但数量不能减少)设备名称 设备功能 补充说
7、明一、硬件部分HP DL580数据库服务器和业务服务器(以下简称服务器),用来安装数据库及业务系统软件。2 台,互为主备服务器。使用以太网线作为心跳线每台服务器至少须具备 2 个网口。 1 个与业务交换机连接,1 个使用直连线组成心跳网络。使用 RS232 串口作为心跳线须每台服务器至少须具备 1 个网口及 1个 RS232 串口,1 个与业务交换机连接,1 个使用 RS232 直连线组成心跳网络。TOYOU NetStori SUM530 磁阵存储设备,用来存放业务 1 套,可选择带 1 个或 2 个控制器。基于 Linux系统和MySQL 数据库的双机热备环境安装实施指南版权所有,侵权必究
8、 第6页,共18页系统的业务数据。交换机 1(至少需要 2 个剩余端口) 1 台二、软件部分CentOS 6.2 操作系统 2 套 MySQL 数据库 2 套CBC 业务系统 1 套2.2 布线连接及 IP 地址分配主备服务器可以选择使用直连网线或者RS232直连串口的方式进行心跳网络布线,下面分别进行描述。2.2.1 直连网线布线连接直连网线布线示意如下图,图中仅示意满足业务需要的最少连线,在实际实施过程中可能存在如下情况: 服务器使用单独的管理管段:每台服务器再增加一根网线到单独的管理交换机。 NetStor iSUM530 使用双控制卡:增加 2 根光纤线从两台库服务器连接到控制器 B请
9、根据实际情况进行网络布线规划。业务交换机R J 4 5 连接R J 4 5 连接控制器 A2 U2 U服务器 A2 U服务器 BR J 4 5 连接R J 4 5 直连线连接光纤线连接控制器 A - 1 口光纤线连接控制器 A - 2 口N e t S t o r i S U M 5 3 0基于 Linux系统和MySQL 数据库的双机热备环境安装实施指南版权所有,侵权必究 第7页,共18页IP地址规划如下表,后文将以举例数据进行描述,实际操作时请根据实际情况进行:网络接口 要求项 举例服务器 A 的直连网络接口子网段地址必须与外部网络接口不相同,且必须与服务器 B 的直连网络子网段地址相同。
10、 192.168.2.10服务器 B 的直连网络接口子网段地址必须与外部网络接口不相同,且必须与服务器 A 的直连网络子网段地址相同。 192.168.2.11服务器 A 的外部网络接口 子网段地址必须与内部网络接口不相同。 192.168.1.10服务器 B 的外部网络接口子网段地址必须与直连网络接口不相同,且必须与服务器 A 的外部网络子网段地址相同。 192.168.1.11NetStor_iSUM530 管理网络接口子网段地址无特殊要求,便于访问和配置可以设置成与外部网络子网段地址相同。192.168.1.12名称 要求项 举例主机名 二台服务器主机名必须不一致,建议使用形象且易区分的
11、标识服务器 A:cbc-app1服务器 B:cbc-app2群集虚拟 IP 地址 必须与二台服务器的外部网络接口处于同一个网段,且不重复。 192.168.1.20服务器管理员密码 二台服务器的管理员密码最好保持一致,便于调试。2.2.2 串口布线连接Heartbeat 服务对串口直连心跳线有严格要求,若不符合其要求将导致心跳网络连接失败,其线序连接说明如下:41+6 DTRDCD+DSR32 TXDRXD87 CTSRTS55 GNDGNDRS232串口直连布线示意如下图,图中仅示意满足业务需要的最少连线,在实际实施过程中可能存在如下情况: 服务器使用单独的管理管段:每台服务器再增加一根网线
12、到单独的管理交换机。 NetStor iSUM530 使用双控制卡:增加 2 根光纤线从两台库服务器连接到控制器 B请根据实际情况进行网络布线规划。基于 Linux系统和MySQL 数据库的双机热备环境安装实施指南版权所有,侵权必究 第8页,共18页业务交换机R J 4 5 连接R J 4 5 连接控制器 A2 U2 U服务器 A2 U服务器 BR J 4 5 连接R J 2 3 2 直连线连接光纤线连接控制器 A - 1 口光纤线连接控制器 A - 2 口N e t S t o r i S U M 5 3 0IP地址规划如下表,请根据实际情况进行规划:网络接口 要求项 举例服务器 A 的外部
13、网络接口 子网段地址必须与内部网络接口不相同。 192.168.1.10服务器 B 的外部网络接口子网段地址必须与直连网络接口不相同,且必须与服务器 A 的外部网络子网段地址相同。 192.168.1.11NetStor_iSUM530 管理网络接口子网段地址无特殊要求,便于访问和配置可以设置成与外部网络子网段地址相同。 192.168.1.12软件资源规划如下表,请根据实际情况进行规划:名称 要求项 举例主机名 二台服务器主机名必须不一致,建议使用形象且易区分的标识服务器 A:cbc-app1服务器 B:cbc-app2群集虚拟 IP 地址 必须与二台服务器的外部网络接口处于同一个网段,且不
14、重复。 192.168.1.20服务器管理员密码 二台服务器的管理员密码最好保持一致,便于调试。基于 Linux系统和MySQL 数据库的双机热备环境安装实施指南版权所有,侵权必究 第9页,共18页3 软件安装关于本章安装双机热备系统的流程如下:标题 内容3.1 磁盘阵列划分 划分磁盘阵列3.2 安装网络对时服务 安装和配置ntp服务3.3 安装和配置Heartbeat 软件 安装和配置Heartbeat 服务3.4 安装MySQL 数据库 安装MySQL数据库3.5 配置MySQL 数据库 配置MySQL数据库Error! Reference source not found.Error!
15、Reference source not found.安装双机CBC服务安装前,须确认已经满足以下要求:1) 硬件均已可靠安装,上电自检正常。2) 布线安装完成,网络正常。3) IP 地址和软件资源规划完成。4) 两台服务器操作系统安装完成。基于 Linux系统和MySQL 数据库的双机热备环境安装实施指南版权所有,侵权必究 第10页,共18页注意:文档中所有命令区分大小写,均在 CentOS 6.2 下验证通过,若使用其他Linux 发行版本,请根据安装系统进行相应修改。Heartbeat 软件的安装包在文档附件中。3.1 磁盘阵列划分磁盘阵列划分主要是指定RAID级别,划分卷工作,请参考磁
16、阵设备操作手册使用IE 访问磁盘阵列控制卡的WEB 管理页面,注意 PC上的网段须更改为磁阵相同的网段才能正确访问。操作步骤步骤 1 创建虚拟磁盘,指定 RAID 级别步骤 2 创建卷步骤 3 修改 IP 地址请参考此阵设备操作手册完成上述操作,一般来说,建议使用RAID5级别,创建1个200G-2T的卷作为CBC业务数据库的数据盘。注意:磁阵分区全部完成需要10个小时左右的时间,在进行磁盘分区设置时,可以同时进行安装服务器操作系统和数据库软件等操作,但是安装CBC软件必须等磁阵分区工作全部完成才可以进行。安装完成磁阵分区示意图如下所示:基于 Linux系统和MySQL 数据库的双机热备环境安
17、装实施指南版权所有,侵权必究 第11页,共18页3.2 安装网络对时服务3.2.1 安装 NTP 服务在集群系统中,必须确保两台服务器系统时间一致才能准确的进行主备切换操作,在Linux下安装网络对时服务(NTP)可确保服务器时间一致。NTP服务器需要在两台服务器中分别安装NTP软件,NTP服务可以使用外部时间源,也可直接使用本地时间,下文描述中使用A服务器的本地时间作为时间源, B服务器定期从A服务器获取时间进行同步,因此要首先确保A服务器时间准确。操作步骤步骤 1 使用 root 用户登陆服务器 A 和 B,分别进行如下操作。步骤 2 将 NTP 服务软件拷贝至指定目录。步骤 3 打开命令
18、控制台,输入命令:基于 Linux系统和MySQL 数据库的双机热备环境安装实施指南版权所有,侵权必究 第12页,共18页#rpm -i ntp-4.2.4p8-2.el6.centos.i686.rpm#rpm -i ntpdate-4.2.4p8-2.el6.centos.i686.rpm步骤 4 安装完成之后,启动 net 服务,输入命令:#service ntpd start3.2.2 配置 NTP 服务端操作步骤步骤 1 使用 root 用户登陆 A 服务器。步骤 2 停止 ntp 服务,打开命令控制台,输入命令:#service ntpd stop步骤 3 修改/etc/ntp.c
19、onf ,打开命令控制台,输入命令:#vim /etc/ntp.conf步骤 4 按 i 进入编辑,修改内容:修改前:修改后:修改前:修改后:步骤 5 按 Esc,输入:wq 保存并退出编辑。步骤 6 启动 ntp 服务,打开命令控制台,输入命令:#service ntpd startntpd 启动后,客户机要等几分钟再与其进行时间同步,请等待 3-5 分钟后确认2 台服务器时间是否一致。3.2.3 配置 NTP 客户端操作步骤步骤 1 使用 root 用户登陆服务器 B。基于 Linux系统和MySQL 数据库的双机热备环境安装实施指南版权所有,侵权必究 第13页,共18页步骤 2 使用 c
20、rontab 来执行 ntpdate 同步时间,修改 crontab 文件,打开命令控制台,输入命令:#vim /etc/crontab步骤 3 按 i 进入编辑,将以下内容输入在文件最后* 23 * * * root ntpdate 192.168.1.11 & hwclock -w注解:该计划任务将在每天 23 点 root 用户执行 ntpdate 从 192.168.1.11(服务器A)进行时间同步操作。计划时间取值可参考下图进行设置:步骤 4 按 Esc,输入:wq 保存并退出编辑。3.3 安装和配置 Heartbeat 软件3.3.1 安装 Heartbeat 。需要在两台服务器上
21、分别安装群集管理软件,其操作步骤完全一致。本节中Heartbeat安装文件如下:操作步骤步骤 1 使用 root 用户登陆服务器 A 和 B,分别进行如下操作。步骤 2 将 Heartbeat 安装文件拷至服务器中步骤 3 打开命令控制台。步骤 4 安装 Heartbeat 软件,执行命令如下。#rpm -i openssl098e-0.9.8e-17.el6.centos.2.i686.rpm 基于 Linux系统和MySQL 数据库的双机热备环境安装实施指南版权所有,侵权必究 第14页,共18页#rpm -i compat-libcurl3-7.15.5-1.el5.remi.i386.r
22、pm#rpm -i libheartbeat 2-2.99.2-8.1.i386.rpm#rpm -i heartbeat -common-2.99.2-8.1.i386.rpm#rpm -i heartbeat -resources-2.99.2-2.8.1.i386.rpm#rpm -i perl-TimeDate-1.16-11.1.el6.noarch.rpm#rpm -i heartbeat -2.99.2-8.1.i386.rpm3.3.2 配置 Heartbeat 软件需要在两台服务器上分别配置群集管理软件,其操作步骤完全一致,配置内容在下文中没有明确指出的配置项应确保完全一致,
23、请根据实际情况和文档描述进行修改。操作步骤步骤 1 使用 root 用户登陆系统服务器 A 和 B,分别进行如下操作。步骤 2 打开命令控制台,输入命令:#service iptables stop步骤 3 打开命令控制台,输入命令:#chkconfig iptables off步骤 4 打开命令控制台,输入命令:#vim /etc/selinux/config步骤 5 按 i 进入编辑,将以下内容输入文件中(覆盖原有内容):# This file controls the state of SELinux on the system.# SELINUX= can take one of th
24、ese three values:# enforcing - SELinux security policy is enforced.# permissive - SELinux prints warnings instead of enforcing.# disabled - No SELinux policy is loaded.SELINUX=disabled# SELINUXTYPE= can take one of these two values:# targeted - Targeted processes are protected,# mls - Multi Level Se
25、curity protection.基于 Linux系统和MySQL 数据库的双机热备环境安装实施指南版权所有,侵权必究 第15页,共18页SELINUXTYPE=targeted步骤 6 按 Esc,输入:wq 保存并退出编辑。步骤 7 重启服务器。步骤 8 使用 root 用户登录,打开命令控制台,输入命令:#vim /etc/ha.d/ha.cf步骤 9 按 i 进入编辑 若使用串口线连接作为心跳网络,将以下内容输入文件中,“#“是对输入内容的注释。logfile /var/log/ha-logbaud 19200serial /dev/ttyS0 #串口设备名称请根据实际情况进行修改k
26、eepalive 2 warntime 10deadtime 30inittime 120auto_failback offnode cbc-test1 #该选项是必须配置的。集群中机器的主机名node cbc-test2 #该选项是必须配置的。集群中机器的主机名 若使用网线连接作为心跳网络,将以下内容输入文件中,注意 ucast 配置项的 IP 地址在两台服务器须分别配置为对端私有 IP 地址。logfile /var/log/ha-logucast eth1 192.168.2.11 #eth1 为直连网络网卡设备名,请根据实际情况修改,IP 地址为对端服务器的直连网络 IP 地址,两台服
27、务器的该项配置必须确保不一致,一定要修改keepalive 2 warntime 10deadtime 30inittime 120auto_failback off基于 Linux系统和MySQL 数据库的双机热备环境安装实施指南版权所有,侵权必究 第16页,共18页node cbc-ap1node cbc-ap2步骤 10 按 Esc,输入:wq 保存并退出编辑。步骤 11 打开命令控制台,输入命令:#vim /etc/ha.d/haresources步骤 12 按 i 进入编辑,将以下内容复制到文件中,并根据实际情况修改其 IP 地址和文件参数。cbc-app1 IPaddr:192.1
28、68.1.20/24/eth0 Filesystem:/dev/sdc1:/media/datalate:ext3 mysqld CBCServer#cbc-app1 默认主服务器机器名,两台服务器配置必须一致#IPaddr:192.168.1.20/24/eth0 集群虚拟浮动 IP,eth0 为外部网卡名称,请根据实际情况修改#/dev/sdc1 为磁阵数据盘的设备名称,一定要根据实际情况修改,并预先格式化 为 ext3 格式#/media/datalate 为磁阵共享磁盘本地挂载目录,可根据实际情况修改步骤 13 按 Esc 输入:wq 保存并退出编辑。步骤 14 打开命令控制台,输入如
29、下命令创建本地挂载目录,必须与步骤 6 中目录配置保持一致:#mkdir /media/datalate步骤 15 配置 autnkeys 认证密钥。打开命令控制台,输入以下命令:#vim /etc/ha.d/authkeys步骤 16 按 i 进入编辑,将以下内容输入文件中。auth 11 crc步骤 17 按 Esc 输入:wq 保存并退出编辑。步骤 18 打开命令控制台,输入命令:#chmod 600 /etc/ha.d/authkeys基于 Linux系统和MySQL 数据库的双机热备环境安装实施指南版权所有,侵权必究 第17页,共18页步骤 19 打开命令控制台,输入命令:#vim
30、/etc/hosts步骤 20 按 i 进行编辑,在文件最后输入以下内容:192.168.1.10 cbc-app1192.168.1.11 cbc-app2步骤 21 按 Esc,输入:wq 保存并退出。3.4 安装 MySQL 数据库两台服务器需要分别安装MySQL数据库软件,安装步骤与单机环境一致,此处不再详述。3.5 配置 MySQL 数据库两台服务器上分别安装完MySQL数据库软件后,需要修改数据路径才能确保集群运行正常,配置步骤见下文描述。操作步骤步骤 1 使用 root 用户登陆服务器 A 和 B,分别进行如下操作。步骤 2 打开命令控制台,输入命令:# service mysq
31、ld stop步骤 3 修改 mysql 的数据文件以及 socket 路径,打开命令控制台,输入命令:# vim /etc/f步骤 4 按 i 进行编辑,将文件中对应的内容改为如下内容(覆盖原有内容) ,其中的datadir 和 socket 配置项的目录应根据实际情况修改,必须与 Heartbeat 配置时的数据盘挂载目录保持一致:mysqlddatadir=/media/datalate/mysqlsocket=/media/datalate/mysql/mysql.sock基于 Linux系统和MySQL 数据库的双机热备环境安装实施指南版权所有,侵权必究 第18页,共18页user=
32、mysql# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0max_allowed_packet = 16Mclientport = 3306socket = /media/datalate/mysql/mysql.sockmysqlsocket=/media/datalate/mysql/mysql.sockmysqladminsocket=/media/datalate/mysql/mysql.sockmysqldumpsocket=/media/datal
33、ate/mysql/mysql.sockmysqld_safesocket=/media/datalate/mysql/mysql.socklog-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid步骤 5 按 Esc,输入:wq 保存并退出。步骤 6 设置 permissive 模式,打开命令控制台,输入命令:# stenforce 0步骤 7 修改 mysqld 脚本,打开命令控制台,输入命令:# vim /etc/init.d/mysqld步骤 8 按 i 进行编辑,将文件中对应的内容修改为如下内容,其中的目录设置可根据实际情况修改,但必须与 Heartbeat 配置时的数据盘挂载目录保持一致:datadir=/media/datalate/mysql步骤 9 按 Esc,输入:wq 保存并退出。步骤 10 打开命令控制台,输入命令:# service mysqld start