一、项目实施规划
1.需求分析,写项目规划书(项目经理、技术总监cto)
2.画架构图,将架构分解成各种模块(架构师)
3.各模块实施和测试(运维工程师)
4.自动化部署及运维(ansible/saltstack)
二、网站业务
博客/wordpress http://www.wordpress.org PHP
知乎/wecenter http://www.discuz.net PHP
博客/jpress http://www.wordpress.org JAVA/Tomcat
三、群集服务器数量、作用
服务器名 数量 作用
负载均衡 2 负载均衡,调度客户请求,高可用:nginx、keepalive
web 2 处理客户请求,提供静态网页,备份数据到指定备份服务器:nginx、php、tomcat、rsync
共享存储 1 存储多媒体数据,图片、音频、视频:nfs、sersync
数据库 1 处理web数据的存储和访问:mysql、redis(缓存或共享会话)
备份服务器 1 提供内网全服务器的备份服务,异地灾备:rsync
管理服务器 1 管理内部所有服务器,批量分发软件,自动化运维,yum仓库,跳板机jumpserver: ansible、jumpserver、ssh
监控服务器 1 监控内部服务器系统和服务状态:zabbix
日志服务器 1 收集分析内部服务器日志:ELK、EFK
四、群集服务搭建流程及规划
管理服务器:
1.跳板机jumpserver 172.16.1.1/24 jump01
2.ntp时间服务器 172.16.1.1/24 jump01
3.ansible/saltstack 172.16.1.1/24 jump01
前端服务器:
4.nginx代理缓存(keepalive) 172.16.1.11/24 nginx01
5.nginx代理缓存(keepalive) 172.16.1.12/24 nginx02
6.nginx网站(php) 172.16.1.21/24 web01
7.nginx网站(php) 172.16.1.22/24 web02
后端服务器:
8.mysql数据库(主从、MHA) 172.16.1.101/24 mysql01
9.redis共享缓存 172.16.1.111/24 redis01
10.rsync备份 172.16.1.121/24 backup01
11.nfs共享存储(sersync) 172.16.1.131/24 nfs01
运维服务器:
12.zabbix监控 172.16.1.201/24 zabbix01
13.ELK、EFK日志 172.16.1.211/24 elk01
五、群集架构流程图
参考第一章网站架构图
六、项目实施规范
1.所有的服务必须开机自启动
2.所有的服务器必须做必要的Linux系统基本优化(防火墙、selinux)
3.软件、脚本的存放目录要规范:
软件目录:/server/soft
脚本目录:/server/scripts
站点目录:/www/code/{zh,blog}
备份目录:/backup
存储目录:/nfs/data
4.主机名规范,参考第四步
5.ip地址规范,参考第四步
七、项目流程表述
1.讲用户访问网站流程,涉及tcp三次握手,dns解析,http请求原理
2.讲四层和七层代理
3.nginx web server收到请求后,静态内容如何处理,动态内容如何处理
4.nginx 与 fastcgi 如何进行交互,如何将请求转交给php
5.备份服务器怎么进行全网备份,异地灾备是什么,两点三中心是什么
6.管理服务器怎么管理内部所有服务器
7.监控服务器如何监控全网服务器,实现思路和方法
8.日志服务器怎么收集日志,过滤,展示
9.自动化部署流程和方案
10.在群集部署过程中,遇到的问题和困难,及其解决方案