Keepalive+LVS+Nginx+NFS高可用 架构

打印 上一主题 下一主题

主题 1874|帖子 1874|积分 5622


主机规划

1.配置nfs服务

1.1修改主机名ip地址
  1. hostnamectl hostname nfs
  2. nmcli c modify ens160 ipv4.method manual ipv4.addresess 192.168.72.120/24 ipv4.dns 223.5.5.5 ipv4.gateway 192.168.72.2 connection.autoconnect yes
复制代码
1.2配置仓库
  1. vim /etc/yum.repos.d/dnf.repo
  2. [BaseOS]
  3. name=BaseOS
  4. baseurl=/mnt/BaseOS
  5. gpgcheck=0
  6. [AppStream]
  7. name=AppSteam
  8. baseurl=/mnt/AppStream
  9. gpgcheck=/mnt/AppStream
复制代码
1.3挂载仓库并下载nfs服务
  1. mount /dev/sr0 /mnt
复制代码
设置开机自动挂载
  1. vim /etc/fstab
  2. /dev/sr0 /mnt iso9660 defaults 0 0
  3. mount -a
复制代码
下载nfs服务
  1. dnf install nfs-utils -y
复制代码
1.4关闭防火墙和selinux,配置服务
  1. systemctl enabled --now  firewalld
  2. setenforce 0
复制代码
  1. mkdir /nfs/data -p
  2. vim /etc/exports
  3. /nfs/data 192.168.72.119(rw)
  4. /nfs/data 192.168.72.118(rw)
复制代码
启动nfs服务
  1. systemctl start nfs-server
复制代码
测试
  1. showmount -e 192.168.72.120
复制代码
2.搭建rs服务器

2.1修改ip地址和主机名
  1. hostnamectl hostname rs1
  2. nmcli c modify ens160 ipv4.method manual ipv4.addresess 192.168.72.118/24 ipv4.dns 223.5.5.5 ipv4.gateway 192.168.72.2 connection.autoconnect yes
复制代码
  1. hostnamectl hostname rs2
  2. nmcli c modify ens160 ipv4.method manual ipv4.addresess 192.168.72.119/24 ipv4.dns 223.5.5.5 ipv4.gateway 192.168.72.2 connection.autoconnect yes
复制代码
2.2配置仓库
  1. vim /etc/yum.repos.d/dnf.repo
  2. [BaseOS]
  3. name=BaseOS
  4. baseurl=/mnt/BaseOS
  5. gpgcheck=0
  6. [AppStream]
  7. name=AppSteam
  8. baseurl=/mnt/AppStream
  9. gpgcheck=/mnt/AppStream
复制代码
2.3挂载仓库并下载nfs,nginx服务
  1. mount /dev/sr0 /mnt
复制代码
设置开机自动挂载
  1. vim /etc/fstab
  2. /dev/sr0 /mnt iso9660 defaults 0 0
  3. mount -a
复制代码
下载nfs,nginx服务
  1. dnf install nfs-utils nginx -y
复制代码
2.4关闭防火墙和selinux,配置服务
  1. systemctl enabled --now  firewalld
  2. setenforce 0
复制代码
rs1:
  1. mkdir /data/nfs -p
  2. mount -t nfs 192.168.72.120:/nfs/data /data/nfs
复制代码
rs2:
  1. mkdir /data/nfs -p
  2. mount -t nfs 192.168.72.120:/nfs/data /data/nfs
复制代码
编写nginx相干文件:
rs1:
  1. vim /etc/nginx/conf.d/rs1.conf
  2. server{
  3.         server_name  192.168.72.118;
  4.         root /data/nfs;
  5.         access_log /var/log/nginx/accessrs1_log;
  6.         error_log /var/log/nginx/errorrs1_log;
  7. }
复制代码
  1. rs2:
  2. vim /etc/nginx/conf.d/rs2.conf
  3. server{
  4.         server_name  192.168.72.119;
  5.         root /data/nfs;
  6.         access_log /var/log/nginx/accessrs2_log;
  7.         error_log /var/log/nginx/errorrs2_log;
  8. }
复制代码
启动nfs,nginx服务
  1. systemctl start nfs-server
  2. nginx
复制代码
测试
  1. curl 192.168.72.120
复制代码
3.配置keepalived,lvs服务

3.1修改ip地址和主机名
  1. hostnamectl hostname lvs-backup
  2. nmcli c modify ens160 ipv4.method manual ipv4.addresess 192.168.72.117/24 ipv4.dns 223.5.5.5 ipv4.gateway 192.168.72.2 connection.autoconnect yes
