版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、双机热备份配置手册 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
2、 下安装配置的改动 .19 3.1 nginx.19 3.2 keepalived.21 3.3 heartbeat.24 3.4 添加 shell 脚本 .26 双机热备份配置手册 1 双机热备简介 双机热备及负载均衡配置图如下所示 主服务器 真实ip:7 keepalived绑定虚拟ip: 1(权值较高) nginx apache-tomcat heartbeat绑定虚拟ip: 5 mysql(master/slave) 从服务器 真实ip:8 keepalived绑定虚拟ip:
3、1(权值较低) nginx apache-tomcat heartbeat绑定虚拟ip: 5(同时只有1个) mysql(slave/master)两数据库相互备份 外部访问端口: 1: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:apach
4、e-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-
5、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=$pa
6、th:$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
7、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
8、 安装配置 先按照 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 数据文件导入:mysqlpmdb.sql; 6、退出 mysql,修改配置文件/etc/mysql/f 在 mysqld 字段中加入下面内容: 7、注意!(mysql 不区分表名大小写) lower_case_table_na
9、mes=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 限定,默认是均可以访问) 然后重启
10、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
11、=8 #主数据库 ip(另一台机器的实际 ip) master-port=3306 master-user=backup master-password=1234 master-connect-retry=20 report-host=7 replicate-do-db=pmdb replicate-rewrite-db=pmdb-pmdb #主数据库名-从数据库名 双机热备份配置手册 5、把从主数据库服务器备份出来的数据库导入到从服务器中 6、设置从服务器参数 mysql change master to - master_host=master_
12、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; 查看数据库的同步情况吧。如果能
13、够成功同步那就恭喜了! 查看主从服务器的状态 mysql show processlistg /可以查看 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.
14、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 / r
15、oot /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;
16、 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); 双机热备份配置手册
17、include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; upstream localhost server 0:8080 weight=1; server 9:8080 weight=1; ip_hash; #在没有做共享 session 的情况下 ip_hash 可以解决 session 问题 server listen 8888; server_name localhost; location / root html/solr; proxy_pass http:/
18、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_b
19、ody_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 ins
20、tall 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 7 priority 105 #主比
21、从数值大 advert_int 3 #smtp_alert authentication auth_type pass auth_pass 1234 track_script chk_nginx virtual_ipaddress 1 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
22、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、然后
23、,我们还需要修改/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
24、 localhost 7 mysql-lb1 #mysql-lb1 为主机名称,在/etc/hostname 中配 置 1 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
25、 node mysql-lb1 node mysql-lb2 respawn hacluster /usr/lib/heartbeat/ipfail apiauth ipfail gid=haclient uid=hacluster 双机热备份配置手册 7、在/etc/heartbeat/目录下新建文件 haresources,并编辑: mysql-lb1 5/24/eth0 8、在/etc/heartbeat/目录下新建文件 haresources,并编辑: auth 3 #1 crc #2 sha1 hi! 3 md5 hello! 9、重启 heartbeat,se
26、rvice heartbeat restart 10、输入 ip a ,查看绑定的虚拟 ip 是否绑定,如下图(5) 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、修改配置文件内容:压缩文件夹
27、中/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 -zx
28、vf 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
29、_module make make install 4、配置 修改配置文件/usr/local/nginx/conf/nginx.conf,添加下面内容到 http 中: upstream tomcats 双机热备份配置手册 server 0:8080 weight=1; #tomcat 服务器 server 9:8080 weight=1; ip_hash; #在没有做共享 session 的情况下 ip_hash 可以解决 session 问题 server listen 8888; server_name tomcats; location /
30、 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 $pro
31、xy_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/
32、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 kee
33、palived 1、首先下载所需要的软件 wget /software/keepalived-1.1.19.tar.gz wget /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 mak
34、e 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.
35、6.32-220.7.1.el6.i686/ make make install 5.配置 ! configuration file for keepalived global_defs notification_email 双机热备份配置手册 notification_email_from smtp_server smtp_connect_timeout 30 router_id pmsbackup static_ipaddress /24 brd + dev eth0 scope global vrrp_instance vi_1 state ma
36、ster interface eth0 dont_track_primary virtual_router_id 51 priority 100 advert_int 1 authentication auth_type pass auth_pass 1111 virtual_ipaddress 44/24 dev eth0 双机热备份配置手册 3.3 heartbeat 1、安装 cluster glue 安装 heartbeat 之前需要安装 glue。 yum install autoconf automake libtool glib2-devel libxml2
37、-devel bzip2-devel e2fsprogs-devel libxslt-devel libtool-ltdl-devel make wget(红色标记处也需要安装) groupadd haclient useradd -g haclient hacluster cd /tmp wget /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 ./config
38、ure -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.l
39、og 双机热备份配置手册 #mail -s mysql and ha warning!server: $db1ip ha is down /var/log/mysql_ha.log #mail -s mysql and ha warning!server: $db1ip mysql is down /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/
40、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/mysq
41、l_ha.log #mail -s mysql and ha warning!server: $db1ip ha is down /var/log/mysql_ha.log #mail -s mysql and ha warning!server: $db1ip mysql and ha all down /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 $
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金属材料采购管理制度
- 餐饮采购管理制度及流程
- 智慧云广播系统解决方案
- 2026年宁波市装修合同(1篇)
- 综合实践校园里的八个方向(课件)-2025-2026学年三年级上册数学北师大版
- 适合除夕发给对象的暖心文案4篇
- 燃气应急预案14篇
- 销售领导年会致辞7篇
- 2014施工方案大全(3篇)
- 中泰证券营销方案(3篇)
- 精神病院护士责任制度
- 2026年小升初测试题数学及答案
- 八年级下册12诗经二首《关雎》公开课一等奖创新教学设计
- 关于组织2026年春季新员工入职培训的通知函9篇范本
- 医疗设备维修与维护技术手册(标准版)
- 部编人教版道德与法治五年级下册全册配套课件
- 中国邮政理财考试试题附答案
- 2026年江西电力职业技术学院单招(计算机)考试参考题库附答案
- 2026CSCO肝癌诊疗指南
- 2025年佛山大学辅导员考试参考题库附答案
- ALC墙板安装专项施工方案2023年
评论
0/150
提交评论