A-A+

lvm实验:apache与mysql与双分发加单路由与测试机

2015年11月21日 路由器高级应用 暂无评论 阅读 3 views 次

这次进行的LVM实验,是查看apache和mysql和双分发加单路由与测试机,实验的配置环境如下:

配置环境:

  1. IP 192.168.1.2 client客户端  
  2.    192.168.1.1/2.1 路由器(两块网卡)  
  3.    192.168.2.2  (Vip:192.168.2.250)分发1   需要:yum install ipvsadm -y  
  4.    192.168.2.3  (Vip:192.168.2.250)apache服务器 需要:yum install httpd -y 解压 mysql-w-r.tar。   
  5.    192.168.2.4  (Vip:192.168.2.250)apache服务器 需要:yum install httpd -y 解压 mysql-w-r.tar。   
  6.    192.168.2.5  (Vip:192.168.2.251)分发2    需要:yum install ipvsadm -y  
  7.    192.168.2.6      Mysql 主      需要yum install mysql mysql-server -y  
  8.    192.168.2.7      Mysql 从      需要yum install mysql mysql-server -y  
  9.    192.168.2.8      Mysql 从从    需要yum install mysql mysql-server -y  

环境配置完成

client客户端设置

设定网关

route add default gw 192.168.1.1

结束。

路由器设置

开启转发

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

结束。

分发设置

绑定Vip

ifconfig eth0:0 192.168.2.250/32 broadcast 192.168.2.250 up

设定正确的路由(就是自己)

route add -host 192.168.2.250 dev eth0:0

开始做分发

设定规则为rr(你一次我一次)

ipvsadm -A -t 192.168.2.250:80 -s rr

ipvsadm -a -t 192.168.2.250:80 -r 192.168.2.4 -g

ipvsadm -a -t 192.168.2.250:80 -r 192.168.2.3 -g

查看下呗~~

  1. ipvsadm -ln  
  2. IP Virtual Server version 1.2.1 (size=4096)  
  3. Prot LocalAddress:Port Scheduler Flags  
  4.   -> RemoteAddress:Port           Forward Weight ActiveConn InActConn  
  5. TCP  192.168.2.250:80 rr  
  6.   -> 192.168.2.4:80               Route   1      0          0           
  7.   -> 192.168.2.3:80               Route   1      0          0    

结束。

配置apache(IP:2.3)

绑定VIP为lo口,方便设定在路由广播时候不回应

ifconfig lo:0 192.168.2.250/32 broadcast 192.168.2.250 up

设定到主机的路由

route add -host 192.168.2.250 dev lo:0

指定网关

route add default gw 192.168.2.1

查看下呗~~

  1. route -n  
  2. Kernel IP routing table  
  3. Destination     Gateway         Genmask         Flags Metric Ref    Use Iface  
  4. 192.168.2.250   0.0.0.0         255.255.255.255 UH    0      0        0 lo  
  5. 192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0  
  6. 169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0  
  7. 0.0.0.0         192.168.2.1     0.0.0.0         UG    0      0        0 eth0  

忽略路由广播arp协议

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

通告路由

echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

此文件为老师给的脚本,需要修改如下

vim /etc/init.d/vip.txt

前三行

#!/bin/bash

对应的VIP

VIP=192.168.2.250

对应的网关

ROUTE=192.168.2.1

运行脚本

/etc/init.d/vip.txt restart

把解压的mysql-w-r.tar。 下的 insert.php mysql-c.php mysql-i mysql-r.php 移动到 /var/www/html下

具体如何编辑呢。

我累了。看老史的。

到这里APache之前的所有都配置完成了。

第二台就不用说了吧。。累了~现在时间11:38,还没有复习今天的呢。X~~~~~X又碎了。(你懂的!)

该说分发2了。

绑定Vip

ifconfig eth0:0 192.168.2.251 netmask 255.255.255.255 broadcast 192.168.2.251 up

开始做分发