复制代码
  1. hostnamectl hostname lvs-master
  2. nmcli c modify ens160 ipv4.method manual ipv4.addresess 192.168.72.116/24 ipv4.dns 223.5.5.5 ipv4.gateway 192.168.72.2 connection.autoconnect yes
复制代码
3.2配置仓库
  1. vim /etc/yum.repos.d/dnf.repo
  2. [BaseOS]
  3. name=BaseOS
  4. baseurl=/mnt/BaseOS
  5. gpgcheck=0
  6. [AppStream]
  7. name=AppSteam
  8. baseurl=/mnt/AppStream
  9. gpgcheck=/mnt/AppStream
复制代码
2.3挂载仓库并下载keepalived,lvs服务
  1. mount /dev/sr0 /mnt
复制代码
设置开机自动挂载
  1. vim /etc/fstab
  2. /dev/sr0 /mnt iso9660 defaults 0 0
  3. mount -a
复制代码
下载keepalived,lvs服务
  1. dnf install keepalived ipvsadm -y
复制代码
3.4关闭防火墙和selinux,配置服务
  1. systemctl enabled --now  firewalld
  2. setenforce 0
复制代码
  1. lvs-master:
  2. vim /etc/keepalived/keeplived.conf
  3. global_defs {
  4.    router_id lvs-master
  5. }
  6. vrrp_instance VI_1 {
  7.     state MASTER
  8.     interface ens160
  9.     virtual_router_id 51
  10.     priority 100
  11.     advert_int 1
  12.     authentication {
  13.         auth_type PASS
  14.         auth_pass 1111
  15.     }
  16.     virtual_ipaddress {
  17.         192.168.72.100
  18.     }
  19. }
  20. virtual_server 192.168.72.100 80 {
  21.     delay_loop 3               
  22.     lb_algo wrr                       
  23.     lb_kind DR                       
  24.     persistence_timeout 50       
  25.     protocol TCP                       
  26.     real_server 192.168.72.118 80 {
  27.         weight 3       
  28.         TCP_CHECK {
  29.             connect_timeout 3               
  30.             retry 3                                       
  31.             delay_before_retry 3
  32.         }
  33.     }
  34.     real_server 192.168.72.119 80 {
  35.         weight 1
  36.         TCP_CHECK {
  37.             connect_timeout 3
  38.             retry 3
  39.             delay_before_retry 3
  40.         }
  41.     }
  42. }
复制代码
  1. ipvsadm-save -n /etc/sysconfig/ipvsadm
复制代码
backup:
  1. vim /etc/keepalived/keeplived.conf
  2. global_defs {
  3.    router_id lvs-backup
  4. }
  5. vrrp_instance VI_1 {
  6.     state BACKUP
  7.     interface ens160
  8.     virtual_router_id 51
  9.     priority 90
  10.     advert_int 1
  11.     authentication {
  12.         auth_type PASS
  13.         auth_pass 1111
  14.     }
  15.     virtual_ipaddress {
  16.         192.168.72.100
  17.     }
  18. }
  19. virtual_server 192.168.72.100 80 {
  20.     delay_loop 3               
  21.     lb_algo wrr                       
  22.     lb_kind DR                       
  23.     persistence_timeout 50       
  24.     protocol TCP                       
  25.     real_server 192.168.72.118 80 {
  26.         weight 3       
  27.         TCP_CHECK {
  28.             connect_timeout 3               
  29.             retry 3                                       
  30.             delay_before_retry 3
  31.         }
  32.     }
  33.     real_server 192.168.72.119 80 {
  34.         weight 1
  35.         TCP_CHECK {
  36.             connect_timeout 3
  37.             retry 3
  38.             delay_before_retry 3
  39.         }
  40.     }
  41. }
复制代码
ipvsdam-save -n /etc/sysconfig/ipvsadm
启动两台服务器
systemctl start keepalived ipvsadm
检察配置规则:
ipvsadm -Ln
在rs1,rs2上配置参数
  1. ifconfig lo:1 192.168.72.100 netmask 255.255.255.255 broadcast 192.168.72.100 up
  2. ip a show lo
  3. vim /etc/sysctl.conf
  4. net.ipv4.conf.all.arp_ignore = 1
  5. net.ipv4.conf.lo.arp_ignore = 1
  6. net.ipv4.conf.all.arp_announce = 2
  7. net.ipv4.conf.lo.arp_announce = 2
  8. net.ipv4.ip_forward=0
  9. sysctl -p
复制代码
增加路由
  1. route add -host 192.168.72.100 dev lo:1
  2. route -n
复制代码
在浏览器举行测试
http://192.168.72.100

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

宝塔山

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表