运维项目经历案例_运维项目案例-程序员宅基地

技术标签: 运维  linux  系统架构  centos  

一,期中项目经验示例
1.1 新服务器上线搭建系统环境
1,根据现有结构部署工具(PXE+kickstart)
2,结合应用系统需求定制部署模版
3,制作系统优化等一键执行脚本
4,自动化部署实施
5,根据定制的优化内容对自动化部署效果进行检验

1.2 新服务器上线搭建软件环境
1,在新批量部署的服务器上部署LNMP环境;
2,对批量化部署的环境进行效果检验;
3,编制Nginx配置文件并批量化部署;
4,根据需求做Nginx服务相关的优化(expires/gizp等)

1.3 web服务器架构调整(从单点到集群的设计)
需求:解决网站web服务器单点故障的问题

职责:
1,研究多种负载均衡方案
主要针对lvs+keepalived及nginx+keepalived进行研究
2,编写新架构方案实施项目书与实施日程
3,新系统部署与日常维护
把公司原来的多数单点服务器变成了集群,提升了网站的稳定性与高并发的应用场景

1.4 服务器用户权限管理改造方案与实施项目
需求:解决公司root权限泛滥问题

职责:

1,提出权限整改解决方案,改进公司root权限泛滥的现状
2,召集大家开会商讨并确定方案后推进实施
3,实施后使得公司的权限管理更加清晰了(总结维护),从根本上降低了内部操作等不规范及安全隐患的发生。

问题1:你们公司是如何来管理用户权限的?
答:我们是通过sudo来管理权限的,不论是运维还是开发,一般都不会给root权限,只有核心级开发或者研发总监或以上级别的我们才可能给相应服务器级别的权限;对核心运维或者运维总监才会给root权限

问题2:在规划服务器的时候,在服务器上都跑几个普通用户?
答:我们的普通用户是根据项目来的,在不同公司它的项目产品线不一样。我们公司只有十几个产品线,我们为每一个项目建立一个普通用户,因此不论nginx还是tomcat都是跑在普通用户下。

问题3:那一些公用服务呢?比如memcached或者redis。
答:这些公共服务也可以跑在普通用户下,总的来说是这样的,我对运维的理解是,运维做运维的事情,开发做开发的事情。运维负责网络系统,只要系统没有故障,只要网络没有故障,只要系统资源还够用,那么我们运维的职责就到位了。而我们公司的理念是项目负责制,也就是说每个项目的责任人是开发,我们运维大概占30%-40%的责任。我们的开发占60%的责任。当进程上线的时候,这个服务是由普通用户跑的。它的每个站点目录都是普通用户的权限,也就是700的权限普通用户,这个是最安全的。无论是项目的启动,停止,以及代码上线,日志收集,日志分析都是通过我们进程跑的普通用户实现的。我们在管理这个项目的时候,我们可以把开发的用户加到这个项目组里面,这样负责相应项目的开发人员就有对应项目的所有权限。

1.5 服务器日志审计项目提出与实施
1,权限控制后进一步实施对所有用户日志记录方案
2,通过sudo和rsyslog配合实现对所有用户进行日志审计并将记录集中管理
3,实施后让所有运维和开发的所有执行的命令都有记录可查,杜绝了内部人员的操作安全隐患

1.6 全网服务器数据批量分发与批量管理
需求:公司服务器逐渐增多,因此管理起来很麻烦,于是提出解决批量分发管理解决方案,进行全网服务器数据分发与管理

职责:

1,针对ansible分发工具及ssh key+rsync两套分发管理方案研究,最终选择简单易于维护并且强大的ssh key+rsync方案

2,找一台IDC内网服务器,作为分发机器,对固定普通用户做sshkey认证(注意不是root),需要root权限,通过sudo来控制,减少安全隐患。

3,对于分发机进行安全配置,例如,去掉外部IP,开启防火墙。实施完毕,运维管理的效率提高了很多,因此得到了公司的嘉奖。

