Linux Virtual Server

Linux Virtual Server

Ipvs : 嵌入到linux的内核

IPVsadm:管理应用程序

 

负载均衡器

1、硬件:

                   F5BIG-IP

                   CitrixNetScaler

                   A10

         2、软件

                   四层:tcp 之上的第四层协议

                            LVS:只能操作IP,端口 ,在操作系统内核中。

                   七层:http,ajp,https,(应用层)

                            nginx

                            haproxy

                            httpd

 

调度方法

四种静态:

         rr:轮循

         wrr:

         dh:

         sh:

 

动态调度方法:

         lc:最少连接

                   active*256+inactive

                   谁的小,挑谁

         wlc:加权最少连接

                   (active*256+inactive)/weight

         sed:最短期望延迟

                   (active+1)*256/weight

         nq:never queue

         LBLC:基于本地的最少连接

                   DH:

         LBLCR:基于本地的带复制功能的最少连接

 

 

默认方法:wlc

 

类型:

         NAT:地址转换

         DR:直接路由

         TUN:隧道

 

      NAT:

                   集群节点跟director必须在同一个IP网络中;

                   RIP通常是私有地址,仅用于各集群节点间的通信;

                   director位于client和real server之间,并负责处理进出的所有通信;

                   realserver必须将网关指向DIP;

                   支持端口映射;

                   realserver可以使用任意OS;

                   较大规模应该场景中,director易成为系统瓶颈;

      VIP: 虚拟服务器地址

      DIP:   转发的网络地址

            RIP:  后端真实主机(后端服务器)

      CIP:客户端IP地址


      DR:

                   集群节点跟director必须在同一个物理网络中;

                   后端服务器(真实服务器)可以使用公网地址,实现便捷的远程管理和监控;

                   director仅负责处理入站请求,响应报文则由realserver直接发往客户端;

                   不支持端口映射;

Node1

VIP:192.168.1.251

DIP:192.168.239.3

集群服务器

Node2

RIP:192.168.1.248

VIP:192.168.239.10

RS,apache

Node3

RIP:192.168.1.249

VIP:192.168.239.10

RS,apache

TUN:

                   集群节点可以跨越Internet;

                   RIP必须是公网地址;

                   director仅负责处理入站请求,响应报文则由realserver直接发往客户端;

                   realserver网关不能指向director;

                   只有支持隧道功能的OS才能用于realserver;

                   不支持端口映射;

架构图

 

Ipvsadm命令:

      管理集群服务

                   添加:-A -t|u|f service-address [-s scheduler]

                            -t:TCP协议的集群

                            -u:UDP协议的集群

                                     service-address:     IP:PORT

                            -f:FWM: 防火墙标记

                                     service-address:Mark Number

                   修改:-E

                   删除:-D -t|u|f service-address

 

                   #ipvsadm -A -t 172.16.100.1:80 -s rr

 

      管理集群服务中的RS

                   添加:-a -t|u|f service-address -r server-address [-g|i|m] [-w weight]

                              -t|u|f service-address:事先定义好的某集群服务

                              -r server-address: 某RS的地址,在NAT模型中,可使用IP:PORT实现端口映射;

                              [-g|i|m]: LVS类型      

                                     -g:DR

                                     -i:TUN

                                     -m:NAT

                            [-wweight]: 定义服务器权重

                   修改:-e

                   删除:-d -t|u|f service-address -r server-address

 

                   #ipvsadm -a -t 172.16.100.1:80 -r 192.168.10.8 –g

                   #ipvsadm -a -t 172.16.100.1:80 -r 192.168.10.9 -g

         查看

                   -L|l

                            -n:数字格式显示主机地址和端口

                            --stats:统计数据

                            --rate:速率

                            --timeout:显示tcp、tcpfin和udp的会话超时时长

                            -c:显示当前的ipvs连接状况

 

         删除所有集群服务

                   -C:清空ipvs规则

         保存规则

                   -S

                   #ipvsadm -S > /path/to/somefile

         载入此前的规则:

                   -R

                   #ipvsadm -R < /path/form/somefile

