2022/03 作者:ihunter 0 次 0
一、什么是运维?
运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常进行。
在他运转的过程中,对他进行维护,他集合了网络、系统、数据库、开发、安全、监控、应用架构、存储 于一身的技术。
1、运维分类:
运维开发:是给应用运维开发运维工具和运维平台的
应用运维:是给业务上线、维护和做故障排除的,用开发运维开发出来的工具给业务上线、维护、做故障排查
系统运维:是给应用运维提供业务上的基础设施,比如:系统、网络、监控、硬件等等
数据库运维: 负责数据存储方案设计、数据库表设计、索引设计和SQL优化
安全运维: 进行常规的安全扫描、渗透测试,进行安全工具和系统研发以及安全事件应急处理
2.运维的职责:
保证服务的稳定运行;
考虑服务的可扩展性;
从系统的稳定性和可运维性的角度,提出开发需求;
定位系统的问题,甚至可以直接修正bug;
对突然出现的问题做到快速响应和处理;
二、运维工程师主要做哪些工作:
既然工作目标是保证系统的安全稳定运行,那么我们的工作就是围绕着这个目标转。我们需要:
2.1、构建系统监控体系
没有监控就等于是瞎子,系统出了问题都不知道,要是哪天支付宝不能支付了,支付宝的运维工程师肯定是第一时间知道的,总不见得等用户投诉,媒体报导了自己才知道吧?关于监控体系我之前已经说过了。
2.2、应急处理
系统出故障了怎么办?着急地看着束手无策肯定不行,这时一个优秀的运维工程师的价值就体现出来了,一个有经验的运维工程师能第一时间确定故障原因,并迅速恢复业务,保证对外影响时间最小。当然,这里的故障是多方面的,有应用故障,数据库故障,甚至是网络线路故障。
2.3、 技术问题分析
出了问题就需要分析,这里需要具备一些必备能力,比如网络抓包分析、tcpdump抓包及分析、代理的机制等。
2.4、业务问题处理
就是在业务层面进行统计分析,比如统计系统的每日交易量,成功率,错误码的分布情况,这对这些错误码分析原因,找出集中在哪个环节,集中在哪家商户,找到他,然后冲过去帮商户解决问题。
2.5、版本测试
开发新版本后运维工程师需要进行相应的性能和高可用测试,不具备高可用的系统建议还是不要上线了,否则后果不堪设想。
2.6、版本上线
这个就需要体能储备了,在晚间业务量小的时候悄悄地进行,要让用户无感知,熬个夜完成系统的升级改造,第二天给广大用户一个惊喜,有没有发现有时候一夜之间支付宝,京东啥的换了个页面,出了啥新功能啥的?
2.7、系统演练
养兵千日用兵一时,平时不努力,故障时吃苦头。所以平时自己要安排些实际故障的演练,验证下系统的强制性,再考验下一线工程师的应变能力。
2.8、工具开发
运维没有工具怎么行?包括监控工具、交易成功率统计分析工具、变更自动化工具等等。
2.9、业务分析
这个时候你需要具备一项新技能:“统计分析”。各种统计分析工具,数学建模是必须要掌握的内容。
运维工程师使用的平台、工具:
Web服务器:apache、tomcat、nginx、lighttpd
监控:nagios、ganglia、cacti、zabbix
自动部署:ansible、sshpt、salt
配置管理:puppet、cfengine
负载均衡:lvs、haproxy、nginx
传输工具:scribe、flume
备份工具:rsync、wget
数据库:mysql、oracle、sqlserver
分布式平台:hdfs、mapreduce、spark、storm、hive
分布式数据库:hbase、cassandra、redis、MongoDB
容器:lxc、docker
虚拟化:openstack、xen、kvm
安全:kerberos、selinux、acl、iptables
问题追查:netstat、top、tcpdump、last
1.系统运维(SYS):
负责IDC、网络、CDN和基础服务的建设(LVS、NTP、DNS);
负责资产管理,服务器选型、交付和维修,网络建设、LVS负载均衡和SNAT建设
2.应用运维(SRE):
应用运维负责线上服务的变更、服务状态监控、服务容灾和数据备份等工作,对服务进行例行排查、故障应急处理等工作
工作职责如下:设计评审、服务管理、资源管理、例行检查、预案管理、数据备份。
业务运维工作细则
监控线上的服务质量
响应异常/处理突发故障
在线发布/升级产品
和相应产品线的研发和测试协调处理产品问题
3.运维开发
是给应用运维开发运维工具和运维平台的
主要平台:工单系统、CMDB、监控系统、ELK日志系统、CI/CD、LDAP、FAQ、培训系统、OpenStack平台等
4.数据库运维(DBA):
数据库运维负责数据存储方案设计、数据库表设计、索引设计和SQL优化,
对数据库进行变更、监控、备份、高可用设计等工作,详细的工作内容如下
设计评审、容量规划、数据备份与灾备、数据库监控、数据库安全、数据库高可用和性能优化
5.运维安全(SEC):
运维安全负责网络、系统和业务等方面的安全加固工作
进行常规的安全扫描、渗透测试,进行安全工具和系统研发以及安全事件应急处理
工作内容如下:安全制度建立、安全培训、风险评估、安全建设、安全合规、应急响应。
运维技术方向
产品的整个生命周期里运维的职责重要而广泛,但运维工程师们的职责不仅限于这部分工作,还需要总结工作中遇到的问题,抽取出相关的技术方向、研发相关的工具和平台以支持/优化业务的发展并提高运维的效率,相关技术工作主要包括:
服务监控技术:包括监控平台的研发、应用,服务监控准确性、实时性、全面性的保障
服务故障管理:包括服务的故障预案设计,预案的自动化执行,故障的总结并反馈到产品/系统的设计层面进行优化以提高产品的稳定性
服务容量管理:测量服务的容量,规划服务的机房建设,扩容、迁移等工作
服务性能优化:从各个方向,包括网络优化、操作系统优化、应用优化、客户端优化等,提高服务的性能和响应速度,改善用户体验
服务全局流量调度:接入服务的流量,根据容量和服务状态在各个机房间分配流量
服务任务调度:服务的各种定时/非定时任务的调度触发及状态监控
服务安全保障:包括服务的访问安全、防攻击、权限控制等
数据传输技术:包括p2p等各类传输技术的研发应用,也远距离大数据传输等问题的解决
服务自动发布部署:部署平台/工具的研发,及平台/工具的使用,做到安全、高效的发布服务
服务集群管理:包括服务的服务器管理、大规模集群管理等
服务成本优化:尽可能降低服务器运行使用的资源,降低服务器运行成本
数据库管理(DBA):通过设计、开发和管理高性能数据库集群,使数据库服务更稳定、更高效、更易于管理。
平台化的开发:类docker和google borg平台的开发管理,及服务接入技术
分布式存储平台的开发优化:类google gfs等分布式存储平台的研发及服务接入
等等,凡是关系到服务质量、效率、成本、安全等方面的工作,及涉及到的技术、组件、工具、平台都在运维的技术范畴里。做好每一个技术方向、完成相应的组件、工具、平台研发都能对履行运维职责起到积极的作用,对业务的发展发挥关键影响。
1. 什么是linux运维?
Linux从0到1:安装Linux操作系统(超级详细版)
Linux是一个开源、免费的操作系统,其稳定性、安全性、处理并发已经得到业界的认可,目前很多企业级的项目都会部署到Linux/unix系统上。
Linux可以安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制、台式计算机、大型机和超级计算机。
严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容这个基于Linux内核,并且使用GUN工程各种工具和数据库的操作系统。它专业性强,主要用于服务器,嵌入式,移动终端系统等,但是个人桌面不如Windows好。本篇文章将带大家详细介绍linux系统的玩法大全。
一、安装前准备:
虚拟机:VMware Workstation 12 Pro (这里以此虚拟机为例)
linux安装包:
CentOS-6.6-i386-bin-DVD1.iso:镜像文件,也就是Linux的安装包(这里以此镜像文件为例,比较难找,附个地址:https://pan.baidu.com/s/1HVKs4tQaghwxF215LXpWyg)
由于VMware Workstation 12 Pro虚拟机安装比较简单,我们这里直接安装好虚拟机,就不在这里演示
二、虚拟机的创建:
1、打开VMware,点击【创建新的虚拟机】
2、进入下图页面,点击【自定义(高级)】,下一步
3、选择虚拟机的兼容性,这里一般默认就好,下一步
4、选择安装来源,这里选择【稍后安装操作系统】,下一步
5、选择操作系统,下一步
6、按照如图所示,下一步
注意:这个位置路径是指虚拟机安装的操作系统所产生的文件存放目录,不是指虚拟机的安装目录;
7、选择处理器核心数,一般填写默认1即可,下一步
注意:
1、设置内存的数值必须是4的倍数;
2、内存的设置数值不要超过当前电脑的内存数值
8、选择网络类型,选择【使用桥接网络】,下一步
完成创建虚拟机
三、安装LIUNX系统
1、点击创建的虚拟机
下一步勾选【开发】中的【开发工具】
注意:一定要确保【开发工具】前面有一个√。
然后再点击【下一步】
等待安装完成重新引导,这个过程需要安装1160多个软件,时间大概消耗20分钟左右
设置新的用户(非超级管理员用户),填写好之后点击【前进】
重启之后的效果,会出现一个登录框,并且显示出非root用户的帐号名,点击需要进行登录的用户名之后输入其密码即可进行登录;如果需要使用root帐号登录,则点击【其他】,然后输入root用户名和密码即可。
好了系统安装我们就讲到这里。
上篇:
Linux故障排查思路及常用命令
下篇:
搭建自己的ngrok服务-实现内网穿透