Linux常用服务部署实战二:部署LVS高可用集群

今天给大家介绍一本小册,Linux常用服务器部署实战。

Linux常用服务器部署是作为一名运维工程师必须掌握的高级技能,这本小册讲解了学习常用服务器服务部署。

我们来看一下这本小册的目录:

本小册介绍了一些Linux常服务的搭建和部署,是运维工程师必备技能。

本文内容转载自 【码小课】,码小课是一个在线小册学习,在线PDF书籍学习平台,感兴趣的同学可以搜索码小课。

本篇文章为大家分享第一小节内容:

lvs+keepalived高可用集群部署

案例需求

部署基于LVS DR模式的web高可用集群,实现:

  • 实现数据服务器容错
  • 实现分发器故障切换
  • 任何机器宕机不中断web业务

实验环境

六台安装CentOS8的虚拟机一台测试机,两台LVS分发器,一台路由器,两台web服务器,关闭selinux关闭防火墙,停止libvirtd.service服务

角色名称接口名称IP地址
clientens33192.168.1.200
routeens33,ens160192.168.1.1,192.168.2.1
lvs1ens33192.168.2.200,192.168.2.100(VIP)
lvs2ens33192.168.2.150,192.168.2.100(VIP)
rs1ens33,lo:0192.168.2.220,192.168.2.100(VIP)
rs2ens33,lo:0192.168.2.210,192.168.2.100(VIP)

实验拓扑图

实验步骤

a、配置客户端

  1. ens33=192.168.1.200
  2. [root@client ~]# route add default gw 192.168.1.1

b、设置路由

  1. ens33=192.168.1.1
  2. ens160=192.168.2.1
  3. [root@route ~]# echo 1>/proc/sys/net/ipv4/ip_forward

c、设置RS的VIP、网关、内核参数

  1. RS1
  2. [root@rs1 ~]# route add default gw 192.168.2.1
  3. [root@rs1 ~]# ifconfig lo:0192.168.2.100 netmask 255.255.255.255 up
  4. [root@rs1 ~]# echo 1>/proc/sys/net/ipv4/conf/all/arp_ignore
  5. [root@rs1 ~]# echo 2>/proc/sys/net/ipv4/conf/all/arp_announce
  6. RS2
  7. [root@rs2 ~]# route add default gw 192.168.2.1
  8. [root@rs2 ~]# ifconfig lo:0192.168.2.100 netmask 255.255.255.255 up
  9. [root@rs2 ~]# echo 1>/proc/sys/net/ipv4/conf/all/arp_ignore
  10. [root@rs2 ~]# echo 2>/proc/sys/net/ipv4/conf/all/arp_announce
  11. 安装web服务,生成测试页面
  12. RS1
  13. [root@rs1 ~]# dnf install httpd -y
  14. [root@rs1 ~]# echo "rs1">/var/www/html/index.html
  15. [root@rs1 ~]# systemctl start httpd.service
  16. RS2
  17. [root@rs2 ~]# dnf install httpd -y
  18. [root@rs2 ~]# echo "rs2">/var/www/html/index.html
  19. [root@rs2 ~]# systemctl start httpd.service

