Linux集群原理与安装配置介绍
Linux集群原理
Linux集群系统包括集群节点和集群管理器两部分。集群节点有时简称为节点、服务器或服务器节点,是提供处理资源的系统,它进行集群的实际工作。一般来讲,它必须进行配置才能成为集群的一部分,也必须运行集群的应用软件。应用软件可以是专用于集群的软件,也可以是设计用于分布式系统的标准软件。Linux集群管理器则是将节点捆绑在一起,以构成单一系统外观的逻辑结构,它用于将任务分解到所有的节点。
集群因多种不同的原因而有着不同的类型,建立Linux集群的最直接原因是共享CPU资源,在多个机器之间平衡负载,获得更多的系统可靠性,或在主机失败时提供后备系统(切换)。
通过对相关软件的分析,实现集群负载的功能是通过流量管理实现的,具体有以下几种实现方法:直接路由(Direct Forwarding)、网络地址转换(NAT)和隧道技术(Tunneling)。
直接路由(Direct Forwarding)是当参与集群的计算机和作为控制管理的计算机在同一个网段时可以使用此法。控制管理的计算机接收到请求包时,直接送到参与集群的节点。它的优点是返回给客户的流量不经过控制主机,速度快、开销少。
可能大家比较熟悉网络地址转换(NAT)这种方法。地址转换器有能被外界访问到的合法IP地址,它修改来自专有网络的流出包的地址,外界看起来包是来自地址转换器本身。当外界包送到转换器时,它能判断出应该将包送到内部网的哪个节点。它的优点是节省IP地址,能对内部进行伪装;缺点是效率低,因为返回给请求方的流量要经过转换器。
隧道技术(Tunneling)这种方式是Linux集群的节点不在同一个网段时采用的转发机制,是将IP包封装在其它网络流量中。从安全角度考虑,应该使用隧道技术中的***,也可使用租用专线。
Linux集群所能提供的服务是基于TCP/IP的Web服务、Mail服务、News服务、DNS服务和Proxy服务器等。下面我就以一个具体的产品TurboLinux Cluster Server 来实现一个负载均衡Linux集群系统,用于提供Web和FTP服务。
Linux集群规划
1提供的服务:Web、FTP
2做一个较完善的负载均衡系统,以便能用到其中较多的功能。
3使用4台服务器,其中3台安装TurboLinux Cluster Server,1台安装Windows 2000 Sever
Linux集群安装
1在3台服务器上安装Turbo Linux,还需要安装Apache和wu-ftpd,因为Linux集群要提供这种服务。安装完成后重启机器,挂接光驱在目录/mnt/cdrom下,执行。/TLCS-install,然后按提示完全安装。
2在1台服务器上安装Windows 2000 Server,还要安装Internet Information Server 50
配置Linux集群管理器
1设置各台服务器的IP地址、子网掩码、路由等,调通网络,并将1台TurboLinux服务器设置成DNS服务器,使其能够正向解析和反向解析。此例服务器名为pc1,域为testcom
2配置Cluster Server执行TurboLinuxclusteradmin,设置情况如下(连字符连接的是选单选项或其下级选单,冒号后为设置情况):
(1)ClusterServer Configuration-Cluster Services-Application Stability Agents:
http为默认的服务,不用设置。
ftp:/usr/lib/ftpAgent
(2)ClusterServer Configuration--Cluster Services--Service Settings:
http,80:TCP,sticky
ftp,21:TCP,ftp
(3)ClusterServer Configuration--Servers Configuration:
pc1 (pc1testcom),direct,ping
pc2 (pc2testcom),direct,ping
pc3 (pc3testcom),direct,ping
pc4 (pc4testcom),direct,ping
(4)ClusterServer Configuration--Advance Traffic Managers:
Advance Traffic Manager System:pc1testcom
Advance Traffic Manager Setting: 默认值
(5)ClusterServer ConfigurationàVirtual Severs:
主机为:pc1testcom
sendmail:master@pc1 testcom
Server pool name: Server Group1
(6)ClusterServer ConfigurationàGloble Settings:
网络设置:netmask 2552552550
配置集群各节点
1配置Windows 2000 Server节点
因为TurboLinux Cluster Server 本身能被工具自动同步,所以只要配置Windows 2000 Server即可。
(1)开始→设置→控制面板→添加新硬件→下一步→添加/排除设备故障→添加新设备→否,再从列表选择硬件→其它设备→Microsoft:Microsoft Loopback Adapter→完成。
(2)在桌面上单击鼠标右键选择网上邻居→属性→TCP/IP,设置IP地址、缺省网关、子网掩码(先设成 2552552550)。
(3)开始→运行→regedit→找到注册表中与Microsoft Loopback Adapter相关的项,将子网掩码改成 255255255255
(4)配置系统运行合适的服务,并配置适合集群管理器管理的配置,以便可在控制管理器中使用。
2配置Turbo Linux Cluster Server节点
(1)在管理菜单中选tlcs_content _sync执行内容同步,输入将要配置的节点机密码,将复制集群管理器中的服务内容到节点。
(2)在管理菜单中选择tlcs_ config _sync执行设置同步,输入将要配置的节点机密码,复制集群管理器中的设置内容到节点。
到此,我们已经可以在集群管理器PC1上看到运行状态,可将客户端连在接服务器的交换机上,客户端可以请求Web和FTP服务。
1)简述服务功能:
Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。
Apache web服务器软件拥有以下特性:
支持最新的HTTP/11通信协议
拥有简单而强有力的基于文件的配置过程
支持通用网关接口
支持基于IP和基于域名的虚拟主机
支持多种方式的HTTP认证
集成Perl处理模块
集成代理服务器模块
支持实时监视服务器状态和定制服务器日志
支持服务器端包含指令(SSI)
支持安全Socket层(SSL)
提供用户会话过程的跟踪
支持FastCGI
通过第三方模块可以支持Java Servlets
如果你准备选择Web服务器,毫无疑问Apache是你的最佳选择。
2)检测是否已安装相应服务器
这个不知道楼主说的是不是 检测服务器是否已经安装了apache服务。
chkconfig --list | grep httpd(对rpm包安装的有效)
3)rpm包安装过程
这个应该是怎么安装apache吧?
在有apache rpm包的 目录
rpm -ivh apache20……rpm(apache的包名)
4)启动、停止、重启服务命令
service httpd start #启动
service httpd stop #停止
service httpd restart #重启
5)服务器的配置(修改哪些配置文件)
默认安装就可以
安装完成以后就可以访问
http://localhost
提示:关闭防火墙
service iptables stop
简单记录一下Squid透明代理服务器的配置
环境:VirtualBox + CentOS 60 + squid-314-1el6i686
0、检查squid是否默认安装,没有安装的先安装
代码如下:
[root@Slyar ~]# rpm -qa squid
squid-314-1el6i686
1、虚拟机添加双网卡,全部设置桥接,配置IP,eth0作为外网,eth1作为内网,注意配置文件里的网卡MAC地址要和设备匹配!
代码如下:
[root@Slyar ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
ONBOOT=yes
TYPE=Ethernet
HWADDR=08:00:27:BC:6A:0D
IPADDR=172171221
PREFIX=24
GATEWAY=172171254
DNS1=172165133
NAME="System eth0"
p[root@Slyar ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
ONBOOT=yes
TYPE=Ethernet
HWADDR=08:00:27:20:52:B2
IPADDR=1921681254
PREFIX=24
NAME="System eth1"
p[root@Slyar ~]# /etc/initd/network restart #重新启动网卡
配置之后无法上网的,注意用route命令看一下默认路由。建议eth1就不要设置网关了,省的麻烦,当然如果你愿意配置默认路由也没所谓。
2、配置squid及透明模式
代码如下:
[root@Slyar ~]# cp /etc/squid/squidconf /etc/squid/squidconfbak
[root@Slyar ~]# vim /etc/squid/squidconf
为了省事,我直接把下面这行改成 http_access allow all,读者可以自行修改允许范围。
代码如下:
# And finally deny all other access to this proxy
http_access deny all
切记一定要在配置文件最下方增加下面这条语句,否则squid无法启动!
代码如下:
visible_hostname localhost
如果你要使用透明模式,在端口后面增加关键字"transparent"。
不使用透明模式的话,这行不用改,进行第3步之后可以直接跳到第7步测试了。
代码如下:
# Squid normally listens to port 3128
http_port 3128 transparent
3、启动squid
代码如下:
[root@Slyar ~]# service squid restart
4、为透明代理配置iptables,设置转发
为了省事,直接创建一个shell脚本,开启网卡间流量交换,开启NAT,设置DNS转发,设置80端口流量全部转发到3128端口交给squid处理。
代码如下:
[root@Slyar ~]# vim squidsh #创建脚本文件
代码如下:
#!/bin/bash
echo "1" /proc/sys/net/ipv4/ip_forward
modprobe iptable_nat
/sbin/iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to 172165133
iptables -t nat -A PREROUTING -i eth1 -p tcp -s 19216810/24 --dport 80 -j REDIRECT --to-ports 3128
p[root@Slyar ~]# chmod o+x squidsh #给脚本执行权限
[root@Slyar ~]# /squidsh #启动脚本
5、将iptables指定保存到配置文件
代码如下:
[root@Slyar ~]# service iptables save
6、重新启动iptables
代码如下:
[root@Slyar ~]# service iptables restart
7、测试squid透明代理
客户端设置IP地址:1921681x/24
网关:1921681254
DNS服务器:1921681254
8、打开IE,不用设置代理(因为是透明代理),输入www如果能打开就成功。
9、补充非透明代理测试方法:打开IE - 工具 - Internet选项 - 连接 - 局域网设置 - 代理服务器,设置服务器IP为1921681254,端口3128,确定。
0条评论