首页 > 其他分享 >Keepalived 安装与配置

Keepalived 安装与配置

时间:2023-07-09 11:34:12浏览次数:31  
标签:haproxy keepalived 配置 Keepalived etc ha2 安装 eth0

安装 Keepalived

apt -y install keepalived

里边有一个杠y,就是我安装的时候里面有yes,就直接是yes

添加 Keepalived 配置

安装好之后, 下一步就开始去来写这个配置文件了,就在这里面去建一个 etc 当中,就是在这个 etc 当中建一个这个 Keepalived 的 config 这样的一个文件:

mkdir -p /etc/keepalived && touch /etc/keepalived/keepalived.conf
chmod 644 /etc/keepalived/keepalived.conf
vim /etc/keepalived/keepalived.conf

第一台机器 Keepalived 配置文件内容:

! Configuration File for keepalived
global_defs {
   # 指定router_id
   router_id ha01
}
vrrp_script check_haproxy {
   # 定义脚本
   script "/etc/keepalived/check_haproxy.sh"
   interval 1
   weight -30
   fall 3
   rise 2
   timeout 2
}
vrrp_instance VI_1 {
   # 在ha2上为 BACKUP
   state MASTER
   interface eth0
   garp_master_delay 10
   smtp_alert
   # 指定虚拟路由器ID, ha1和ha2此值必须相同
   virtual_router_id 66
   # 在ha2上为80, 代表着这台机器的权限比ha2高
   priority 100
   advert_int 1
   authentication {
       auth_type PASS
       # 指定验证密码, ha1和ha2此值必须相同
       auth_pass 123456
   }
   virtual_ipaddress {
        # 指定VIP, ha1和ha2此值必须相同
        192.168.0.101/24 dev eth0 label eth0:1
   }
   track_script {
       # 调用上面定义的脚本
       check_haproxy
 }
}

!> interface eth0 当中的 eth0 如何得来:

image-20230709104002199

几个关键的点:

  • interface eth0:对应的这个网卡名称,要看你现在你电脑里边的这个主网卡的这个名称是什么,那这个地方你就写什么
  • virtual_router_id:两台这个地方要相同, 指定虚拟路由器ID
  • priority: 优先级, 就是说我去找的时候哪个优先级高就先去找哪个
  • authentication: 两个互相访问的时候验证的一个这个密码,那么这个密码两台机器上必须设置一样
  • virtual_ipaddress: 虚拟IP,就是我们那个 VIP

我们刚才来申请的这个 IP 是不是 192.168.0.101,那你呢?就把这个 192.168.0.101 配置进去,好,改一下之后你看这在这中间是不是有这个 eth0,我们第一个这个网卡,那么下面这个地方就是你的虚拟 IP 虚拟 IP 绑定哪个地方?就是到时候绑定到 eth0:1 上面。

搞定之后这是一个脚本,这个脚本我们等会来去创建,我们现在先去把这个配置文件给写好。

等会把它配置上之后,启动了 Keeppalived 之后,然后再去看这个 ifconfig

第二台机器 Keepalived 配置文件内容:

! Configuration File for keepalived
global_defs {
   # 指定router_id
   router_id ha02
}
vrrp_script check_haproxy {
   # 定义脚本
   script "/etc/keepalived/check_haproxy.sh"
   interval 1
   weight -30
   fall 3
   rise 2
   timeout 2
}
vrrp_instance VI_1 {
   # 在ha2上为 BACKUP
   state BACKUP
   interface eth0
   garp_master_delay 10
   smtp_alert
   # 指定虚拟路由器ID, ha1和ha2此值必须相同
   virtual_router_id 66
   # 在ha2上为80, 代表着这台机器的权限比ha2高
   priority 80
   advert_int 1
   authentication {
       auth_type PASS
       # 指定验证密码, ha1和ha2此值必须相同
       auth_pass 123456   
   }
   virtual_ipaddress {
        # 指定VIP, ha1和ha2此值必须相同
        192.168.0.101/24 dev eth0 label eth0:1  
   }
   track_script {
       # 调用上面定义的脚本
       check_haproxy 
 }
}

刚才那个叫 MASTER,这个叫一个 BACKUP,其它的基本上一样改了一下优先级为 80, 好了第二台机子已经创建好了配置文件接下来就是创建脚本启动了。

创建 Keepalived 健康脚本

cat > /etc/keepalived/check_haproxy.sh <<EOF
#!/bin/bash
/usr/bin/killall -0 haproxy || systemctl restart haproxy
EOF
chmod a+x /etc/keepalived/check_haproxy.sh

如果运行启动 keepalived 命名报:Failed to restart keepalived.service: Unit keepalived.service not found.

该错误信息指示无法找到名为"keepalived.service"的服务单元。这可能是由于未安装Keepalived或未正确配置Keepalived服务导致的。(也就是说没有安装 keepalived)

systemctl restart keepalived

