Cluster基础(二):ipvsadm命令用法、部署LVS-NAT集群、部署LVS-DR集群

一、ipvsadm命令用法

目标:

准备一台Linux服务器,安装ipvsadm软件包,练习使用ipvsadm命令,实现如下功能:

  • 使用命令添加基于TCP一些的集群服务
  • 在集群中添加若干台后端真实服务器
  • 实现同一客户端访问,调度器分配固定服务器
  • 会使用ipvsadm实现规则的增、删、改
  • 保存ipvsadm规则

方案:

安装ipvsadm软件包,关于ipvsadm的用法可以参考man ipvsadm资料。常用ipvsadm命令语法格式如下表所示。

步骤:

步骤一:使用命令增、删、改LVS集群规则

1)创建LVS虚拟集群服务器

[[email protected] ~]# ipvsadm -A -t 192.168.0.254 -s wrr -p 30

2)为集群添加若干real server

[[email protected] ~]# ipvsadm –a -t 192.168.0.254 -r 192.168.0.1 -m -w 1
    [[email protected] ~]# ipvsadm –a -t 192.168.0.254 -r 192.168.0.2 -m -w 2
    [[email protected] ~]# ipvsadm –a -t 192.168.0.254 -r 192.168.0.3 -m -w 3
    [[email protected] ~]# ipvsadm –a -t 192.168.0.254 -r 192.168.0.4 -m -w 4

3)修改集群服务器设置

[[email protected] ~]# ipvsadm -E -t 192.168.0.254 -s sh -p 30

4)修改read server

[[email protected] ~]# ipvsadm –a -t 192.168.0.254 -r 192.168.0.1 -m

5)查看LVS状态

[[email protected] ~]# ipvsadm –Ln

6)保存所有规则

[[email protected] ~]# service ipvsadm save

7)清空所有规则

[[email protected] ~]# ipvsadm –C

二、部署LVS-NAT集群

目标:

使用LVS实现NAT模式的集群调度服务器,为用户提供Web服务:

  • 集群对外公网IP地址为202.114.106.20
  • 调度器内网IP地址为192.168.0.254
  • 真实Web服务器地址分别为192.168.0.1、192.168.0.2、192.168.0.3
  • 使用加权轮询调度算法,真实服务器权重与其IP地址末尾数一致

方案:

使用4台虚拟机,1台作为Director调度器、3台作为Real Server、物理机作为客户端,拓扑结构如下图所示。

步骤:

步骤一:配置网络环境

1)设置Web服务器网络参数

[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=192.168.0.1
    NETMASK=255.255.255.0
    GATEWAY=192.168.0.254
    DNS1=202.106.0.20
    [[email protected] ~]# systemctl restart NetworkManager
    [[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=192.168.0.2
    NETMASK=255.255.255.0
    GATEWAY=192.168.0.254
    DNS1=202.106.0.20
    [[email protected] ~]# systemctl restart NetworkManager
     [[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=192.168.0.3
    NETMASK=255.255.255.0
    GATEWAY=192.168.0.254
    DNS1=202.106.0.20
    [[email protected] ~]# systemctl restart NetworkManager

2)自定义Web页面

[[email protected] ~]# echo “192.168.0.1” > /var/www/html/index.html
    [[email protected] ~]# echo “192.168.0.2” > /var/www/html/index.html
    [[email protected] ~]# echo “192.168.0.3” > /var/www/html/index.html

3)启动Web服务器软件

[[email protected] ~]# service httpd start
    [[email protected] ~]# service httpd start
    [[email protected] ~]# service httpd start

4)设置LVS调度器网络参数

[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=202.114.106.20
    DNS1=202.106.0.20
    [[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
    DEVICE=eth0
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=192.168.0.254
    NETMASK=255.255.255.0
    DNS1=202.106.0.20
    [[email protected] ~]# systemctl restart NetworkManager
    [[email protected] ~]# sed -i ‘/ip_forward/s/0/1/‘  sysctl.conf  //开启路由转发
    [[email protected] ~]# sysctl -p

步骤二:调度器安装软件并启动服务

1)安装软件

[[email protected] Packages]# rpm –ihv ipvsadm-1.25-10.el6.x86_64.rpm

2)启动服务

[[email protected] Packages]# service ipvsadm start
    [[email protected] Packages]# chkconfig ipvsadm on

步骤三:部署LVS-NAT模式调度器

1)创建集群服务器

[[email protected] ~]# ipvsadm -A -t 202.114.106.20:80 -s wrr

2)添加真实服务器

[[email protected] ~]# ipvsadm -a -t 202.114.106.20:80 -r 192.168.0.1 -w 1
    [[email protected] ~]# ipvsadm -a -t 202.114.106.20:80 -r 192.168.0.2 -w 2
    [[email protected] ~]# ipvsadm -a -t 202.114.106.20:80 -r 192.168.0.3 -w 3

3)查看规则列表,并保存规则

[[email protected] ~]# ipvsadm –Ln
    [[email protected] ~]# ipvsadm-save -n > /etc/sysconfig/ipvsadm

步骤四:客户端测试

