写点什么

keepalived 实现双机热备

作者:Java高工P7
  • 2021 年 11 月 11 日
  • 本文字数:1924 字

    阅读完需:约 6 分钟

测试环境如下:


<table><tbody><tr><td><p>1</p><p>2</p><p>3</p><p>4</p><p>5</p></td><td><p>keepalived 主机: 10.0.0.20</p><p>keepalived 备机: 10.0.0.21</p><p>http 服务器 1:   10.0.0.22</p><p>http 服务器 2:   10.0.0.23</p><p>VIP :       10.0.0.100</p></td></tr></tbody></table>


一、两台 http 服务器的安装


1、? 两台机均安装 httpd


<table><tbody><tr><td><p>1</p></td><td><p>$ sudo yum install -y httpd</p></td></tr></tbo


【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码


dy></table>


2、? 添加首页


<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>   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>     weight 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 的启动与测试

用户头像

Java高工P7

关注

还未添加个人签名 2021.11.08 加入

还未添加个人简介

评论

发布
暂无评论
keepalived实现双机热备