全部博文(512)
分类: LINUX
2006-11-08 10:09:01
集群配置过程
(在学习中)
环境:
一、Redhat 9.0 内核
下载源码标准版linux-
二、内核编译过程
1、获得到内核源码和相关的软件包
这里需要强调的是由于RedHat 7.3/8.0的内核源码中已经预先打了ipvs的补丁,所以在安装ipvs时不能使用RedHat光盘中的Kernel Source,而是需要去下载标准的内核。对于RedHat 9.0,虽然内核中没有预编译ipvs,但我还是提倡使用standard kernel,因为所有的ipvs的补丁包都是为标准内核开发的。从得到standard kernel (RedHat 7.3/8.0),
(RedHat 9.0), 从 得到ipvs-1.0.9.tar.gz、ipvsadm-1.21.tar.gz。(在下面的阐述中都以内核为例,对于内核做法是完全相同的)
2、把ipvs补丁Patch到内核源码中
把linux-
把ipvs-1.0.9.tar.gz解压缩到某个目录,如/usr/src/source,生成了/usr/src/source/ipvs-1.0.9目录;进入/usr/src/source/ipvs-1.0.9,依次执行如下命令:make
patchkernel、make installsource,将ipvs的Patch加载到kernel的source中。当然您也可以用linux-2.4.20-ipvs-1.0.9.patch.gz直接patch到内核中,在/usr/src执行 gzip -cd linux-2.4.20-ipvs-1.0.9.patch.gz,然后进入/usr/src/linux执行patch -p1 <
../linux-2.4.20-ipvs-1.0.9.patch
3、重新编译支持ipvs的内核
Make mrproper
Make xconfig
Make dep
Make clean
Make bzImage
Make modules
Make modules_install
Make install //可以不要,grub.conf被配置,不需要在人工配置;
4、启用新内核 (此步 在3中,如果执行了 make install ,则可以省略)
mkinitrd /boot/initrd-
cp /usr/src/linux/arch/i386/boot/bzImage
/boot/vmlinuz-2.4.18ipvs
cd /boot
rm vmlinuz
ln –s vmlinuz-2.4.18ipvs vmlinuz
cp /usr/src/linux/System.map /boot/System.map-2.4.18ipvs
cd /boot
rm System.map
ln –s System.map-2.4.18ipvs System.map
vi /etc/lilo.conf
添加启动选项:
image=/boot/vmlinuz-2.4.18ipvs
label=linux-ipvs
initrd=/boot/initrd-2.4.18ipvs.img
read-only
root=/dev/hda3
lilo
然后重新启动,选择新内核就可支持最新的ipvs
这个过程注意问题:是内核不能启动。主要如下
grup.conf(或者lilo.conf)文件要正确
Make xconfig选择时候,要正确,首先要满足内核的基本启动情况,ext3和ext2要编
译到内核,网络配置要正确、
修改源文件ide-hc.440行
三、lvs配置
1、安装ipvs管理工具ipvsadm
当使用了支持ipvs的内核后,就可以安装ipvsadm,ipvsadm是设置ipvs转发方式和调度算法的工具
tar xzvf ipvsadm-1.21.tar.gz
cd ./ipvsadm-1.21
make
make install
安装完成后,执行ipvsadm命令,如果有如下信息出现则说明安装成功了。
到现在为止,支持负载均衡功能的director就配置成功了,接下来我们可以通过ipvsadm来配置一个负载均衡集群。
2、NAT方式
安装VS-NAT
根据下表设置客户端、负载均衡器、物理服务器的IP地址:
表21-2.客户端、负载均衡器、物理服务器的IP地址
机 器 IP地址
客户端 192.168.1.254
负载均衡器的虚拟IP 192.168.1.110(LVS表现的IP)
负载均衡器内部网卡
物理服务器1
物理服务器2
物理服务器3
…… ……
物理服务器n
物理服务器的默认
网关
对于VS-NAT方法来说,物理服务器必须位于与客户机、LVS的虚拟IP地址不同的网段上,也就是说在物理服务器上不能直接PING通客户机。