2019独角兽企业重金招聘Python工程师标准>>>

LVS理论基础请点击下面的网址:

http://my.oschina.net/u/1454868/blog/208269

网络结构:

direct server:10.10.54.85(3306-master)
10.10.54.85(eth0)
192.168.1.83(eth1)vip1:10.10.54.89(eth0)
vip2:192.168.1.84(eth1)real server:192.168.1.86(80,3306-slave)
geteway:192.168.1.84real server:192.168.1.88(80,3306-slave)
gateway:192.168.1.84

需要搭建mysql主从,根据上面的网络结构搭建:

搭建主从mysql
(1)规划主从主机
主机:10.10.54.85
从机1:10.10.54.86
从机2:10.10.54.88
(2)更改主机配置文件
[root@nan85 etc]# vim /etc/my.cnf
log-bin=master-bin
binlog_format=mixed
server-id=1
(3)更改从机配置文件
从1
[root@nan86 ~]# vim /etc/my.cnf
log-bin=slave-bin
binlog_format=mixed
server-id=10
从2
[root@nan88 ~]# vim /etc/my.cnf
log-bin=slave-bin
binlog_format=mixed
server-id=11
(4)在master上创建复制用户,并授予权限
mysql> grant replication slave on *.* to 'emp1'@'10.10.54.86' identified by 'emp1';
mysql> flush privileges;
mysql> grant replication slave on *.* to 'emp2'@'10.10.54.88' identified by 'emp2';
mysql> flush privileges;
(5)查看master上二进制日志和position位置
mysql> show master status;
+-------------------+----------+--------------+------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+------------------+
| master-bin.000006 |      990 |              |                  |
+-------------------+----------+--------------+------------------+
(6)备份master上的数据,把备份master数据库还原到从库上
(7)在slave上面change master操作
从1:
mysql> change master to master_host='10.10.54.85',master_user='emp1', master_password='emp1', master_log_file='master-bin.000006',master_log_pos=990;
从2:
mysql> change master to master_host='10.10.54.85',master_user='emp2',master_password='emp2',master_log_file='master-bin.000006',master_log_pos=990;(8)在slave上启动slave
从1:
mysql> slave start;
从2:
mysql> slave start;(9)查看slave状态确定slave上的I/O线程和SQL线程状态为YES
从1:
mysql> show slave status\G;Slave_IO_Running: YesSlave_SQL_Running: Yes从2:
mysql> show slave status\G;Slave_IO_Running: YesSlave_SQL_Running: Yes

LVS(MASTER---NAT):

