keeplived+LVS+DNS三者之间的关系
1 | LVS负责负载均衡,根据算法调度DNS集群;而keeplived则是为了解决LVS的单点故障 |
测试环境
本测试方案采用LVS(DR)+Keepalived部署高可用的DNS服务集群。
1 | (1)服务器IP规划: |
配置LB-1服务器
安装lvs和keepalived
1 | #安装ipvsadm |
keepalived参数详解
1 | ! Configuration File for keepalived #与#号一样,都是注释 |
keeplived配置
cat /etc/keepalived/keepalived.conf
1 | ! Configuration File for keepalived |
启动keepalived服务
1 | service keepalived restart |
查看配置是否生效
1 | [root@LB-1 ~]# ipvsadm -Ln |
配置LB-2服务器
安装lvs和keepalived
1 | #安装ipvsadm |
keepalived配置
cat /etc/keepalived/keepalived.conf
1 | ! Configuration File for keepalived |
启动keepalived服务
1 | service keepalived restart |
查看配置是否生效
1 | [root@LB-1 ~]# ipvsadm -Ln |
配置DNS主从
在DNS1和DNS2上操作
1 | yum install bind-utils bind bind-devel bind-chroot -y |
DNS1-主上配置
1 | DNS配置文件/etc/named.conf,备份后清空源文件,自己创建 |
1 | 配置文件: |
编辑/etc/named.conf
1 | options { |
编辑rndc.key文件(key来自于rndc-confgen生成的key)
1 | key "rndc-key" { |
查看/etc/rndc.conf文件
1 | key "rndc-key" { |
编辑/var/named/chroot/etc/view.conf
1 | view "View" { //配置bind视图功能 |
1 | 参数补充: |
编辑/var/named/chroot/etc/test.org.zone 【正向区域文件名称需与view.conf中一致】
1 | $ORIGIN . |
编辑/var/named/chroot/etc/56.168.192.zone 【反向区域文件名称需与view.conf中一致】
1 | $TTL 3600 ; 1 hour |
修改目录权限,并启动服务
1 | 修改DNS区域文件存放目录的权限 |
管理DNS1
1 | rndc reload 重新加载区域文件 |
DNS1测试-master节点
1 | dig @192.168.56.23 www.test.org #测试正向解析 |
DNS2-从上配置
编辑主配置文件/etc/named.conf
1 | options { |
编辑/etc/rndc.key
1 | key "rndc-key" { |
编辑/etc/rndc.conf
1 | key "rndc-key" { |
编辑/var/named/chroot/etc/view.conf
1 | view "SlaveView" { |
启动从节点DNS
1 | cd /var && chown -R named.named named/ |
从DNS2测试
1 | dig @192.168.56.24 www.test.org #测试正向解析 |
此时再回到LB-1和LB-2重新执行命令
1 | [root@LB-1 ~]# ipvsadm -Ln |
在每台的real server上执行脚本
我们定义的realserver其实是2台主从DNS,所以在主从DNS上执行如下脚本。
1 | #!/bin/bash |
1 | 注:此配置与上面的脚本功能一致,便于理解其含义 |
执行脚本
1 | [root@DNS1 ~]# sh realserver.sh start |
同内网客户端-测试
虚拟VIP-测试
1 | C:\Users\mx-0123>dig www.test.org @192.168.56.100 |
VIP抢占测试(简单粗暴)
1 | 1.直接shutdown LB-1 master节点 |
故障排查
1 | VIP抢占过程中遇到的坑,而且是自己给自己埋的坑。不废话,直奔主题 |
- 本文作者: GaryWu
- 本文链接: https://garywu520.github.io/2017/09/14/keepalived-主从-LVS-DR模型-DNS实现高可用集群服务/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!