当前位置: 首页 > news >正文

营销型网站建设域名是求职信息发布网

营销型网站建设域名是,求职信息发布网,做网站导航栏素材图,php心水主论坛网站制作网页设计keepalived VRRP介绍 集群#xff08;cluster#xff09;技术是一种较新的技术#xff0c;通过集群技术#xff0c;可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益#xff0c;其任务调度则是集群系统中的核心技术。 集群组成后#xff0c;可…keepalived  VRRP介绍 集群cluster技术是一种较新的技术通过集群技术可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益其任务调度则是集群系统中的核心技术。 集群组成后可以利用多个计算机和组合进行海量请求处理**负载均衡**从而获得很高的处理效率也可以用多个计算机做备份高可用使得任何一个机器坏了整个系统还是能正常运行。 keepalived工作原理     keepalived是以VRRP协议为实现基础的VRRP全称Virtual Router Redundancy Protocol即虚拟路由冗余协议。     虚拟路由冗余协议可以认为是实现路由器高可用的协议即将N台提供相同功能的路由器组成一个路由器组这个组里面有一个master和多个backupmaster上面有一个对外提供服务的vip该路由器所在局域网内其他机器的默认路由为该vipmaster会发组播当backup收不到vrrp包时就认为master宕掉了这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。 keepalived主要有三个模块分别是core、check和vrrp。core模块为keepalived的核心负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查包括常见的各种检查方式。vrrp模块是来实现VRRP协议的。 脑裂  split barin Keepalived的BACKUP主机在收到不MASTER主机报文后就会切换成为master如果是它们之间的通信线路出现问题无法接收到彼此的组播通知但是两个节点实际都处于正常工作状态这时两个节点均为master强行绑定虚拟IP导致不可预料的后果这就是脑裂。 解决方式: 1、添加更多的检测手段比如冗余的心跳线两块网卡做健康监测ping对方等等。尽量减少裂脑发生机会。(指标不治本只是提高了检测到的概率) 2、设置仲裁机制。两方都不可靠那就依赖第三方。比如启用共享磁盘锁ping网关等。(针对不同的手段还需具体分析) 3、爆头将master停掉。然后检查机器之间的防火墙。网络之间的通信 Nginxkeepalived实现七层负载均衡 Nginx通过Upstream模块实现负载均衡 upstream支持的负载均衡算法 主机清单 主机名IP系统用途Proxy-master172.16.147.155centos7.5主负载Proxy-slave172.16.147.156centos7.5主备Real-server1172.16.147.153Centos7.5web1Real-server2172.16.147.154centos7.5Web2Vip for proxy172.16.147.100 配置安装nginx 所有的机器关闭防火墙和selinux [rootproxy-master ~]# systemctl stop firewalld //关闭防火墙 [rootproxy-master ~]# sed -i s/^SELINUX.*/SELINUXdisabled/ /etc/sysconfig/selinux //关闭selinux重启生效 [rootproxy-master ~]# setenforce 0         //关闭selinux临时生效 安装nginx 全部4台 [rootproxy-master ~]# cd /etc/yum.repos.d/ [rootproxy-master yum.repos.d]# vim nginx.repo [nginx-stable] namenginx stable repo baseurlhttp://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck0 enabled1 [rootproxy-master yum.repos.d]# yum install yum-utils -y [rootproxy-master yum.repos.d]# yum install nginx -y 一、实施过程  1、选择两台nginx服务器作为代理服务器。 2、给两台代理服务器安装keepalived制作高可用生成VIP 3、配置nginx的负载均衡 # 两台配置完全一样 [rootproxy-master ~]# vim /etc/nginx/nginx.conf user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; include /usr/share/nginx/modules/*.conf; events {worker_connections 1024; } http {log_format main $remote_addr - $remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for;access_log /var/log/nginx/access.log main;sendfile on;tcp_nopush on;tcp_nodelay on;keepalive_timeout 65;types_hash_max_size 2048;include /etc/nginx/mime.types;default_type application/octet-stream;include /etc/nginx/conf.d/*.conf;upstream backend {server 172.16.147.154:80 weight1 max_fails3 fail_timeout20s;server 172.16.147.153:80 weight1 max_fails3 fail_timeout20s;}server {listen 80;server_name localhost;location / {proxy_pass http://backend;proxy_set_header Host $host:$proxy_port;proxy_set_header X-Forwarded-For $remote_addr;}} } keepalived实现调度器HA 注主/备调度器均能够实现正常调度 1. 主/备调度器安装软件 [rootproxy-master ~]# yum install -y keepalived [rootproxy-slave ~]# yum install -y keepalived [rootproxy-master ~]# cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak [rootproxy-master ~]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalivedglobal_defs {router_id directory1 #辅助改为directory2 }vrrp_instance VI_1 {state MASTER #定义主还是备interface ens33 #VIP绑定接口virtual_router_id 80 #整个集群的调度器一致priority 100 #back改为50advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {172.16.147.100/24 # vip} }[rootproxy-slave ~]# cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak [rootproxy-slave ~]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalivedglobal_defs {router_id directory2 }vrrp_instance VI_1 {state BACKUP #设置为backupinterface ens33nopreempt #设置到back上面不抢占资源virtual_router_id 80priority 50 #辅助改为50advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {172.16.147.100/24} } 启动KeepAlived主备均启动 [rootproxy-master ~]# systemctl enable keepalived [rootproxy-slave ~]# systemctl start keepalived [rootproxy-master ~]# ip a 1: lo: LOOPBACK,UP,LOWER_UP mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet 172.16.147.100/32 scope global lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:ec:8a:fe brd ff:ff:ff:ff:ff:ffinet 172.16.147.155/24 brd 172.16.147.255 scope global noprefixroute dynamic ens33valid_lft 1115sec preferred_lft 1115secinet 172.16.147.101/24 scope global secondary ens33valid_lft forever preferred_lft forever 可以解决心跳故障keepalived 不能解决Nginx服务故障 扩展对调度器Nginx健康检查可选两台都设置 思路 让Keepalived以一定时间间隔执行一个外部脚本脚本的功能是当Nginx失败则关闭本机的Keepalived (1) script [rootproxy-master ~]# vim /etc/keepalived/check_nginx_status.sh #!/bin/bash /usr/bin/curl -I http://localhost /dev/null if [ $? -ne 0 ];then # /etc/init.d/keepalived stopsystemctl stop keepalived fi [rootproxy-master ~]# chmod ax /etc/keepalived/check_nginx_status.sh (2). keepalived使用script ! Configuration File for keepalivedglobal_defs {router_id director1 } vrrp_script check_nginx {script /etc/keepalived/check_nginx_status.shinterval 5 }vrrp_instance VI_1 {state MASTERinterface ens33virtual_router_id 80priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.246.16/24}track_script {check_nginx} } 注必须先启动nginx再启动keepalived 客户端访问的是虚拟VIP由虚拟vip去连接负载均衡的ip让负载均衡去访问后端的nginx页面。而keepalived是提供VIP的服务器分为主备当主服务器的keepalived开启时 那么VIP就会在主服务器上。只有当主服务器的keepalived关闭时VIP才会飘向备服务器客户端访问的才是备负载均衡服务器的内容。          但是当主负载均衡服务器的nginx关闭时不会影响vip的存在他还会在主负载均衡服务器上但是客户端访问的 时候会显示拒绝连接因为vip是与负载均衡服务器的IP连接的他是去找她的。 MySQLKeepalived 项目环境 IP1192.168.231.185    keepalivedmaster IP2192.168.231.187   keepalivedsalve VIP192.168.231.66 俩台机器都做相同的操作 安装MySQL # yum -y install mysql-server mysql启动myslqd # systemctl start mysqld查看密码修改密码 grep password /var/log/mysqld.log修改密码 mysqladmin -uroot -p旧密码 password 新密码登录MySQL mysql -ppassword创建远程登录这俩台mysql的用户grant all on *.* to root% identified by Qianfeng123!; 为了体现实验结果 在IP1的数据库上创建数据库db1IP2不创建数据库。 IP1创建新数据库 create database db1;mysql show databases; -------------------- | Database | -------------------- | information_schema | | db1 | | mysql | | performance_schema | | sys | -------------------- 5 rows in set (0.00 sec)安装keepalived 俩台机器安装keepalived [rootmysql-keepalived-master ~]# yum -y install keepalived [rootmysql-keepalived-slave ~]# yum -y install keepalived 修改配置文件 192.168.231.185的配置文件 # vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs {router_id master } vrrp_instance VI_1 {state MASTER #定义主还是备interface ens33 #VIP绑定接口virtual_router_id 89 #整个集群的调度器一致priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.231.66/24 #定义的虚拟ip VIP} }192.168.231.187配置文件 ! Configuration File for keepalivedglobal_defs {router_id backup } vrrp_instance VI_1 {state BACKUP #设置成backupnopreempt #设置到back上面不抢占资源interface ens33virtual_router_id 89priority 50advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.231.66/24 #虚拟VIP} } 主备同时启动keepalived [rootproxy-master ~]# systemctl enable keepalived [rootproxy-slave ~]# systemctl start keepalived 查看IP [rootlocalhost ~]# ip a 1: lo: LOOPBACK,UP,LOWER_UP mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:b5:2b:5c brd ff:ff:ff:ff:ff:ffinet 192.168.231.185/24 brd 192.168.231.255 scope global noprefixroute dynamic ens33valid_lft 1348sec preferred_lft 1348secinet 192.168.231.66/24 scope global secondary ens33valid_lft forever preferred_lft forever远程登录MySQL 在第三台拥有MySQL的服务器上进行远程登录MySQL mysql -uroot -pQianfeng123! -h192.168.231.66 -P3306-p密码是之前在俩台服务器创建的用户 -h的IP是虚拟vip -p是MySQL的端口3306 当IP1keepalived开启MySQL开启时此时VIP在IP1上  查询到的是MySQL1 mysql show databases; -------------------- | Database | -------------------- | information_schema | | db1 | | mysql | | performance_schema | | sys | -------------------- 5 rows in set (0.00 sec)当IP1keepalived关闭IP1的MySQL开启时此时VIP在IP2上  查询到的是MySQL2 mysql show databases; ERROR 2013 (HY000): Lost connection to MySQL server during query mysql show databases; ERROR 2006 (HY000): MySQL server has gone away No connection. Trying to reconnect... Connection id: 18 Current database: *** NONE ***-------------------- | Database | -------------------- | information_schema | | mysql | | performance_schema | | sys | -------------------- 4 rows in set (0.01 sec)###连接到IP1的数据库切换到IP2的数据库上 当IP1keepalived关闭IP1的MySQL开启时此时VIP在IP2上接着将IP1的keepalived开启那么此时vip会跑到IP1上  查询到的是 MySQL1 mysql show databases; ERROR 2006 (HY000): MySQL server has gone away No connection. Trying to reconnect... Connection id: 4 Current database: *** NONE ***-------------------- | Database | -------------------- | information_schema | | db1 | | mysql | | performance_schema | | sys | -------------------- 5 rows in set (0.01 sec)当IP1的keepalived开启IP1的MySQL开启此时关闭IP1的MySQL那么VIP还是在IP1上那么此时查询到的数据库是 无法连接 mysql show databases; ERROR 2013 (HY000): Lost connection to MySQL server during query mysql show databases; ERROR 2006 (HY000): MySQL server has gone away No connection. Trying to reconnect... ERROR 2003 (HY000): Cant connect to MySQL server on 192.168.231.66 (111) ERROR: Cant connect to the server此时将IP1的keepalived也停掉那么VIP会飘逸到IP2上此时查询到的数据库是 MySQL2 mysql show databases; No connection. Trying to reconnect... Connection id: 19 Current database: *** NONE ***-------------------- | Database | -------------------- | information_schema | | mysql | | performance_schema | | sys | -------------------- 4 rows in set (0.00 sec) 因此也就是说 客户端访问的是虚拟VIP由虚拟vip去连接后端的MySQL。而keepalived是提供VIP的服务器分为主备当主服务器的keepalived开启时 那么VIP就会在主服务器上。只有当主服务器的keepalived关闭时VIP才会飘向备服务器客户端访问的才是备服务器的内容。          但是当主服务器的MySQL关闭时不会影响vip的存在他还会在主服务器上但是客户端访问的 时候会显示拒绝连接因为vip是与MySQL服务器的IP连接的他是去找她的。 在企业生产环境中我们不可能一直在观察MySQL与keepalived的状态那么我们需要使用脚本但是脚本多久执行一次 回花费大量精力这时候我们可以将脚本放至keepalived的配置文件中。只要检查到服务器的MySQL关闭那么就会停止该服务器的keepalived。让其他服务器工作从而保证了高可用 脚本 vim keepalived_check_mysql.sh #!/bin/bash /usr/bin/mysql -uroot -pQianFeng2019! -e show status /dev/null if [ $? -ne 0 ] ;then # service keepalived stopsystemctl stop keepalived fi ~ 在keepalived的配置文件中引用 ! Configuration File for keepalivedglobal_defs {router_id master } vrrp_script check_run { ####定义脚本script /etc/keepalived/keepalived_chech_mysql.shinterval 5 }vrrp_instance VI_1 {state MASTERinterface ens33virtual_router_id 89priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.231.66/24}track_script { ####引用脚本} }实验过程遇到的错误 虚拟IP是自己提供的避免虚拟ip在其他服务器上已经存在的情况      脚本的引用可以不使用引号或者使用双引号
http://www.hkea.cn/news/14297417/

