小弟不才,刚刚接触Linux服务器不久,发现学习起来有个文档对应会很快。所以这里把自己的一点点经验分享给大家。很基础的东西,适合像我一样刚刚基础这方面知识的同学 观看 所以希望高手们不要吐槽 本人虚心接受批评!!!
系统版本 centos 6.5
IP设置
LVS 主 10.1.1.1
LVS 备 10.1.1.2
RS1 10.1.1.3
RS2 10.1.1.4
vip 10.1.1.200
1、首先安装 LVS软件 分别在LVS主和备上安装 可以使用yum安装
yum install ipvsadm
service ipvsadm start
2、安装keepalived 分别在LVS主和备上安装
下载安装包 #可以去下载最新版 这里只是演示!
tar -zxvf keepalived-1.2.12.tar.gz
cd keepalived-1.2.12
./configure --sysconf=/etc --with-kernel-dir=/usr/src/kernels/2.6.32-71.el6.x86_64 #注意这里 不同版本的系统内核版本可不同 注意2.6.32-71.el6.x86_64 这里!!
##编译过程可能会报错 按照上面的提示安装相应的包即可 一般 就是gcc openssl-devel 这两个!
make && make install
ln -s /usr/local/sbin/keepalived /sbin/
安装完成
3、配置keeplived
vim /etc/keepalived/keepalived.conf
这里给大家一个参考 根据上面的注释进行修改
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc #这里添加邮箱 出问题会发送报警到邮箱里 注意 要想使用这个功能 系统里面需要安装sendmail
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER #这里 LVS主 就填写MASTER LVS备 就填写 BACKUP 都是大写的
interface eth0 #这里 填写你使用的网卡 eth0或者eth1等
virtual_router_id 51
priority 100 # 这里是设置权重 数字越大权重越高 LVS主的权重一定要比LVS备要高
advert_int 1
authentication {
auth_type PASS
auth_pass 1111 # 这里设置的数字 是表示 心跳访问时的对应密码 有点像手机互相用蓝牙连接是输入的那个密码 所以LVS主和备要保持一致
}
virtual_ipaddress {
10.1.1.200 # 这里填写虚拟ip地址 LVS主备保持一致
}
}
virtual_server 10.1.1.200 80 { #这里设置 提供服务的RS设置 这个IP要与上面保持一致
delay_loop 6
lb_algo rr # 这里填写LVS分发算法 rr表示一比一分发 其他的请自行百度
lb_kind DR # 这里填写LVS模式 DR NET 一般推荐DR
nat_mask 255.255.255.0
persistence_timeout 50
protocol TCP
real_server 10.1.1.2 80 { #这里填写 RS1的ip地址
weight 1
TCP_CHECK {
connect_timeout 3
connect_port 80
}
}
real_server 10.1.1.3 80 { #这里填写 RS1的ip地址 注意 RS可以有很多个 按照这个复制填写即可
weight 1
TCP_CHECK {
connect_timeout 3
connect_port 80
}
}
}
修改后保存退出 注意:keepalived 没有对配置文件检查的功能 所以务必保证填写正确 重点检查大括号 的数量和对应 一旦填写错误 找起来相当困难!!!
修改好配置文件后启动 keepalived
/etc/init.d/keepalived restart #注意 这里一定要保证配置文件内容正确 否则即使错误了也不会提示的
LVS备上的配置方式与LVS主相同 需要修改的地方已经在上文标出了 这里不再多说!
4、配置RS
rs的设置很简单 安装web服务 设置虚拟IP即可 这里为大家提供一个 配置脚本 供参考!
#!/bin/bash
#start real server
VIP=10.1.1.200 #此处修改为虚拟IP的地址 其他不用修改该
case "$1" in
start)
echo "start LVS of real server"
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p >/dev/null 2>&1
;;
stop)
/sbin/ifconfig lo:0 down
echo "close LVS Director server"
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p >/dev/null 2>&1
;;
*)
echo "Usage : $0 {start|stop}"
exit 1
esac
将上面这个脚本 存放到/etc/inid.d/下 任意名字即可 只要自己知道就好
我这里保存为 /etc/init.d/lvsrs
chmod 755 /etc/init.d/lvsrs
使用方式:
开启 service lvsrs start
关闭 service lvsrs stop
一般关闭的功能很少用 也就开启一次之后就不会动RS了
将这个脚本 复制到其他的RS上 /etc/init.d/ 目录下 运行 即可完成所有RS的配置
5、测试
介此 高可用的 LVS 介绍完毕 !!