����Linux�Ż�
Linux����

FreeBSD ˫���ȱ������ؾ���

����ʱ��:2006-09-17 10:12:24��Դ:��������:iLove.Rain
һ�� ϵͳ����

FreeBSD 5.4 Release ��С����װ �� Kernel Source
�ں˲��� CARP + IPVS for 5.4 Release
Load Balance Server ipvs1 192.168.1.200 255.255.255.0 (˫���ȱ� ��)
Load Balance Server ipvs2 192.168.1.243 255.255.255.0 (˫���ȱ� ��)
Real Server real1 192.168.1.156 255.255.255.0 http 80 telnet 23
Real Server real2 192.168.1.133 255.255.255.0 http 80 telnet 23
Share IP 192.168.1.160 255.255.255.0 (���������)

���� �߼����˽ṹ

���� ��װ����


a�� ��װ IPVS for 5.4 Release patch
Ipvs1# cd /home/vaio/
Ipvs1# tar -zxvf ipvs_freebsd-0.4.0.tar.gz
Ipvs1# mv ipvs-0.4.0 ipvs
Ipvs1# cd ipvs/patch/5.4-RELEASE
Ipvs1# cp * /usr/src/
Ipvs1# cd /usr/src/
Ipvs1# patch -p0 < uipc_socket.c.patch
Ipvs1# patch -p0 < ip_input.c.patch
Ipvs1# patch -p0 < socketvar.h.patch
Ipvs1# patch -p0 < sys_conf_options.patch
Ipvs1# patch -p0 < sys_i386_conf_GENERIC.patch
b�� ���Ӷ�CARP��֧��
Ipvs1# cd /usr/src/sys/i386/conf/
Ipvs1# vi GENERIC
�������� ���� ��device carp�� ע�⣺�м�������tab ��
c��Rebuild FreeBSD Kernel
Ipvs1# config GENERIC
Ipvs1# cd ../compile/GENERIC
Ipvs1# make depend
Ipvs1# make
Ipvs1# make install
Ipvs1# reboot
c�� ���� ipvs module
Ipvs1# cd /home/vaio/ipvs/ipvs
Ipvs1# make
Ipvs1# cd ipvsadm
Ipvs1# make install
d������ ipvs scheduler module
Ipvs1# cd ../schedulers
Ipvs1# cd rr (�������� ������Ӧ����)
Ipvs1# make
���ϲ�����ipvs2��ͬ����һ��

�ġ� ���÷���

a��CARP����
ipvs1# sysctl net.inet.carp.preempt=1
ipvs1# ifconfig carp0 create
ipvs1# ifconfig carp0 vhid 1 pass yourpassword 192.168.1.160/24 up
ipvs2# sysctl net.inet.carp.preempt=1
ipvs2# ifconfig carp0 create
ipvs2# ifconfig carp0 vhid 1 advskew 100 pass yourpassword 192.168.1.160/24 up
b��IPVS����
ipvs1# cd /home/vaio/ipvs/ipvs/
ipvs1# kldload ./ipvs.ko
ipvs1# kldload schedulers/rr/ip_vs_rr.ko
ipvs1# cd ipvsadm
ipvs1# ./ipvsadm -A -t 192.168.1.160:80 -s rr
ipvs1# ./ipvsadm -a -t 192.168.1.160:80 -r 192.168.1.156:80 -g
ipvs1# ./ipvsadm -a -t 192.168.1.160:80 -r 192.168.1.133:80 -g
ipvs1# ./ipvsadm -A -t 192.168.1.160:23 -s rr
ipvs1# ./ipvsadm -a -t 192.168.1.160:23 -r 192.168.1.156:23 -g
ipvs1# ./ipvsadm -a -t 192.168.1.160:23 -r 192.168.1.133:23 -g
���ϲ�����ipvs2��ͬ����һ��
c������Real Server
������ Real Server �� ����
ifconfig_lo0_alias0="inet 192.168.1.160 netmask 255.255.255.0"
d��Clear IPVS����
ipvs1# ./ipvsadm -C
ipvs1# kldunload ip_vs_rr
ipvs1# kldunload ipvs

�塢 ����

a��IPVS ����
ͨ��ͬһ�ͻ��� ���� http://192.168.1.160���ʵ�webҳ��������Real Server ���л���
ͨ����ͬ�ͻ��˷��� http://192.168.1.160���ʵ�webҳ��������Real Server ���л���
ͨ��ͬһ�ͻ��� ���� 192.168.1.160:23 ÿ������һ̨��ͬ�� Real Server��
b��CARP ����
ssh �� 192.168.1.160 ���Կ��� ������ӦΪ ipvs1 (��)
�ڿͻ�����ping 192.168.1.160 ���Ͽ� ipvs1 ������ �ڶ�ʧ1�������ٴ���ͨ
�ٴ�ssh �� 192.168.1.160 ���Կ���������ӦΪ ipvs2 ������>����
�� ipvs1������ͨ�� 192.168.1.160 �ٴ��л��� ipvs1 ��
���ϲ���ʱ Ӧ��Ӱ�� �� 192.168.1.160�� http �� telnet ����
��������

���� 9 ������

  1. 1977643034 �� 2013-06-10 02:15:30����:

    лл¥��������������

  2. 1977643034 �� 2013-06-10 02:14:48����:

    лл¥��������������

  3. �������� �� 2013-05-15 09:15:04����:

    ������ ֧����

  4. lc52mm �� 2013-04-07 17:57:42����:

    ѧϰ��ֹ����~~~

  5. ��������� �� 2013-03-27 11:41:03����:

    ������ ֧����

  6. cmkhie �� 2013-03-06 09:27:33����:

    ֧���ҿ��˰�����������

  7. afire521 �� 2009-12-12 21:53:29����:

    Loadbalance ��һֱ������˼�Ƶ��豸ʵ�ֵģ�������̨�ء�
    ���ڷ�������ʵ��Ҳ���ã�����Solaris����û��BSD��ô���Ի���

  8. kinron �� 2009-12-11 12:57:46����:

    ֧��~~~~

  9. suker �� 2006-10-28 09:40:10����:

    ֧��һ�¡���������