主要内容:
Keepalived高可用、部署Ceph分布式存储
一、网站架构进阶项目案例
案例1:Keepalived高可用
延续 PROJECT1-DAY2 案例,部署两台代理服务器,实现如下效果:
- 1)利用keepalived实现两台代理服务器的高可用(192.168.2.5/192.168.2.6)
- 2)配置VIP为192.168.2.80
- 3)修改对应的域名解析记录
实验拓扑图:
主机配置表:
步骤1:配置第二台代理服务器proxy2(解决单点故障)
1)部署HAProxy(负载均衡)
[root@proxy2 ~]# yum -y install haproxy
[root@proxy2 ~]# vim /etc/haproxy/haproxy.cfg
listen wordpress *:80 //监听80端口
balance roundrobin //轮询算法
server web1 192.168.2.11:80 check inter 2000 rise 2 fall 3
server web2 192.168.2.12:80 check inter 2000 rise 2 fall 3
server web3 192.168.2.13:80 check inter 2000 rise 2 fall 3
[root@proxy2 ~]# systemctl start haproxy
[root@proxy2 ~]# systemctl enable haproxy
[root@proxy2 ~]# ss -nlptu | grep :80
tcp LISTEN 0 128 *:80 *:* users:(("haproxy",pid=684,fd=7))
[root@proxy2 ~]# firewall-cmd --set-default-zone=trusted
[root@proxy2 ~]# setenforce 0
[root@proxy2 ~]# sed -i '/SELINUX/s/enforcing/permissive/' /etc/selinux/config
步骤2:为两台代理服务器配置keepalived(高可用)—> VIP:192.168.2.80
1)配置第一台代理服务器proxy(192.168.2.5)
[root@proxy ~]# yum install -y keepalived
[root@proxy ~]# vim /etc/keepalived/keepalived.conf
global_defs {
router_id proxy1 //设置路由ID号
vrrp_iptables //设置防火墙规则(手动添加该行)
}
vrrp_instance VI_1 {
state MASTER //主服务器为MASTER(备服务器需要修改为BACKUP)
interface eth1 //网卡名称
virtual_router_id 51
priority 100 //服务器优先级,优先级高优先获取VIP
advert_int 1
authentication {
auth_type pass
auth_pass 1111 //主备服务器密码必须一致
}
virtual_ipaddress { //VIP地址
192.168.4.80
}
}
[root@proxy ~]# systemctl start keepalived
[root@proxy ~]# systemctl enable keepalived
2)配置第二台代理服务器proxy2(192.168.2.6)
[root@proxy2 ~]# yum install -y keepalived
[root@proxy2 ~]# vim /etc/keepalived/keepalived.conf
global_defs {
router_id proxy2 //设置路由ID号
vrrp_iptables //设置防火墙规则(手动添加该行)
}
vrrp_instance VI_1 {
state BACKUP //主服务器为MASTER(备服务器需要修改为BACKUP)
interface eth1 //网卡名称
virtual_router_id 51
priority 95 //服务器优先级,优先级高优先获取VIP
advert_int 1
authentication {
auth_type pass
auth_pass 1111 //主备服务器密码必须一致
}
virtual_ipaddress { //VIP地址
192.168.2.80
}
}
[root@proxy2 ~]# systemctl start keepalived
[root@proxy2 ~]# systemctl enable keepalived
验证高可用:
1)在优先级高的MASTER主机查看是否有VIP地址
[root@proxy ~]# ip add show eth1 | grep 192.168.2.80 //查看MASTER的VIP
inet 192.168.2.80/32 scope global eth1
使用浏览器访问http://192.168.2.80,确认是否能查看WEB页面
2)停止优先级高的MASTER主机上的Keepalived服务,在优先级低的BACKUP主机上查看是否有VIP地址;并使用浏览器访问http://192.168.2.80,确认WEB页面
[root@proxy2 ~]# ip add show eth1 | grep 192.168.2.80
inet 192.168.2.80/32 scope global eth1
3)在优先级高的MASTER主机上再启动keepalived服务,查看VIP地址是否回到主服务器上;
步骤3:修改DNS服务器
1)修改网站域名对应的解析记录,解析VIP地址
[root@dns ~]# vim /var/named/lab.com.zone
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ NS dns.lab.com.
dns A 192.168.2.10
www A 192.168.2.10
www A 192.168.2.80 //添加解析VIP地址记录
2)重启DNS服务
[root@dns ~]# systemctl restart named