Linux实现Ftp服务双机热备


Linux实现Ftp服务双机热备
 
系统:opensuse 11.3 32位
热备服务软件:
LVS:
ipvsadm-1.26-3.1.i586.rpm
KeepAlived:
keepalived-1.2.2.tar.gz
  www.2cto.com  
安装步骤:
一,
lvs采用rpm包安装比较方便
#rpm -ivh ipvsadm-1.26-3.1.i586.rpm
二,
keepalived使用源码安装
#tar -zxvf keepalived-1.1.15.tar.gz
#cd keepalived-1.1.15
#./configure --prefix=/usr/local/keepalived
#make && make install
 
配置
编辑/etc/keepalived/keepalived.conf
#===================================配置开始====================================
! Configuration File for keepalived
 
#全局配置
global_defs {
   notification_email {
     hbyc@163.com
   }
   notification_email_from root@localhost
   smtp_server 127.0.0.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}
 
 
#VRRP配置
vrrp_instance VI_1 {
    state MASTER
    interface eth1
    virtual_router_id 51
    priority 100 
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }   
    virtual_ipaddress {
        192.168.1.80
    }   
}
 
 
virtual_server 192.168.1.80 80 {
    delay_loop 6
    lb_algo rr
    lb_kind DR  
    nat_mask 255.255.255.0
    persistence_timeout 50
    protocol TCP 
 
 
    real_server 192.168.1.81 80 {
        weight 1
        TCP_CHECK {
        connect_timeout 10
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        }   
    }   
 
 
    real_server 192.168.1.82 80 {
        weight 1
        TCP_CHECK {
        connect_timeout 10
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        }
    }
 
 
}
#===================================配置结束====================================
 
1,启动lvs
#ipvsadm
查看是否启动成功,
#lsmod |grep ip_v
ip_vs_rr                1122  1 
ip_vs                 106759  3 ip_vs_rr
libcrc32c                971  1 ip_vs
 
2,启动keepalive
#keepalived start
查看是否启动成功,
#ps -ef|grep keepalived
root      3242     1  0 23:35 ?        00:00:00 keepalived start
root      3243  3242  0 23:35 ?        00:00:00 keepalived start
root      3244  3242  0 23:35 ?        00:00:00 keepalived start
root      3280  3107  0 23:41 pts/0    00:00:00 grep keepalived
 
3,查看热备情况,
#ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.1.80:http rr persistent 50
 
#查看热备运行日志
#tail -f /var/log/message
Mar 12 23:35:24 linux-e1j0 avahi-daemon[2016]: Registering new address record for 192.168.1.80 on eth1.IPv4.
Mar 12 23:35:26 linux-e1j0 Keepalived_healthcheckers: TCP connection to [192.168.1.81]:80 failed !!!
Mar 12 23:35:26 linux-e1j0 Keepalived_healthcheckers: Removing service [192.168.1.81]:80 from VS [192.168.1.80]:80
Mar 12 23:35:26 linux-e1j0 Keepalived_healthcheckers: Remote SMTP server [127.0.0.1:25] connected.
 
4,查看虚拟地址是否正常加载到网卡上。
#ip a
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:0c:29:cb:c8:7d brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.71/24 brd 192.168.1.255 scope global eth1
    inet 192.168.1.80/32 scope global eth1
    inet6 fe80::20c:29ff:fecb:c87d/64 scope link 
       valid_lft forever preferred_lft forever
可以看到 192.168.1.80/32 虚拟地址正常加载。
 
测试热备服务:
开启日志监控
#tail -f /var/log/message
关掉主服务
#killall -9 keepalived
可以看到备用服务日志输出:
Mar 13 23:00:27 linux-backup Keepalived_vrrp: VRRP_Instance(VI_1) Transition to MASTER STATE
Mar 13 23:00:28 linux-backup Keepalived_vrrp: VRRP_Instance(VI_1) Entering MASTER STATE
Mar 13 23:00:28 linux-backup avahi-daemon[2053]: Registering new address record for 192.168.1.80 on eth2.IPv4.
Mar 13 23:00:28 linux-backup avahi-daemon[2053]: Withdrawing address record for fe80::20c:29ff:fec4:da16 on eth2.
Mar 13 23:00:28 linux-backup avahi-daemon[2053]: Withdrawing address record for 192.168.1.72 on eth2.
 
开启主服务器服务
#keepalived start
可以看到备用服务日志输出:
Mar 13 23:01:00 linux-backup Keepalived_vrrp: VRRP_Instance(VI_1) Received higher prio advert
Mar 13 23:01:00 linux-backup Keepalived_vrrp: VRRP_Instance(VI_1) Entering BACKUP STATE
Mar 13 23:01:00 linux-backup avahi-daemon[2053]: Server startup complete. Host name is linux-backup-89.local. Local service cookie is 2700730627.
Mar 13 23:01:00 linux-backup avahi-daemon[2053]: Withdrawing address record for 192.168.1.80 on eth2.
 
这只是能看到服务正常切换了。真正测试双备服务的方法是,在主备服务上同时开启ftp服务。
#service vsftpd start
然后用第三方电脑访问虚拟地址 ftp 192.168.1.80,
可以看到当主备服务切换时,ftp客户端会分别登录到不同的服务器上(71或72),证明ftp服务双机热备正常搭建。
 

相关内容

    暂无相关文章