数据库运维
记录DBA学习成长历程

第13章:综合架构说明

文章目录

1.综合架构说明

1) 掌握各种服务 (存储 备份 网站 监控 自动化...)
2) 完成一个中小企业网站搭建

2.综合架构组成

00 会员顾客 -- 网站访问者
   作用: 访问网站
01 安保人员 -- 防火墙(硬件:ASA 软件:firewalld/iptables)
   作用: 控制管理用户访问的流量信息
02 迎宾人员 -- 负载均衡
   作用: 调度分配作用
03 服务人员 -- 网站服务器web
   作用: 处理用户请求
      能处理: 由服务员自己处理
      不能处理: 交给后端人员处理
04 厨师长 -- 数据库服务(存储数据 字符数据信息)
   作用: 主要存储字符数据
05 仓储人员 -- 存储服务器(存储数据 图片 附件 视频 音频)
   作用: 存储图片附件等数据信息
06 保管人员 -- 备份服务器(存储数据 备份存储)
   作用: 对数据进行恢复/对数据信息进行对比
07 配菜人员 -- 缓存服务器(存储数据 内存存储) --- 数据库
   作用: 读取效率更高 
   存储的数据是存储服务器或数据服务器中已存在数据,不怕丢失
   热点数据放在缓存中存储,提高数据读取效率
08 管理人员 -- 管理服务器(批量管理) 
   作用: 实现批量管理 

3.综合架构服务器规划

名称          hostname                        IP地址                     部署什么程序
防火墙服务器   firewall 10.0.0.81/24(eth0-外网) 172.16.1.81/24(eth1-内网)   firewall
负载均衡服务器 lb01 10.0.0.5/24(eth0-外网)       172.16.1.5/24(eth1-内网)    nginx 
负载均衡服务器 lb02 10.0.0.6/24(eth0-外网)       172.16.1.6/24(eth1-内网)    nginx 
网站服务器     web01 10.0.0.7/24(eth0-外网)     172.16.1.7/24(eth1-内网)     nginx 
网站服务器     web02 10.0.0.8/24(eth0-外网)     172.16.1.8/24(eth1-内网)     nginx 
网站服务器     web03 10.0.0.9/24(eth0-外网)     172.16.1.9/24(eth1-内网)     nginx 
数据库服务器   db01 10.0.0.51/24(eth0-外网)     172.16.1.51/24(eth1-内网)     mysql
存储服务器     nfs01 10.0.0.31/24(eth0-外网)    172.16.1.31/24(eth1-内网)    NFS 
备份服务器     backup 10.0.0.41/24(eth0-外网)   172.16.1.41/24(eth1-内网)    rsync
管理服务器     m01 10.0.0.61/24(eth0-外网)      172.16.1.61/24(eth1-内网)    ansible
扩展组成:
01.认证服务器(VPN)
02.审计服务器(jumpserver)
   作用: 对运维人员进行监管
03.监控服务器(zabbix nagios) --- 综合架构

4.架构学习过程

1) 完成备份服务器搭建 --- rsync
2) 完成存储服务器搭建 --- nfs
   扩展: 全网数据备份方案 
3) 让存储服务器和备份服务器建立关系 --- 实现实时备份 sersync
   自动备份方式:
    a 使用定时任务 
    b 实时备份数据
4) 完成批量管理服务器部署 ***** --- ansible (一周)
5) 完成HTTP协议原理讲解 --- 概念
6) 完成网站web服务器搭建 ***** --- nginx (一周)
7) 完成网站架构搭建 --- LNMP(php)
8) 完成负载均衡服务器搭建 --- nginx
9) 完成高可用软件部署 --- keepalived
10) 完成HTTPS网站搭建 --- nginx
11) 完成监控服务器搭建 --- zabbix
    综合架构完整搭建 -- 9天(扩展数据库 云计算)
12) 完成防火墙服务器搭建 --- firewalld
13) 完成跳板机服务器搭建 --- jumpserver 

5.综合架构虚拟主机环境

—5.1 网络环境