DR模式

        

         VIP:虚拟主机IP

         DIP:

         kernelparameter:

                   arp_ignore:定义接收到ARP请求时的响应级别;

                            0:只要本地配置的有相应地址,就给予响应;

                            1:仅在请求的目标(MAC)地址配置请求到达的接口上的时候,才给予响应;

 

                   arp_announce:定义将自己地址向外通告时的通告级别;

                            0:将本地任何接口上的任何地址向外通告;

                            1:试图仅向目标网络通告与其网络匹配的地址;

                            2:仅向与本地接口上地址匹配的网络进行通告;

 

 

 

Lvs DR模式集群步骤

1、  找一台主机作为DR(虚拟服务器),安装ipvsadm

a)        Yum install ipvsadm

2、  在DR设置两个IP地址:

a)        DIP: 192.168.1.134 ,设置静态ID

b)       VIP:192.168.1.200 , ifconfigeth0:1 192.168.1.200/24

3、  找多台机器作为RS( apeche或者tomcat )

a)        两台:静态设置192.168.1.137

                   192.168.1.138

b)       修改报文源IP的设置,需要设置内核参数

                                      i.             echo 1 >/proc/sys/net/ipv4/conf/eth0/arp_ignore

                                    ii.             echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore

                                   iii.             echo 2 >/proc/sys/net/ipv4/conf/eth0/arp_announce

                                   iv.             echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce

c)        在两台机器(RS)上,设置网卡的别名IP:192.168.1.200

                                      i.             ifconfig lo:0 192.168.1.200netmask 255.255.255.255 broadcast 192.168.1.200

d)       在两台机器(RS)上,添加一个路由

                                      i.             route add -host 192.168.1.200dev lo:0

4、 DR上需要加一个路由设置:route add-host 192.168.1.200 dev eth0:1

5、  在RS 检查web服务是否正常

6、  在DR上使用ipvsadm添加集群服务

a)        Ipvsadm –C

b)       ipvsadm -A -t 192.168.1.200:80-s wlc

c)        ipvsadm -a -t 192.168.1.200:80-r 192.168.1.137 -g -w 1

d)       ipvsadm -a -t 192.168.1.200:80-r 192.168.1.138 -g -w 1

 

 

脚本

#!/bin/bash

#description : start realserver

VIP=125.38.38.64

/etc/rc.d/init.d/functions

case "$1" in

start)

echo " start LVS of REALServer"

echo "1">/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce

echo "1">/proc/sys/net/ipv4/conf/all/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

/sbin/ifconfig lo:0 $VIP broadcast $VIPnetmask 255.255.255.255 up

 

;;

stop)

/sbin/ifconfig lo:0 down

echo "close LVS Directorserver"

echo "0">/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "0">/proc/sys/net/ipv4/conf/lo/arp_announce

echo "0">/proc/sys/net/ipv4/conf/all/arp_ignore

echo "0">/proc/sys/net/ipv4/conf/all/arp_announce

;;

*)

echo "Usage: $0 {start|stop}"

exit 1

esac

Linux Virtual Server

Ipvs : 嵌入到linux的内核

IPVsadm:管理应用程序

 

负载均衡器

1、硬件:

                   F5BIG-IP

                   CitrixNetScaler

                   A10

         2、软件

                   四层:tcp 之上的第四层协议

                            LVS:只能操作IP,端口 ,在操作系统内核中。

                   七层:http,ajp,https,(应用层)

                            nginx

                            haproxy

                            httpd

 

调度方法

四种静态:

         rr:轮循

         wrr:

         dh:

         sh:

 

动态调度方法:

         lc:最少连接

                   active*256+inactive

                   谁的小,挑谁

         wlc:加权最少连接

                   (active*256+inactive)/weight

         sed:最短期望延迟

                   (active+1)*256/weight

         nq:never queue

         LBLC:基于本地的最少连接

                   DH:

         LBLCR:基于本地的带复制功能的最少连接

 

 

默认方法:wlc

 

类型:

         NAT:地址转换

         DR:直接路由

         TUN:隧道

 

      NAT:

                   集群节点跟director必须在同一个IP网络中;

                   RIP通常是私有地址,仅用于各集群节点间的通信;

                   director位于client和real server之间,并负责处理进出的所有通信;

                   realserver必须将网关指向DIP;

                   支持端口映射;

                   realserver可以使用任意OS;

                   较大规模应该场景中,director易成为系统瓶颈;

      VIP: 虚拟服务器地址

      DIP:   转发的网络地址

            RIP:  后端真实主机(后端服务器)

      CIP:客户端IP地址

      DR:

                   集群节点跟director必须在同一个物理网络中;

                   后端服务器(真实服务器)可以使用公网地址,实现便捷的远程管理和监控;

                   director仅负责处理入站请求,响应报文则由realserver直接发往客户端;

                   不支持端口映射;

