我的编程空间,编程开发者的网络收藏夹
学习永远不晚

集群(3)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

集群(3)

LVS && HA

 

1.DR模式实现lvs

 

Server11端作为调度器

Sever11操作

首先配置yum源如图

 

wKiom1jLXO_g8mNFAANbaE3YCQ0298.png-wh_50

wKiom1jLXPHCvebIAANsQY-WNX0825.png-wh_50


Yum repolist##查看已拥有的yum仓库

wKioL1jLXQXD7MCXAAbliDOd-Y0638.png-wh_50

安装ipvsadm

Yum install -y ipvsadm

 

ip addr add 172.25.15.100/32 dev eth0     ##添加一个虚拟网络172.25.15.100

ipvsadm -C      #清空转发表

ipvsadm -A -t 172.25.15.100:80 -s rr##-A添加一个虚拟服务-ttcp服务-s使用的调度算法

ipvsadm -a -t 172.25.15.100:80 -r 172.25.15.13:80 -g##-a在内核虚拟服务器表的一条记录里添加一条新的服务器-r真实服务器-g指定工作模式为直接路由模式

ipvsadm -a -t 172.25.15.100:80 -r 172.25.15.14:80 -g

wKioL1jLXRXj0h1eAAQRbjb9vaw407.png-wh_50

 /etc/init.d/ipvsadm save##保存ipvsadm表

/etc/init.d/iptables stop##关闭防火墙

 

 

Server13 && server14

添加虚拟网络ip

wKioL1jLXUCQiba9AAKA4kY3SY0604.png-wh_50

yum install arptables_jf.x86_64 -y

arptables -A IN -d 172.25.15.100 -j DROP##-A追加规则-d目的地址-j跳到目标-s源地址

arptables -A OUT -s 172.25.15.100 -j mangle --mangle-ip-s 172.25.15.13

##这两条指令意思是将目的地址为172.25.15.100的包丢掉将源地址为172.25.15.100的请求包发给172.25.15.13

##server14同样操作

 

/etc/init.d/arptables_jf save##保存

 

安装httpd并开启

Yum install -y httpd

/etc/init.d/httpd start

并在默认发布目录上编辑index.html作为轮询时区别不同的虚拟机

Cd /var/www/html

Server13:

Echo <h1>server13.example.com</h1> >index.html

Server14:

Echo <h1>server14.example.com</h1> >index.html

 

测试1

真机curl虚拟ipcurl 172.25.15.100会发现server13 && server14轮询

wKiom1jLXa6AKd0_AAhi3qOkpJM329.png-wh_50

 

测试2

当关闭serever13端的lvs时轮询访问的server13会中断

wKioL1jLXcCgsg20AAZb2PZ_pkc047.png-wh_50

但下图会发现server11 ipvsadm -l 查询时并不会发现错误所以说明lvs本身没有健康检查功能

wKioL1jLXdLQoAUyAAXjJJsS8KQ471.png-wh_50

 

 

 

2.配置ldirectord 服务

想要有监测功能需要加入ldirectord服务

 

 

先配置ldirectord 服务:

Server11:

yum install ldirectord-3.9.5-3.1.x86_64.rpm

 cd /etc/ha.d/

cp /usr/share/doc/ldirectord-3.9.5/ldirectord.cf .

vim ldirectord.cf

wKioL1jLXgahVEHqAAgElJWZe0I318.png-wh_50

 

测试

/etc/init.d/ldirectord start

wKiom1jLXiDjhOMRAAfoGvNyiwM789.png-wh_50

轮询正常且虚拟服务存在

 

 

当server13关闭httpd服务时server11端再ipvsadm测试会发现server13虚拟服务已经关闭且curl 172.25.15.100时只会访问server14

wKioL1jLXpnQ73yZAAXZohnF1M4388.png-wh_50

所以安装ldirectord 服务会具有健康检查功能

 

 

 

 

3.将ldirectord服务加入heartbeat 服务中

先将server11 && server12中的httpldirectord服务关掉并删掉虚拟网络

/etc/init.d/ldirectord stop

/etc/init.d/httpd stop

ip addr del 172.25.15.100/24 dev eth0

两边虚拟机都修改配置文件加入ldirectord服务

vim haresources

wKioL1jLXr_TD-K_AAbJMHc7r6U242.png-wh_50

两边虚拟机都启动heartbeat服务

/etc/init.d/heartbeat start

 

 

 

测试1

都启动服务后客户端正常访问且服务正常轮询虚拟网络服务正常运行

wKioL1jLXvHAuvBMAAkn_gwNzUA422.png-wh_50

wKiom1jLXvbDlyCoAAnggr7-Eek119.png-wh_50

 

测试2

 

当集群中server11关掉hearbeat服务时server12会自动接管服务而且客户端会正常工作

wKiom1jLXzrDrE_zAAMOS3ccoH0549.png-wh_50

wKiom1jLXzvzw_ydAAIK5N1jFiU038.png-wh_50

wKioL1jLXzzQs3tvAAJdfawAWf0703.png-wh_50

 

 

 

 

 

4.keepalived + lvs

 

1用httpd服务测试

Server11端

 

下载keepalived-1.2.24.tar.gz压缩包并解压

 tar zxf keepalived-1.2.24.tar.gz

安装软件包解决依赖性

yum install -y ipvsadm kernel-devel openssl-devel popt-devel libnl-devel gcc make -y

yum install libnfnetlink-devel-1.0.0-1.el6.x86_64.rpm

./configure --prefix=/usr/local/keepalived

make && make install

做四个软连接

ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/

ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

ln -s /usr/local/keepalived/etc/keepalived/ /etc/

 ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/

 

Scp到server12上来