1.7 全网服务器数据备份方案提出及负责实施
需求:为公司数据做一个完整的备份系统

职责:

1,针对公司重要数据备份混乱状态和领导提出备份全网数据解决方案
2,通过本地打包备份,然后rsync结合inotify应用把全网数据统一备份到一个固定存储服务器,然后在存储服务器上通过脚本检查并报警管理员备份结果
3,定期将IDC机房的数据备份公司的内部服务器,防止地震火灾等问题导致的数据丢失。

1.8 MySQL数据库实现主从同步,及完整备份解决方案
1,在进入公司之前前任运维丢失数据,因此老大很重视数据安全这方面
2,我提出并上线了MySQL数据库备份方案和MySQL架构方案
3,方案主要是在从库上开启binlog及按天分库分表全备,推送到备份服务器
4,将备份的数据定期恢复到测试库给开发使用
5,制定人工更新数据库的流程及制度

1.9 LNMP架构优化方案
1,公司使用LNMP架构,优化较少,运行效果不佳
2,我提出了LNMP架构的优化方案
3,方案主要是Linux系统优化,nginx服务优化,php服务优化,MySQL优化
4,优化完成后,LNMP架构性能有很大提高。

1.10 全网服务器监控解决方案实施
需求:到公司后,没有任何监控系统,每次故障无法报警,每次故障对公司的网站都造成了很大的影响,因此我用自己已经掌握的监控技术,以及查询资料撰写解决方案,提交给公司领导,以改善服务器报警不及时的问题,最大限度的保证公司网站故障及时处理

职责:

1,根据需求选定最流行的监控软件zabbix进行研究。
2,根据不同服务器具体需求定制模版进行监控实时报警

实施完毕后,做到了大部分的故障报警都能及时有效的汇报给管理员,为网站的稳定争取了时间

1.11 搭建jumpserver跳板机管理混乱账户
起止时间: 2016/03-2016/04
软件环境: CentOS6.5
开发工具: jumpserver
项目描述:在投入工作的几个月里,我发现公司的服务器运维管理中对于服务器账号的管理十分混乱,有的运维甚至有好几个工作账号,而且能随时登陆root账户。因此,每当有运维工作人员调岗或离职,服务器的所有账户密码都会被重新改变一次,不仅费时费力,密码也不好记忆,十分的麻烦。于是,几经思考,我向领导建议启用开源型的跳板机jumpserver来改善目前混乱的状况。
项目职责:

部署一台服务器为jumpserver跳板机
用xshell登陆跳板机进行授权测试
1.12 NFS+keepalived高可用架构
如期中架构图

1.13 MySQL多实例及主从复制
如期中架构图

1.14 改善服务器存储问题
需求:减轻访问高峰阶段存储压力
职责:
1,Web前端存储使用NFS主备结构
2,用户写入数据,如图片,附件等,存储到NFS主上面,用户的读访问NFS备
3,NFS主备,使用rsync+inotify进行数据同步
4,NFS存储数据量不大,采用sersync把数据推送到web前端,尽量较少前端服务访问后端服务器的请求,减轻NFS存储压力
5,数据备份的安全有了保障,不用担心数据的丢失。

二,期末项目经验示例
2.1 航天一院第三产业部--------院综合服务集群
项目需求:

 该项目主要实现的是航天一院内部服务平台搭建 目标是搭建一个安全、高效、稳定服务器群集架构。提供航天各院的服务综合平台。
  • 1

项目实施:

前段采用负载均衡搭配Squid集群、搭配硬件防火墙,隔离内网与外网,并且能提供监控网络和记录传输信息的功能,加强局域网的安全性等.实现前端调度服务器的高可用、中间web服务器的负载均衡、后端数据库服务器的高可用、监控服务器监控集群中的每一台服务器的私有数据和公有数据前端调度服务器采用的软件是Keepalived和Nginx,中间Web服务器采用的软件是Nginx,并发数高,而且相对稳定
后端数据库服务器采用的是读写分离,写库MySQL+MHA 双主互为主从模式。读从库使用负载均衡LVS+Keepalived+MySQL , 并使用Memcached缓存集群缓存从数据库.Web服务器采用Nginx来搭建网站服务器,并结合Inotify+Rsync实现网站数据同步.
监控服务器采用的是Zabbix,监控各服务器的运行状态及服务状态。
责任描述:
 本人在此项目中主要负责服务器服务平台的搭建,为了实现统一性,特编写了shell脚本,使得服务器部署更加标准化