Node1

VIP:192.168.1.251

DIP:192.168.239.3

集群服务器

Node2

RIP:192.168.1.248

VIP:192.168.239.10

RS,apache

Node3

RIP:192.168.1.249

VIP:192.168.239.10

RS,apache

TUN:

                   集群节点可以跨越Internet;

                   RIP必须是公网地址;

                   director仅负责处理入站请求,响应报文则由realserver直接发往客户端;

                   realserver网关不能指向director;

                   只有支持隧道功能的OS才能用于realserver;

                   不支持端口映射;

架构图

 

Ipvsadm命令:

      管理集群服务

                   添加:-A -t|u|f service-address [-s scheduler]

                            -t:TCP协议的集群

                            -u:UDP协议的集群

                                     service-address:     IP:PORT

                            -f:FWM: 防火墙标记

                                     service-address:Mark Number

                   修改:-E

                   删除:-D -t|u|f service-address

 

                   #ipvsadm -A -t 172.16.100.1:80 -s rr

 

      管理集群服务中的RS

                   添加:-a -t|u|f service-address -r server-address [-g|i|m] [-w weight]

                              -t|u|f service-address:事先定义好的某集群服务

                              -r server-address: 某RS的地址,在NAT模型中,可使用IP:PORT实现端口映射;

                              [-g|i|m]: LVS类型      

                                     -g:DR

                                     -i:TUN

                                     -m:NAT

                            [-wweight]: 定义服务器权重

                   修改:-e

                   删除:-d -t|u|f service-address -r server-address

 

                   #ipvsadm -a -t 172.16.100.1:80 -r 192.168.10.8 –g

                   #ipvsadm -a -t 172.16.100.1:80 -r 192.168.10.9 -g

         查看

                   -L|l

                            -n:数字格式显示主机地址和端口

                            --stats:统计数据

                            --rate:速率

                            --timeout:显示tcp、tcpfin和udp的会话超时时长

                            -c:显示当前的ipvs连接状况

 

         删除所有集群服务

                   -C:清空ipvs规则

         保存规则

                   -S

                   #ipvsadm -S > /path/to/somefile

         载入此前的规则:

                   -R

                   #ipvsadm -R < /path/form/somefile

DR模式

        

         VIP:虚拟主机IP

         DIP:

         kernelparameter:

                   arp_ignore:定义接收到ARP请求时的响应级别;

                            0:只要本地配置的有相应地址,就给予响应;

                            1:仅在请求的目标(MAC)地址配置请求到达的接口上的时候,才给予响应;

 

                   arp_announce:定义将自己地址向外通告时的通告级别;

                            0:将本地任何接口上的任何地址向外通告;

                            1:试图仅向目标网络通告与其网络匹配的地址;

                            2:仅向与本地接口上地址匹配的网络进行通告;

 

 

 

Lvs DR模式集群步骤

1、  找一台主机作为DR(虚拟服务器),安装ipvsadm

a)        Yum install ipvsadm

2、  在DR设置两个IP地址:

a)        DIP: 192.168.1.134 ,设置静态ID

b)       VIP:192.168.1.200 , ifconfigeth0:1 192.168.1.200/24

3、  找多台机器作为RS( apeche或者tomcat )

a)        两台:静态设置192.168.1.137

                   192.168.1.138

b)       修改报文源IP的设置,需要设置内核参数

                                      i.             echo 1 >/proc/sys/net/ipv4/conf/eth0/arp_ignore

                                    ii.             echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore

                                   iii.             echo 2 >/proc/sys/net/ipv4/conf/eth0/arp_announce

                                   iv.             echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce

c)        在两台机器(RS)上,设置网卡的别名IP:192.168.1.200

                                      i.             ifconfig lo:0 192.168.1.200netmask 255.255.255.255 broadcast 192.168.1.200

d)       在两台机器(RS)上,添加一个路由

                                      i.             route add -host 192.168.1.200dev lo:0

