




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
双机热备份配置手册 Nginx keepalived heartbeat 双机热备份配置手册双机热备份配置手册 双机热备份配置手册 正文目录正文目录 1 双机热备简介 4 2 双机热备安装与配置 5 2 1 安装环境和软件版本说明 5 2 2 系统安装 5 2 3 JDK 环境安装配置 5 2 4 MYSQL 安装配置 7 2 4 1 基本安装配置 7 2 4 2 数据库双机互备 7 2 5 反向代理服务器 NGINX 的安装配置 9 2 6 KEEPALIVED 安装配置 13 2 7 HEARTBEAT 的安装配置 15 2 8 APACHE TOMCAT 安装配置 17 3 CENTOS 下安装配置的改动 19 3 1 NGINX 19 3 2 KEEPALIVED 21 3 3 HEARTBEAT 24 3 4 添加 SHELL 脚本 26 双机热备份配置手册 1 双机热备简介 双机热备及负载均衡配置图如下所示 主服务器 真实IP 192 168 2 47 Keepalived 绑定虚拟IP 192 168 2 51 权值较高 nginx Apache tomcat Heartbeat 绑定虚拟IP 192 168 2 55 Mysql Master Slave 从服务器 真实IP 192 168 2 48 Keepalived 绑定虚拟IP 192 168 2 51 权值较低 nginx Apache tomcat heartbeat 绑定虚拟IP 192 168 2 55 同时只有1个 Mysql Slave Master 两数据库相互备份 外部访问端口 192 168 2 51 8888 双机热备份配置手册 2 双机热备安装与配置 2 1 安装环境和软件版本说明 系统 Linux Ubuntu 10 10 JDK 环境 jdk 6u31 linux i586 方向代理服务器 Nginx nginx 0 7 67 探测服务器状态软件 Keepalived keepalived 1 1 17 Web 服务器 Apache tomcat apache tomcat 6 0 35 数据库 MySQL mysql 5 1 61 2 2 系统安装 2 3 JDK 环境安装配置 1 安装 jdk 程序 最新版本 jdk jdk 6u31 linux i586 bin 进入 usr 目录 cd usr 在当前目录创建目录 java mkdir java 将 jdk 安装文件复制到 java 目录下 cp usr software jdk 6u31 linux i586 bin usr java 给安装程序赋予权限 chmod x jdk 6u31 linux i586 bin 执行安装命令 jdk 6u31 linux i586 bin 安装成功后 在 java 目录下会出现 jdk1 6 0 31 的目录 2 配置环境变量 编辑 etc profile 文件 vi etc profile 按 I 键进入编辑状态 在适当位置配置以下内容 双机热备份配置手册 export JAVA HOME usr java jdk1 6 0 31 export JRE HOME JAVA HOME jre export CLASSPATH JAVA HOME lib dt jar JAVA HOME lib tools jar JRE HOME lib r t jar export PATH PATH JAVA HOME bin 完成配置后 按 ESC 键 然后输入 wq 保存并退出 q 退出不保存 3 使配置文件生效 source etc profile 运行 java version 会有下面的提示 程序 java 已包含在下列软件包中 gcj 4 4 jre headless gcj 4 5 jre headless openjdk 6 jre headless 请尝试 sudo apt get install 执行下面两个命令 安装 java 到系统中 sudo update alternatives install usr bin java java usr java jdk1 6 0 31 bin java 300 sudo update alternatives install usr bin javac javac usr java jdk1 6 0 31 bin javac 300 设置默认的 JDK sudo update alternatives config java 4 再查看 java 版本 java version 显示版本信息则表示安装正确 如下图 5 注意事项 双机热备份配置手册 如果安装完之后 jdk 版本不是当前所安装的 则需先卸载之前 linux 自带的版 本 2 4 MySQL 安装配置 先按照 2 7 前几步配置 hostname 和 hosts 文件 2 4 1 基本安装配置 1 启用自动安装 mysql apt get install mysql server 2 设置 root 密码 如 1234 3 进入 mysql u root p 4 建立数据库 pmdb CREATE DATABASE pmdb 5 将之前导出的 pmdb 数据文件导入 mysql pmdb sql 6 退出 mysql 修改配置文件 etc mysql f 在 mysqld 字段中加入下面内容 7 注意 MYSQL 不区分表名大小写 lower case table names 1 default character set utf8 数据库缺省以 utf8 存储 init connect SET NAMES utf8 设定连接 mysql 数据库时使用 utf8 编码 以 让 mysql 数据库为 utf8 运行 2 4 2 数据库双机互备 1 设置主服务器 A 配置 my conf 文件 在 mysqld 中加入如下内容 master server id 1 log bin mysql bin binlog do db pmdb 双机热备份配置手册 将 bind address 所在行注释掉 访问 IP 限定 默认是均可以访问 然后重启 mysql 服务 2 将主数据库新建一个外部访问用户并赋予权限 GRANT REPLICATION SLAVE ON TO backup IDENTIFIED BY 1234 赋予 root 或其他用户 远程登录的权限 用于 tomcat 访问 GRANT ALL ON to backup IDENTIFIED BY 1234 3 锁定数据库 FLUSH TABLES WITH READ LOCK 4 导出数据库数据 3 查看主数据库状态 记录 File 和 Position 项目的值 以后要用的 4 设置从服务器 B slave master host 192 168 2 48 主数据库 IP 另一台机器的实际 IP master port 3306 master user backup master password 1234 master connect retry 20 report host 192 168 2 47 replicate do db pmdb replicate rewrite db pmdb pmdb 主数据库名 从数据库名 双机热备份配置手册 5 把从主数据库服务器备份出来的数据库导入到从服务器中 6 设置从服务器参数 mysql CHANGE MASTER TO MASTER HOST master host name 主服务器的 IP 地址 MASTER USER replication user name 同步数据库的用户 MASTER PASSWORD replication password 同步数据库的密码 MASTER LOG FILE recorded log file name 主服务器二进制日志的文件 名 前面要求记住的参数 MASTER LOG POS recorded log position 日志文件的开始位置 前面要求 记住的参数 e 启动同步数据库的线程 mysql slave start 查看数据库的同步情况吧 如果能够成功同步那就恭喜了 查看主从服务器的状态 mysql SHOW PROCESSLIST G 可以查看 mysql 的进程看看是否有监听的进 程 如 mysql2 上查看到监听 的的进程 7 将 B 设为主服务器 A 为从服务器 按上面步骤重新设置 8 测试改变 A 服务器中数据库 pmdb 中数据 查看 B 中的变化 再修改 B 查 看 A 中数据的变化 2 5 反向代理服务器 nginx 的安装配置 两台主机均安装以下步骤配置 双机热备份配置手册 1 安装 Nginx 所需 pcre 库 注意 安装前需要已安装 gcc c 包 wget ftp ftp csx cam ac uk pub software programming pcre pcre 8 10 tar gz tar zxvf pcre 8 10 tar gz cd pcre 8 10 configure make make install 2 安装 Nginx 自动安装 sudo apt get install nginx 启动服务 在浏览器中输入 http localhost 若显示 Nginx 欢迎界面 则安装成 功 安装完后直接访问可能会提示 403 Ubuntu 系统会提示 这时修改 etc nginx sites enabled default 将 location root var www index index html index htm 改为 location root var www nginx default index index html index htm 即可 3 配置 编辑配置文件 etc nginx nginx conf 双机热备份配置手册 user www www worker processes 2 error log var log nginx error log pid var run nginx pid worker rlimit nofile 51200 events use epoll worker connections 2048 multi accept on http include etc nginx mime types default type application octet stream access log var log nginx access log sendfile on tcp nopush on keepalive timeout 0 keepalive timeout 65 tcp nodelay on gzip on gzip disable MSIE 1 6 SV1 双机热备份配置手册 include etc nginx conf d conf include etc nginx sites enabled upstream localhost server 192 168 2 50 8080 weight 1 server 192 168 2 49 8080 weight 1 ip hash 在没有做共享 session 的情况下 ip hash 可以解决 session 问题 server listen 8888 server name localhost location root html solr proxy pass http localhost include proxy conf error page 500 502 503 504 50 x html location 50 x html root html 其中 proxy conf 文件为 proxy redirect off proxy set header Host http host 双机热备份配置手册 proxy set header X Real IP remote addr proxy set header X Forwarded For proxy add x forwarded for client max body size 10m client body buffer size 128k proxy connect timeout 300 proxy send timeout 300 proxy read timeout 300 proxy buffer size 4k proxy buffers 4 32k proxy busy buffers size 64k proxy temp file write size 64k 4 重启 nginx service nginx restart 2 6 Keepalived 安装配置 1 自动安装 sudo apt get install keepalived 2 按照如下内容编辑配置文件 etc keepalived keepalived conf vrrp script chk nginx script sh root scripts monitor nginx sh 监控和启动 nginx 进程脚本 interval 2 检查间隔 weight 2 vrrp instance VI 1 state MASTER 从是 BACKUP interface eth0 virtual router id 51 双机热备份配置手册 mcast src ip 192 168 2 47 priority 105 主比从数值大 advert int 3 smtp alert authentication auth type PASS auth pass 1234 track script chk nginx virtual ipaddress 192 168 2 51 3 添加启动和判断 nginx 正常工作的脚本 在新建文件 root scripts monitor nginx sh 内容如下 bin bash B ps ef grep nginx master process grep v grep echo B if z B then etc init d nginx start sleep 5 B ps ef grep nginx master process grep v grep 双机热备份配置手册 if z B then killall keepalived fi fi 4 重启 keepalived service keepalived restart 2 7 Heartbeat 的安装配置 主从机器安装步骤相同 1 让内核支持 IPVS 首先 我们必须让 和 两台服务器的内核支持 IPVS IP Virtual Server 通过 IPVS 我们可以在 Linux 内核级别上实现传输层的负载均衡 执行下面的命令 2 然后 我们还需要修改 etc modules 添加这些模块 以便系统在重新启动时 能够自动加载它们 执行下面的命令 sudo nano etc modules 在文件末尾 添加下列内容 双机热备份配置手册 3 此外 我们还需要启用内核的包转发功能 执行下面的命令 sudo nano etc sysctl conf 将 net ipv4 ip forward 所在行的注释去掉 文件保存后 运行命令使之立即生效 sudo sysctl p 4 安装 heartbeat 前 我们要先调节负载均衡节点上的 etc hosts 文件 sudo nano etc hosts 127 0 0 1 localhost 192 168 2 47 mysql lb1 mysql lb1 为主机名称 在 etc hostname 中配 置 192 168 2 51 mysql lb2 5 启动自动安装 apt get install heartbeat 6 在 etc heartbeat 目录下新建文件 ha cf 并编辑 logfile var log ha log logfacility local0 keepalive 2 deadtime 5 warntime 10 initdead 10 udpport 694 bcast eth0 auto failback off node mysql lb1 node mysql lb2 respawn hacluster usr lib heartbeat ipfail apiauth ipfail gid haclient uid hacluster 双机热备份配置手册 7 在 etc heartbeat 目录下新建文件 haresources 并编辑 mysql lb1 192 168 2 55 24 eth0 8 在 etc heartbeat 目录下新建文件 haresources 并编辑 auth 3 1 crc 2 sha1 HI 3 md5 Hello 9 重启 heartbeat service heartbeat restart 10 输入 ip a 查看绑定的虚拟 IP 是否绑定 如下图 192 168 2 55 2 8 Apache tomcat 安装配置 两台机器配置基本相同 1 下载软件压缩包 apache tomcat 6 0 35 tar gz 2 在 usr 目录下新建文件夹 tomcat 并进入此文件夹 3 将压缩包解压 tar zxvf apache tomcat 6 0 35 tar gz 4 将 mysql 驱动文件 mysql connector java 5 1 13 bin jar 放入 lib 文件夹下 5 修改配置文件内容 压缩文件夹中 conf content xml 在标签中添加如下内容 6 将 web 服务导出文件 pmweb war 放入 webapps 文件夹下 7 启动服务器 sh bin start sh 双机热备份配置手册 3 CentOS 下安装配置的改动 CentOS 下使用的是手动安装软件 遇到较多问题 3 1 Nginx 1 首先安装 Nginx 所需 pcre 库 安装前确认已安装 c 和 c 编译工具 如 gcc gcc c wget ftp ftp csx cam ac uk pub software programming pcre pcre 8 10 tar gz tar zxvf pcre 8 10 tar gz cd pcre 8 10 configure make make install 2 安装 openssl devel Yum install openssl devel 3 安装 nginx groupadd www useradd g www www tar zxvf nginx 0 8 52 tar gz cd nginx 0 8 52 configure user www group www prefix usr local nginx with http stub status module with http ssl module make make install 4 配置 修改配置文件 usr local nginx conf nginx conf 添加下面内容到 http 中 upstream tomcats 双机热备份配置手册 server 192 168 2 50 8080 weight 1 tomcat 服务器 server 192 168 2 49 8080 weight 1 ip hash 在没有做共享 session 的情况下 ip hash 可以解决 session 问题 server listen 8888 server name tomcats location root html solr proxy pass http tomcats include proxy conf error page 500 502 503 504 50 x html location 50 x html root html 5 配置文件目录下添加 proxy conf 文件 内容如下 proxy redirect off proxy set header Host http host proxy set header X Real IP remote addr proxy set header X Forwarded For proxy add x forwarded for client max body size 10m client body buffer size 128k proxy connect timeout 300 双机热备份配置手册 proxy send timeout 300 proxy read timeout 300 proxy buffer size 4k proxy buffers 4 32k proxy busy buffers size 64k proxy temp file write size 64k 6 测试配置文件 usr local nginx sbin nginx t 如果出现以下情况 usr local nginx sbin nginx error while loading shared libraries libpcre so 1 cannot open shared object file No such file or directory 解决办法 sudo ln s usr local lib libpcre so 1 usr lib libpcre so 1 如下图表示配置文件没有错误 7 启动 nginx usr local nginx sbin nginx 8 注意 防火墙可以导致无法访问 3 2 Keepalived 1 首先下载所需要的软件 wget http keepalived org software keepalived 1 1 19 tar gz wget http rpm5 org files popt popt 1 16 tar gz 2 安装 popt 双机热备份配置手册 安装前确认已安装 gcc 编译 keepalived 时需要 popt 否则会报以下错误 configure error Popt libraries is required tar zxvf popt 1 16 tar gz cd popt 1 16 configure make make install 3 安装 openssl 等 keepalived 依赖软件 yum install ipvsadm yum install kernel kernel devel yum install openssl devel 4 安装 keepalived tar zxvf keepalived 1 1 19 tar gz cd keepalived 1 1 19 configure prefix usr local keepalived mandir usr local share man with kernel dir usr src kernels 2 6 32 220 7 1 el6 i686 make make install 5 配置 Configuration File for keepalived global defs notification email 409554967 双机热备份配置手册 notification email from 409554967 smtp server 127 0 0 1 smtp connect timeout 30 router id pmsbackup static ipaddress 192 168 1 4 24 brd dev eth0 scope global vrrp instance VI 1 state MASTER interface eth0 dont track primary virtual router id 51 priority 100 advert int 1 authentication auth type PASS auth pass 1111 virtual ipaddress 192 168 1 244 24 dev eth0 双机热备份配置手册 3 3 Heartbeat 1 安装 cluster glue 安装 heartbeat 之前需要安装 glue yum install autoconf automake libtool glib2 devel libxml2 devel bzip2 devel e2fsprogs devel libxslt devel libtool ltdl devel make wget 红色标记处也需要安装 groupadd haclient useradd g haclient hacluster cd tmp wget http hg linux ha org glue archive glue 1 0 9 tar bz2 tar xjf glue 1 0 9 tar bz2 cd Reusable Cluster Components glue glue 1 0 9 autogen sh configure prefix usr local heartbeat LIBS lib libuuid so 1 64 位系统上是 LIBS lib64 libuuid so 1 make then echo TIMESTAMP DB1IP ha start successful nginx and ha all running var log mysql ha log else echo TIMESTAMP DB1IP ha is down let DB2IP to take over nginx please start ha now var log mysql ha log 双机热备份配置手册 mail s mysql and ha warning server DB1IP ha is down hamgua var log mysql ha log mail s mysql and ha warning server DB1IP mysql is down hamgua var log mysql ha log fi else echo TIMESTAMP DB1IP nginx and ha all down first restart nginx when nginx is run restart ha var log mysql ha log usr local nginx sbin nginx etc rc d init d mysqld start if NGPORT 8888 then etc rc d init d heartbeat start if HAPORT 694 then 双机热备份配置手册 echo TIMESTAMP DB1IP nginx and ha all running var log mysql ha log else echo TIMESTAMP DB1IP nginx is running ha is down please restart ha var log mysql ha log mail s mysql and ha warning server DB1IP ha is down hamgua var log mysql ha log mail s mysql and ha warning server DB1IP mysql and ha all down hamgua var log mysql ha log else echo TIMESTAMP DB1IP mysql is running but tomcat is down start tomcat now var log mysql ha log sh usr local tomcat6 apache tomcat 6 0 35 bin startup sh if TMPORT 8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 儿童挖矿活动方案
- 儿童摄影冬天活动方案
- 儿童数字推广活动方案
- 儿童机构活动方案
- 儿童楼梯活动方案
- 儿童活动暖场活动方案
- 儿童活动比赛活动方案
- 儿童爬山活动方案
- 儿童精彩活动方案
- 儿童舞台活动方案
- 中学生物课程教学设计知到课后答案智慧树章节测试答案2025年春河南大学
- 2025年上半年安徽省滁州市来安县政府购买岗招聘15人易考易错模拟试题(共500题)试卷后附参考答案
- 生物安全管理体系文件
- 航空测绘项目服务创新措施
- 2025年中国广电网络股份有限公司招聘笔试参考题库含答案解析
- 互联网+医疗:智慧医疗解决方案
- 建筑工程仪器设备使用方案
- 呼吸科患者出院指导
- 中医治疗协议书范本(2篇)
- 【MOOC】测量学-西北农林科技大学 中国大学慕课MOOC答案
- 【MOOC】线性代数及其应用-天津大学 中国大学慕课MOOC答案
评论
0/150
提交评论