Linux--Keepalived双机热备_linux lo 0

Keepalived是Linux下一个轻量级别的高可用解决方案。高可用(High Avalilability,HA),其实两种不同的含义:广义来讲,是指整个系统的高可用行,狭义的来讲就是之主机的冗余和接管,它与HeartBeat RoseHA 实现相同类似的功能,都可以实现服务或者网络的高可用,但是又有差别,HeartBeat是一个专业的、功能完善的高可用软件,它提供了HA 软件所需的基本功能,比如:心跳检测、资源接管,检测集群中的服务,在集群节点转移共享IP地址的所有者等等。HeartBeat功能强大,但是部署和使用相对比较麻烦,与HeartBeat相比Keepalived主要是通过虚拟路由冗余来实现高可用功能,虽然它没有HeartBeat功能强大,但是Keepalived部署和使用非常的简单,所有配置只需要一个配置文件即可以完成。

作用:**Keepalived的作用是检测服务器的状态,**如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。

keepalived的热备方式:
        keepalived采用VRRP(虚拟路由冗余协议)热备份协议,以软件的方式实现Linux服务器的多机热备功能。

一,部署keepalived双机热备

安装Keepalived

yum install -y keepalived ipvsadm

控制Keepalived服务

systemctl enable keepalived

主服务器的配置

[root@localhost ~]# systemctl stop firewalld    #关闭防火墙
[root@localhost ~]# cd /etc/keepalived/
[root@localhost keepalived]# cp keepalived.conf keepalived.conf.bak    #备份配置文件
[root@localhost keepalived]# vim keepalived.conf
global_defs {    #全局参数
  router_id    HA_TEST_R1    #本路由器(服务器)的名称
}

vrrp_instance VI_1 {    #定义VRRP热备实例
    state MASTER        #热备状态,MASTER表示主路由器
    interface ens33      #承载VIP地址的物理接口
    virtual_router_id 51     #虚拟路由器的ID号,每个热备组保持一致
    priority 100            #优先级,数值越大优先级越高
    advert_int 1            #通告间隔秒数
    authentication {        #认知信息,每个热备组保持一致
        auth_type PASS      #认证类型
        auth_pass 1111      #密码字串
    }
    virtual_ipaddress {     #指定漂移地址
        192.168.2.254
    }
}


开启服务,查看配置是否生效

[root@localhost keepalived]# ip addr show dev ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:83:b0:2e brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.1/24 brd 192.168.2.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet 192.168.2.254/32 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::f14d:4ec5:d7b2:c6c1/64 scope link 
       valid_lft forever preferred_lft forever

测试双机热备功能,配置两台keepalived服务器,设置相同的漂流地址,ping -t 漂流IP地址,持续ping通,查看效果,或在两台keepalived上搭建网页,访问查看效果,或查看日志文件查看主备服务器的迁移状态

1.连通性测试

2.web访问测试

3.查看日志记录

二,LVS+Keepalived高可用(DR)群集

一,配置Keepalived高可用

配置主调度器

[root@localhost ~]# cd /etc/keepalived/
[root@localhost keepalived]# vim keepalived.conf
global_defs {    #全局参数
  router_id    HA_TEST_R1    #本路由器(服务器)的名称
}

vrrp_instance VI_1 {    #定义VRRP热备实例
    state MASTER        #热备状态,MASTER表示主路由器
    interface ens33      #承载VIP地址的物理接口
    virtual_router_id 51     #虚拟路由器的ID号,每个热备组保持一致
    priority 100            #优先级,数值越大优先级越高
    advert_int 1            #通告间隔秒数
    authentication {        #认知信息,每个热备组保持一致
        auth_type PASS      #认证类型
        auth_pass 1111      #密码字串
    }
    virtual_ipaddress {     #指定漂移地址
        192.168.2.254
    }
}

配置从调度器

[root@localhost ~]# cd /etc/keepalived/
[root@localhost keepalived]# vim keepalived.conf
global_defs {
  router_id    HA_TEST_R2
}

vrrp_instance VI_1 {
    state BACKUP        #热备状态,BACKUP表示从路由器
    priority 90            #优先级,数值越大优先级越高
    virtual_ipaddress {     #指定漂移地址
        192.168.2.254
    }
}