2.2 NFS集群升级改造
需求分析:
1、 原共享存储服务器NFS的方式、存在性能瓶颈和单点故障的问题
2、 主NFS存储系统宕机后,报警管理员来人为手工根据同步的日志记录选择最快的NFS存储系统改为主,方案简单可行,但是需要人工处理.难免操作失误或者时间过长。
解决方案:
1、 使用分布式文件存储管理系统MFS替换NFS
2、 目前MFS元数据服务器存在单点问题,因此我们通过DRBD提供磁盘及时同步,通过HeartBeat提供Failover,来达到高可用
3、采用MFS+DRBD+Heartbeat高可用服务解决方案,这个解决方案可以有效解决主MFS存储系统单点的问题,当主MFS存储宕机后,可以实现把主MFS存储系统从一个主节点切换到另外一个备节点,而新的主MFS存储系统还会自动和所有其他的从MFS存储系统进行同步,且新主MFS存储系统的数据和宕机瞬间的主MFS存储系统几乎完全一致,这个切换过程完全是自动进行的,从而实现了MFS存储系统的热备方案. 快速故障恢复,提高业务可靠性.
责任描述:
本人在此项目中主要负责,项目现场协调,所有服务器服务平台的搭建,编写了shell脚本,使得服务器部署更加标准化

2.3 MySQL集群读写分离及高可用方案
需求分析:
1、 新方案保证服务性能和I/O满足企业多台终端的快速响应需求。
2、 保证系统长期不间断的稳定运行。保证成本合理性。
3、 满足数据库系统的高可用性和可靠性。
解决方案:
1、 底层5台MySQL 数据库,一主四从. 开启半同步复制.提高数据安全
2、 使用中间件Atlas 实现读写分离与读负载均衡,提高与程序端解耦。
3、 在使用两台服务器搭建LVS+Keepalived 对Atlas 服务器做负载均衡与高可用
4、 搭建一台主MHA服务器管理数据库主库热备问题.
5、 该方案极大减少服务器资源浪费,实现故障30秒切换,极大保证数据库一致性
责任描述:
主要负责所有服务器服务平台的搭建,方案设计,编写脚本。

2.4 NFS+DRBD+heartbeat高可用解决方案
软件环境:Centos6.8
硬件环境:DELL R710
实施时间:2015年3月
刚进公司不久,后端的NFS服务器在网络请求的高峰期,偶尔会宕机,使WEB服务器的挂载请求无法自动切换到备份服务器,导致web服务器无法正常使用,造成网络服务中止。公司领导为了避免以后出现类似的情况要求我做一个解决方案。通过对NFS服务器CPU和内存的负载情况进行观察,以及对NFS服务器之前的主要硬件的负载数据进行查询,并进行仔细分析,我提交了一份以DRBD+heartbeat+NFS的方案来解决现有问题,得到领导的批准由我来实施这个方案。
项目职责:1、负责项目的整体规划和部署;
2、负责heartbeat自动切换脚本的编写;
3、负责NFS服务搭架的主要框架的搭架;
4、通过对故障的模拟,和对元数据服务器、数据存储服务器运行数据的观察,和之前的情况进行数据比较,形成报告;
5、项目实施报告的撰写。
后期改善:
通过配置多条独立的物理连接,以避免Heartbeat通信线路本身存在的单点故障,尽量地减少“脑裂”的发生机会。通过对ha.cf配置文件中,keepalive等选项的设置,来缩短主从服务器的切换时间。在DRBD中,对replication进程进行调整。处理Master端的坏块问题。

