1. lvs的结构
LVS方式的cluster从结构上可分为两部分:前端的负载均衡器(称之为director)和后端的真实服务器(称之为real server)。cluster前端的director将来自外界的请求调度到cluster后端不同的real server去执行。real server负责真正的提供各种应用服务,比如:Web、FTP、Mail等服务。real server的数量能根据实际需求进行增加、减少。
2. LVS的三种包转发方式
LVS提供了三种包转发方式:NAT(网络地址映射)、IP Tunneling(IP隧道)、Direct Routing(直接路由)。不同的转发模式决定了不同的cluster的网络结构,下面对三种转发方式分别介绍:
NAT(网络地址映射)
NAT方式可支持所有的操作系统,及私有网络,并且只需一个Internet IP地址,不过整个系统的性能受到限制。因为执行NAT每次需要重写包,有一定的延迟;另外,大部分应用有80%的数据是从服务器流向客户机,也就是用户的请求非常短,而服务器的回应非常大,对负载均衡器形成非常大压力,成为了新的瓶颈。
IP Tunneling(IP隧道)
director分配请求到不同的real server。real server处理请求后直接回应给用户,这样director负载均衡器仅处理客户机和服务器的一半连接。IP Tunneling技术极大地提高了director的调度处理能力,同时也极大地提高了系统能容纳的最大节点数,能超过100个节点。real server能在所有LAN或WAN上运行,这意味着允许地理上的分布,这在灾难恢复中有重要意义。服务器必须拥有正式的IP地址用于和客户机直接通信,并且所有服务器必须支持IP隧道协议。
Direct Routing(直接路由)
和IP Tunneling类似,负载均衡器仅处理一半的连接,避免了新的性能瓶颈,同样增加了系统的可伸缩性。Direct Routing和IP Tunneling相比,没有IP封装的开销,但由于采用物理层(修改MAC地址)技术,所有服务器都必须在一个物理网段。
3. LVS的八种调度算法
LVS已实现了以下八种调度算法:
1.轮叫调度(Round-Robin Scheduling)
2.加权轮叫调度(Weighted Round-Robin Scheduling)
3.最小连接调度(Least-Connection Scheduling)
4.加权最小连接调度(Weighted Least-Connection Scheduling)
5.基于局部性的最少链接(Locality-Based Least Connections Scheduling)
6.带复制的基于局部性最少链接(Locality-Based Least Connections with Replication Scheduling)
7.目标地址散列调度(Destination Hashing Scheduling)
8.源地址散列调度(Source Hashing Scheduling)
lvs是一个开源的软件,可以实现LINUX平台下的简单负载均衡。LVS是Linux Virtual Server的缩写,意思是Linux虚拟服务器。
LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。为此,在设计时需要考虑系统的透明性、可伸缩性、高可用性和易管理性。
ubuntu系统中ip地址的配置文件为: /etc/network/interfaces
配置或修改或添加均是在此文件中完成,一个完整的格式如下:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.200.99
netmask 255.255.255.0
gateway 192.168.200.100
auto eth1
auto ath0
iface ath0 inet dhcp
auto wlan0
iface wlan0 inet dhcp
配置文件修改完成重,使用如下命令重起服务即可生效:
sudo /etc/init.d/networking restart
---------------------------------------------------
有时在修改完毕后,重起时会报错误:
/etc/network/interfaces:20: misplaced option
ifup: couldn't read interfaces file "/etc/network/interfaces"
大概的错误都为 misplaced option 不能读取配置文件,这类错误,基本是都是由于 interfaces 这个配置文件配置格式错误导致的,并非什么权限问题,导致的不能读取配置,请仔细检查你的配置文件。
同时想说一下,在处理问题的时候,不要把焦点总放在某个位置盯着不放,也许错误根本不在那儿,上下文联系一下,也许就会发现问题所在。
另外,在修改文件时,要养成随时备份的好习惯,一旦修改出错,还可以用备份还原和对比。
【TechTarget中国原创】linux机器上与网络有关的问题很难解决,因为这已经超出Linux所信任的环境之外了。但是作为Linux管理员,你可以通过使用正确的技术帮助网络管理员解决难题。在本文中,TechTarget中国的特约专家Sander van Vugt将介绍如何解决与驱动相关的网络问题。
要确定你遇到的问题与网络相关很简单:如果你的计算机不能与其他计算机通信,网络就有问题。但是很难找到问题根源。你需要从分析网络通信里包含的各种元素入手。
如果你的主机需要与网络中的其他主机通信,必须具备以下条件:
1.安装了网卡并能用于操作系统,例如载入了正确驱动。
2.网卡分配有IP地址。
3.计算机能与同个网络中的其他主机通信。
4.计算机能与其他网络中的其他主机通信。
5.计算机能使用其主机名与其他主机通信。
Checkinstall 是一个能从 tar.gz 类的源代码自动生成 RPM/Debian 或 Slackware 安装包的程序。通过 CheckInstall,你就能用几乎所有的 tar.gz 类的源代码来生成“干净”的安装或者卸载包。
新版本增加了对新的 glibc 的 at 样式函数的支持,修正了一些bug和带来一些小改进
项目主页: http://asic-linux.com.mx/~izto/checkinstall/index.php
本站下载:checkinstall-1.6.2.tar.gz
Linux 和 windows 不同, linux 下没有类似虚拟光驱一类的软件 , 其实 iso 光盘镜像文件在 linux 使用是很简单的 :
1) #mk dir /mnt/iso
注:在 /mnt 目录下建立名为 iso 的文件夹,你喜欢用其他名字也可以
2) #mount ***.iso /mnt/iso -o loop
注: ***.iso 是你要使用的 iso 镜像文件目录和名字,挂载至 mnt/iso 文件内,如果你刚才没有以 iso 为名,现在也要作相应的更改,这条命令也可以把参数放在前面 #mount -o loop ***.iso /mnt/iso