1. rpm命令使用
rpm是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括RedHat、CentOS、SUSE等Linux的分发版本都有采用,可以算是公认的行业标准了。rpm文件在Linux系统中的安装最为简便。
rpm命令常用的参数:
i:安装应用程序(install)
e:卸载应用程序(erase)
vh:显示安装进度;(verbose hash)
U:升级软件包;(update)
qa: 显示所有已安装软件包(qa表示query all)
举例:
rpm -ivh gcc:表示安装gcc程序并显示安装进度。
rpm -ql mysql:表示查看安装rpm文件的位置
rpm -qa 列出所有安装的rpm软件,结合grep命令使用,如:rpm -qa | grep gcc,表示列出所有已安装的软件包,并过滤出gcc软件包。
2. 安装keepalived
安装keepalived要求openssl的版本必须是openssl-1.0.1e以上才行,因此在安装keepalived软件之前,先查看openssl的版本。
我们可以通过rpm软件包来查看linux系统下所有软件的版本
rpm -query all命令简写:rpm -qa
查看openssl的版本:
centos下都是用rpm软件包来安装的,可以通过yum命令安装keepalived软件
yum -y install keepalived
安装完keepalived后,接下来就是配置keepalived,在配置keepalived之前我们先来了解下keepalived相关的配置文件。
3. keepalived配置文件
keepalived所有配置都在一个keepalived.conf文件里,支持的配置比较多,大致分为三类:
1.全局配置,全局配置主要是针对整个keepalived生效的配置。
2.VRRPD配置,VRRPD配置是keepalived的核心
3.LVS配置,LVS配置只在要使用keepalived来配置和管理LVS时需要使用,如果仅使用keepalived做HA,那么LVS配置是完全不需要的。
4. 全局配置
全局配置包括两部分:全局定义(global definition)和静态ip地址路由(static ipaddress/routes)
4.1 全局定义
全局定义主要是设置keepalived通知机制和标识:
! Configuration File for keepalived
#全局配置
global_defs {
notification_email {
admin@example.com
}
notification_email_from admin@example.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
enable_traps
router_id my_hostname
}
notification_email:keepalived故障发生切换时,需要给谁发邮件,可以指定多个,一行一个。
notification_email_from:用哪个地址发送通知邮件,即发送方的源地址。
smpt_server:表示指定发送邮件的smtp服务器。
smtp_connect_timeout :连接smtp服务器的超时时间。
enable_traps :开启SNMP陷阱(Simple Network Management Protocol)。
router_id :运行keepalived的主机的一个标识,通常为hostname,但不一定非得是hostname。故障发生时,邮件通知会用到。
4.2 全局定义静态ip地址和路由
所谓静态就是不会随vrrpd instance的开关而变化,VIP(虚拟ip)就不是静态的,会随着vrrpd而添加删除。静态ip地址和路由是配置运行keepalived的机器的ip和路由,一般来说机器上已经配置了ip和路由,因此没必要再配置了。
static_ipaddress {
192.168.1.1/24 brd + dev eth0 scope global
......
}
static_routes {
src $SRC_IP to $DST_IP dev $SRC_DEVICE
......
src $SRC_IP to $DST_IP via $GW dev $SRC_DEVICE
}
static_ipaddress:静态ip地址
static_routes:静态路由
每一行设置一个ip地址,这些配置都是linux下ip的命令参数,比如上面的:192.168.1.1/24 brd + dev eth0 scope global,keepalived最终会直接使用命令:ip addr add 192.168.1.1/24 brd + dev eth0 scope global来添加,因此注意这些配置要符合ip命令的语法。