相关文章:

  • 网站怎么被搜到首页wordpress 自动保存
  • wordpress添加可链接照片搜索引擎优化工具有哪些
  • 西安哪家做网站最好北京专业网站建设公司
  • 小学校园网站建设方案长沙做网站的公司
  • 江阴外贸网站制作一个备案号可以放几个网站
  • 湛江模板建站平台重慶网站开发
  • iis wordpress多站点seo优化价格
  • 网页设计与网站建设 作业php学校网站模板
  • 外贸网站推广企业中美关系最新消息新闻
  • 肇庆网站关键词优化wordpress百度索引
  • 网站建设技术人员工作总结房地产网站建设方案
  • 做seo为什么要了解网站wordpress最干净的搬家教程
  • 高端营销网站wordpress 图片 本地化
  • 浅谈做网站的好处网站关键词结构
  • iis默认网站无法访问电商网站开发面试题
  • 网站阶段推广计划wordpress注册关键词
  • 网站功能定位分析建网站要
  • 牛二网站建设中国商标网商标查询官方网站
  • 沈阳做网站的公司排名做网站怎么切psd图
  • 网站设计与制作教程网站页面布局和样式设计
  • 网站建设lhempirewordpress 旅游模板
  • 邢台哪儿专业做网站怎样做网站反链
  • 网站设计制作公司网站页面类型
  • 专门做婚庆的网站有哪些做电影网站需要哪些条件
  • 网站显示乱码怎么办啊深圳网站建设 外包合作
  • 石家庄专业网站设计硬件开发是做什么工作
  • seo网站建设 大时代网站建设原因
  • 网站流量统计分析的误区网页设计作品介绍范文
  • 怎么做网站支付wordpress 超级留言板
  • php团购网站的难点陈木胜拍完怒火重案了吗