调整proc配置文件 ,两天LVS都需要添加

[root@localhost ~]# vi /etc/sysctl.conf
[root@localhost ~]# sysctl -p
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0

二,安装配置nginx服务

配置IP地址

第一台Nginx服务器
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.2.3  netmask 255.255.255.0  broadcast 192.168.2.255
        inet6 fe80::20c:29ff:fe1c:a1a4  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:1c:a1:a4  txqueuelen 1000  (Ethernet)
        RX packets 17151  bytes 1481642 (1.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9028  bytes 904486 (883.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.7.1  netmask 255.255.255.0  broadcast 192.168.7.255
        inet6 fe80::20c:29ff:fe1c:a1ae  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:1c:a1:ae  txqueuelen 1000  (Ethernet)
        RX packets 250  bytes 45678 (44.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 47  bytes 7062 (6.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

第二台Nginx服务器
[root@localhost network-scripts]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.2.4  netmask 255.255.255.0  broadcast 192.168.2.255
        inet6 fe80::20c:29ff:feb5:b978  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:b5:b9:78  txqueuelen 1000  (Ethernet)
        RX packets 15495  bytes 1572697 (1.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 7750  bytes 817696 (798.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.7.2  netmask 255.255.255.0  broadcast 192.168.7.255
        inet6 fe80::20c:29ff:feb5:b982  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:b5:b9:82  txqueuelen 1000  (Ethernet)
        RX packets 155  bytes 16854 (16.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 283  bytes 46422 (45.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

安装依赖关系安装包

[root@localhost ~]# yum -y install pcre-devel zlib-devel

创建nginx需要指定的组

[root@localhost ~]# useradd -M -s /sbin/nologin nginx

解压nginx源代码包,配置,编译,安装

[root@localhost ~]# tar zxf /mnt/nginx-1.12.0.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/nginx-1.12.0/
[root@localhost nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
[root@localhost nginx-1.12.0]# make && make install

优化路径,将nginx可用执行执行

[root@localhost nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx  /usr/local/sbin/

开启nginx服务

[root@localhost nginx-1.12.0]# nginx

三,在(两台)Nginx服务器上配置lo:0回环VIP地址并关闭ARP重定向

[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@localhost network-scripts]# vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.2.54
NETMASK=255.255.255.255
ONBOOT=yes
NAME=loopback:0


为了做好运维面试路上的助攻手,特整理了上百道 **【运维技术栈面试题集锦】** ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,**小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。**

![](https://img-blog.csdnimg.cn/img_convert/f2c4109c7f7a2feee54ee8c31ceedccf.png)

本份面试集锦涵盖了

*   **174 道运维工程师面试题**
*   **128道k8s面试题**
*   **108道shell脚本面试题**
*   **200道Linux面试题**
*   **51道docker面试题**
*   **35道Jenkis面试题**
*   **78道MongoDB面试题**
*   **17道ansible面试题**
*   **60道dubbo面试题**
*   **53道kafka面试**
*   **18道mysql面试题**
*   **40道nginx面试题**
*   **77道redis面试题**
*   **28道zookeeper**

**总计 1000+ 道面试题, 内容 又全含金量又高**

*   **174道运维工程师面试题**

> 1、什么是运维?

> 2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

> 3、现在给你三百台服务器,你怎么对他们进行管理?

> 4、简述raid0 raid1raid5二种工作模式的工作原理及特点

> 5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

> 6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

> 7、Tomcat和Resin有什么区别,工作中你怎么选择?

> 8、什么是中间件?什么是jdk?

> 9、讲述一下Tomcat8005、8009、8080三个端口的含义?

> 10、什么叫CDN?

> 11、什么叫网站灰度发布?

> 12、简述DNS进行域名解析的过程?

> 13、RabbitMQ是什么东西?

> 14、讲一下Keepalived的工作原理?

> 15、讲述一下LVS三种模式的工作过程?

> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

> 17、如何重置mysql root密码?

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
理?

> 15、讲述一下LVS三种模式的工作过程?

> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

> 17、如何重置mysql root密码?

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值