启动完毕之后,我们在第一天机器上输入 ifconfig:

image-20230709111339008

发现,已经对应上了我们申请下来的虚拟ID,好了完毕到此结束。我们现在的虚拟ID在第一台机器上面,我们将第一台机器进行关机在查看我们第二台机器的 ifconfig 信息看看虚拟ID有没有漂移到健康状态的机器当中。

139.9.50.116 关机:

image-20230709111708467

查看 116.205.227.222:

image-20230709111652169

139.9.50.116 开机:

查看 139.9.50.116:

查看 116.205.227.222:

image-20230709111851489

好了我们 116 复活之后又回来了,我们的 Keepalived 安装与配置就介绍到这。

标签:haproxy,keepalived,配置,Keepalived,etc,ha2,安装,eth0
From: https://www.cnblogs.com/BNTang/p/17538475.html

相关文章

  • minicube安装
    minicube安装一、安装手册:https://minikube.sigs.k8s.io/docs/start/二、安装打开官网,选择和自己对应的系统和要下载的版本。点击下面的releaseDownloadandruntheinstallerforthelatestrelease.安装程序安装到自己需要位置,这里我安装到以下目录d:\Program......
  • 银河麒麟V10安装达梦数据库DM8
    1.系统准备查看系统信息:cat/proc/version查看CPU:lscpu或cat/proc/cpuinfo查看内存:free-m查看磁盘空间:cat/proc/meminfo或df-h查看tmp空间(至少1.5G以上):df-h/tmp发现tmp空间太小(安装DM8需要至少800M的临时空间),增加tmp空间大小:mount-oremount,size=2G/tmp查看Glib......
  • 15. WWDG配置步骤
    1.WWDG配置步骤2.相关HAL库函数介绍3.编程实战WWDG_HandleTypeDefg_wwdg_handle;/*窗口看门狗初始化函数*/voidwwdg_init(uint8_ttr,uint8_twr,uint32_tfprer){g_wwdg_handle.Instance=WWDG;//寄存器基地址g_wwdg_handle.Init.Counter=tr;/......
  • Debian 11 x64 安装 MySQL 8.0.33
    更新sudoaptupdatesudoaptinstallgnupg安装DEBPackagewget-chttps://dev.mysql.com/get/mysql-apt-config_0.8.25-1_all.debsudodpkg-imysql-apt-config_0.8.25-1_all.deb具体版本见官方网站:MySQLCommunityDownloads,这里仅以版本0.8.25-1作为示例。更新......
  • 安装k8s-1.27.0(二)
    安装软件包[root@k8smaster2~]#yuminstall-ykubelet-1.27.0kubeadm-1.27.0kubectl-1.27.0生成初始化配置文件[root@k8smaster1~]#kubeadmconfigprintinit-defaults>kubeadm.yaml修改初始化文件添加ipvs启动插件apiVersion:kubeproxy.config.k8s.io/v1alpha1kind:......
  • centos7 安装 rabbitmq
    1、下载RabbitMQ安装包(请自行下载erlang和对应版本的rabbitmq)2、上传安装包到Linux中将上面三个软件上传到/usr/local/software目录下(如果没有software需要自己创建)3、安装文件(分别按照以下顺序安装)进入software文件夹,依次使用如下命令 rpm-ivherlang-21.3-1.el7.......
  • springcloud -config配置中心 整合github 或者gitee 单个刷新配置
    配置中心,通过从开源仓库上拉去配置,而不是在本地修改服务端配置cloud-config-center-3344     <dependency>       <groupId>org.springframework.cloud</groupId>       <artifactId>spring-cloud-config-server</artifactId>   ......
  • Eclipse 3.6.2 反编译插件jad的配置说明
          重复说明:  1.将jad.exe文件放入java的bin目录下,如:C:\ProgramFiles\Java\jdk1.6.0_20\bin2.将net.sf.jadclipse_3.3.0.jar放入eclipse的plugin目录下3.打开eclipse,依次在window->preference->General->Editors->FileAssociations,然后在右侧选中.class文件,在下方选......
  • setup配置项
    理解:Vue3.0中一个新的配置项,值为一个函数。setup是所有CompositionAPI(组合API)“表演的舞台”。组件中所用到的:数据、方法等等,均要配置在setup中。setup函数的两种返回值:若返回一个对象,则对象中的属性、方法,在模板中均可以直接使用。(重点关注!)若返回一个渲染......
  • 已经配置了`JAVA_HOME`环境变量,但Tomcat仍然提示未配置该变量
    检查JAVA_HOME变量的正确性:确保JAVA_HOME的值指向JavaJDK的安装路径,而不是JRE的路径。例如,JAVA_HOME应该是类似于C:\ProgramFiles\Java\jdk1.8.0_XXX的路径,而不是C:\ProgramFiles\Java\jre1.8.0_XXX。检查环境变量配置位置:确保将JAVA_HOME变量添加到系统环境变量中,而不仅......