1.集群架构模型
2.Rsync、NFS、Sersync、SSH
3.Nginx mysql、redis
4.Tomcat

1. 架构基本术语

项目:类似于咱们的手机app,每一个app都算是一个项目。QQ、微信、抖音 架构:维护一个app项目使用的一套服务器。(一套服务器可能会有很多的角色) 集群:为了解决某个特定问题。 将多台计算机组合起来形成的单个系统。 高可用:当一台服务器不可用了,另外一台服务器自动接管,保证业务不down机。 高可用,还可以用三台机器组成,mha、zk、kafka、etcd、…….——->>> 三台服务器进行选举,可以防止发生僵持。

2.综合架构

已知架构模型分析 ( 香格里拉 )

人 —>驾驶oooo —> 经过公路、高速—抵达目的地(酒店) 保安 —> 验证身份 迎宾 —> 负责接待工作 服务员 —> 满足顾客的一切需求 后厨 —> 负责提供具体的热菜 吧台 —> 存放烟酒 经理 —> 管理这一堆人 摄像头 —> 监控服务人员、厨师等状态( 追溯事件、产生的原因 ) 仓库 —> 存放杂货、服务员的服装、重要的内容()

未知架构模型分析 人员组织架构
架构的访问流程—>用户视角
.架构的维护流程—->运维视角(安全、监控、日志、自动化配置)
架构的运行环境—->运维视角
.架构的产品开发流程—>开发视角
架构对应的工具与IP地址规划
image.png

总结:
一个项目涵盖了一套架构,一套架构又涵盖了不同的角色(高可用、负载均衡、web集群、缓存、数据库、存储、备份、监控、自动化、日志收集)
五层架构模型—> 负载均衡 web服务 存储服务 缓存服务 数据库服务(通过tcp连接)


3.服务器初始化

优化步骤一

  • 添加网卡

image.png

虚拟机:添加网卡———》添加硬件——-》复制eth0改名eth1到当前文件下内部网络使用LAN区段连接

  • 修改网卡名称
  1. 1. grubby --update-kernel=ALL --args="net.ifnames=0 biosdevname=0" #grubby 修改该内核参数
  2. 2. mv /etc/sysconfig/network-scripts/ifcfg-{ens33,eth0} #固定网卡命令规则eth0开始
  3. 3. vim /etc/sysconfig/network-scripts/ifcfg-eth0
  4. TYPE=Ethernet
  5. PROXY_METHOD=none
  6. BROWSER_ONLY=no
  7. BOOTPROTO=none
  8. DEFROUTE=yes
  9. NAME=eth0
  10. DEVICE=eth0
  11. ONBOOT=yes
  12. IPADDR=10.0.0.100
  13. PREFIX=24
  14. GATEWAY=10.0.0.2
  15. DNS1=223.5.5.5
  16. 4. reboot #一定要重启,(配置生效)
  17. #修改IPvim ifcfg-eth1
  18. 5. cp /etc/sysconfig/network-scripts/ifcfg-{eth0,eth1}
  19. 6. vim /etc/sysconfig/network-scripts/ifcfg-eth1
  20. TYPE=Ethernet
  21. BOOTPROTO=none
  22. NAME=eth1
  23. DEVICE=eth1
  24. ONBOOT=yes
  25. IPADDR=172.16.1.xx
  26. NETMASK=255.255.255.0

Centos8 重启网卡

优化步骤二

  1. 配置yum仓库

    1. rm -f /etc/yum.repos.d/* && \
    2. curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo && \
    3. curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
  2. 安装基础软件包

    yum install net-tools vim tree htop iftop  iotop lrzsz sl wget unzip telnet nmap nc psmisc dos2unix bash-completion bash-completion-extras  sysstat rsync nfs-utils httpd-tools -y
    
  3. 关闭防火墙firewalld
    systemctl disable firewalld
    systemctl stop firewalld

  4. 关闭selinux
    sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config
  5. 调整单个进程最大能打开文件的数量
    echo '* - nofile 65535' >> /etc/security/limits.conf
  6. 升级内核 (选择)
    yum update

克隆:
image.png

2.克隆自:
    1.虚拟机当前状态(克隆系统状态,占用磁盘空间 ×)
    2.现有快照       (占用空间小 √)

3.基于优化后的虚拟机进行克隆
    1.连接克隆(需要依赖于母体,占用空间小 √)
    2.完整克隆(完完全全的复制一份系统,占用磁盘空间 ×)

4.对新克隆后的主机进行如下操作:
    1.修改主机名  hostnamectl set-hostname backup
    2.修改IP地址 
     sed -i 's#200#41#g' /etc/sysconfig/network-scripts/ifcfg-eth[01]
    3.重启服务器

5.创建xshell标签->测试连接服务器是否成功


初始化收集:
#禁止root登录
#sed -i 's/#PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config
#系统内核优化
cat >> /etc/sysctl.conf << EOF
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_tw_buckets = 20480
net.ipv4.tcp_max_syn_backlog = 20480
net.core.netdev_max_backlog = 262144
net.ipv4.tcp_fin_timeout = 20
EOF

#减少SWAP使用
echo "0" > /proc/sys/vm/swappiness

4. 初始化脚本

install.sh

host解析:
cat >/etc/hosts<<EOF
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.1.41 backup
172.16.1.31 nfs01
172.16.1.7 web01
172.16.1.8 web02
172.16.1.9 web03
172.16.1.51 db01
172.16.1.5 lb01
172.16.1.6 lb02
172.16.1.61 m01
10.0.0.62  mirror.oldhou.com
EOF

sed 变量替换: [Hsping@ESC01 ~]$ num=1000

[Hsping@ESC01 ~]$ sed -i “s#10#$num#g” test.txt

[Hsping@ESC01 ~]$ cat test.txt

1000


5. 扩展DNS

网站访问流程图.png