d、设置LVS

  1. ### LVS1 安装软件包,修改配置文件
  2. [root@lvs1 ~]# dnf install ipvsadm keepalived -y
  3. [root@lvs1 ~]# vim /etc/keepalived/keepalived.conf
  4. !ConfigurationFilefor keepalived
  5. global_defs {
  6. router_id lvs_1
  7. }
  8. vrrp_instance apache {
  9. state MASTER
  10. interface ens33
  11. virtual_router_id 51
  12. priority 100
  13. advert_int 1
  14. authentication {
  15. auth_type PASS
  16. auth_pass 1111
  17. }
  18. virtual_ipaddress {
  19. 192.168.2.100/24
  20. }
  21. }
  22. virtual_server 192.168.2.10080{
  23. delay_loop 6
  24. lb_algo rr
  25. lb_kind DR
  26. nat_mask 255.255.255.0
  27. # persistence_timeout 50
  28. protocol TCP
  29. real_server 192.168.2.21080{
  30. weight 1
  31. TCP_CHECK {
  32. connect_timeout 3
  33. connect_port 80
  34. }
  35. }
  36. real_server 192.168.2.22080{
  37. weight 1
  38. TCP_CHECK {
  39. connect_timeout 3
  40. connect_port 80
  41. }
  42. }
  43. }
  44. ### 重启keepalived服务
  45. [root@lvs1 ~]# systemctl start keepalived.service
  46. ### 使用ip add命令查看所设置的VIP是否被设置
  47. [root@lvs1 ~]# ip add
  48. 2: ens33:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP groupdefault qlen 1000
  49. link/ether 00:0c:29:6d:1c:b3 brd ff:ff:ff:ff:ff:ff
  50. inet 192.168.2.200/24 brd 192.168.2.255 scope global noprefixroute ens33
  51. valid_lft forever preferred_lft forever
  52. inet 192.168.2.100/24 scope global secondary ens33
  53. valid_lft forever preferred_lft forever
  54. inet6 fe80::474:99dd:c899:455f/64 scope link noprefixroute
  55. valid_lft forever preferred_lft forever
  56. ### LVS2 安装软件包,修改配置文件
  57. [root@lvs2 ~]# dnf install ipvsadm keepalived -y
  58. [root@lvs2 ~]# vim /etc/keepalived/keepalived.conf
  59. !ConfigurationFilefor keepalived
  60. global_defs {
  61. router_id lvs_1
  62. }
  63. vrrp_instance apache {
  64. state BACKUP
  65. interface ens33
  66. virtual_router_id 51
  67. priority 10
  68. advert_int 1
  69. authentication {
  70. auth_type PASS
  71. auth_pass 1111
  72. }
  73. virtual_ipaddress {
  74. 192.168.2.100/24
  75. }
  76. }
  77. virtual_server 192.168.2.10080{
  78. delay_loop 6
  79. lb_algo rr
  80. lb_kind DR
  81. nat_mask 255.255.255.0
  82. # persistence_timeout 50
  83. protocol TCP
  84. real_server 192.168.2.21080{
  85. weight 1
  86. TCP_CHECK {
  87. connect_timeout 3
  88. connect_port 80
  89. }
  90. }
  91. real_server 192.168.2.22080{
  92. weight 1
  93. TCP_CHECK {
  94. connect_timeout 3
  95. connect_port 80
  96. }
  97. }
  98. }
  99. ### 重启keepalived服务
  100. [root@lvs2 ~]# systemctl start keepalived.service

e、客户端测试

  1. ### 客户端验证分发
  2. [root@client ~]# elinks http://192.168.2.100 --dump
  3. rs1
  4. [root@client ~]# elinks http://192.168.2.100 --dump
  5. rs2
  6. ### 停止lvs1的keepalived服务 验证分发器故障切换
  7. [root@lvs1 ~]# systemctl stop keepalived.service
  8. 使用ip add命令查看VIP是否被释放
  9. [root@lvs1 ~]# ip add
  10. 2: ens33:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP groupdefault qlen 1000
  11. link/ether 00:0c:29:6d:1c:b3 brd ff:ff:ff:ff:ff:ff
  12. inet 192.168.2.200/24 brd 192.168.2.255 scope global noprefixroute ens33
  13. valid_lft forever preferred_lft forever
  14. inet6 fe80::474:99dd:c899:455f/64 scope link noprefixroute
  15. valid_lft forever preferred_lft forever
  16. 切换到lvs2查看VIP是否被设置
  17. [root@lvs2 ~]# ip add
  18. 2: ens33:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP groupdefault qlen 1000
  19. link/ether 00:0c:29:5c:a0:66 brd ff:ff:ff:ff:ff:ff
  20. inet 192.168.2.150/24 brd 192.168.2.255 scope global noprefixroute ens33
  21. valid_lft forever preferred_lft forever
  22. inet 192.168.2.100/24 scope global secondary ens33
  23. valid_lft forever preferred_lft forever
  24. inet6 fe80::5726:cbb9:c37b:d898/64 scope link noprefixroute
  25. valid_lft forever preferred_lft forever
  26. 切换到客户端测试
  27. [root@client ~]# elinks http://192.168.2.100 --dump
  28. rs1
  29. [root@client ~]# elinks http://192.168.2.100 --dump
  30. rs2
  31. ### 停止RS1数据服务器查看数据服务器容错
  32. [root@rs1 ~]# systemctl stop httpd
  33. 切换到客户端测试:用户只能访问到RS1的页面
  34. [root@client ~]# elinks http://192.168.2.100 --dump
  35. rs1
  36. [root@client ~]# elinks http://192.168.2.100 --dump
  37. rs1

提示:使用tcpdump命令可以看到vrrp的相关信息发送信息,深度理解VRRP协议

  1. [root@lvs1 ~]# tcpdump -nn -vvv vrrp
  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值