客户端使用curl命令反复连接http://202.114.106.20,查看访问的页面是否会轮询到不同的后端真实服务器。

三、部署LVS-DR集群

目标:

使用LVS实现DR模式的集群调度服务器,为用户提供Web服务:

  • 路由器对外公网IP地址为202.114.106.20
  • 路由器内网IP地址为192.168.0.254
  • 路由是需要设置SNAT及DNAT功能
  • LVS调度器真实IP地址为192.168.0.10
  • LVS调度器VIP地址设置为192.168.0.253
  • 真实Web服务器地址分别为192.168.0.1、192.168.0.2
  • 使用加权轮询调度算法,真实服务器权重与其IP地址末尾数一致

方案:

使用4台虚拟机,1台作为Linux路由器、1台作为Director调度器、2台作为Real Server、物理机作为客户端,拓扑结构如下图所示。

步骤:

步骤一:配置网络环境

1)设置Web服务器网络参数

[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=192.168.0.1
    NETMASK=255.255.255.0
    GATEWAY=192.168.0.254
    DNS1=202.106.0.20
    [[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-lo:0
    DEVICE=lo:0
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=192.168.0.253
    NETMASK=255.255.255.255
    [[email protected] ~]# vim /etc/sysctl.conf
    .. ..
    net.ipv4.conf.all.arp_ignore = 1
    net.ipv4.conf.lo.arp_ignore = 1
    net.ipv4.conf.lo.arp_announce = 2
    net.ipv4.conf.all.arp_announce = 2
    [[email protected] ~]# sysctl -p
    [[email protected] ~]# systemctl restart NetworkManager
    [[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=192.168.0.2
    NETMASK=255.255.255.0
    GATEWAY=192.168.0.254
    DNS1=202.106.0.20
    [[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-lo:0
    DEVICE=lo:0
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=192.168.0.253
    NETMASK=255.255.255.255
    [[email protected] ~]# vim /etc/sysctl.conf
    .. ..
    net.ipv4.conf.all.arp_ignore = 1
    net.ipv4.conf.lo.arp_ignore = 1
    net.ipv4.conf.lo.arp_announce = 2
    net.ipv4.conf.all.arp_announce = 2
    [[email protected] ~]# sysctl -p
    [[email protected] ~]# systemctl restart NetworkManager

2)自定义Web页面

[[email protected] ~]# echo “192.168.0.1” > /var/www/html/index.html
    [[email protected] ~]# echo “192.168.0.2” > /var/www/html/index.html

3)启动Web服务器软件

[[email protected] ~]# systemctl start httpd; systemctl enable httpd
    [[email protected] ~]# systemctl start httpd; systemctl enable httpd

4)设置LVS调度器网络参数

[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=192.168.0.10
    NETMASK=255.255.255.0
    GATEWAY=192.168.0.254
    DNS1=202.106.0.20
    [[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0:0
    DEVICE=eth0:0
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=192.168.0.253
    NETMASK=255.255.255.0
    GATEWAY=192.168.0.254
    DNS1=202.106.0.20
    [[email protected] ~]# systemctl restart NetworkManager

5)设置Linux路由器网络参数

[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=202.114.106.20
    DNS1=202.106.0.20
    [[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
    DEVICE=eth0
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=192.168.0.254
    NETMASK=255.255.255.0
    DNS1=202.106.0.20
    [[email protected] ~]# systemctl restart NetworkManager

6)设置Linux路由器的SNAT、DNAT功能

[[email protected] ~]# sed -i ‘/ip_forward/s/0/1/‘  sysctl.conf  //开启路由转发
    [[email protected] ~]# sysctl -p
    [[email protected] ~]# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -p tcp –j SNAT --to-source 202.114.106.20
    [[email protected] ~]# iptables -t nat -A PREROUTING -d 202.114.106.20 -p tcp --dport 80 –j DNAT --to-destination 192.168.0.253:80
    [[email protected] ~]# service iptables save

步骤二:调度器安装软件并启动服务

1)安装软件

[[email protected] Packages]# rpm –ihv ipvsadm-1.25-10.el6.x86_64.rpm

2)启动服务

[[email protected] Packages]# systemctl start ipvsadm
    [[email protected] Packages]# systemctl enable ipvsadm

步骤三:部署LVS-DR模式调度器

1)创建集群服务器

[[email protected] ~]# ipvsadm -A -t 192.168.0.253:80 -s wrr

2)添加真实服务器

[[email protected] ~]# ipvsadm -a -t 192.168.0.253:80 -r 192.168.0.1 -g -w 1
    [[email protected] ~]# ipvsadm -a -t 192.168.0.253:80 -r 192.168.0.2 -g -w 2

3)查看规则列表,并保存规则

[[email protected] ~]# ipvsadm –Ln
    [[email protected] ~]# ipvsadm-save -n > /etc/sysconfig/ipvsadm

步骤四:客户端测试

客户端使用curl命令反复连接http://202.114.106.20,查看访问的页面是否会轮询到不同的后端真实服务器。

原文地址:https://www.cnblogs.com/baichuanhuihai/p/8445959.html

时间: 2024-10-01 04:51:06

Cluster基础(二):ipvsadm命令用法、部署LVS-NAT集群、部署LVS-DR集群的相关文章

Linux基础之常见命令用法(一)

一.Linux文件目录结构 在讲述之前,先简短的说说Windows文件结构,打开'计算机',看到的一个个的驱动器(盘符,例C盘.D盘等),点开其中任意盘符,看到的是一个个文件或文件夹,继续打开...,每个盘都有自己的根目录.若是把其打开过程画下来,便可得到如下多棵倒树并列的图形: 而在Linux下,看到的是文件夹(目录),Ubuntu没有盘符一说,只有一个根目录(/表示),同样画下来:           那有读者可能会疑惑:Linux是多用户操作系统,比较安全,而这里只有一个根文件,也就是所有

LVS DR集群

原理:LVS DR(director Routing)技术利用了Internet服务的非堆成特带你,调度器只负责调度Client发出的请求, 而服务器realserver直接将响应结果发挥给Client,因此相对LVS NAT方式而言可以提高整个集群数据包的吞吐量.关 于LVS DR的搭建架构应满足:电镀漆和服务器在物理上有一个网卡通过局域网链接,VIP地址被电镀漆和服务器组共享, 电镀漆配置的VIP地址对外部是可见的,用于接收虚拟服务的请求报文.把所有服务器的VIP地址配置在各自的NOn-AR

Vmware虚拟机配置LVS/NAT模式遇到的坑。

这两天在研究LVS的负载均衡,先从最简单的LVS/NAT模式开始入手. 最后配置完之后能够相互之间Ping通,并且能够直接访问real服务器提供的web服务,而且防火墙也已经关闭了. 但是通过访问LVS服务器死活访问不了Real服务器,利用tcpdump和iftop监控软件查看了一下,发现握手出现的问题! 先说一下用于测试LVS/NAT模式的一些配置信息吧. [真实] PC的网络: 外网IP:xxx.xxx.xxx.xxx这个是运营商动态分配给我的一个公网IP. 内网IP:192.168.123

Redis学习笔记(3) Redis基础类型及命令之二

1. 集合类型 集合类型与列表类型有很多相似之处,但二者的区别在于:前者具有唯一性,但不具有有序性:后者具有有序性,但不具有唯一性.集合类型的常用操作是向集合中加入或删除元素.判断某个元素是否存在等,以及多个集合类型之间进行并集.交集和差集运算. (1) 命令 1) 增加/删除元素 格式为:SADD key member [member ...] SREM key member [member ...] SADD向集合中增加一个或多个元素,加入的元素若已存在语集合中,则会忽略该元素.命令返回成功

lvs实战ipvsadm命令

ipvsadm命令参数:1,virtual-service-address:是指虚拟服务器的ip 地址2,real-service-address:是指真实服务器的ip 地址3,scheduler:调度方法ipvsadm 的用法和格式如下:ipvsadm -A|E -t|u|f virutal-service-address:port [-s scheduler] [-p[timeout]] [-M netmask]ipvsadm -D -t|u|f virtual-service-addres

LVS负载均衡之lvs高可用实例部署2(案例篇)

在日常应用环境中,我们会遇到这样一种lvs部署环境,所有的dr以及的rs server都在一个局域网环境中,但只有一个公网ip,而又需要将应用发布到internet上,都知道lvs的最好的模式就是所有的server都有一个公网ip,但很多时候公网资源稀缺,当出现只有一个公网ip的时候,怎么实现lvs对外发布呢? Lvs(lvs/dr模式)单个公网ip高可用应用案例 如图所示为整体的拓扑图: 一.部署前说明: (1)系统版本: centos 6.6(64位) (2)角色及ip相关信息: 角色名称

lvs原理及安装部署详解(参考)

LVS安装使用详解 摘至:http://www.cnblogs.com/MacoLee/p/5856858.html 简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtualserver.org. 现在LVS已经是Linux标准内核的一部分,在Linux2.4内核以前,使用LVS时必须要重新编译内核以支持LVS功能模块,但是从Linux2.4内核以后,已经完全内置了LVS的各个

CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡

一.系统环境 实验拓扑: 实验环境: Vmware 9.01 + Windows 8 x64 企业版+8G内存 虚拟机步骤: 1.安装一台CentOS 6.3 x64主机,内存为1GB,网络为NAT模式,注意检查Vmware中EDIT菜单下Virtual Network Editor中VMnet8 2. 加电,安装系统.基础知识了,不再多说,注意:选择英文而不要选择中文,选择是Basic Server模式,系统名称:LVS-MASTER 3.安装系统后,用root用户登录进去,执行 ifconf

HA Cluster基础概念及实现高可用集群

HA Cluster高可用集群分以下几个步骤来说: 点我-->HA Cluster基础概念 点我-->heartbeat实现HA 点我-->corosync详解 点我-->pacemaker详解 点我-->DRBD详解 点我-->heartbeat基于crm进行资源管理 点我-->Corosync+Pacemaker+DRBD+MySQL 实现高可用(HA)的MySQL集群 点我-->Heartbeat+MySQL+NFS 实现高可用(HA)的MySQL集群