2009年03月23日
Linux服务器集群系统(二)
LVS集群的体系结构文档选项
将此页作为电子邮件发送
将此页作为电子邮件发送
拓展 Tomcat 应用
下载 IBM 开源 J2EE 应用服务器 WAS CE 新版本 V1.1
级别: 初级
章文嵩 (mailto:wensong@linux-vs.org?subject=Linux服务器集群系统(二)&cc=wensong@linux-vs.org),
2002 年 4 月 10 日本文主要介绍了LVS集群的体系结构。先给出LVS集群的通用体系结构,并讨论了其的设计原则和相应的特点;最后将LVS集群应用于建立可伸缩的Web、Media、Cache和Mail等网络服务。
引言
在过去的十几年中,Internet从几个研究机构相连为信息共享的网络发展成为拥有大量应用和服务的全球性网络,它正成为人们生活中不可缺少的一部分。虽然Internet发展速度很快,但建设和维护大型网络服务依然是一项挑战性的任务,因为系统必须是高性能的、高可靠的,尤其当访问负阅读全文>
发表于 @ 2009年03月23日 00:15:00|评论(loading...)|编辑|举报|收藏
LVS是一个开源的软件,可以实现LINUX平台下的简单负载均衡.
后面所附文章,讲述了LVS实现负载均衡的方法.
因为文章较长,所以在转载前,先总结一下LVS的优缺点:
优点:
1、开源,免费
2、在网上能找到一些相关技术资源
3、具有软件负载均衡的一些优点
缺点:
1、具有开源产品常有的缺点,最核心的就是没有可靠的支持服务,没有人对其结果负责
2、功能比较简单,支持复杂应用的负载均衡能力较差,如算法较少等。
3、开启隧道方式需重编译内核
4、配置复杂
5、只支持LINUX,如果应用还包括WINDOWS、SOLIRIS等就不行了
因此,建议在简单的LINUX应用中使用LVS,复杂的应用,或者重要的应用,还是应该使用专业的负载均衡软件,如富士通西门子公司的PCL负载均衡软件。
下面转载一下如何使用LVS实现负载均衡:
搭建集群负载均衡系统 (原阅读全文>
发表于 @ 2009年03月23日 00:14:00|评论(loading...)|编辑|举报|收藏
缺省状态下,转发表中只安装路由表里的最佳路径
lab@juniper# run show route 6.6.6.6
inet.0: 19 destinations, 22 routes (19 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
6.6.6.6/32 *[IS-IS/18] 00:03:33, metric 42
to 10.0.0.2 via fxp1.1
> to 10.0.1.2 via fxp1.2
[edit]
lab@juniper# run show route forwarding-table
5.5.5.5/32 user 0 10.0.1.2 ucst 490 7 fxp1.2
6.阅读全文>
发表于 @ 2009年03月23日 00:08:00|评论(loading...)|编辑|举报|收藏
引言:
Linux在网络方面具有很强大的功能。可以用Linux架构Firewall(防火墙), IDS(入侵检测),Cache&Proxy,大型的mail 系统,甚至高端的路由器等,无所不能。本文介绍Linux在负载均衡方面的应用和具体的实现。本文的前半部分主要是一些理论的说明及所用组件的简要介绍,后半部分是具体的实现,包括软件的安装、配置和启动。本文的内容是本人实验得来的,难免有疏漏,请各位谅解!
本文的目标:
本文的目标是实现一个由两台Linux Load balancer(LLB)和三台web服务器组成一个web服务器群,这个服务器群对用户来说就好象
是一台服务器。LLB对三台web服务器进行负载均衡。并且当web服务器出现故障时LLB会自动将出现故障的web服务器从服务器群中剔除,
当web服务器的故障修复后LLB会自动将web服务器加入到服务器群中来。其中两台LLB一台为主(Master LLB),一台为附(Slave LLB),
当Master LLB出现故障以后,Slave LLB会自动接管Maste阅读全文>
发表于 @ 2009年03月23日 00:06:00|评论(loading...)|编辑|举报|收藏
2009年03月22日
1 引言
当今世界已经步入信息时代,随着社会的迅速发展以及人们对网络应用需求的不断提高,对网络速度及带宽的要求不断上升。正是在这样的发展形势下,许多高速交换的新技术不断涌现。第二层交换实现局域网内主机间的快速信息交流,第三层交换可以说是交换技术与路由技术的完美结合,而下文要详细介绍的第四层交换技术则可以为网络应用资源提供最优分配,实现应用服务的负载均衡。
2 第四层交换技术
2.1 简述
第四层交换的一个简单定义是:它是一种功能,它决定传输不仅仅依据MAC地址(第二层网桥)或源/目标IP地址(第三层路由),而且依据TCP/UDP(第四层)应用端口号。第四层交换功能就像是虚拟IP,指向物理服务器。它传输的业务服从的协议多种多样,有HTTP、FTP、NFS、Telnet或其他协议。这些业务在物理服务器基础上,需要复杂的载量平衡算法。在IP世界,业务类型由终端TCP或UDP端口地址来决定,在第四层交换中的应用区间则由源端和终端IP地址、TCP和UDP端口共同决定。
在第四层交换中为每个供搜寻使用的服务器组设立虚拟IP地阅读全文>
发表于 @ 2009年03月22日 23:53:00|评论(loading...)|编辑|举报|收藏
http://www.devdao.com/Article/376830.htm 及 http://www.devdao.com/Article/376829.htm
本文在分析服务器集群实现虚拟网络服务的相关技术上,具体描述了LVS集群中实现的三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR)的工作原理,以及它们的优缺点。
1.前言
在前面文章中,讲述了可伸缩网络服务的几种结构,它们都需要一个前端的负载调度器(或者多个进行主从备份)。我们先分析实现虚拟网络服务的主要技术,指出IP负载均衡技术是在负载调度器的实现技术中效率最高的。在已有的IP负载均衡技术中,主要有通过网络地址转换(Network Address Translation)将一组服务器构成一个高性能的、高可用的虚拟服务器,我们称之为VS/NAT技术(Virtual Server via Network Address Translation)。在分析VS/NAT的缺点和网络服务的非对称性的基础上,我们提出了通过阅读全文>
发表于 @ 2009年03月22日 23:49:00|评论(loading...)|编辑|举报|收藏
◆
调度器 :eth0 192.168.1.1 eth1 172.16.1.1
realserver1:eth1 172.16.1.2 (RS1)
realserver2:eth1 172.16.1.3 (RS2)
realserver default gw 172.16.1.1
#echo 1 > /proc/sys/net/ipv4/ip_forward
#ipvsadm -A -t 192.168.1.1:80 -s wrr -p 900
#ipvsadm -a -t 192.168.1.1:80 -r 172.16.1.2:80 -m
#ipvsadm -a -t 192.168.1.1:80 -r 172.16.1.3:80 -m
#ipvsadm -A -t 192.168.1.1:443 -s wrr -p 900
#ipvsadm -a -t 192.168.1.1:443 -r 172.16.1阅读全文>
发表于 @ 2009年03月22日 23:46:00|评论(loading...)|编辑|举报|收藏
2009年03月21日
1楼 发表于 2008-7-1 17:49 最近老大要求封qq 而且是封部分人使用,本来打算封腾讯登陆服务器的,但是无法封bt工具,找了一下资料。
以下部分为转载:
流程:
打上layer-7补丁
升级内核至2.6.19.7
升级iptables至1.3.7
适用环境:透过NAT共享上网的方式
步骤:
一,下载所需要的软件包:
1,下载新内核linux-2.6.19.7
wget http://www.kernel.org/pub/linux/ ... ux-2.6.19.7.tar.bz2
2,下载iptables1.3.7
wget http://www.netfilter.org/project ... ables-1.3.7.tar.bz2
3,下载Layer-7补丁,模块协议:
http://sourceforge.net/proj阅读全文>
发表于 @ 2009年03月21日 14:11:00|评论(loading...)|编辑|举报|收藏
主要是按照http://www.10235.com/linux/centos-iptables-l7filter.html
进行实作,只是软件都换成最新版本。
在网关上如果要封杀 QQ、MSN 或者 P2P 等软件的通讯,单纯用 iptables 逐一封服务端IP或者封通讯端口都不是很好的办法,最简单的方法是使用L7-filter。
L7-filter (Application Layer Packet Classifier for Linux), 是 Linux netfilter 的外挂模块, 它能使 Linux 的 iptables 支持 Layer 7 (Application 应用层) 过滤功能, 限制封杀 P2P、即时通讯软件。
Centos 4.7
Kernel 2.6.28
Iptables 1.4.2
1.下载所需软件包:
kernel 2.6.28
# wget http://www.kernel.org/pub/linux/kern...2.6.28.tar.bz2阅读全文>
发表于 @ 2009年03月21日 14:09:00|评论(loading...)|编辑|举报|收藏
QQ的版本:
QQ的版本升级比较频繁,而且与多数的软件不同的是,它客户端的升级往往伴随着协议相应的改变。
目前,对研究QQ协议版本比较重要的是:
QQ2000c 。它对应的客户端协议版本是08xx,目前对这个版本的研究比较多。
QQ2003 (0808) 这是腾讯最新公布的QQ版本,目前发现它对应的客户端协议版本是0A 1D。目前对这个版本的研究才刚刚开始,此版本对协议做了比较大的改动。
协议类型:
我们尝试把QQ的协议进行分类:
文字聊天协议族(TCPF, Text Chatting Protocol Family):它主要支持与其它QQ客户端进行文字聊天。TCPF是建立在UDP协议之上。UDP数据包中的第一个字符02为这个协议族的标识。TCPF的服务器使用8000号端口,腾讯的QQ客户端软件一般从4000号端口开始尝试使用,但实际上,对客户端使用的端口号并没有限制。目前的研究集中在TCPF上。
其它未知可能存在的协议族:
我们观察到QQ除了与TC阅读全文>
发表于 @ 2009年03月21日 14:06:00|评论(loading...)|编辑|举报|收藏
问题
prog.Phontol.com如何在Linux上开设使用ssl安全链接的站点
prog.Phontol.com
prog.Phontol.com解决方案
prog.Phontol.com目前的Prim@Hosting(最完善的虚拟主机管理系统)尚不支持直接开设ssl站点,所以需要手动配置ssl功能,步骤如下:
prog.Phontol.com
prog.Phontol.com1) 每个ssl站点必须工作在独立的IP,所以服务器上必须有多个IP。Phontol.com
prog.Phontol.com请为您的服务器增加多个IP地址,方法略。Phontol.com
prog.Phontol.com
prog.Phontol.com2) 登陆到主控界面中,点击服务器管理,查询当前这台服务器,选择修改ip地址,把刚才几个新ip都加上。Phontol.com
prog.Phontol.com
prog.Phontol.com3) 启用apache(Un阅读全文>
发表于 @ 2009年03月21日 14:04:00|评论(loading...)|编辑|举报|收藏
2009年03月19日
目录介绍1. 本指南由来2. 谁应该阅读此书?3. 新版本和取得方法4. 历史修订5. 贡献6. 反馈7. 版权信息8. 你需要什么?9. 本文档约定10. 本文档组织结构1. Bash和Bash脚本1.1. 常用的shell程序1.1.1. shell的普遍作用1.1.2. Shell类型1.2. Bourne Again SHell的优势1.2.1. Bash是GNU shell1.2.2. Bash独有的特性1.3. 执行命令1.3.1. 概要1.3.2. Shell内建命令1.3.3. 从脚本执行程序1.4. 建立块1.4.1. Shell建立块1.5. 开发优良脚本1.5.1. 优良脚本的要素1.5.2. 结构1.5.3. 术语1.5.4. 关于顺序和逻辑1.5.5. 一个Bash脚本的例子:mysystem.sh1.5.6. init脚本例子1.6. 总结1.7. 练习2. 编写和调试脚本2.1. 建立并且运行一个脚本2.1.1. 编写与命名2.1.2. script1.sh2.1.3. 执行脚本2.2. 脚本基础2.2.1. 哪个Shell来执行脚本?2.2.阅读全文>
发表于 @ 2009年03月19日 13:55:00|评论(loading...)|编辑|举报|收藏
2009年03月18日
system函数通过把system传递给/bin/sh -c 来执行 string 所指定的命令,string中可以包含选项和参数,
接着整个命令行(/bin/sh -c string)又传递给系统调用execve,如果没有找到/bin/sh,system返回127,
如果出现其他错误则返回-1,如果执行成功则返回string的代码。但是如果string为NULL,
system返回一个非0值,否则返回0。
#include
int system( const char* string );
请看下面的例子:
#include
#include
int main(void)
{
int retval;
retval = system( "ls -l -t" );
if ( 127 == retval )
{
阅读全文>
发表于 @ 2009年03月18日 16:35:00|评论(loading...)|编辑|举报|收藏
摘要:本文介绍了popen函数的使用方法和行为机理,并给出实际的例子来辅助说明了popen函数的使用方法。
文件中还介绍了几个文件操作的函数,如fopen,fread,fwrite等
作者:zieckey (http://zieckey.cublog.cn)
All Rights Reserved!
popen使用FIFO管道执行外部程序。
#include
FILE *popen(const char *command, const char *type);
int pclose(FILE *stream);
popen 通过type是r还是w确定command的输入/输出方向,r和w是相对command的管道而言的。r表示command从管道中读入,w表示 command通过管道输出到它的stdout,popen返回FIFO管道的文件流指针。pclose则用于使用结束后关闭这个指针。
下面阅读全文>
发表于 @ 2009年03月18日 16:33:00|评论(loading...)|编辑|举报|收藏
fseek函数是 用来设定文件的当前读写位置.函数原型: int fseek(FILE *fp,long offset,int origin);函数功能:把fp的文件读写位置指针移到指定的位置.fseek(fp,20,SEEK_SET); 意思是把fp文件读写位置指针从文件开始后移20个字节.ftell函数是用来获取文件的当前读写位置;函数原型: long ftell(FILE *fp)函数功能:得到流式文件的当前读写位置,其返回值是当前读写位置偏离文件头部的字节数.ban=ftell(fp); 是获取fp指定的文件的当前读写位置,并将其值传给变量ban.fseek函数与ftell函数综合应用:分析:可以用fseek函数把位置指针移到文件尾,再用ftell函数获得这时位置指针距文件头的字节数,这个字节数就是文件的长度.#i nclude main(){ FILE *阅读全文>
发表于 @ 2009年03月18日 16:27:00|评论(loading...)|编辑|举报|收藏