[计算机]Linux上的集群及其配置实例

上传人:油条 文档编号:33856807 上传时间:2018-02-18 格式:DOC 页数:8 大小:42.50KB
返回 下载 相关 举报
[计算机]Linux上的集群及其配置实例_第1页
第1页 / 共8页
[计算机]Linux上的集群及其配置实例_第2页
第2页 / 共8页
[计算机]Linux上的集群及其配置实例_第3页
第3页 / 共8页
[计算机]Linux上的集群及其配置实例_第4页
第4页 / 共8页
[计算机]Linux上的集群及其配置实例_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《[计算机]Linux上的集群及其配置实例》由会员分享,可在线阅读,更多相关《[计算机]Linux上的集群及其配置实例(8页珍藏版)》请在金锄头文库上搜索。

1、Linux 上的集群及其配置实例2005 年 2 月 25 日 15:41:58 通过 Linux LVS,实现 WWW,Telnet 服务的负载平衡。这里实现Telnet 集群服务仅为了测试上的方便。 LVS 有三种负载平衡方式,NAT(Network Address Translation) ,DR(Direct Routing) ,IP Tunneling。其中,最为常用的是 DR 方式,因此这里只说明 DR(Direct Routing)方式的 LVS 负载平衡。 网络拓扑结构。 如图 1 所示,为测试方便,4 台机器处于同一网段内,通过一交换机或者集线器相连。实际的应用中,最好能将虚

2、拟服务器 vs1 和真实服务器 rs1, rs2 置于于不同的网段上,即提高了性能,也加强了整个集群系统的安全性。 服务器的软硬件配置 首先说明,虽然本文的测试环境中用的是 3 台相同配置的服务器,但LVS 并不要求集群中的服务器规格划一,相反,可以根据服务器的不同配置和负载情况,调整负载分配策略,充分利用集群环境中的每一台服务器。 这 3 台服务器中,vs1 作为虚拟服务器(即负载平衡服务器) ,负责将用户的访问请求转发到集群内部的 rs1,rs2,然后由 rs1,rs2 分别处理。 client 为客户端测试机器,可以为任意操作系统。 4 台服务器的操作系统和网络配置分别为: vs1: R

3、edHat 6.2, Kernel 2.2.19 vs1: eth0 192.168.0.1 vs1: eth0:101 192.168.0.101 rs1: RedHat 6.2, Kernel 2.2.14 rs1: eth0 192.168.0.3 rs1: dummy0 192.168.0.101 rs2: RedHat 6.2, Kernel 2.2.14 rs2: eth0 192.168.0.4 rs2: dummy0 192.168.0.101 client: Windows 2000 client: eth0 192.168.0.200 其中,192.168.0.101 是允

4、许用户访问的 IP。 虚拟服务器的集群配置大部分的集群配置工作都在虚拟服务器 vs1 上面,需要下面的几个步骤: 重新编译内核。 首先,下载最新的 Linux 内核,版本号为 2.2.19,下载地址为:http:/www.kernel.org/,解压缩后置于 /usr/src/linux 目录下。 其次需要下载 LVS 的内核补丁,地址为:http:/www.linuxvirtualserver.org/software/ipvs-1.0.6-2.2.19.tar.gz。这里注意,如果你用的 Linux 内核不是 2.2.19 版本的,请下载相应版本的 LVS 内核补丁。将 ipvs-1.0.

5、6-2.2.19.tar.gz 解压缩后置于/usr/src/linux 目录下。 然后,对内核打补丁,如下操作:rootvs2 /root# cd /usr/src/linux rootvs2 linux# patch -p1 * *Prompt for development and/or incomplete code/drivers 2 Networking 部分: * Kernel/User netlink socket * Routing messages Netlink device emulation * * Network firewalls * Socket Filteri

6、ng Unix domain sockets * * TCP/IP networking * IP: multicasting * IP: advanced router IP: policy routing IP: equal cost multipath IP: use TOS value as routing key IP: verbose route monitoring IP: large routing tables IP: kernel level autoconfiguration * * IP: firewalling IP: firewall packet netlink