1.网络架构
direct server:10.10.54.85(3306-master)
10.10.54.85(eth0)
192.168.1.83(eth1)vip1:10.10.54.89(eth0)
vip2:192.168.1.84(eth1)real server:192.168.1.86(80,3306-slave)
geteway:192.168.1.84real server:192.168.1.88(80,3306-slave)
gateway:192.168.1.842.开启内核转发
[root@nan85 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 13.先在master(10.10.54.85)上安装ipvsadm,keepalived
(1)下载软件
//本机内核版本:
# uname -r
2.6.32-358.el6.x86_64
下载地址: --相应版本
http://www.linuxvirtualserver.org/software/ipvs.html#kernel-2.6
ipvsadm-1.26.tar.gz
keepalived
http://www.keepalived.org/download.html
keepalived-1.2.9.tar.gz(2)编译安装ipvsadm
//配置yum源
根据自己的ftp yum源做
[root@nan85 lvs]# vim /etc/yum.repos.d/CentOS-ftp.repo
[Packages]
name=Packages
baseurl=ftp://10.201.1.221/Packages
gpgcheck=0
enable=1
[Packages2]
name=Packages2
baseurl=ftp://10.201.1.221/Packages2
gpgcheck=0
enable=1
#yum clean all
//安装依赖包
[root@nan85 ipvsadm-1.26]# yum list|grep kernel-dev
[root@nan85 ipvsadm-1.26]# yum list|grep popt
[root@nan85 lvs]# yum install popt-static.x86_64 popt-devel.x86_64 popt.x86_64
[root@nan85 lvs]# yum -y install wget libnl* popt* gcc.x86_64 gcc-c++.x86_64 gcc-objc++.x86_64 kernel-devel.x86_64 make popt-static.x86_64
//确认模块
[root@nan85 lvs]# modprobe -l|grep ipvs
kernel/net/netfilter/ipvs/ip_vs.ko
kernel/net/netfilter/ipvs/ip_vs_rr.ko
kernel/net/netfilter/ipvs/ip_vs_wrr.ko
kernel/net/netfilter/ipvs/ip_vs_lc.ko
kernel/net/netfilter/ipvs/ip_vs_wlc.ko
kernel/net/netfilter/ipvs/ip_vs_lblc.ko
kernel/net/netfilter/ipvs/ip_vs_lblcr.ko
kernel/net/netfilter/ipvs/ip_vs_dh.ko
kernel/net/netfilter/ipvs/ip_vs_sh.ko
kernel/net/netfilter/ipvs/ip_vs_sed.ko
kernel/net/netfilter/ipvs/ip_vs_nq.ko
kernel/net/netfilter/ipvs/ip_vs_ftp.ko
//编译keepalived-1.2.9
[root@nan85 lvs]# tar xvf keepalived-1.2.9.tar.gz
需要安装基础软件包openssl和popt
yum install net-snmp.x86_64 net-snmp-devel.x86_64
./configure --prefix=/usr/local/keepalived --enable-snmp --sysconfdir=/etc/
出现错误:
configure: error: unable to find net-snmp-config
解决方法:
[root@nan85 keepalived-1.2.9]# yum install net-snmp.x86_64 net-snmp-devel.x86_64
Keepalived version       : 1.2.9
Compiler                 : gcc
Compiler flags           : -g -O2
Extra Lib                : -Wl,-z,relro -Wl,-z,now -L/usr/lib64 -lnetsnmpagent -lnetsnmphelpers -lnetsnmpmibs -lnetsnmp -Wl,-E -Wl,-rpath,/usr/lib64/perl5/CORE -lssl -lcrypto -lcrypt  -lnl
Use IPVS Framework       : Yes
IPVS sync daemon support : Yes
IPVS use libnl           : Yes
Use VRRP Framework       : Yes
Use VRRP VMAC            : Yes
SNMP support             : Yes
SHA1 support             : No
Use Debug flags          : No
[root@nan85 keepalived-1.2.9]# make && make install
[root@nan85 ~]# cp /usr/local/keepalived/sbin/keepalived /sbin/
[root@nan85 ~]# cp /usr/local/keepalived/bin/genhash /bin/
[root@nan85 ~]# cd /etc/keepalived/
[root@nan85 keepalived]# ls
keepalived.conf  samples        --keepalived软件不对keepalived语法进行检查,在编辑前需要备份4.在MASTER上修改keepalived
[root@nan85 ~]# vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {notification_email {lisn@shiwei.com}notification_email_from lisn@shiwei.comsmtp_server mail.shiwei.comsmtp_connect_timeout 30router_id LVS_DEVEL
}vrrp_instance VI_1 {state MASTERinterface eth0virtual_router_id 51priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {10.10.54.89/24 dev eth0 label eth0:1}virtual_ipaddress {192.168.1.84/24 dev eth1 label eth1:1}
}virtual_server 10.10.54.89 80 {delay_loop 6lb_algo rrlb_kind NATnat_mask 255.255.255.0#persistence_timeout 50protocol TCPreal_server 192.168.1.86 80 {weight 1TCP_CHECK {connect_timeout 3nb_get_retry 3delay_before_retry 3connect_port 80}}real_server 192.168.1.88 80 {weight 1TCP_CHECK {connect_timeout 3nb_get_retry 3delay_before_retry 3connect_port 80}}
}virtual_server 10.10.54.89 3306 {delay_loop 6lb_algo rrlb_kind NATnat_mask 255.255.255.0#persistence_timeout 50protocol TCPreal_server 192.168.1.86 3306 {weight 1TCP_CHECK {connect_timeout 3nb_get_retry 3delay_before_retry 3connect_port 3306}}real_server 192.168.1.88 3306 {weight 1TCP_CHECK {connect_timeout 3nb_get_retry 3delay_before_retry 3connect_port 3306}}
}
[root@nan85 keepalived]# /etc/init.d/keepalived restart
#ifconfig
查看出现
eth0:1
eth1:1
则成功
也可用下面的命令查看:
#ip addr
5.测试
//非direct server上
telnet 10.10.54.89 3306
telnet 10.10.54.89 80master 节点上:
#ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.10.54.89:3306 rr-> 192.168.1.86:3306            Masq    1      1          0         -> 192.168.1.87:3306            Masq    1      0          1

转载于:https://my.oschina.net/u/1454868/blog/208283

