LVS综合实验

1、环境准备

提前准备:Mysql8.0.30安装包、Mysql安装脚本、shopxo2.3.0安装包、DNS脚本

服务器 IP地址 作用 系统版本
Mysql-master 10.0.0.103 shopxo网站主数据库 Ubuntu2004
Mysql-slave 10.0.0.104 shopxo网站备份数据库 Ubuntu2004
NFS-data 10.0.0.105 shopxo图片视频等多媒体大文件存放NFS Ubuntu2004
NFS-backup 10.0.0.106 NFS备份服务器 Ubuntu2004
shopxo1 10.0.0.101 shopxo1网站 Ubuntu2004
shopxo2 10.0.0.102 shopxo1备份网站 Ubuntu2004
LVS eth0:10.0.0.100
eth1:192.168.0.100
LVS 负载网站访问调度 Ubuntu2004
client Route eth0:192.168.0.88
eth1:192.168.10.88
客户端路由器 rocky8.6
DNS 192.168.10.100 域名解析 rocky8.6

2、搭建Mysql主服务器

# mysql-master:(提前脚本安装好mysql)
[root@mysql-master ~]#vim /etc/my.cnf #更改配置文件
[mysqld]
server-id=104
log-bin
datadir=/data/mysql
socket=/data/mysql/mysql.sock
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid
default_authentication_plugin=mysql_native_password
gtid_mode=ON
enforce_gtid_consistency
[client]
socket=/data/mysql/mysql.sock
[root@mysql-master ~]#systemctl restart mysql
[root@mysql-master ~]#mysql -p123456
mysql> create user repluser@'10.0.0.%' identified by '123456'; #创建主从同步账号并授权
mysql> grant replication slave on *.* to repluser@'10.0.0.%'; mysql> create user shopxo@'10.0.0.%' identified by '123456'; #创建主从同步账号并授权
mysql> grant all on shopxo.* to shopxo@'10.0.0.%';

3、搭建Mysql从服务器

# mysql-slave: (提前脚本安装好mysql)
[root@ubuntu2004 ~]#vim /etc/my.cnf
[mysqld]
server-id=104
log-bin
datadir=/data/mysql
socket=/data/mysql/mysql.sock
log-error=/data/mysql/mysql.log
pid-file=/data/mysql/mysql.pid
default_authentication_plugin=mysql_native_password
gtid_mode=ON
enforce_gtid_consistency
[client]
socket=/data/mysql/mysql.sock
[root@ubuntu2004 ~]#systemctl restart mysql
[root@ubuntu2004 ~]#mysql -p123456
CHANGE MASTER TO
MASTER_HOST='10.0.0.103',
MASTER_USER='repluser',
MASTER_PASSWORD='123456',
MASTER_PORT=3306,
MASTER_AUTO_POSITION=1; mysql> start slave;

4、搭建nfs-backup服务器

## nfs-backup:
[root@nfs-backup ~]#apt install -y rsync
[root@nfs-backup ~]#vim /etc/rsyncd.conf
uid = root
gid = root
max connections = 0
ignore errors
exclude = lost+found/
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
reverse lookup = no
[backup]
path = /data/backup/
comment = backup dir
read only = no
auth users = rsyncuser
secrets file = /etc/rsync.pas [root@nfs-backup ~]#echo rsyncuser:123456 > /etc/rsync.pas
[root@nfs-backup ~]#chmod 600 /etc/rsync.pas
[root@nfs-backup ~]#mkdir /data/backup -p
[root@nfs-backup ~]#setfacl -m u:nobody:rwx /data/backup
[root@nfs-backup ~]#systemctl restart rsync.service # 105服务器nfs-data验证:
[root@nfs-data ~]#rsync rsyncuser@10.0.0.106::backup
Password:
drwxr-xr-x 4,096 2022/09/07 20:18:38 .

5、搭建nfs-data服务器

# 105服务器nfs-data:

[root@nfs-data ~]#apt install -y rsync
[root@nfs-data ~]#tar xf sersync2.5.4_64bit_binary_stable_final.tar.gz -C /usr/local
[root@nfs-data ~]#cd /usr/local
[root@nfs-data local]#mv GNU-Linux-x86/ sersync2
[root@nfs-data local]#cd sersync2/
[root@nfs-data sersync2]#vim confxml.xml
<rsync>
<?xml version="1.0" encoding="ISO-8859-1"?>
<head version="2.5">
<host hostip="localhost" port="8008"></host>
<debug start="false"/>
<fileSystem xfs="false"/>
<filter start="false">
<exclude expression="(.*)\.svn"></exclude>
<exclude expression="(.*)\.gz"></exclude>
<exclude expression="^info/*"></exclude>
<exclude expression="^static/*"></exclude>
</filter>
<inotify>
<delete start="true"/>
<createFolder start="true"/>
<createFile start="true"/>
<closeWrite start="true"/>
<moveFrom start="true"/>
<moveTo start="true"/>
<attrib start="true"/>
<modify start="true"/>
</inotify> <sersync>
<localpath watch="/data/www/">
<remote ip="10.0.0.106" name="backup"/> #更改为备份服务器的ip地址
<!--<remote ip="192.168.8.39" name="tongbu"/>-->
<!--<remote ip="192.168.8.40" name="tongbu"/>-->
</localpath>
<rsync>
<commonParams params="-artuz"/>
<auth start="true" users="rsyncuser" passwordfile="/etc/rsync.pas"/>
<userDefinedPort start="false" port="874"/><!-- port=874 -->
<timeout start="false" time="100"/><!-- timeout=100 -->
<ssh start="false"/>
</rsync>
<failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once-->
<crontab start="false" schedule="600"><!--600mins-->
<crontabfilter start="false">
<exclude expression="*.php"></exclude>
<exclude expression="info/*"></exclude>
</crontabfilter>
</crontab>
<plugin start="false" name="command"/>
</sersync> <plugin name="command">
<param prefix="/bin/sh" suffix="" ignoreError="true"/> <!--prefix /opt/tongbu/mmm.sh suffix-->
<filter start="false">
<include expression="(.*)\.php"/>
<include expression="(.*)\.sh"/>
</filter>
</plugin> <plugin name="socket">
<localpath watch="/opt/tongbu">
<deshost ip="192.168.138.20" port="8009"/>
</localpath>
</plugin>
<plugin name="refreshCDN">
<localpath watch="/data0/htdocs/cms.xoyo.com/site/">
<cdninfo domainname="ccms.chinacache.com" port="80" username="xxxx" passwd="xxxx"/>
<sendurl base="http://pic.xoyo.com/cms"/>
<regexurl regex="false" match="cms.xoyo.com/site([/a-zA-Z0-9]*).xoyo.com/images"/>
</localpath>
</plugin>
</head> [root@nfs-data sersync2]#mkdir /data/www -p
[root@nfs-data sersync2]#echo 123456 > /etc/rsync.pas
[root@nfs-data sersync2]#chmod 600 /etc/rsync.pas
[root@nfs-data sersync2]#screen
[root@nfs-data sersync2]#./sersync2 -dro ./confxml.xml [root@nfs-data sersync2]#vim /etc/exports
/data/www 10.0.0.0/24(rw,all_squash,anonuid=33,anongid=33)
[root@nfs-data sersync2]#exportfs -r
[root@nfs-data sersync2]#exportfs -v

6、搭建shopxo1主服务器

101服务器shopxo1
[root@shopxo1 ~]#apt -y install apache2 php7.4-fpm libapache2-mod-php7.4 php7.4-mysql php7.4-json php7.4-xml php7.4-mbstring php7.4-zip php7.4-gd php7.4-curl [root@shopxo1 ~]#rm -f /var/www/html/index.html
[root@shopxo1 ~]#unzip shopxo-v2.3.0.zip
[root@shopxo1 ~]#mv shopxo-v2.3.0/* /var/www/html/
[root@shopxo1 ~]#chown -R www-data. /var/www/html
[root@shopxo1 ~]#systemctl restart apache2.service [root@shopxo1 ~]#scp -r /var/www/html/public/static/upload/* 10.0.0.105:/data/www [root@shopxo1 ~]#vim /etc/fstab
10.0.0.105:/data/www /var/www/html/public/static/upload/ nfs _netdev 0 0
[root@ubuntu2004 ~]#apt install -y nfs-common
[root@shopxo1 ~]#mount -a

7、搭建shopxo1备服务器

102服务器shopxo2
[root@shopxo2 ~]#apt -y install apache2 php7.4-fpm libapache2-mod-php7.4 php7.4-mysql php7.4-json php7.4-xml php7.4-mbstring php7.4-zip php7.4-gd php7.4-curl
[root@shopxo2 ~]#rm -f /var/www/html/index.html
[root@shopxo2 ~]#unzip shopxo-v2.3.0.zip
[root@shopxo2 ~]#mv shopxo-v2.3.0/* /var/www/html/
[root@shopxo2 ~]#chown -R www-data. /var/www/html
[root@shopxo2 ~]#systemctl restart apache2.service [root@shopxo2 ~]#vim /etc/fstab
10.0.0.105:/data/www /var/www/html/public/static/upload/ nfs _netdev 0 0
[root@shopxo2 ~]#mount -a

8、ClientRoute

[root@Route ~]# iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j MASQUERADE
[root@Route ~]# echo 1 > /proc/sys/net/ipv4/ip_forward

9、搭建DNS服务器

[root@DNS ~]# yum install -y bind bind-utils
[root@DNS ~]# vim /etc/named.conf #注释下面三行
// listen-on port 53 { 127.0.0.1; };
// listen-on-v6 port 53 { ::1; };
// allow-query { localhost; }; [root@DNS ~]# vim /etc/named.rfc1912.zones
zone "dayu.org" IN {
type master;
file "dayu.org.zone";
}; [root@DNS ~]# cp -p /var/named/named.localhost /var/named/dayu.org.zone
[root@DNS ~]# vim /var/named/dayu.org.zone
$TTL 1D
@ IN SOA wang rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS wang
wang A 192.168.10.100
www A 192.168.0.100

10、客户机测试