2.5 移动端部署调优及上线
 运行环境:CentOS-6.6、DELL R730
 主要功能:分离移动端与PC业务
 运用技术:Nginx七层负载、tomcat8+jdk1.8、MHA实现mysql高可用(mysql–5.6.17)、
php-5.6.30、shell脚本发送数据检测信息
 技术要点:

利用Nginx七层调度实现PC端与移动端业务分离、动静分离
七层调度+Keepalived高可用方案
Nginx整合淘宝健康检测模块
代码读写分离+数据库mha成熟高可用方案
定时+脚本mysql数据备份及检测、发送检测结果信息到管理员手机
web服务优化,php优化,tomcat优化
2.6 squid 透明代理
1、系统环境:CentOS6.5
2、软件工具:squid-3.0
3、项目描述:
之前公司使用的是SNAT上网,造成员工在工作期间利用公司网络带宽浏览与工作无
关的网站视频,导致工作效率降低;迅雷、P2P等应用的泛滥,导致网络拥堵,企业
网带宽资源紧张。
4、职责:

a) 使用squid代理服务对公司员工的上网行为进行管控;

b) 拟定企业上网行为管控方案;

c) 实现对内网的安全防控功能,过滤恶意网页,防范恶意攻击;

d) 限制网络行为,对迅雷、P2P等下载软件进行智能控制;

e) 对上网行为进行精细智能管理。
5、项目成果:
项目实施完毕后,员工工作效率明显提升,保障了企业网带宽资源。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_45372735/article/details/119348764

智能推荐

攻防世界_难度8_happy_puzzle_攻防世界困难模式攻略图文-程序员宅基地

文章浏览阅读645次。这个肯定是末尾的IDAT了,因为IDAT必须要满了才会开始一下个IDAT,这个明显就是末尾的IDAT了。,对应下面的create_head()代码。,对应下面的create_tail()代码。不要考虑爆破,我已经试了一下,太多情况了。题目来源:UNCTF。_攻防世界困难模式攻略图文

达梦数据库的导出(备份)、导入_达梦数据库导入导出-程序员宅基地

文章浏览阅读2.9k次,点赞3次,收藏10次。偶尔会用到,记录、分享。1. 数据库导出1.1 切换到dmdba用户su - dmdba1.2 进入达梦数据库安装路径的bin目录,执行导库操作  导出语句:./dexp cwy_init/[email protected]:5236 file=cwy_init.dmp log=cwy_init_exp.log 注释:   cwy_init/init_123..._达梦数据库导入导出

js引入kindeditor富文本编辑器的使用_kindeditor.js-程序员宅基地

文章浏览阅读1.9k次。1. 在官网上下载KindEditor文件,可以删掉不需要要到的jsp,asp,asp.net和php文件夹。接着把文件夹放到项目文件目录下。2. 修改html文件,在页面引入js文件:<script type="text/javascript" src="./kindeditor/kindeditor-all.js"></script><script type="text/javascript" src="./kindeditor/lang/zh-CN.js"_kindeditor.js

STM32学习过程记录11——基于STM32G431CBU6硬件SPI+DMA的高效WS2812B控制方法-程序员宅基地

文章浏览阅读2.3k次,点赞6次,收藏14次。SPI的详情简介不必赘述。假设我们通过SPI发送0xAA,我们的数据线就会变为10101010,通过修改不同的内容,即可修改SPI中0和1的持续时间。比如0xF0即为前半周期为高电平,后半周期为低电平的状态。在SPI的通信模式中,CPHA配置会影响该实验,下图展示了不同采样位置的SPI时序图[1]。CPOL = 0,CPHA = 1:CLK空闲状态 = 低电平,数据在下降沿采样,并在上升沿移出CPOL = 0,CPHA = 0:CLK空闲状态 = 低电平,数据在上升沿采样,并在下降沿移出。_stm32g431cbu6

