写点什么

keepalived 实现双机热备

  • 2022 年 4 月 16 日
  • 本文字数:2025 字

    阅读完需:约 7 分钟

<table><tbody><tr><td><p>1</p><p>2</p><p>3</p><p>4</p><p>5</p><p>6</p><p>7</p></td><td><p>$ sudo -i</p><p> </p><p>#http 服务器 1 设置</p><p># echo “10.0.0.22” >/var/www/html/index.html</p><p> </p><p>#http 服务器 2 设置</p><p># echo “10.0.0.23” >/var/www/html/index.html</p></td></tr></tbody></table>


3、? 启动并设置开机启动 httpd


<table><tbody><tr><td><p>1</p><p>2</p></td><td><p> sudo systemctl enable httpd</p></td></tr></tbody></table>


二、两台 keepalived 主机的设置


1、? 两台机均安装 keepalived


<table><tbody><tr><td><p>1</p><p>2</p><p>3</p></td><td><p>#安装依赖文件与 keepalive</p><p> </p><p>$ sudo yum install -y openssl openssl-devel keepalived</p></td></tr></tbody></table>


2、? keepalived 主机配置


<table><tbody><tr><td><p>1</p><p>2</p><p>3</p><p>4</p><p>5</p><p>6</p><p>7</p><p>8</p><p>9</p><p>10</p><p>11</p><p>12</p><p>13</p><p>14</p><p>15</p><p>16</p><p>17</p><p>18</p><p>19</p><p>20</p><p>21</p><p>22</p><p>23</p><p>24</p><p>25</p><p>26</p><p>27</p><p>28</p><p>29</p><p>30</p><p>31</p><p>32</p><p>33</p><p>34</p><p>35</p><p>36</p><p>37</p><p>38</p><p>39</p><p>40</p><p>41</p><p>42</p><p>43</p><p>44</p><p>45</p><p>46</p><p>47</p><p>48</p><p>49</p><p>50</p><p>51</p><p>52</p><p>53</p><p>54</p><p>55</p><p>56</p></td><td><p>$ sudo vim /etc/keepalived/keepalived.conf</p><p> </p><p>  vrrp_instance VI_1 {</p><p>    #指定该节点为主节点,备用节点设置为 BACKUP</p><p>    state MASTER</p><p> </p><p>    #绑定虚拟 IP 的网络接口</p><p>    interface eno16777736</p><p> </p><p>    #VRRP 组名,两个节点设置一样,以指明各个节点同属一 VRRP 组</p><p>    virtual_router_id 51</p><p> </p><p>    #主节点的优先级,数值在 1~254,注意从节点必须比主节点的优先级别低</p><p>    priority 50</p><p> </p><p>    ##组播信息发送间隔,两个节点需一致</p><p>    advert_int 1</p><p> </p><p>    #设置验证信息,两个节点需一致</p><p>    authentication{</p><p>      auth_type PASS</p><p>      auth_pass 1111</p><p>    }</p><p> </p><p>    #指定虚拟 IP,两个节点需设置一样</p><p>    virtual_ipaddress{</p><p>      10.0.0.100</p><p>    }</p><p> }</p><p>#虚拟 IP 服务</p><p>virtual_server 10.0.0.100 80 {</p><p>    #设定检查间隔</p><p>    delay_loop 6</p><p> </p><p>   #指定 LVS 算法</p><p>    lb_algo rr</p><p> </p><p>   #指定 LVS 模式</p><p>    lb_kind NAT</p><p>    nat_mask 255.255.255.0</p><p> </p><p>   #持久连接设置,会话保持时间</p><p>& Java 开源项目【ali1024.coding.net/public/P7/Java/git】 nbsp;  persistence_timeout 50</p><p> </p><p>   #转发协议为 TCP</p><p>   protocol TCP</p><p> </p><p>  #后端实际 TCP 服务配置</p><p>  real_server 10.0.0.22 80 {</p><p>     weight 1</p><p>  }</p><p> </p><p>  real_server 10.0.0.23 80 {</p><p>     wei 《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》开源 ght 1</p><p>  }</p><p>}</p></td></tr></tbody></table>


3、? ?keepalived 备机的 keepalived.conf 的配置,不同之处如下:


<table><tbody><tr><td><p>1</p><p>2</p><p>3</p><p>4</p></td><td><p>state BACKUP</p><p>priority 30</p><p> </p><p>#其它配置跟 keepalived 主机相同</p></td></tr></tbody></table>


/etc/keepalived/keepalived.conf 为 keepalived 的主配置文件。以上配置 state 表示主节点为 10.0.0.20,副节点为 10.0.0.21。虚拟为 IP10.0.0.100。后端的真实服务器为 10.0.0.22 和 10.0.0.23,当通过 10.0.0.100 访问 web 服务器时,自动转到后端真实服务器,后端节点的权重相同,类似轮询的模式。


三、keepalived 的启动与测试

总结

上述知识点,囊括了目前互联网企业的主流应用技术以及能让你成为“香饽饽”的高级架构知识,每个笔记里面几乎都带有实战内容。


很多人担心学了容易忘,这里教你一个方法,那就是重复学习。


打个比方,假如你正在学习 spring 注解,突然发现了一个注解 @Aspect,不知道干什么用的,你可能会去查看源码或者通过博客学习,花了半小时终于弄懂了,下次又看到 @Aspect 了,你有点郁闷了,上次好像在哪哪哪学习,你快速打开网页花了五分钟又学会了。


从半小时和五分钟的对比中可以发现多学一次就离真正掌握知识又近了一步。



人的本性就是容易遗忘,只有不断加深印象、重复学习才能真正掌握,所以很多书我都是推荐大家多看几遍。哪有那么多天才,他只是比你多看了几遍书。

用户头像

还未添加个人签名 2022.04.13 加入

还未添加个人简介

评论

发布
暂无评论
keepalived实现双机热备_Java_爱好编程进阶_InfoQ写作平台