热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux集群--简单实现LVS-DNAT及LVS-DR

LVS-DNAT工作原理:在数据包进入本机内部之前,就改变它的目的地址(需要在内核实现)LVS的工作机制类似iptables,一部分工作在用户空间(ipvsadm),一部分工作在内核空间安装ipvsadm软件就足以实现LVS的功能使用ipvsadm,早期需要重新编译内核,不过

LVS-DNAT

工作原理:

在数据包进入本机内部之前,就改变它的目的地址(需要在内核实现)

 

LVS的工作机制类似iptables,一部分工作在用户空间(ipvsadm),一部分工作在内核空间

安装ipvsadm软件就足以实现LVS的功能

使用ipvsadm,早期需要重新编译内核,不过现在版本的RedHat默认直接做进内核

# 查看内核是否含有ipvs

grep ?I ?c 5 ipvs /boot/config-‘uname -r’   

ipvsadm命令的使用:

ipvsadm功能

1:定义集群服务

   2:定义真正的REALSERVER

   3:查看定义的信息  

1.定义集群服务

ipvsadm

-t        基于tcp的集群服务

-u        基于udp

-f        基于firewall的集群服务,防火墙的类型

-A       添加一个新集群

-E       修改一个集群

-s        指定算法 默认 wlc

         -D               删除一个集群

         -g|i|m     gateway|internet|net  DR|TUN|DNAT模型

         -w        权重

         -C        清空规则

         -S               保存规则到某个文件

   -R               从某个文件恢复规则

         -L|l       查看

        -n --numeric    数字方式显示地址

                      --stats        显示统计的数据信息(statistics的简写)

          --rate         显示速率信息

         -Z        清空计数器 

添加/删除director端

ipvsadm -A| -E -t |-u VIP:port -s 

ipvsadm -D -t|-u VIP:port  

添加/删除realserver端

ipvsadm -a |-e -t|-u VIP:port -r REALSERVER[-g|-i|-m] [-w weight]

ipvsadm -d -t|-u VIP:port -r READSERVER 

配置安装LVS

1.安装OS

2.后方安装apache

3.设置默认路由

4.安装lvs

5.配置LVS,定义好规则

6.做测试 

 

1.两个apache作为realserver 只提供静态页面

2.Directory打开转发功能

3.两个realserver处于同一个网段 

准备:

1)      3台干净的虚拟机:RS1 RS2  Director (需要加一块网卡)

2) 配置各自的好yum源 

一:配置好地址,安装软件

realserver端:

ifconfig eth0 10.0.0.11/8

route add default gw 10.0.0.1/8

yum install httpd php php-mysql mysqlmysql-server php-mbstring -y

# 测试网页是否显示

vim /var/www/html/index.html

realserver1

service httpd start

elinks http://10.0.0.11

 

directory端:

ifconifg eth0 10.0.0.1/8

yum install ipvsadm

 

 

# 打开ipforward

echo 1 > /proc/sys/net/ipv4/ip_forward

 

#添加director

ipvsadm -A -t 172.16.14.1:80 -s rr

# 查看集群服务

ipvsadm -L -n     

#添加realserver

ipvsadm -a -t 172.16.14.1:80 -r 10.0.0.11-m

ipvsadm -a -t 172.16.14.1:80 -r 10.0.0.12-m

ipvsadm -L -n

 

集群已经构建好了。。。。用浏览器测试下

 

# 压力测试,十个并发连接,发起10000次

ab -c 10 -n 10000 http://172.16.14.1/index.html

# 查看结果

ipvsadm -Ln 

# 使用加权最少连接

ipvsadm -E -t 172.16.14.1:80 -s wlc

# 修改权重

ipvsadm -e -t 172.16.14.1:80 -r 10.0.0.11-m -w 3

 

# 压力测试,十个并发连接,发起10000次

ab -c 10 -n 10000http://172.16.14.1/index.html

 

# 换别的算法来测试,看看效果  单引号

watch -n 1 ‘ipvsadm -L -n’

 

# 保存ipvsadm 结果,否则开机就没有了

# 对于RedHat

service ipvsadm save

chkconfig ipvsadm on

# 或者

ipvsadm -S > /etc/sysconfig/ipvsadm

##########建议自己写脚本实现,save的功能,最好带startstop restart 


 



推荐阅读
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • 本文由编程笔记小编整理,介绍了PHP中的MySQL函数库及其常用函数,包括mysql_connect、mysql_error、mysql_select_db、mysql_query、mysql_affected_row、mysql_close等。希望对读者有一定的参考价值。 ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
author-avatar
低碳的S
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有