7、device * * IP: transparent proxy support * * IP: masquerading - Protocol-specific masquerading support will be built as modules. * * IP: ICMP masquerading - Protocol-specific masquerading support will be built as modules. * * IP: masquerading special modules support * IP: ipautofw masq support (EXPE

8、RIMENTAL)(NEW) * IP: ipportfw masq support (EXPERIMENTAL)(NEW) * IP: ip fwmark masq-forwarding support (EXPERIMENTAL)(NEW) * * IP: masquerading virtual server support (EXPERIMENTAL)(NEW) * IP Virtual Server debugging (NEW) IP: Reverse ARP * IP: Allow large windows (not recommended if The IPv6 protoc

9、ol (EXPERIMENTAL) 上面,带*号的为必选项。 然后就是常规的编译内核过程,不再赘述,请参考编译 Linux 教程 。在这里要注意一点:如果你使用的是 RedHat 自带的内核或者从RedHat 下载的内核版本,已经预先打好了 LVS 的补丁。这可以通过查看/usr/src/linux/net/目录下有没有几个 ipvs 开头的文件来判断:如果有,则说明已经打过补丁。 编写 LVS 配置文件,实例中的配置文件如下: #lvs_dr.conf (C) Joseph Mack mackncifcrf.gov LVS_TYPE=VS_DR INITIAL_STATE=on VIP=et

10、h0:101 192.168.0.101 255.255.255.0 192.168.0.0 DIRECTOR_INSIDEIP=eth0 192.168.0.1 192.168.0.0 255.255.255.0 192.168.0. 255 SERVICE=t telnet rr rs1:telnet rs2:telnet SERVICE=t www rr rs1:www rs2:www SERVER_VIP_DEVICE=dummy0 SERVER_NET_DEVICE=eth0 #-end lvs_dr.conf- 将该文件置于/etc/lvs 目录下。 使用 LVS 的配置脚本产生

11、lvs.conf 文件。该配置脚本可以从http:/www.linuxvirtualserver.org/Joseph.Mack/configure-lvs_0.8.tar.gz 单独下载,在 ipvs-1.0.6-2.2.19.tar.gz 包中也有包含脚本 configure 的使用方法: rootvs2 lvs# configure lvs.conf 这样会产生几个配置文件,这里我们只使用其中的 rc.lvs_dr 文件。 修改/etc/rc.d/init.d/rc.local,增加如下几行: echo 1 /proc/sys/net/ipv4/ip_forward echo 1 /pr

12、oc/sys/net/ipv4/ip_always_defrag # 显示最多调试信息 echo 10 /proc/sys/net/ipv4/vs/debug_level 配置 NFS 服务。这一步仅仅是为了方便管理,不是必须的步骤。 假设配置文件 lvs.conf 文件放在/etc/lvs 目录下,则/etc/exports 文件的内容为: /etc/lvs ro(rs1,rs2) 然后使用 exportfs 命令输出这个目录: rootvs2 lvs# exportfs 如果遇到什么麻烦,可以尝试: rootvs2 lvs# /etc/rc.d/init.d/nfs restart roo

13、tvs2 lvs# exportfs 这样,各个 real server 可以通过 NFS 获得 rc.lvs_dr 文件,方便了集群的配置:你每次修改 lvs.conf 中的配置选项,都可以即可反映在rs1,rs2 的相应目录里。 修改/etc/syslogd.conf,增加如下一行: kern.* /var/log/kernel_log 这样,LVS 的一些调试信息就会写入/var/log/kernel_log 文件中. real server 的配置 real server 的配置相对简单,主要是是以下几点:配置 telnet 和 WWW 服务。telnet 服务没有需要特别注意的事项,

14、但是对于 www 服务,需要修改 httpd.conf 文件,使得 apache 在虚拟服务器的 ip 地址上监听,如下所示: Listen 192.168.0.101:80 关闭 real server 上 dummy0 的 arp 请求响应能力。这是必须的,具体原因请参见 ARP problem in LVS/TUN and LVS/DR 关闭 dummy0 的arp 响应的方式有多种,比较简单地方法是,修改/etc/rc.d/rc.local 文件,增加如下几行: echo 1 /proc/sys/net/ipv4/conf/all/hidden ifconfig dummy0 up i

15、fconfig dummy0 192.168.0.101 netmask 255.255.255.0 broadcast 192.168. 0.0 up echo 1 /proc/sys/net/ipv4/conf/dummy0/hidden 再次修改/etc/rc.d/rc.local,增加如下一行:(可以和步骤 2 合并) echo 1 /proc/sys/net/ipv4/ip_forward 四 LVS 的测试 好了,经过了上面的配置步骤,现在可以测试 LVS 了,步骤如下: 分别在 vs1,rs1,rs2 上运行 /etc/lvs/rc.lvs_dr。注意,rs1,rs2 上面的/e

16、tc/lvs 目录是 vs2 输出的。如果您的 NFS 配置没有成功,也可以把vs1 上/etc/lvs/rc.lvs_dr 复制到 rs1,rs2 上,然后分别运行。确保rs1,rs2 上面的 apache 已经启动并且允许 telnet。 然后从 client 运行 telnet 192.168.0.101,如果登录后看到如下输出就说明集群已经开始工作了:(假设以 guest 用户身份登录)guestrs1 guest$-说明已经登录到服务器 rs1 上。 再开启一个 telnet 窗口,登录后会发现系统提示变为:guestrs2 guest$-说明已经登录到服务器 rs2 上。 然后在 vs

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号