马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
一、LVS
1.脚色
主机名ip所在功能web01192.168.2.101rsweb02192.168.2.102realserveenat内网:192.168.2.103 外网:192.168.2.120directorserver,ntpdns192.168.2.105dns2..web服务器
- [root@web01 ~]# yum -y install nginx
-
- [root@web01 ~]# echo "web===01" > /usr/share/nginx/html/index.html
- [root@web01 ~]# nginx
复制代码
- [root@web02 ~]# yum -y install nginx
-
- [root@web02 ~]# echo "web===02" > /usr/share/nginx/html/index.html
- [root@web02 ~]# nginx
复制代码
2.nat
设置两个网卡和两个ip所在,一个对内ip,一个对外ip
内网:192.168.2.103
外网:192.168.2.120
3.dns:192.168.2.105
- [root@localhost ~]# yum -y install bind
-
- [root@localhost ~]# vim /etc/named.conf
-
- options {
- listen-on port 53 { 127.0.0.1;any; };
- listen-on-v6 port 53 { ::1; };
- directory "/var/named";
- dump-file "/var/named/data/cache_dump.db";
- statistics-file "/var/named/data/named_stats.txt";
- memstatistics-file "/var/named/data/named_mem_stats.txt";
- recursing-file "/var/named/data/named.recursing";
- secroots-file "/var/named/data/named.secroots";
- allow-query { localhost;any;};
-
-
-
- [root@localhost ~]# vim /etc/named.rfc1912.zones
-
- zone "haha" IN {
- type master;
- file "haha.zone";
- allow-update { none; };
- };
-
-
-
- [root@localhost ~]# cd /var/named/
- [root@localhost named]# ls
- data dynamic named.ca named.empty named.localhost named.loopback slaves
- [root@localhost named]# ll
- 总用量 16
- drwxrwx---. 2 named named 6 6月 11 22:40 data
- drwxrwx---. 2 named named 6 6月 11 22:40 dynamic
- -rw-r-----. 1 root named 2253 4月 5 2018 named.ca
- -rw-r-----. 1 root named 152 12月 15 2009 named.empty
- -rw-r-----. 1 root named 152 6月 21 2007 named.localhost
- -rw-r-----. 1 root named 168 12月 15 2009 named.loopback
- drwxrwx---. 2 named named 6 6月 11 22:40 slaves
- [root@localhost named]# cp -p named.localhost haha.zone
-
- [root@localhost named]# vim haha.zone
-
- $TTL 1D
- @ IN SOA @ rname.invalid. (
- 0 ; serial
- 1D ; refresh
- 1H ; retry
- 1W ; expire
- 3H ) ; minimum
- NS @
- A 127.0.0.1
- AAAA ::1
- nat A 192.168.2.103
- ds A 192.168.2.120
- web01 A 192.168.2.101
- web02 A 192.168.2.102
-
- 检查文件
-
- [root@localhost named]# named-checkconf /etc/named.conf
- [root@localhost named]# named-checkconf /etc/named.rfc1912.zones
- [root@localhost named]# named-checkzone haha.zone haha.zone
- zone haha.zone/IN: loaded serial 0
- OK
- [root@localhost named]# systemctl start named
- [root@localhost named]# systemctl enable named
复制代码 4.客户端
- 将配置DNS服务的IP重定向到/etc/resolv中
-
- [root@client ~]# echo "nameserver 192.168.2.105" > /etc/resolv
-
- [root@client ~]# ping nat.haha
- PING nat.haha (192.168.2.103) 56(84) bytes of data.
- 64 bytes from 192.168.2.103 (192.168.2.103): icmp_seq=1 ttl=64 time=0.216 ms
- 64 bytes from 192.168.2.103 (192.168.2.103): icmp_seq=2 ttl=64 time=0.624 ms
- ^C
- --- nat.haha ping statistics ---
- 2 packets transmitted, 2 received, 0% packet loss, time 1000ms
- rtt min/avg/max/mdev = 0.216/0.420/0.624/0.204 ms
- [root@client ~]# ping ds.haha
- PING ds.haha (192.168.2.120) 56(84) bytes of data.
- 64 bytes from 192.168.2.120 (192.168.2.120): icmp_seq=1 ttl=64 time=0.445 ms
- 64 bytes from 192.168.2.120 (192.168.2.120): icmp_seq=2 ttl=64 time=0.408 ms
- ^C
- --- ds.haha ping statistics ---
- 2 packets transmitted, 2 received, 0% packet loss, time 1001ms
- rtt min/avg/max/mdev = 0.408/0.426/0.445/0.027 ms
复制代码 5.nat:设置时间同步服务器
- [root@nat ~]# yum -y install ntpdate.x86_64
-
- [root@nat ~]# crontab -e
-
- * 2 * * * /usr/sbin/ntpdate cn.ntp.org.cn
-
- [root@nat ~]# systemctl start ntpdate.service
- [root@nat ~]# systemctl enable ntpdate.service
复制代码 6.dns:设置时间同步
- [root@dns ~]# crontab -e
-
- 30 3 * * * /usr/sbin/ntpdate 192.168.2.103(时间服务器的地址)
复制代码 7.web01
- [root@web01 ~]# crontab -e
-
- 30 3 * * * /usr/sbin/ntpdate 192.168.2.103(时间服务器的地址)
复制代码 8.web02
- [root@web02 ~]# crontab -e
-
- 30 3 * * * /usr/sbin/ntpdate 192.168.2.103(时间服务器的地址)
复制代码 9.nat
- [root@nat ~]# yum -y install ipvsadm.x86_64
复制代码 二、基于gtids的主从复制搭建
实践步调
1.修改设置⽂件⽀持GTIDs
- 1.master
-
- [mysqld]
- basedir=/usr/local/mysql
- datadir=/usr/local/mysql/data
- socket=/tmp/mysql.sock
- port=3306
-
- log-error=/usr/local/mysql/data/db01-master.err
- log-bin=/usr/local/mysql/data/binlog
- server-id=10
- character_set_server=utf8mb4
-
- gtid-mode=on
- log-slave-updates=1
- enforce-gtid-consistency
复制代码- 2.slave
-
- [mysqld]
- basedir=/usr/local/mysql
- datadir=/usr/local/mysql/data
- socket=/tmp/mysql.sock
-
- log-error=/usr/local/mysql/data/err.log
- relay-log=/usr/local/mysql/data/relaylog
- character_set_server=utf8mb4
- server-id=11
-
- log-bin=/usr/local/mysql/data/binlog
- gtid-mode=on
- log-slave-updates=1
- enforce-gtid-consistency
- skip-slave-start
-
-
复制代码 2.重新启动mysql服务
- [root@master ~]# service mysql8 start
- Starting MySQL SUCCESS!
-
-
-
- [root@slave ~]# service mysql8 start
- Starting MySQL SUCCESS!
-
复制代码 3.主从设置只读模式
- mysql> set @@global.read_only=ON;
- Query OK, 0 rows affected (0.00 sec)
-
- mysql> set @@global.read_only=ON;
- Query OK, 0 rows affected (0.00 sec)
复制代码 4.slave重新设置change master to
- mysql> stop slave;
- Query OK, 0 rows affected, 2 warnings (0.00 sec)
-
- mysql> reset slave;
- Query OK, 0 rows affected, 1 warning (0.00 sec)
-
- mysql> change master to
- -> master_host='192.168.2.38',
- -> master_user='slave',
- -> master_password='slave_123;',
- -> master_port=3306,
- -> master_auto_position=1;
- Query OK, 0 rows affected, 8 warnings (0.02 sec)
-
- mysql> start slave;
- Query OK, 0 rows affected, 1 warning (0.02 sec)
-
- mysql> show slave status\G
复制代码 5.关闭主从服务只读模式
- mysql> set @@global.read_only=OFF;
- Query OK, 0 rows affected (0.00 sec)
-
-
-
- mysql> set @@global.read_only=OFF;
- Query OK, 0 rows affected (0.01 sec)
复制代码 6.得到公钥
- [root@slave ~]# mysql -uslave -h192.168.2.38 -P3306 --get-server-public-key -p
- Enter password:
复制代码
|