计算机网络-数据链路层_接收方收到链路层数据后,使用crc检验后,余数为0,说明链路层的传输时可靠传输-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏8次。数据链路层习题自测问题1.数据链路(即逻辑链路)与链路(即物理链路)有何区别?“电路接通了”与”数据链路接通了”的区别何在?2.数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点。3.网络适配器的作用是什么?网络适配器工作在哪一层?4.数据链路层的三个基本问题(帧定界、透明传输和差错检测)为什么都必须加以解决?5.如果在数据链路层不进行帧定界,会发生什么问题?6.PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?为什么PPP协议不_接收方收到链路层数据后,使用crc检验后,余数为0,说明链路层的传输时可靠传输

软件测试工程师移民加拿大_无证移民,未受过软件工程师的教育(第1部分)-程序员宅基地

文章浏览阅读587次。软件测试工程师移民加拿大 无证移民,未受过软件工程师的教育(第1部分) (Undocumented Immigrant With No Education to Software Engineer(Part 1))Before I start, I want you to please bear with me on the way I write, I have very little gen...

随便推点

Thinkpad X250 secure boot failed 启动失败问题解决_安装完系统提示secureboot failure-程序员宅基地

文章浏览阅读304次。Thinkpad X250笔记本电脑,装的是FreeBSD,进入BIOS修改虚拟化配置(其后可能是误设置了安全开机),保存退出后系统无法启动,显示:secure boot failed ,把自己惊出一身冷汗,因为这台笔记本刚好还没开始做备份.....根据错误提示,到bios里面去找相关配置,在Security里面找到了Secure Boot选项,发现果然被设置为Enabled,将其修改为Disabled ,再开机,终于正常启动了。_安装完系统提示secureboot failure

C++如何做字符串分割(5种方法)_c++ 字符串分割-程序员宅基地

文章浏览阅读10w+次,点赞93次,收藏352次。1、用strtok函数进行字符串分割原型: char *strtok(char *str, const char *delim);功能:分解字符串为一组字符串。参数说明:str为要分解的字符串,delim为分隔符字符串。返回值:从str开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。其它:strtok函数线程不安全,可以使用strtok_r替代。示例://借助strtok实现split#include <string.h>#include <stdio.h&_c++ 字符串分割

2013第四届蓝桥杯 C/C++本科A组 真题答案解析_2013年第四届c a组蓝桥杯省赛真题解答-程序员宅基地

文章浏览阅读2.3k次。1 .高斯日记 大数学家高斯有个好习惯:无论如何都要记日记。他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第几天。这或许也是个好习惯,它时时刻刻提醒着主人:日子又过去一天,还有多少时光可以用于浪费呢?高斯出生于:1777年4月30日。在高斯发现的一个重要定理的日记_2013年第四届c a组蓝桥杯省赛真题解答

基于供需算法优化的核极限学习机(KELM)分类算法-程序员宅基地

文章浏览阅读851次,点赞17次,收藏22次。摘要:本文利用供需算法对核极限学习机(KELM)进行优化,并用于分类。

metasploitable2渗透测试_metasploitable2怎么进入-程序员宅基地

文章浏览阅读1.1k次。一、系统弱密码登录1、在kali上执行命令行telnet 192.168.26.1292、Login和password都输入msfadmin3、登录成功,进入系统4、测试如下:二、MySQL弱密码登录:1、在kali上执行mysql –h 192.168.26.129 –u root2、登录成功,进入MySQL系统3、测试效果:三、PostgreSQL弱密码登录1、在Kali上执行psql -h 192.168.26.129 –U post..._metasploitable2怎么进入

Python学习之路:从入门到精通的指南_python人工智能开发从入门到精通pdf-程序员宅基地

文章浏览阅读257次。本文将为初学者提供Python学习的详细指南,从Python的历史、基础语法和数据类型到面向对象编程、模块和库的使用。通过本文,您将能够掌握Python编程的核心概念,为今后的编程学习和实践打下坚实基础。_python人工智能开发从入门到精通pdf

推荐文章

热门文章

相关标签