[root@client ~]# vim /etc/resolv.conf          #指向dns服务器
nameserver 192.168.10.100
[root@client ~]# curl www.dayu.org #测试

LVS综合实验的更多相关文章

  1. LB(Load balance)负载均衡集群--{LVS-[NAT+DR]单实例实验+LVS+keeplived实验} 菜鸟入门级

    LB(Load balance)负载均衡集群 LVS-[NAT+DR]单实例实验 LVS+keeplived实验 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一 ...

  2. 【Linux程序设计】之环境系统函数综合实验

    这个系列的博客贴的都是我大二的时候学习Linux系统高级编程时的一些实验程序,都挺简单的.贴出来纯粹是聊胜于无. 实验题目:Linux环境下系统函数综合实验 实验目的:熟悉并掌握Linux环境下数学函 ...

  3. CCNP第四天 OSPF综合实验(1)

    ospf综合实验(1) 本实验主要考察ospf中的接口上的多种工作方式 实验如图所示: 所用拓扑为CCNP标准版,如图: --------------------------------------- ...

  4. (6综合实验)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练

    从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练 1综述http://www.cnblogs.com/jsxyhelu/p/7907241.html2环境架设http://www.cn ...

  5. lvs+keepalived实验

    一.VRRP协议与工作原理 在现实网络环境中,主机之间的通信都是通过配置静态路由或者(默认网关)来完成的,而主机之间的路由器一旦发生故障,通信就会失效,因此这种通信模式当中,路由器就成了一个单点瓶颈, ...

  6. 华为路由交换综合实验 ---IA阶段

    目录 华为路由交换综合实验 ---IA阶段 实验拓扑 实验需求 华为路由交换综合实验 ---IA阶段 实验拓扑 实验需求 根据拓扑合理规划IP地址以及VLANIf地址(PC1属于运营部,PC2属于市场 ...

  7. CCNA 之 综合实验

    CCNA 综合实验 需要:根据下列图中的网路拓扑,搭建环境; PC1属于VLAN10:PC2属于VLAN20:网关均在OR_C2811: VLAN10.20对应的网段分别为192.168.10.0.2 ...

  8. OSPF与ACL综合实验

    OSPF与ACL综合实验 1.实验内容 (1)企业内网运行OSPF路由协议,区域规划如拓扑图所示(见3.实验拓扑图): (2)财务和研发所在的区域不受其他区域链路不稳定性影响: (3)R1.R2.R3 ...

  9. ACL与OSPF综合实验

    OSPF与ACL 综合实验   拓扑图如下: 分析: 配置基本配置: R1: R2: R3: 2.配置OSPF: R1: R2: R3: IT: 设置IT的ip 并划分到ospf2区域 3.配置ACL ...

随机推荐

  1. numa 自动balance 的bug分析

    关于migrate_swap() 和 active_balance()之间的hardlock 背景:这个是在3.10.0-957.el7.x86_64 遇到的一例crash 下面列一下我们是怎么排查并 ...

  2. Python 爬取网站数据

    一.使用request库实现批量下载HTML 二.使用BeautifulSoup库实现html解析 官网:https://beautifulsoup.readthedocs.io/zh_CN/v4.4 ...

  3. 安卓平台RTMP推流或轻量级RTSP服务(摄像头或同屏)编码前数据接入类型总结

    很多开发者在做Android平台RTMP推流或轻量级RTSP服务(摄像头或同屏)时,总感觉接口不够用,以大牛直播SDK为例 (Github) 我们来总结下,我们常规需要支持的编码前音视频数据有哪些类型 ...

  4. 1000粉!使用Three.js实现一个创意纪念页面 🏆

    声明:本文涉及图文和模型素材仅用于个人学习.研究和欣赏,请勿二次修改.非法传播.转载.出版.商用.及进行其他获利行为. 背景 不知不觉,掘金关注者人数已经超过 1000 人,因此特地做了这个页面纪念一 ...

  5. [Linux]-screen命令-切换终端

    在训练模型时,经常遇到需要采用多个策略同时跑的情况,直接运行的话比较费时,只要CPU和GPU支持,可以通过Linux的screen命令多终端并行,大大提升效率. 创建: screen -S name ...

  6. k8s pod被驱逐问题分析及解决

  7. 使用KubeOperator扩展k8s集群的worker节点

    官方文档网址:https://kubeoperator.io/docs/installation/install/ 背景说明 原先是一个三节点的k8s集群,一个master,三个woker(maste ...

  8. 源码安装最新版keepalived,剥离日志出来并配置日志轮询

    安装 yum install -y gcc openssl-devel popt-devel ipvsadm libnl3-devel net-snmp-devel libnl libnl-devel ...

  9. git commit、git push、git pull、 git fetch、git merge 的含义与区别

    git commit:是将本地修改过的文件提交到本地库中: git push:是将本地库中的最新信息发送给远程库: git pull:是从远程获取最新版本到本地,并自动merge: git fetch ...

  10. Elasticsearch Dockerfile 例子

    文章转载自:https://elasticstack.blog.csdn.net/article/details/111692444 前提条件 在继续执行本教程中概述的步骤之前,你需要具备一个关键的先 ...