keepalived 实现双机热备
测试环境如下:
<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
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 的启动与测试
评论