设定规则为rr(你一次我一次)

ipvsadm -A -t 192.168.2.251:3306 -s rr

ipvsadm -a -t 192.168.2.251:3306 -r 192.168.2.7 -g

ipvsadm -a -t 192.168.2.251:3306 -r 192.168.2.8 -g

结束

mysql主

进入配置文件

vim /etc/my.cnf

编辑添加

server_id = 1

log-bin=binlog

log-bin-index=binlog.index

添加用户

mysql> GRANT replication slave ON *.* TO 'a'@'%' identified by '123';

mysql> flush privileges;

创建一个可以访问Mysql主的b

grant all on *.* to 'b'@'%' identified by '123';

拷贝主数据

http://www.19216811.la

mysqldump -A -x > /tmp/full.sql

传送给从

scp /tmp/full.sql root@192.168.2.7:/tmp

查看Mysql主的状态

生产环境下可以锁定

mysql> flush tables with read lock;(测试环境可以不用锁定哟~)

mysql> show master status;(查询命令)

会显示:

  1. +---------------+----------+--------------+------------------+  
  2. | File          | Position | Binlog_Do_DB | Binlog_Ignore_DB |  
  3. +---------------+----------+--------------+------------------+  
  4. | binlog.000001 |      118 |              |                  |mp  

至此Mysql主配置结束

Mysql从

  1. ifconfig lo:0 192.168.2.251 netmask 255.255.255.255 broadcast 192.168.2.251 up  
  2. route add -host 192.168.2.251 dev lo:0  
  3. route add default gw 192.168.2.1  
  4. echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore  
  5. echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce  

如果之前使用过可以进入

cd /var/lib/mysql

输入删除所有

rm -fr *

重启Mysql服务

service mysqld restart

进入配置文件

vim /etc/my.cnf

编辑添加

server_id = 2

relay_log = /var/lib/mysql/mysql-relay-bin

relay_log_index=/var/lib/mysql/mysql-relay-bin.index

添加用户

grant all on *.* to 'c'@'%' identified by '123';

把之前Mysql主传输过来的数据添加到本地

mysql < /tmp/full.sql 还记得这个吧。输入进来让主从同步的关键啊~~~~~

  1. +---------------+----------+--------------+------------------+  
  2. | File          | Position | Binlog_Do_DB | Binlog_Ignore_DB |  
  3. +---------------+----------+--------------+------------------+  
  4.   
  5. | binlog.000001 |      118 |              |                  |  

在slave上执行一下命令(注意:master_host指到master的IP,master_user是master中为slave创建的用户,master_log_file是第九步查询出来的File名,master_log_pos是第九步查询出来的Position值)
mysql> change master to master_host='192.168.2.6, master_port=3306, master_user='a', master_password='123', master_log_file='binlog.000001',master_log_pos=118;

启动Mysql从

mysql> start slave;

查看从的运行状态:show slave status \G;

Ladies and gentlemen 你成功了么?

Slave_IO_Running: Yes (主机之间的连通性)

Slave_SQL_Running: Yes(SQL运行状态,是否同步了。)

mysql从从:

蛋疼!!不解释!!00:02了。。

  1. ifconfig lo:0 192.168.2.251 netmask 255.255.255.255 broadcast 192.168.2.251 up  
  2. route add -host 192.168.2.251 dev lo:0  
  3. route add default gw 192.168.2.1  
  4. echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore  
  5. echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce  
  6. vim /etc/my.cnf  
  7. server_id=3  
  8. relay_log=/var/lib/mysql/mysql-relay-bin  
  9. relay_log_index=/var/lib/mysql/mysql-relay-bin.index  
  10. grant all on *.* to 'c'@'%' identified by '123';  
  11. change master to master_host='192.168.2.6',master_port=3306master_user='a',master_password='123',master_log_file='binlog.000001',master_log_pos=118;  
  12. start slave;  

测试!

看老史的!

标签:

给我留言