手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网站运营>建站经验>列表

在Linux下构造高性能、高可用、高可伸缩性的服务集群(一)

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
# ipvs patch
http://www.linuxvirtualserver.org/software/kernel-2.4/linux-2.4.20-ipvs-1.0.9.patch.gz

# ipvs tar ball
http://www.linuxvirtualserver.org/software/kernel-2.4/ipvs-1.0.9.tar.gz

# hidden patch(已包括在ipvs-1.0.9.tar.gz,可不用下载)
http://www.ssi.bg/~ja/hidden-2.4.20pre10-1.diff (解决arp 问题 for LVS-DR/LVS-Tun)

# ipvsadm (已包含在ipvs-1.0.9.tar.gz包中, 可不用下载)

# Ldirectord
http://www.linux-ha.org/download/heartbeat-ldirectord-1.0.3-1.i386.rpm

# heartbeat
http://www.linux-ha.org/download/heartbeat-1.0.3.tar.gz
http://www.linux-ha.org/download/heartbeat-1.0.3-1.src.rpm
http://www.linux-ha.org/download/heartbeat-1.0.3-1.i386.rpm
http://www.linux-ha.org/download/heartbeat-pils-1.0.3-1.i386.rpm
http://www.linux-ha.org/download/heartbeat-stonith-1.0.3-1.i386.rpm

2.5. 安装需要:

2.5.1 Director:

  • 内核打non-arp的补丁hidden-2.4.20pre10-1.diff (解决arp problem for LVS-DR/LVS-Tun,虽然在Directors上运行时并无需,但硬件环境假如和Realserver类似,内核能够直接放到 RealServer上运行,不用再为realServer重新编译内核,当然也可不打该补丁。)
  • 内核打ipvs的补丁linux-2.4.20-ipvs-1.0.9.patch.gz,重新编译新内核。
  • 运行新内核后编译安装ipvsadm。(LVS-NAT (network address translation); LVS-DR (direct routing) and LVS-Tun (tunneling). 真实服务器 realserver/service 的转发方式由ipvsadm来配置。)

2.5.2 RealServes: (在LVS-NAT方式下,无需打任何补丁)

内核打arp的补丁hidden-2.4.20pre10-1.diff (arp problem for LVS-DR/LVS-Tun)编译新内核。

  • 解决Non-arp problem
  • 配置缺省网关(gw)
    • LVS-NAT: director(DIP)
    • LVS-DR, LVS-Tun: 对外路由 (不是director的IP).

假如您不知道您的内核源代码是否已预打过ipvs的补丁, 能够询问您的Linux发行版的制造商或查看相关ipvs 文档,文档名类似于 /usr/src/linux-2.4/net/ipv4/ip_vs_*.c。

2.6. 安装步骤:

2.6.1 Director或RealServer上内核的安装:


export D=/tmp/download
mkdir $D
cd $D
wget http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.20.tar.gz
wget http://www.linuxvirtualserver.org/software/kernel-2.4/linux-2.4.20-ipvs-1.0.9 .patch.gz
wget http://www.linuxvirtualserver.org/software/kernel-2.4/ipvs-1.0.9.tar.gz

tar zxvf linux-2.4.20.tar.gz
tar zxvf ipvs-1.0.9.tar.gz
gunzip linux-2.4.20-ipvs-1.0.9.patch.gz
mv linux-2.4.20 /usr/src/linux-2.4.20
cd /usr/src
rm -f linux-2.4
ln -s linux-2.4.20 linux-2.4
cd linux-2.4
patch -p1 < $D/ipvs-1.0.9/contrib/patches/hidden-2.4.20pre10-1.diff (arp for LVS-DR/LVS-Tun)
patch -p1 < $D/linux-2.4.20-ipvs-1.0.9.patch (仅在编译Director内核时打补丁)
make mrproper
cp /boot/config-2.4.20-8 .config (使用Red Hat 9自带的config内核配置文档或使用/usr/src/linux-2.4.7-10/configs下的配置文档)

make menuconfig(参照相关ipvs及内核配置)
或在图像界面运行: make xconfig


相关网络内核选项:

相关LVS内核选项:



make dep
make clean
make bzImage
make modules
make modules_install
cp arch/i386/boot/bzImage /boot/ vmlinuz-2.4.20-lvs (rs)
cp System.map /boot/System.map.2.4.20-lvs (rs)
cp vmlinux /boot/vmlinux-2.4.20-lvs (rs)
cd /boot
rm -f System map
ln -s System.map.2.4.20-lvs (rs) System.map

vi /boot/grub/grub.conf:
title 2.4.20-lvs
root (hd0,0)
kernel /boot/vmlinuz-2.4.20-lvs (rs) ro root=/dev/xxx




假如要安装该内核在其他机器上:


tar czf linux-2.4.20-dir.tgz /usr/src/linux-2.4.20/

在其他机器上解压tar zxvf linux-2.4.20-dir.tgz 放置到/usr/src
rm -f linux-2.4
ln -s linux-2.4.20 linux-2.4
cd linux-2.4
make modules_install
cp arch/i386/boot/bzImage /boot/ vmlinuz-2.4.20-lvs (rs)
cp System.map /boot/System.map.2.4.20-lvs (rs)
cd /boot
rm -f System map
ln -s System.map.2.4.20-lvs (rs) System.map

vi /boot/grub/grub.conf:
title 2.4.20-lvs
root (hd0,0)
kernel /boot/vmlinuz-2.4.20-lvs (rs) ro root=/dev/xxx

2.6.2 Director上ipvsadm 的安装:

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!