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地址规划
总结:
一个项目涵盖了一套架构,一套架构又涵盖了不同的角色(高可用、负载均衡、web集群、缓存、数据库、存储、备份、监控、自动化、日志收集)
五层架构模型—> 负载均衡 web服务 存储服务 缓存服务 数据库服务(通过tcp连接)
3.服务器初始化
优化步骤一
- 添加网卡
虚拟机:添加网卡———》添加硬件——-》复制eth0改名eth1到当前文件下内部网络使用LAN区段连接
- 修改网卡名称
1. grubby --update-kernel=ALL --args="net.ifnames=0 biosdevname=0" #grubby 修改该内核参数
2. mv /etc/sysconfig/network-scripts/ifcfg-{ens33,eth0} #固定网卡命令规则eth0开始
3. vim /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.100
PREFIX=24
GATEWAY=10.0.0.2
DNS1=223.5.5.5
4. reboot #一定要重启,(配置生效)
#修改IPvim ifcfg-eth1
5. cp /etc/sysconfig/network-scripts/ifcfg-{eth0,eth1}
6. vim /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet
BOOTPROTO=none
NAME=eth1
DEVICE=eth1
ONBOOT=yes
IPADDR=172.16.1.xx
NETMASK=255.255.255.0
优化步骤二
配置yum仓库
rm -f /etc/yum.repos.d/* && \
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo && \
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
安装基础软件包
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
关闭防火墙firewalld
systemctl disable firewalld
systemctl stop firewalld
- 关闭selinux
sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config
- 调整单个进程最大能打开文件的数量
echo '* - nofile 65535' >> /etc/security/limits.conf
- 升级内核 (选择)
yum update
克隆:
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. 初始化脚本
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