LVS(MASTER---NAT)相关推荐

  1. TiDB 如何在 LVS FULL NAT 模式下显示客户端真实 IP

    原文来源: https://tidb.net/blog/1d65166f [是否原创]是 [首发渠道]TiDB 社区 [正文] 作者: 靳献旗 汽车之家 DBA,TUG 2021 MVA 1.背景 公 ...

  2. 初识LVS(一)——LVS介绍和LVS的NAT工作模式

    LVS介绍 集群按照类型划分可以分为:LB负载均衡型:HA高可用型:HP高性能型.LVS(linux virtual machine)是一款国人编写用于LB负载均衡型被收录进Linux内核的工具.LV ...

  3. LVS (DR, NAT)模式应用

    OS:   Redhat AS4U4 内核:2.6.9-42 Server1: 192.168.1.91 (负载服务器) 虚拟服务IP: 192.168.1.99 Realserver: 192.16 ...

  4. LVS的NAT工作模型详解

    LVS的NAT模式示意图如下 NAT模式的工作过程 第一步:客户端发送请求,请求报文源ip为CIP目标ip为VIP. 第二步:DR接收请求报文,然后通过特规定的算法找出一个后端RS节点,然后将请求报文 ...

  5. LVS之NAT模型配置实验

    1.检查操作系统是否支持IPVS [root@idc131 ~]# grep -i vs /boot/config-2.6.18-308.el5 # CONFIG_X86_VSMP is not se ...

  6. lvs在nat dr tun 模型的实现

    LVS的全称Linux vitual system,是由目前阿里巴巴的著名工程师章文嵩博士开发的一款开源软件.LVS工作在一台server上提供Directory(负载均衡器)的功能,本身并不提供服务 ...

  7. LVS的NAT、TUNNEL、Full-NAT模式

    LVS-NAT模式 LVS-NAT模型的特性: RS应该使用私有地址,RS的网关必须指向DIP DIP和RIP必须在同一个网段内 请求和响应报文都需要经过Director Server,高负载场景中, ...

  8. LVS的VS/NAT及VS/DR类型实现

    目录 1.虚拟服务VS/NAT类型实现 2.虚拟服务VS/DR类型实现 3.总结 1.虚拟服务VS/NAT类型实现 1.1.VS/NAT实验拓扑图: 1.2.director配置如下: [root@v ...

  9. LVS负载均衡和nat模式的实操

    LVS理论和实操 一.企业群集应用概述 1.群集的含义 2.问题 3.解决方法 总结: 二.集群的分类 三.负载均衡群集架构 四.LVS负载均衡群集工作模式分析 1.负载均衡群集是目前企业用得最多的群 ...

  10. keepalived配置(lvs+NAT+直连+TUN隧道+服务切换企业微信邮件告警)

    keepalived相关说明 Keepalived是基于vrrp协议的一款高可用软件.Keepailived有一台主服务器和多台备份服务器,在主服务器和备份服务器上面部署相同的服务配置,使用一个虚拟I ...

最新文章

  1. Science:豆科植物如何建造“固氮工厂”?Murray组在根瘤共生机制取得重要进展...
  2. QLattice:你不知道的新的机器学习模型
  3. Excel2019(Office 2019)导入数据网页(文本txt)无法显示以前样式的问题(终极解决方案)
  4. c#modbus tcp通讯助手开源_RS485和Modbus知识点汇总
  5. 【转】 CSS3实现10种Loading效果
  6. rfp计算机,RFP(中英文).doc
  7. Attach and Detach in VC
  8. 电脑、手机 自动化 键鼠操作( 类似按键精灵 )
  9. 四叶草clover配置工具:Clover Configurator for Mac
  10. 解决虚拟机桥接模式ping不通主机
  11. 上班工作压力太大?来玩个游戏解压下
  12. CentOS Linux操作系统
  13. Dependency Walker使用说明
  14. 路由器装linux系统,怎样在路由器上安装Linux / DD-WRT固件
  15. numpy统计图像中某个像素值的个数
  16. 【FineReport企业日常问题 1.0】帆软决策服务端管理员密码忘记怎么办?
  17. 【Dash搭建可视化网站】项目5: 利用Dash 实现动态图表
  18. php框架静音箱,静音测试箱
  19. 【Spring系列】 Spring注解方式实现IOC、DI及其Spring其他注解
  20. Python + Tweepy 实现Twitter信息抓取(1)——准备阶段

热门文章

  1. Android Lint 去除重复资源 之 idea探究
  2. 更改SYS密码,expiry_date 过期时间 没有更新,普通用户更改密码会更新
  3. Java基础 println 输出常量的示例
  4. Python说文解字_杂谈06
  5. CentOS7手动修改系统时间
  6. python模块中的__all__属性
  7. ajax图片上传(asp.net +jquery+ashx)
  8. Swift-开发 # 1.2版本迁移
  9. .net下Selenium2使用方法总结
  10. 【转】关于eclipse和javac编译结果不一致的问题的分析与解决