scp -r keepalived/ root@172.25.15.12:/usr/local/

Server12同样做软连接“

ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/

ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

ln -s /usr/local/keepalived/etc/keepalived/ /etc/

ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/

Server11端

 cd /etc/keepalived/

vim keepalived.conf

wKioL1jLX3Hxk7QeAAJRps1FztU986.png-wh_50

wKiom1jLX3LQbQ20AAIjDpjohg8807.png-wh_50

wKiom1jLX3SQzxYkAALkJmHvu4E447.png-wh_50

scp keepalived.conf root@172.25.15.12:/etc/keepalived/##发送给server12

 

 

 

Server 11 && server12 都安装mailx用来接受邮件

yum install -y mailx

Server12端

修改server11端传过来的keepalived的配置文件

Cd /etc/keepalived

Vim keepalived.conf

wKioL1jLX47haZyeAAY0gWr1b8E726.png-wh_50 

##修改备份机状态为BACKUP以及备份机优先级为50

 

主机与备份机两边都给执行权限并开启

chmod +x /etc/init.d/keepalived

/etc/init.d/keepalived start

 

 

 

测试

正常启动后用 ip addr show 查看会发现真实运行在server11上但是ipvsadm会发现在备份机上也存在说明数据同时备份。当server11挂掉后数据就可继续运行不用从0开始

而且对客户端的访问并没有影响

wKioL1jLX9GApesCAAX9ke9nxEE712.png-wh_50

wKioL1jLYBDjlhvOAAYOULl2Q5s413.png-wh_50

wKiom1jLYBLgWW2aAAX-RJPiRcg423.png-wh_50

 

 

2用ftp服务测试

Server13 && server14端都安装vsftp服务

分别创建server13以及server14文件用来区分连接的虚拟机

Server11&& server12端

Vim keepalived.conf

wKioL1jLYPzxbaQnAAI3K7WhNW4969.png-wh_50

wKiom1jLYPzRPHEZAAI-mZtsXh4787.png-wh_50



Server13 && server14端

添加172.25.15.200虚拟ip:

wKioL1jLYQ_iFLuwAAIkuwXIb8s483.png-wh_50

wKiom1jLYRCw6bhTAAIh111ZbA4935.png-wh_50

 

Server11 &&server12端启动服务

/etc/init.d/keepalived start

 

 

 

测试

wKiom1jLYTWT0zUaAAJew-tJI_M222.png-wh_50

wKioL1jLYTWy4E4TAAJabRZUFxc264.png-wh_50

wKiom1jLYZvj2xZsAALgYrl5FIg305.png-wh_50

当server13断开服务时会自动切到server13上来

wKiom1jLYYuwR7T6AAHUp3oAcNA980.png-wh_50


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

集群(3)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

集群(3)

LVS && HA  1.DR模式实现lvs Server11端作为调度器Sever11操作首先配置yum源如图 Yum repolist##查看已拥有的yum仓库安装ipvsadmYum install -y ipvsadm ip add
2023-01-31

3.redis集群部署3主3从

redis集群部署 一:安装redis (使用redis3.0.6版本),同《1.redis安装》1.下载源码$ tar xzf redis-3.0.6.tar.gz$ cd redis-3.0.6$ make   2、编译完成后,在Src
2023-01-31

OpenStack HA集群3-Pace

节点间主机名必须能解析[root@controller1 ~]# cat /etc/hosts192.168.17.149  controller1192.168.17.141  controller2192.168.17.166  con
2023-01-31

HADOOP之3节点集群

1.apache提供的hadoop-2.4.1的安装包是在32位操作系统编译的,因为hadoop一些C++的本地库,所以如果在64位的操作上安装hadoop-2.4.1就需要重新在64操作系统上重新编译2.本次搭建使用了2.7.1,hado
2023-01-31

集群-基础知识3

纠正:报文进入内核空间后,当到达input链时发现是一个集群服务时,则直接发送到postrouting链,不经过forward链。调度算法:1、静态方法:rr:轮询,即依照次序从所有RS中进行挑选wrr:加权轮询,按照权重在RS中进行轮询s
2023-01-31

34补3-3 rhcs集群基础应用

03rhcs集群基础应用配置luci/ricci(图形界面,重点掌握)配置环境node1:192.168.1.151CentOS6.5node2:192.168.1.152CentOS6.5node3:192.168.1.153CentOS
2023-01-31

redis集群不通过reids-trib脚本创建3主3从redis集群的示例分析

这篇文章主要介绍redis集群不通过reids-trib脚本创建3主3从redis集群的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 1、启动126,127,128 3个7000端口redis(maste
2023-06-06

docker集群部署:第3部分:服务

docker集群部署:第3部分:服务介绍在第3部分中,我们将扩展应用程序并实现负载平衡。关于服务在分布式应用程序中,应用程序的不同部分被称为“服务”。例如,一个视频共享站点,它可能包括一个用于将应用程序数据存储在数据库中的服务,后面的视频转
2023-01-31

rhcs 3个节点集群测试 小记

1.   3个节点一个集群2.   一个fail domain   节点1  优先级  3                               节点2  优先级  1                                 
2023-01-31

web集群时session同步的3种方法

在做了web集群后,你肯定会首先考虑session同步问题,因为通过负载均衡后,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,一个登录用户,一会是登录状态,一会又不是登录状态。所以本文就根据这种情况给出三种
2023-01-31
2024-04-02
2024-04-02
2024-04-02

docker-compose启动redis多机集群的实现(6台服务器3主3从)

目录1. 环境说明2. 集群部署Redis-node-1redis-node-2redis-node-3redis-node-4redis-node-5redis-node-63. 初始化4. 测试1. 环境说明节点IPredis-nod
2022-07-13

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录