1) 虚拟软件中进行网络设置 --- 添加虚拟网卡配置为LAN区段172.16.1.0/24
2) 虚拟主机中进行网络设置 
配置两个网卡
[root@linux ~]# cd /etc/sysconfig/network-scripts/
[root@linux network-scripts]# cp ifcfg-eth0 ifcfg-eth1
[root@linux network-scripts]# vim ifcfg-eth1
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth1
UUID=46dcd506-d0fe-4efa-9e09-d994fdc58ef4
DEVICE=eth1
ONBOOT=yes
IPADDR=172.16.1.200
PREFIX=24
IPV6_PRIVACY=no
=================================
eth0 10.0.0.202 10.0.0.254 223.5.5.5
eth1 172.16.1.202

—5.2 系统基本优化

——5.2.1 安全优化

=========================================================
关闭防火墙
[root@linux network-scripts]# systemctl stop firewalld
[root@linux network-scripts]# systemctl disable firewalld
[root@linux network-scripts]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
生产中不关闭可以放行端口,协议tcp
1) 打开端口: firewall-cmd --permanent --add-port=端口号/协议 
2) 关闭端口: firewall-cmd --permanent --remove-port=端口号/协议 
3) 重新载入,才能生效 : firewall-cmd --reload 
4) 查询端口是否开放: firewall-cmd --query-port=端口/协议
原因:系统已有外部防火墙或第三方防火墙,所以关掉系统自带防火墙
===========================================================
关闭selinux
selinx是一种防护策略,基本上服务器都不开启
setenforce 0 临时关闭(重启后又会开启)
想要重启之后不开启得修改配置文件/etc/selinux/config中的selinux=disabled,然后重启生效
查看状态:[root@shizi ~]# getenforce
========================================================

——5.2.2 配置hosts文件

[root@linux ~]# vim /etc/hosts
172.16.1.5 lb01
172.16.1.6 lb02
172.16.1.7 web01
172.16.1.8 web02
172.16.1.9 web03
172.16.1.51 db01
172.16.1.31 nfs01
172.16.1.41 backup
172.16.1.61 m01

——5.2.3 安装好一些软件大礼包

更新好yum源:
wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
yum install https://repo.huaweicloud.com/epel/epel-release-latest-7.noarch.rpm
cp -a /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
mv /etc/yum.repos.d/epel-testing.repo /etc/yum.repos.d/epel-testing.repo.backup
sed -i "s/#baseurl/baseurl/g" /etc/yum.repos.d/epel.repo
sed -i "s/metalink/#metalink/g" /etc/yum.repos.d/epel.repo
sed -i "s@https\?://download.example/pub@https://repo.huaweicloud.com@g" /etc/yum.repos.d/epel.repo
yum clean all --- 清除yum源缓存信息
[root@dba1 ~]# cd /etc/yum.repos.d/
[root@dba1 /etc/yum.repos.d]# head -20 CentOS-Base.repo
[root@dba1 /etc/yum.repos.d]# head -20 epel.repo
安装软件大礼包:
yum install lrzsz nmap tree dos2unix nc telnet net-tools bash-completion bash-completion-extra

—5.3 完成模板机克隆操作

——5.3.1 克隆前准备工作

centos6: 一清空两删除
两删除: UUID HWADDR(MAC)
sed -i '/UUID/d' /etc/sysconfig/network-scripts/ifcfg-eth[01]
grep -E "UUID|HWADDR" /etc/sysconfig/network-scripts/ifcfg-eth[01]
一清空:
> /etc/udev/rules.d/70-persistent-net.rules 

centos7: 一删除
一删除
sed -i '/UUID/d' /etc/sysconfig/network-scripts/ifcfg-eth[01]
grep "UUID" /etc/sysconfig/network-scripts/ifcfg-eth[01]

systemctl restart network
systemctl stop NetworkManager.service 
systemctl disable NetworkManager.service

——5.3.2 需要关闭虚拟主机进行克隆

——5.3.3 克隆完毕修改主机地址和主机名称信息

sed -i 's#200#41#g' /etc/sysconfig/network-scripts/ifcfg-eth[01]
hostnamectl set-hostname backup01
systemctl restart network

—5.4修改网卡名称

5.5 xshell工具ssh连接优化

[root@db01 ~]# vim /etc/ssh/sshd_config
UseDNS no
赞(2)
MySQL学习笔记 » 第13章:综合架构说明