4、 DR上需要加一个路由设置:route add-host 192.168.1.200 dev eth0:1

5、  在RS 检查web服务是否正常

6、  在DR上使用ipvsadm添加集群服务

a)        Ipvsadm –C

b)       ipvsadm -A -t 192.168.1.200:80-s wlc

c)        ipvsadm -a -t 192.168.1.200:80-r 192.168.1.137 -g -w 1

d)       ipvsadm -a -t 192.168.1.200:80-r 192.168.1.138 -g -w 1

 

 

脚本

#!/bin/bash

#description : start realserver

VIP=125.38.38.64

/etc/rc.d/init.d/functions

case "$1" in

start)

echo " start LVS of REALServer"

echo "1">/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce

echo "1">/proc/sys/net/ipv4/conf/all/arp_ignore

echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

/sbin/ifconfig lo:0 $VIP broadcast $VIPnetmask 255.255.255.255 up

 

;;

stop)

/sbin/ifconfig lo:0 down

echo "close LVS Directorserver"

echo "0">/proc/sys/net/ipv4/conf/lo/arp_ignore

echo "0">/proc/sys/net/ipv4/conf/lo/arp_announce

echo "0">/proc/sys/net/ipv4/conf/all/arp_ignore

echo "0">/proc/sys/net/ipv4/conf/all/arp_announce

;;

*)

echo "Usage: $0 {start|stop}"

exit 1

esac

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Virtual Server是一种虚拟化技术,它可以在一台物理服务器上运行多个虚拟服务器,从而提高硬件资源的利用率和灵活性。安装Virtual Server前需要确保主机系统已满足官方的最低硬件要求,然后在系统上安装Virtual Server软件,并进行基本配置和优化,如设置网络、存储、安全等。 在安装时需要注意以下几点: 1. 确认主机系统的操作系统版本和版本号,以便选择适合的Virtual Server软件安装包。 2. 在安装过程中,需要指定虚拟机文件的存储路径、网络连接方式、常规设置、管理员密码等相关信息。 3. 在完成安装后,需要从Virtual Server控制台中管理虚拟机的配置、开机、关机等操作。 4. 为确保虚拟机的网络连接和安全性,需要注意虚拟机的操作系统配置,例如安装操作系统补丁、防病毒软件等。 总之,在使用Virtual Server时,需要严格遵守官方的使用要求和相关安全规范,以确保服务器的稳定性和安全性。 ### 回答2: 虚拟服务器是一种在物理服务器上通过虚拟化技术创建的一种虚拟环境。在安装虚拟服务器之前,需要明确以下注意事项。 首先,选择合适的虚拟化平台。常见的虚拟化平台有VMware、Hyper-V和KVM等。根据自身需求和预算,选择最合适的虚拟化平台。 其次,确定硬件资源。根据虚拟机的用途和负载,确定分配给虚拟机的CPU、内存和存储资源。确保主机拥有足够的硬件资源来运行所有虚拟机。 接下来,选择合适的操作系统。根据应用程序的需求,选择适当的操作系统作为虚拟机的基础。常见的选择包括Windows、Linux和Unix。 然后,安装虚拟化软件。根据选择的虚拟化平台,按照其官方文档提供的步骤进行安装。通常,需要下载安装程序,并按照提示进行配置和设置。 在安装过程中,需注意以下事项。首先,保证网络连接稳定。虚拟服务器需要能够连接到网络,因此需要确保物理服务器上的网络连接正常。其次,配置安全设置。虚拟服务器的安全设置至关重要,需要进行必要的防火墙配置和访问控制。 安装完成后,可以创建虚拟机并配置其设置,如网络、存储和安全性等。虚拟机的安装和设置过程与物理服务器类似,但需要额外考虑虚拟化技术的特点和限制。 最后,定期更新和维护虚拟服务器。及时进行补丁和升级,保持服务器的安全和性能。同时,备份虚拟机的数据,以防止意外数据丢失。 综上所述,安装虚拟服务器需要选择适当的虚拟化平台、分配合理的硬件资源、选择合适的操作系统,并按照要求安装虚拟化软件。在安装过程中,需注意网络连接、安全设置和虚拟机配置。定期更新和维护服务器,备份重要数据,确保虚拟机的安全和稳定运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值