运维工程师 订阅
运维工程师(Operations),负责维护并确保整个服务的高可用性,同时不断优化系统架构提升部署效率、优化资源利用率提高整体的ROI。运维工程师面对的最大挑战是大规模集群的管理问题,如何管理好几十万台服务器上的服务,同时保障服务的高可用性,是运维工程师面临的最大挑战。 展开全文
运维工程师(Operations),负责维护并确保整个服务的高可用性,同时不断优化系统架构提升部署效率、优化资源利用率提高整体的ROI。运维工程师面对的最大挑战是大规模集群的管理问题,如何管理好几十万台服务器上的服务,同时保障服务的高可用性,是运维工程师面临的最大挑战。
信息
外文名
Operations
技    能
服务器、操作系统、数据库
中文名
运维工程师
应    用
网络、服务器
运维工程师职责
无论做什么运维,运维工程师最基本的职责都是负责服务的稳定性,确保服务可以7*24H不间断地为用户提供服务。在此之上运维工程师的主要工作职责如下:从产品的生命周期来看:1. 产品发布前:负责参与并审核架构设计的合理性和可运维性,以确保在产品发布之后能高效稳定的运行。2. 产品发布阶段:负责用自动化的技术或者平台确保产品可以高效的发布上线,之后可以快速稳定迭代。3. 产品运行维护阶段:负责保障产品7*24H稳定运行,在此期间对出现的各种问题可以快速定位并解决;在日常工作中不断优化系统架构和部署的合理性,以提升系统服务的稳定性。
收起全文
精华内容
参与话题
问答
  • 运维工程师学习路线

    万次阅读 多人点赞 2018-09-18 17:56:40
    运维工程师在前期是一个很苦逼的工作,在这期间可能干着修电脑、掐网线、搬机器的活,显得没地位!时间也很碎片化,各种零碎的琐事围绕着你,很难体现个人价值,渐渐的对行业很迷茫,觉得没什么发展前途。 这些...

    运维工程师在前期是一个很苦逼的工作,在这期间可能干着修电脑、掐网线、搬机器的活,显得没地位!时间也很碎片化,各种零碎的琐事围绕着你,很难体现个人价值,渐渐的对行业很迷茫,觉得没什么发展前途。

    这些枯燥无味工作的确会使人匮乏,从技术层面讲这些其实都是基本功,对后期的运维工作会无形中带来一定的帮助,因为我也是这么过来的,能深刻体会到。所以在这个时期一定要保持积极向上的心态,持续的学习。在未来的某一天,相信会回报给你的!

    好了,进入正题,根据我多年的运维工作经验,给大家分享下高级运维工程师学习路线。

    初级

    1、Linux基础

    刚开始阶段需要熟悉Linux/Windows操作系统安装,目录结构、启动流程等。

    2、系统管理

    主要学习Linux系统,生产环境中基本都在字符界面完成工作,所以要掌握常用的几十个基本管理命令,包括用户管理、磁盘分区、软件包管理、文件权限、文本处理、进程管理、性能分析工具等。

    3、网络基础

    OSI和TCP/IP模型一定要熟悉。基本的交换机、路由器概念及实现原理要知道。

    4、Shell脚本编程基础

    掌握Shell基本语法结构,能编写简单的脚本即可。

    中级

    1、网络服务

    最常用的网络服务一定得会部署,比如vsftp、nfs、samba、bind、dhcp等。

    代码版本管理系统少不了,可以学习下主流的SVN和GIT,能部署和简单使用就可以了。

    经常在服务器之间传输数据,所以要会使用:rsync和scp。

    数据同步:inotify/sersync。

    重复性完成一些工作,可写成脚本定时去运行,所以得会配置Linux下的定时任务服务crond。

    2、Web服务

    每个公司基本都会有网站,能让网站跑起来,就需要搭建Web服务平台了。

    如果是用PHP语言开发的,通常搭建LAMP、LNMP网站平台,这是一个技术名词组合的拼写,分开讲就是得会部署Apache、Nginx、MySQL和PHP。

    如果是JAVA语言开发的,通常使用Tomcat运行项目,为了提高访问速度,可以使用Nginx反向代理Tomcat,Nginx处理静态页面,Tomcat处理动态页面,实现动静分离。

    不是会部署这么简单,还要知道HTTP协议工作原理、简单的性能调优。

    3、数据库

    数据库选择MySQL,它是世界上使用最为广泛的开源数据库。学它准没错!也要会一些简单的SQL语句、用户管理、常用存储引擎、数据库备份与恢复。

    想要深入点,必须会主从复制、性能优化、主流集群方案:MHA、MGR等。NoSQL这么流行当然也少不了,学下Redis、MongoDB这两个就好了。

    4、安全

    安全很重要,不要等到系统被入侵了,再做安全策略,此时已晚!所以,当一台服务器上线后应马上做安全访问控制策略,比如使用iptables限制只允许信任源IP访问,关闭一些无用的服务和端口等。

    一些常见的攻击类型一定得知道啊,否则怎么对症下药呢!比如CC、DDOS、ARP等。

    5、监控系统

    监控必不可少,是及时发现问题和追溯问题的救命稻草。可以选择学习主流的Zabbix开源监控系统,功能丰富,能满足基本的监控需求。监控点包括基本服务器资源、接口状态、服务性能、PV/UV、日志等方面。

    也可以弄个仪表盘展示几个实时关键的数据,比如Grafana,会非常炫酷。

    6、Shell脚本编程进阶

    Shell脚本是Linux自动完成工作的利器,必须得熟练编写,所以得进一步学习函数、数组、信号、发邮件等。

    文本处理三剑客(grep、sed、awk)得玩6啊,Linux下文本处理就指望它们了。

    7、Python开发基础

    Shell脚本只能完成一些基本的任务,想要完成更复杂些的任务,比如调用API、多进程等。就需要学高级语言了。

    Python是运维领域使用最多的语言,简单易用,学它准没错!此阶段掌握基础就可以了,例如基本语法结构、文件对象操作、函数、迭代对象、异常处理、发邮件、数据库编程等。

    高级

    1、Web静态缓存

    用户老喊着访问网站慢,看看服务器资源还很富裕啊!网站访问慢也许不是服务器资源饱和导致的,影响因素很多,例如网络、转发层数等。

    对于网络,存在南北通信问题,之间访问会慢,这个可以使用CDN解决,同时缓存静态页面,尽可能将请求拦截在最上层响应,减少后端请求和响应时间。

    如果不用CDN,也可以使用Squid、Varnish、Nginx这样的缓存服务实现静态页面缓存,放到流量入口处。

    2、集群

    单台服务器终究资源有限,抵抗高访问量肯定是无法支撑的,解决此问题最关键的技术就是采用负载均衡器,水平扩展多台Web服务器,同时对外提供服务,这样就成倍扩展性能了。负载均衡器主流开源技术有LVS、HAProxy和Nginx。一定要熟悉一两个!

    Web服务器性能瓶颈解决了,数据库更为关键,还是采用集群,就拿学的MySQL来说,可以一主多从架构,在此基础上读写分离,主负责写,多从负责读,从库可水平扩展,前面再来个四层负载均衡器,承载千万级PV,妥妥的!

    高可用软件也得会,避免单点的利器,主流的有Keepalived、Heartbeat等。

    网站图片咋这么多呢!NFS共享存储支撑不过了,处理很慢,好弄!上分布式文件系统,并行处理任务,无单点,高可靠,高性能等特性,主流的有FastDFS、MFS、HDFS、Ceph、GFS等。初期的话我建议学习下FastDFS,能满足中小规模需求。

    3、虚拟化

    硬件服务器资源利用率很低,甚是浪费!可以把空闲多的服务器虚拟化,弄成很多个的虚拟机,每个虚拟机就是一个完整的操作系统。可以很大程度提高资源利用率。建议学习开源的KVM+OpenStack云平台。

    虚拟机作为基础平台还可以,但应用业务弹性伸缩也太重量了吧!启动好几分钟,文件又这么大,快速扩展太费劲了!

    好说,上容器,容器主要特点就是快速部署和环境隔离。一个服务封装到镜像中,分分钟钟可创建几百个容器。

    主流的容器技术非Docker莫属了。

    当然,生产环境单机Docker大多数情况下是无法满足业务需求的,可以部署Kubernetes、Swarm集群化管理容器,形成一个大的资源池,集中管理,为基础架构提供有力的支撑。

    4、自动化

    反反复复重复的工作,不但提高不了效率,价值也得不到体现。

    一切运维工作标准化,例如环境版本、目录结构、操作系统等统一。在标准化基础上才能更方面的自动化,点点鼠标或者敲几个命令即可完成一项复杂的工作任务,爽哉爽哉!

    因此,所有的操作尽可能自动化,减少人为失误,提高工作效率。

    主流服务器集中管理工具:Ansible、Saltstack

    这两个选择任意一个就行。

    持续集成工具:Jenkins

    5、Python开发进阶

    可以再深入学习下Python开发,掌握面向对象编程。

    最好也掌学习一个Web框架开发网站,例如Django、Flask,主要是开发运维管理系统,将一些复杂的流程写到平台中,再集成集中管理工具,可打造一个属于运维自己的管理平台。

    6、日志分析系统

    日志也很重要,定期的分析,可发现潜在隐患,提炼出有价值的东西。

    开源的一套日志系统:ELK

    学会部署使用,给开发提供日志查看需求。

    7、性能优化

    只会部署是远远不够的,性能优化能最大化提升服务承载量。

    这块也是比较难的,也是高薪的关键点之一,为了钱也得下点功夫学习啊!

    可以从硬件层、操作系统层、软件层和架构层维度展开思考。

    武器类型 武器名称
    文本处理 grep、sed、awk
    数据传输 Rsync、Scp、Inodify/Sersync
    进程管理 Supervisor
    性能分析 top、free、df、iftop、iostat、vmstat、dstat、sar、sysdig
    网络服务 vsftp、nfs、samba、bind、dhcp、postfix
    Web服务 Apache、Nginx、Tomcat、JBoss、Resin
    数据库 MySQL、MariaDB、Percona Server for MySQL
    NoSQL Redis、MongoDB
    消息中间件 RabbitMQ、ActiveMQ
    版本管理 SVN、Git
    静态缓存 Squid、Varnish、Nginx
    负载均衡 LVS、HAProxy、Nginx
    高可用软件 Keepalived、Heartbeat、DRBD、corosync+pacemaker
    集中管理工具 Ansible、Saltstack、Chef、Puppet
    虚拟化与云平台 KVM、Xen、Docker、Kubernetes、Openstack、Cloudstack
    自动装机 Kickstart、Cobbler
    抓包分析 Tcpdump、Wireshark
    持续集成 Jenkins、Gitlab
    MySQL代理 Altas、Cobar、Mycat
    压测 ab、fio、sysbench、mysqlslap
    安全检查 chrootkit、rkhunter
    日志系统 ELK
    监控 Zabbix、Cacti、Nagios、Grafana

    意识

    1、坚持

    学习是一个很漫长的过程,是我们每个人需要用一生去坚持的事业。

    贵在坚持,难在坚持,成在坚持!

    2、目标

    没有目标的不叫工作,没有量化的不叫目标。

    每到一个阶段,制定一个目标。

    比如:先定一个能达到的小目标,挣它一个亿!

    3、分享

    学会分享,技术的价值在于能有效地将知识传递到外界,让更多的人知道它。

    只要人人都拿出一点东西来,想想会变成什么样?

    方向对了,就不怕路远了!

    十项Linux常识

    1、GNU和GPL

    GNU计划(又称革奴计划),是由Richard Stallman(理查德·斯托曼)在1983年9月27日公开发起的自由软件集体协作计划。它的目标是创建一套完全自由的操作系统。GNU也称为自由软件工程项目。

    GPL是GNU的通用公共许可证(GNU General Public License,GPL),即“反版权”概念,是GNU协议之一,目的是保护GNU软件可以自由的使用、复制、研究、修改和发布。同时要求软件必须以源代码的形式发布。

    GNU系统与Linux内核结合构成一个完整的操作系统:一个基于Linux的GNU系统,该操作系统在通常情况下称为“GNU/Linux”,或简称Linux。

    2、Linux发行版

    一个典型的Linux发行版包括:Linux内核,一些GNU程序库和工具,命令行shell,图形界面的X Window系统和相应的桌面环境,如KDE或GNOME,并包含数千种从办公套件,编译器,文本编辑器到科学工具的应用软件。

    主流的发行版:

    Red Hat Enterprise Linux、CentOS、SUSE、Ubuntu、Debian、Fedora、Gentoo

    3、Unix和Linux

    Linux是基于Unix的,属于Unix类,Uinx操作系统支持多用户、多任务、多线程和支持多种CPU架构的操作系统。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    4、Swap分区

    Swap分区,即交换区,系统在物理内存不够时,与Swap进行交换。即当系统的物理内存不够用时,把硬盘中一部分空间释放出来,以供当前运行的程序使用。当那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。那些被释放内存空间的程序一般是很长时间没有什么操作的程序。

    Swap空间一般应大于或等于物理内存的大小,同时最小不应小于64M,最大应该是物理内存的两倍。

    5、GRUB的概念

    GNU GRUB(GRand Unified Bootloader简称“GRUB”)是一个来自GNU项目的多操作系统启动引导管理程序。

    GRUB是一个支持多种操作系统的启动引导管理器,在一台有多个操作系统的计算机中,可以通过GRUB在计算机启动时选择用户希望运行的操作系统。同时GRUB可以引导Linux系统分区上的不同内核,也可用于向内核传递启动参数,如进入单用户模式。

    6、Buffer和Cache

    Cache(缓存)位于CPU与内存之间的临时存储器,缓存容量比内存小的多但交换速度比内存要快得多。Cache通过缓存文件数据块,解决CPU运算速度与内存读写速度不匹配的矛盾,提高CPU和内存之间的数据交换速度。Cache缓存越大,CPU处理速度越快。

    Buffer(缓冲)高速缓冲存储器,通过缓存磁盘(I/O设备)数据块,加快对磁盘上数据的访问,减少I/O,提高内存和硬盘(或其他I/O设备)之间的数据交换速度。Buffer是即将要被写入磁盘的,而Cache是被从磁盘中读出来的。

    7、TCP三次握手

    (1)请求端发送SYN(SYN=A)数据包,等待响应端确认

    (2)响应端接收SYN,并返回SYN(A+1)和自己的ACK(K)包给请求端

    (3)请求端接收到响应端的SYN+ACK包,再次向响应端发送确认包ACK(K+1)

    请求端和响应端建立TCP连接,完成三次握手,开始进行数据传输。

    8、linux系统目录结构

    Linux文件系统采用带链接的树形目录结构,即只有一个根目录(通常用“/”表示),其中含有下级子目录或文件的信息;子目录中又可含有更下级的子目录或者文件的信息。

    • /:第一层次结构的根,整个文件系统层次结构的根目录。即文件系统的入口,最高一级目录。

    • /boot:包含Linux内核及系统引导程序所需的文件,例如kernel、initrd;grub系统引导管理器也在这个目录下。

    • /bin:基本系统所需要的命令,功能和"/usr/bin"类似,这个目录下的文件都是可执行的.普通用户也是可以执行的。

    • /sbin:基本的系统维护命令,只能由超级用户使用。

    • /etc:所有的系统配置文件。

    • /dev:设备文件存储目录.像终端、磁盘、光驱等。

    • /var:存放经常变动的数据,像日志、邮件等。

    • /home:普通用户的目录默认存储目录。

    • /opt:第三方软件的存放目录,比如用户自定义软件包和编译的软件包就安装到这个目录中。

    • /lib:库文件和内核模块存放目录,包含系统程序所需要的所有共享库文件。

    9、硬链接和软链接

    硬链接(Hard Link):硬链接是使用同一个索引节点(inode号)的链接, 即可以允许多个文件名指向同一个文件索引节点(硬链接不支持目录链接,不能跨分区链接),删除一个硬链接,不会影响该索引节点的源文件以及其下的多个硬链接。

    ln source new-link

    软连接(符号链接,Symbolic Link):符号链接是以路径的形式创建的链接,类似于windows的快捷方式链接,符号链接允许创建多个文件名链接到同一个源文件,删除源文件,其下的所有软连接将不可用。(软连接支持目录,支持跨分区、跨文件系统)

    ln -s source new-link

    10、RAID技术

    磁盘阵列(Redundant Arrays of independent Disks,RAID),廉价冗余(独立)磁盘阵列。

    RAID是一种把多块独立的物理硬盘按不同的方式组合起来形成一个硬盘组(逻辑硬盘),提供比单个硬盘更高的存储性能和数据备份技术。RAID技术,可以实现把多个磁盘组合在一起作为一个逻辑卷提供磁盘跨越功能;可以把数据分成多个数据块(Block)并行写入/读出多个磁盘以提高访问磁盘的速度;可以通过镜像或校验操作提供容错能力。具体的功能以不同的RAID组合实现。

    在用户看来,RAID组成的磁盘组就像是一个硬盘,可以对它进行分区、格式化等操作。RAID的存储速度比单个硬盘高很多,并且可以提供自动数据备份,提供良好的容错能力。

    RAID级别,不同的RAID组合方式分为不同的RAID级别:

    1. RAID 0:称为Stripping条带存储技术,所有磁盘完全地并行读,并行写,是组建磁盘阵列最简单的一种形式,只需要2块以上的硬盘即可,成本低,可以提供整个磁盘的性能和吞吐量,但RAID 0没有提供数据冗余和错误修复功能,因此单块硬盘的损坏会导致所有的数据丢失。(RAID 0只是单纯地提高磁盘容量和性能,没有为数据提供可靠性保证,适用于对数据安全性要求不高的环境)

    2. RAID 1:镜像存储,通过把两块磁盘中的一块磁盘的数据镜像到另一块磁盘上, 实现数据冗余,在两块磁盘上产生互为备份的数据,其容量仅等于一块磁盘的容量。当数据在写入一块磁盘时,会在另一块闲置的磁盘上生产镜像,在不影响性能情况下最大限度的保证系统的可靠性和可修复性;当原始数据繁忙时,可直接从镜像拷贝中读取数据(从两块硬盘中较快的一块中读出),提高读取性能。相反的,RAID 1的写入速度较缓慢。RAID 1一般支持“热交换”,即阵列中硬盘的移除或替换可以在系统运行状态下进行,无须中断退出系统。RAID 1是磁盘阵列中硬盘单位成本最高的,但它提供了很高的数据安全性、可靠性和可用性,当一块硬盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。

    3. RAID 0+1:也被称为RAID 10,实际是将RAID 0和RAID 1结合的形式,在连续地以位或字节为单位分割数据并且并行读/写多个磁盘的同时,为每一块磁盘做镜像进行冗余。通过RAID 0+1的组合形式,数据除分布在多个盘上外,每个盘都有其物理镜像盘,提供冗余能力,允许一个以下磁盘故障,而不影响数据可用性,并且有快速读/写能力。RAID 0+1至少需要4个硬盘在磁盘镜像中建立带区集。RAID 0+1技术在保证数据高可靠性的同时,也保证了数据读/写的高效性。

    4. RAID 5:是一种存储性能、数据安全和存储成本兼顾的存储解决方案。RAID 5可以理解为是RAID 0和RAID 1的折衷方案,RAID 5至少需要三块硬盘。RAID 5可以为系统提供数据安全保障,但保障程度要比镜像低而磁盘空间利用率要比镜像高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低,是目前运用较多的一种解决方案。

                                                                                                      转自          计算机与网络安全

    展开全文
  • 运维工程师 能力要求

    千次阅读 2019-06-04 15:26:33
    文章目录一 、运维工程师发展路径二 、系统运维工程师的技能要求三 、web运维技能要求四 、大数据运维工程师五、容器运维工程师七、日志下面简单介绍下,运维重点收集的日志数据有哪些部分以及用途。八 、 ELK 收集...

    一 、运维工程师发展路径

    1、按领域来划分
    1)、基础设施运维:IDC/网络运维、服务器/存储设备运维
    2)、系统运维:系统中间件运维、云计算平台运维
    3)、数据运维:数据库运维、大数据技术平台运维
    4)、应用运维:应用软件系统
    5)、云平台运维:公有云平台运维
    6)、容器运维:基于容器服务的运维

    2、按技术切面来分
    1)、安全运维
    2)、性能运维
    3)、数据运维
    4)、集成运维
    3、按流程来划分
    1)、构建/持续集成、发布
    2)、安装部署、升级、迁移、合并、扩展
    3)、配置、初始化、配置变更
    4)、备份、传输、恢复
    5)、日志、监控、预警
    6)、诊断排查、优化

    二 、系统运维工程师的技能要求

    • 系统运维工程师 对基础要求比较强。对开源软件的,做的都是系统的基础的运维,(系统安装,基础服务 监控 脚本 虚拟化)

    在这里插入图片描述

    三 、web运维技能要求

    • web运维是运维岗位最多的,劳资干的也是web运维
    • web运维也是 要求掌握知识比较多的一个工种

    在这里插入图片描述

    四 、大数据运维工程师

    • 这个大数据运维,是17年大数据产业兴起而伴随的一个工种
    • 大数据运维,一般工资比较高,但是能力也需要高,一般也是开发公司转行过来
    • 大数据运维工程师,对代码和逻辑还是比较强的一个岗位
      在这里插入图片描述

    五、容器运维工程师

    • 容器可以说一次革命性的改变
    • docker 是近些年最火的技能
      在这里插入图片描述

    七、日志

    • 日志可以说是一个运维工程师最恨最爱的东西
    • 对数据的维护和管理只管重要,特别是日志数据,对运维来说,通过日志可以比较准确全面地知道系统或是设备的运行情况,可以返查问题产生的原因,还原问题发生的整个过程。通过日志也可以提前预测系统可能要发生的问题或是故障,如系统安全日志,如果网络攻 击会在系统安全日志中有一定的体现。

    下面简单介绍下,运维重点收集的日志数据有哪些部分以及用途。

    • 1、系统日志
      系统日志主要指的是操作系统的日志,主要在/var/log下的各种日志信息。包含系统操作日志、系统安全日志、定时任务日志等。系统日志是运维管理安全模块中审计的重要依据。一般默认的操作系统日志不能满足要求,需要对系统的参数进行修改,如为history命令加上时间戳、IP,并且长久保留历史等功能。并且对日志文件进行处理,不允许用户进行清空命令,只能追加。

    • 2、应用日志
      应用日志主要记录应用服务的健康运行情况以及业务操作的具体日志两部分。应用监控运行情况反应应用服务的健康状态,如果应用占用CPU或是内存过高或是忽高忽低不定,都可以通过分析应用日志结合业务操作日志得出结论。业务操作日志可以为业务审计提供主要依据。有一些系统喜欢把业务操作日志写到数据库中,这个也是需要注意的。不过不管在哪个地方,要求是不可缺少的,它为以后业务审计和问题返查提供依据。

    • 3、数据库日志
      数据库日志主要反馈数据库的运行情况。通过监控和管理数据库的日志,及时了解数据库的运行情况,遇到问题及时解决等。可以通过数据库日志结合数据库系统自带的数据库如Oracle的系统视图v$开头,MySQL的performance_schema等。虽然数据库的一些信息不是存在日志中而是在数据库里面,但是也可以作为数据库日志的一部分进行管理和监控,已便我们及时知道数据库的监控状况,从而预防可能出现的问题。

    • 4、设备日志
      设备日志一般是一个比较容易忽略的地方,但设备日志往往可以反映设备的运行情况。交换机故障,防火墙故障等设备故障都可能引起大面积的系统和服务故障。所以设备日志一定要收集,分析和监控预警。常用的设备日志有交换机日志、防火墙日志、网络安全设备日志等。

    八 、 ELK 收集分析 统计日志信息

    • 这么多的日志,运维要通过各种手段完成日志的收集、过滤分析、可视化展示,那么如何实现这些功能呢,方法很多,例如ELK集成套件(Elasticsearch , Logstash, Kibana)就可以轻松实现日志数据的实时收集、分析传输以及图形化展示。

    1、Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
    2、Logstash主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。
    3、Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。

    • 另外,还有Filebeat可以替换Logstash作为日志收集工具,Filebeat隶属于Beats。目前Beats包含四种工具:
      Packetbeat(搜集网络流量数据)
      Topbeat(搜集系统、进程和文件系统级别的 CPU 和内存使用情况等数据)
      Filebeat(搜集文件数据)
      Winlogbeat(搜集Windows事件日志数据)
    展开全文
  • 运维工程师 主要是做什么的?

    万次阅读 多人点赞 2019-06-05 17:28:25
    在软件开发领域当中,前端、后端开发我们一般比较熟,但运维工程师是做什么的,很多人都不太了解。真的是只是维护工作吗?今天我们就介绍一下 运维工程师 到底是做什么呢 随时解决报警故障、业务程序更新 编写一些...

    在软件开发领域当中,前端、后端开发我们一般比较熟,但运维工程师是做什么的,很多人都不太了解。真的是只是维护工作吗?今天我们就介绍一下 运维工程师 到底是做什么呢

    • 随时解决报警故障、业务程序更新
    • 编写一些脚本,监控或完成其他可自动完成功能、运维架构完善
    • 部署一些用起来更方便更可靠或性能更好的开源工具以及制定运维流程规范
    • 打杂,如调交换机,装系统,部署新环境等。

    总结起来就是保障业务长期稳定运行(如网站服务器、游戏服务器等),同时保障数据安全可靠(如用户名密码、游戏数据、博客文章、交易数据等)

     

    一、保障业务长期稳定运行

    出一点点差错,用户就要投诉了。

     

    1、业务跑在什么上面?

    网站服务器一般是apache,nginx,tomcat等。但是真正跑通流程还需要Mysql数据库来存储用户密码及其它。很多程序都要php的解析,所以LNMP、LAMP(即nginx、apache、mysql、php)环境部署是必须掌握的技能。

     

    2、业务出了问题怎么及时知道?

    这就需要监控软件来邮件或短信来通知你,常用的有zabbix,nagios等。报警发邮件,也得一个邮件程序呀,sendmail或postfix。


    3、在家里收到报警,但服务器是内网IP,怎么也得解决问题吧?

    在公司搭建openvpn或pptp或openswan,在家里通过VPN拨入内网,24小时解决问题…唉,半夜爬起来解决问题也没工资。

     

    二、保障数据安全可靠

    出一点点差错,领导要找你喝茶了。


    1、有时需要手动改数据库内容?

    所以要会基本的Mysql数据库增删查改命令。


    2、万一数据库服务器硬件坏了怎么办?

    需要有个备库以备不时之需,所以需要Mysql主从复制。


    3、数据库要还原怎么办?

    所以需要在crond中定期全备Mysql数据,以便还原使用。如果要还原到指定时间点,还要学会Mysql增量备份与恢复。


    4、如果是用户上传的图片或文件服务器坏了怎么办?

    定时备份可能还不够,需要使用rsync加inotify来实时备份。以便任一时刻主服务器坏掉,也能保障所有图片有备份可以用来恢复。


    5、小心黑客,要增加服务器安全性?

    ssh轻易不能让外人访问,那么就设置只允许公司的IP或跳板机IP访问,这些都通过iptables来控制。


    三、大性能

    1、越来越多的用户来访问我们的网站,一台web服务器抗不住了怎么办?
    那就需要多台web服务器来负担,但多台服务器之间怎么进行负载均衡呢,这就需要用到nginx反向代理或LVS+keepalived或haproxy+heartbeat了。

     

    2、用户注册发表的文章与评论太多,一台数据库抗不住了怎么办?
    数据库压力分为读和写,如果写抗不住,需要进行分表分库到多个服务器上。如果是读压力不够了,可以使用mysql-proxy读写分离,
    来分担读的压力。更简单方便的方法,把数据库里的内容放到内存上,这就用上memcache或redis了。

     

    3、N多用户上传下载文件,磁盘抗不住了怎么办?
    把多块磁盘做成raid,或者使用分布式存储文件系统如MFS,GlusterFS来提高磁盘的读写能力。

     

    4、网站上好多图片,总有用户反应网站加载太慢,怎么办?
    这时可以把网站上的图片通过squid或varnish缓存到网站前端,尽可能的增加访问速度,当然,最好是购买商业的CDN加速。

     

    5、运营商是个大难题,他们之间的带宽好像很小,联通IP访问我电信网站怎么就这么慢呢?
    这时可以使用bind自建一个DNS服务器,把网站的DNS记录指向自建DNS服务器上,配置好解析规则,以后联通IP解析到联通网站上,
    电信IP解析到电信网站上,体验就会好很多啦。


    四、自动化

    终极目标:跑死机器,闲死人。
    1、公司新买100台服务器,公司竟然就1个移动光驱,这装系统得到什么时候?
    使用kickstart或cobbler来网络远程自动安装系统吧。

    2、每次装完机要优化很多内容,什么文件描述符、端口、软件安装啊,手动操作不累死去?
    赶紧学会shell,将解放非常多的工作量。

    3、系统装完后登陆要输入密码,这么多台啊?
    使用expect吧,自动读取提示来输入密码,并执行命令。

    4、要批量把新代码发布到线上服务器,怎么办?
    使用saltstack或puppet或ansible吧,绝对爽歪歪。

     

    五、其他

    1、搭整套测试环境需要5台服务器,但公司穷的只有一台空闲服务器?
    学会xen或kvm或docker吧,虚拟出多台服务器,就能解决资源问题了。特别是docker,强烈推荐,以后某个研发人员让你部署一套新环境,分分钟帮他解决。

    2、研发人员的代码控制,权限控制,总要运维人员管呀?
    svn或git,这个是肯定要有的。

     

     

     

     

     

    展开全文
  • 如何快速成为一个运维工程师

    万次阅读 多人点赞 2018-05-24 16:08:49
    首先先看图:下面是运维工程师至少要能做以下的工作:1,网络工程师的工作你至少要能配置CISCO 6509以下的设备,熟悉各种网络协议,否则网络出问题的时候你会傻掉。2,系统工程师的工作你至少要理解各种系统服务,在...

    首先先看图:


    下面是运维工程师至少要能做以下的工作:

    1,网络工程师的工作

    你至少要能配置CISCO 6509以下的设备,熟悉各种网络协议,否则网络出问题的时候你会傻掉。

    2,系统工程师的工作

    你至少要理解各种系统服务,在出问题的情况下要迅速解决问题,而不是等系统工程师来解决。

    3,安全工程师的工作

    我不要求你一定要会各种网络编程,但是在服务器收攻击的情况下,没有防火墙的情况下,做一些简单的处理工作。

    4,存储工程师的工作

    至少要熟悉各个厂商的设备,各种备份和还原的办法

    5,测试工程师的工作

    在新版本上线之前,你至少要协同测试工程师做测试工作,因为你是运维人员,不了解程序架构导致无法解决故障,你也有一份责任。

    6,研发人员的工作 

    运维工具都需要自已开发,熟悉开发语言,需要有过实际开发经验,否则工作会非常痛苦,我深有体会。

    7,英语  

    不想说了,我的最大痛苦就在这里

    8,好的沟通者

    不出问题时候你可以打游戏睡觉,出问题的时候要能和项目人员沟通,快速解决问题,而不是推;我知道有很多人能推责任,你可以做替死鬼,但是离开这个工作你还能找到更好的;把责任推到别人身上的人,下次出问题的时候,绝对没人帮你。你要能和各个兄弟部门关系非常的密切,出了问题有兄弟帮你担责任;也要能非常扯皮,没事在会议上把别人都搞定。

    9,库房管理员

    数万台服务器让你来管理,任何丢失或者损坏都是不负责任和失职的表现。

    10,运动员

    不要回家就睡觉,有空还是运动下吧;在服务器down机的时候,机房恰巧就你一个人,机柜没有空间,你需要更换一台HP 585 4U的服务器,满配约80公斤的服务器,你怎么做?

    11,责任心

    这个我不想说什么,这是你的职业精神。

    12,组织者

    给你2个啥都不会的民工,再给你2000台服务器,要求你2天把服务器装完,你咋办?

    13,1-7条中,你必须有一条非常精通,是这个行业的专家。否则过了32岁,没有公司要你。

    大家看了肯定觉得这个人是神仙,但是这必须是你慢慢能做到的,至少是我6年来运维经验的一点总结。

    因为现在的公司都在用招聘民工的钱招聘神仙,其次我也是想让各位看看,运维工程师要担负多少责任。

    我去面试过的一些公司都说,你什么都会,什么都不精。我说对,正是需要我们这些什么都会的人领导什么都精的人。

    我这句话没有贬低大牛的任何意思,只是当时一个临场的发挥。虽然说完就知道这个面试白来了,但是我还是想为广大的运维工程师出口气。

    不怕千招会,就怕一招精。这仍旧是我给大家的建议。

    最后给大家最后最大最重要的建议,做什么工作都可以,千万别做SA。

    我把SA的定义成:speediness answer而不是system admin。为什么?你可以想象一下哪些工作需要快速响应。网络工程师需要,机房网络骨干交换机故障,整个机房所有服务器无法连接,需要快速响应不?系统工程师需要,系统出问题了,要快速响应不?安全工程师需要,服务器被攻击了,要快速响应不?存储工程师需要,公司核心存储有问题了,要快速响应不?

    你可以做研发,出了问题可以测试,可以想办法慢慢解决;你可以做DBA,出了问题可以推到网络工程师或者系统工程师身上,说不是DB连接问题;你可以做测试工程师,你说有问题这个东西就可以不上线……在出问题的时候,倒霉的就是SA,所以不要再争论SA包含哪些工作,SA就是一个倒霉的快速响应者,你想,哪个SA 24小时不开手机?哪个SA 晚上可以舒服的睡觉或者安心的出去度假?走在路上一听到和自己手机短信铃声一样的,利马下意识的抓出自己的手机看看是不是服务器报警;晚上和老婆 XXOO00,一个电话过来,立马停下,抓出手机看流量图;包里放着笔记本,但是因为还要开机,太慢,拿着手机上putty ping或者telnet机器……

    这就是大家羡慕的SA ,你也不要抱怨自己做了SA,生活就是这样。所以不要再争论哪些xxx员应该归属于SA,系统管理员或是运维工程师,如果想做这行,就安生的当一个“快速响应者”,这是你的职业,也是你需要做到的。作为一个SA,你肯定经历过通宵好几天加班做事,你肯定经历过饭买来已经忘记了吃,你肯定经历过几天加班没睡觉,着个沙发坐下就失去知觉睡倒……没有经历过不能说你不好,只能说你管理的机器太少。

    一,架构设计

    现在你要做的,就是设计你的服务器架构和网络架构。这要先看你的网站是做什么的,每日有多少的人数访问,

    例如,我打算站点初期每日有20000左右的访问量,和1000人左右的并发量。我可以用我的人数并发量1000×站点中每个页面的平均大小200k×每个访问用户可能要打开4个网页=800 000k=800M的网络流量(当然这个数字肯定是非常的过分,至于为啥,自己可以想下)

    然后可以用测试环境用软件检测在你的真实环境下的服务器压力,比如在2000人在线的情况下,服务器的cpu占用多少,内存占用多少。

    那么你可以得到你大致配置,其实市面上的标准服务器配置都足够你用了,比如现在的DELL 1950,HP DL360G5,IBM X???(忘记了)

    等服务器,足够我跑一个这样简单的网站。其实说白了,双奔3都够,真的。当然你网站的流量比我要大的多,那你可以买的更好一点的服务器。或者负载均衡器。

    网络架构

    站点现在是一台独立服务器,未来采用的是分布式架构,比如bbs.hilinux.com是一台服务器,man.hilinux.com是一台服务器……

    mysql是一台服务器。这样你要算服务器要多少台,交换机要多少口,防火墙要买什么级别的。

    哪些服务器可以放在一个防火墙下,哪些服务器不用防火墙保护,哪些服务器是内网服务器,

    需要什么样的网络连接,最好是画出大致拓扑,方便你预算设备花费。

    服务器交换机等设备选型和购买

    说的简单点就是买什么机器,你可以和google一样开始,买几台pc作为你的网站服务器,也可以自己组装一台服务器

    或者也可以和我一样,去挑选品牌服务器当然,现在你要看你服务器做什么的,

    你可以亲自去电脑城看组装服务器,也可以打电话到IBM,HP,DELL的各地销售商让他们送服务器来测试,

    当然你不要告诉他们你只买一台,那你就别指望测试了。我告诉供货商hilinux.com需要200台服务器,一个F5,10台CISCO 2960交换机,3个NETSREEN206防火墙,一个EMCCX500+满硬盘

    那么不到3天,hilinux.com所需要的4台测试服务器,就送来了……当然,不要牛了这么多最后只买1台,那么你晚上走夜路会被人打的。

    最后就是价钱问题了,这个你自己看着办吧。让你公司的财务或者采购出马砍价付钱就是了。当然,除了服务器的服务,你最好还是想想有利于自己的服务,比如人家公司可以帮你拆箱子了什么的。我做的最弱智的一件事情就是,来了400台服务器,50个交换机,8台EMC,我一个人花了一星期把箱子才全部拆完……

    机器选型的时候你也要为自己考虑,比如HP的ILO功能,可以让你远程BIOS级操作服务器,比如浪潮的自动资产管理等等,为自己管理服务器提供便利,否则机器10来台还好,100台还一般,我这里3万来台,我不死几百遍了。丢失一台服务器,几个月工钱就没了……

    二,IDC选择

    首先要看你服务的地区是哪里,然后再去找当地的电信机房。毕竟,虽说全国已经互联了,但是各地的网速还是有差异的。

    或者说有的IDC机房利用率高,虽然出口带宽大,但是利用率高的结果是导致你网速慢的原因之一。

    我的做法是在全国各个机房的服务器用pingplus这个软件进行一周的的流量测试。可以看到平均丢包,最大延时等等。

    当然,你也可以到你目标服务的地方,找个可以上网的地方进行网络测试,比如说网吧包个机器……

    好了,网络测试完了。那么你已经决定去哪个IDC了吧。

    然后你就可以电话或者自己提着礼品登门拜访一下IDC服务商的老大了

    当然,你也可以找代理服务商,因为他们拿到的价钱有时候比电信或者网通给你的价钱低,但是,关键还是一个服务,因为你毕竟服务器放在那,晚上关键着急没人给你重启,机器出了问题其实按个F1就可以解决的问题,服务商的值班人员不懂。你就只能打晚上的打飞机去机房维护吧。

    提着东西拜访一下服务商老大是礼节性的东西,东西不在多而在精,这样你未来谈事情人家也给你绿色通道,做事情要好做很多。当然,我也不反对你空手去,你一次租个100个机柜+10G带宽,人家还是很优惠的。哈哈。大家都是混口饭吃,也不至于难为你什么。

    最后你要知道现在的中国还是卖方市场,你给人家牛,那你买的产品只能是……蒙牛

    然后是开始去参观机房

    细心的检查一下空调数量,空调出厂和最后维护日期,网络布线类型和架构,是否可扩展,主备从电力等。

    基本都是非常关键的东西,出问题了,人家可以给你更换一个新的,服务很好,但是你服务器挂一天的损失是多少,你可以自己掂量。

    还有机柜电力,现在的机柜放置16台1U的服务器是正好,多了过于热,少了资源浪费;但是你发现人家只让你用10安培电力,过了要交钱买电;

    或者不限制你用电,但是插线板只有10个,你还真买个托线板去转接?你要想想你一个托线板挂了,你服务器要挂几个?

    最后,我的一个机房包间里140个机柜,2个空调,结果某天挂了一个空调,虽然6小时人家IDC商就给更换了一个空调机(这速度已经非常快了),

    结果我机器至少被热死了100台以上,机器是HP的,机器过热,HP会自动关机,而且会不让你启动。你崩溃不?注:不是给hp做广告哈。

    三,服务器上架

    好了,要是你买的服务器到了,你会发现你接到电话后,楼下一个N大的“擎天柱”集装箱车给你送服务器来……(某次我收2000台服务器就是这样的阵势);在这里有个重大的提示,你们财务给厂商下单的时候,收货地址一定要写对。比如XX路XX号XX大厦XX楼XX室,你写到xx号,送快递的会给你堆到院子里,你写到xx楼,送快递的会给你送到电梯口,你写到xx室,他们才会给你搬到室内。因为送货的都是服务器厂商找的,你因为这个事情去联系厂商修改送货地址,至少要多等N小时。而且他们视你的单子的数量和楼层,判断来多少搬运人员。而且,一定要把服务器搬到你指定的地方再签字收货,否则……嘿嘿……

    我最霉气的是:来了20台机器(还好不多),下着大雨人家给我往院子里一丢,让我自己搬上19楼,我没推车没啥的……

    你可以说,找电信的帮忙撒,废话,这个我还不知道。那我告诉你,我在某电信大楼工作时,从CCIE到机房主管到机房工作人员,全部是美女……

    虽然我在这个地方只干了5天活,我的同事们口水都有3尺长……你还叫人家给你搬机器不?

    你可以说,雇民工撒,我又不是没雇过,钱得你自己支付,公司不给你报销的话,爽不?

    下面是拆箱子,面对着堆积如山的2000台服务器,我是连抬手的力气都拿不出来……当时机房只有我们公司3个人+电信值班2个人……

    这时候,我的办法是……我打电话找来了2队收废品的:

    这么多箱子,除了机器和电源线留下,里头的导轨光盘等等你全部拿走,谁拆的多谁拿的多……

    最后按照我的要求帮忙搬到机柜上……于是我们5个人是监工……看人家拆箱子搬机器。

    于是人家2队人找来了30多号人,一早上把2000台机器全部拆箱子完毕放到机柜上。

    要是我们几个人拆,估计…………

    最后再说个行价,服务器箱子一个价值5块钱甚至更多。你服务器到了,卖卖箱子请大家吃饭吧。别让扫地的阿姨拿走,几个无所谓,10来个箱子,够大伙儿吃顿烤肉了……还有EMC的木箱子……拿去养个小鸡小鸭的……

    42U机柜1U的服务器最好是16台。你就看着上吧。呵呵

    四,安装系统和布线

    好了,面对几千台服务器开始装系统,我不知道你会怎么想……

    全部是1U服务器有什么办法安装系统?(我们公司穷,买不起刀片;而且电信不配合,要是上刀片,电路你们自己拉线,价钱还是原来的价钱;最重要的……我们公司以人为本,宁愿多养个人也不愿意买个好服务器让人失业),而且不允许GHOST,因为你这是服务器,不是网吧……GHOST出来的系统,我不知道谁用过,爽不。我自己是郁闷郁闷到了,莫名问题的时候,你就知道GHOST还是靠不住的。

    其次,我们公司安全部要求:必须得一台一台安装,先安装光板的系统(比如没有SP的WIn2000),然后手工打SP4补丁,不能网络打补丁。于是我们就光盘堆成山。最扯淡的,为了快,我做了一个补丁共享的服务器,所有的补丁CP的本地来打。结果忘记拔网线,导致人家说我们是插了网线打补丁,有中毒的危险,需要重装。我直接崩溃……

    办法1,你可以1台1台慢慢装,反正这么多机器,你可以管公司要更多的时间。但是我们公司一般是机器到了,最多2-3天就要要,一向是那种计划不如变化快的没有计划没有进度管理的“小”公司,项目组拿着鸡毛当令箭,牛x哄哄的公司。郁闷!

    这个时候前期的准备就比较重要了(我公司多用windows2003),因为首先我要装一个光系统,再打驱动,再打补丁,再安装远程控制软件。一台机器装完大约要1小时多点。那么机器多了怎么办?光盘不够怎么办?等等问题就来了。

    我的办法是,我一看TMD全部是DVD,IBM的机器直接佩combo,公司给我们发的全部是CD,娘的,典型的没有最慢只有更慢,出了问题闲你慢的领导班子。于是只好自己出钱买了DVD,用软件把RAID,网卡,显卡其他驱动做到光盘里,需要安装的软件也直接做成自动安装的方式,补丁也刻录到光盘里(我们要求补丁必须单打,不能安装集成补丁的ISO,shit),这样弄,你只用把光盘往光驱里一丢,分区一分,就可以下一台机器了。然后等你在去关注这个机器的时候,已经可以设置IP插网线了。灵感来自番茄花园。吼吼。

    当然这时候你最好是买个KVM,16口的KVM,一次准备16张光盘就可以用一套键盘鼠标操作16台机器。当然啦,KVM是可以级联的,我最牛一次一次一套键盘安装166台机器。郁闷的是,塞光盘塞死,插KVM线插死,配置IP配死,有时候还会弄错……

    办法2,你可以用NETKVM去远程安装,但是你插那些NETKVM的线路,2000个插下来,爽不?然后你继续扎KVM和网线的时候,看着和瀑布一样的网线和KVM线交错在一起。估计直接崩溃。远程KVM有的牛x的是可以分发ISO的,就是传说中的远程分发安装。可以自己买一个研究研究了,我们公司以人为本,从来不买这类高科技。

    办法3,我犯贱时候发明的:我们的机器全部是RAID1,于是我安装一台raid1的机器,系统全部安装好,然后拔掉一个硬盘,插上一个新硬盘自动恢复镜像,基本10来分钟恢复好一个硬盘,插到机器上去。这样,还是比装系统来的快。当然啦,型号是一模一样的……

    办法4,HP的ILO2功能,实现远程分发。前提你得一台一台配置好BIOS里的ILO2。也是蛮痛苦的。IBM和DELL现在也都有这个功能,但是你在分发以前,还是得一台一台机器插上网线,配置好BIOS的IP,痛苦。然后把操作系统和机器的驱动程序和后续的软件全部做到一张DVD里,让他自动运行。然后所有的服务器远程运营这一个ISO,最好多弄几台,否则一台机器弄的慢死。

    办法5,绝对最简单的办法!!!就是买机器前,让厂家给你在硬盘里灌好系统,和你买笔记本一样,打开是个安装完成需要你输入序列号的系统。但是弱点是后续的软件需要自己装。因为服务器厂商是不会帮你安装别的软件的。

    还有更多的办法,只是暂时没想到,大家也可以谈论自己的办法。互相交流嘛。(51CTO编辑注:其实现在已经有很多无人值守安装系统的管理软件,比如KickStart和现在流行的Cobbler,都是不错的批量安装工具,而且都是开源的。现在都追求自动化,希望越来越多的运维们将不必面对一台一台装机的困扰)

    所以我喜欢linux,可以用N种办法安装系统。

    windows就是个让IT人当装机男,挨踢人当民工。

    好了系统装好了,电源线和网线连接完,和瀑布一样的。这时候还是尽量把他扎一下吧。

    否则机器通风不畅,会导致热死。

    简单办法就是电源线扎一边,网线扎一边。有钱的公司可以买个网线序号标,没钱就自己拿胶布标。

    你可以随便扎,或者和给你老婆梳头一样,好好扎。哈哈

    插交换机的时候,从上往下,从1-24往后,这样网络异常,数一下就知道了。

    想来想去这里也没啥值得关注的地方。所以就几行带过。

    五,资产统计

    假如你的机器只有2000台反而好容易管理了,但是现在我要管理的全国IDC有31个,平均每个机房有不同品牌服务器1500台。

    一共大约有45000台的样子(我的资产管理系统里的数字,不包含交换机,防火墙等)

    这时候怎么办?

    每季度和财务小MM一起出去旅游盘点IDC资产,幸福啊……(我们财务小mm很PL的哦)

    到了机房就是我一个人干活点资产,小mm带着大口罩,披着双层的放辐射服……

    可怜我们这些干活的,短裤背心,IDC里一呆就是好几个月(IDC办公室就在机房边上……),不知道精子被辐射杀死多少……

    1,必须有资产管理系统,虽然这个其实是个很简单的数据库,但是你可以把每一台机器的品牌,硬件信息,操作系统信息,购买年限,质保年限等,你非常关注的东西做一个详细记录,并配发同一的资产编号。

    比如我们的资产号,FWQ-123456

    服务器-123456,这是一个总的资产号,这个服务器哪怕搬到美国,也是这1个资产,直到丢失,或者抛弃,都是这一个资产,永远不会变。

    比如我现在的板凳就是一个资产号是:服务器-000010的一个4U服务器,配置是P2300*2  256M内存 16G硬盘×4

    购买时间是1999年10月,从中维修过1次,升级过1次,在哈尔滨机房-广州机房-河南机房-北京网通机房-上海公司内部测试机房-上海库房服役过。

    有历史吧…….

    2,送到机房

    看过我这个服务器去过的地方,羡慕不?见证我们公司的发展史。9年过去了,终于成了我的板凳……

    服务器在购买合同确定以后,就应该按照配置记录资产,并且在财务备案,资产编号一定和财务记录相同。这样这个服务器走到哪里,都有备案和记录。现在要把这个服务器送到某个机房去,搬着走吧……汗

    送到机房,我们要给服务器按照财务给的表格粘贴资产编号,选个顺眼的地方,不会磨损的地方。

    一般是机器正面某个地方,然后是机器屁股后面某个地方,然后机器侧面把手的地方,粘贴3个,以防掉了就烦了。

    然后在粘贴这个机器的应用资产号和IP标签:

    应用资产号举例:FWQ-SH-XX-B31-WEBSERVER  意思是:服务器-上海-xx机房-B列31号机柜-web服务器

    IP标签举例:外123.234.123.234内10.0.0.1。这2个标签你可以分开也可以在一张标签上写清楚。

    并且在安装服务器的时候。把FWQ-SH-XX-B31-WEBSERVER-123-234  把这个作为你的HOSTS信息,windows里叫做计算机名

    这样远程上来都非常清晰自己在哪个服务器上,出问题时候也非常容易找到这个机器,不要闲麻烦,一切的麻烦都是为了以后快速的解决down机问题而做的。

    当然啦,甚至在密码管理上你也可以用这个规则来设置密码,但是最好规则别让别人知道了……

    3,把这些信息全部录入你的资产管理系统

    系统无非服务器名,IP信息,用途,机架位置,或者是否在使用一类的,我就不多讲了

    4,资产系统软件交互,也可以说是监控系统。

    企业可以开发一个软件,在装机的时候安装到服务器上。然后资产管理系统定时去取服务器上的信息,比如网络流量,CPU内存硬盘负载一类的东西,这样你的资产管理系统又变成了一个监控系统;

    当然啦,你也可以在资产系统里集成一个远程桌面管理系统,自动载入用户名和密码,还有随机码,就可以登录系统。省的还得管理服务器密码。

    然后用户的访问权限不同,看到的节面权限就不同。

    比如说,监控人员没有登录权限,或者IDC人员没有登录权限一类。权限分配你自己研究好了。

    5,还是IDC的工作。

    话题继续回到我和财务小mm去盘点(你公司比较大的话,你可以多派几个人分开去各个地方……)

    小mm一看我们机房服务器黑压压的一片,铺天盖地的,直接无语。为啥,因为要拿着资产表一个一个核对,面对几千个机器,直接晕倒。

    虽然按照资产管理系统里导出的信息,机柜号,IP号,机器从上到下的顺序都非常精确,但是你一个一个核对,还是慢。

    怎么办?

    库房管理的工作用上了,哈哈。你买服务器或者买笔记本电脑的时候有没有注意到箱子上的条码?

    那个条码非常清楚的记录了这个机器的详细信息。所以黑莓手机或者NOKIA手机(别的我没用过)都有扫描条码的功能……好像与主题无关……

    那么剩下的就简单了。

    去买个这种条码标签的打印机,编辑成自己需要的条码,一个一个贴好,上面有你所有需要盘点的信息……

    比如我们是从资产到机柜号到服务器名字到内外网IP都要盘点……小崩溃

    打印出来贴上去。然后买个扫描枪,和超市那种一样,不过你要买有存储功能的,否则你要端着笔记本去扫描,SB了。

    然后我和财务mm本来需要一个人念号码一个人核对(你要直到在机房里大喊资产号,喊一天的结果是啥,自己想),现在一个人拿一个扫描枪,按照规则一个一个扫描。完成后把数据导出后重新整理分析。直接和数据库核对(当然这个也需要你自己开发),核对完成生成一张表。

    表上写的非常清楚你哪个机架没有哪个机器,哪个机器不在特定的位置上,哪个机器缺少……等等

    这样比如说,机器位置不对扣5块钱工资,机器IP不对扣2块钱工资,或者……反正扣到最后……这月不给发工资了,还得倒贴点……哈哈哈

    六,监控架构

    监控架构其实每个地方都有自己的做法,我也知道我的办法不是很先进,但是仍然拿出来和大家一起讨论

    首先谈谈监控软件,一说起这个常用的东西MRTG,cacti一类的就都可以用了。只要稍微归类一下,流量展示看的还是很清楚的。

    要是要监控服务一类的,那就只好启用大名鼎鼎的nagios,和一些牛x人基于这个做的一些别的商业软件。

    或者就是自己做个脚本去定时探一下,不通了给你发邮件了啥的,你vim一下nagios的chack_xxx,学习一下里头人家探测的办法,自己也能搞出来个啥东西,都还是很不错的了。

    作为IDC工程师,我们所要关注的东西就是个流量了,我们要很清楚某台65下的某台35上每个口的应用,当遭受攻击或者流量异常的时候,一眼就能知道是怎么回事。我不相信你天天看着10M的流量,某天突然一下给你来个80M,你说这是正常事件吧。哪怕正常,你也找相关的人确认一下吧,一个100m口跑 80M,估计电信的人都来找你了。

    每天看着这些流量图是很枯燥的事情,那么我们没事只能想办法让他自动报警给我们了,于是EMAIL报警,然后把他发送到一个有手机提示新邮件的邮箱,你手机就有了。MSN报警,还是不错的吧,手机报警一类的办法都是不错的。这样你你可以和我一样放心的去打网游了。

    这里只谈经验,不谈详细的技术,因为我一说我的系统架构地球人都知道我是哪个公司的了,虽然已经离职,但是咱也有个职业道德,谢谢。

    当然了,有些公司是有网络监控部门的。但是我就一直在想这个问题,所有的数值都可以用短信报警,你随时都可以收到信息。用这个部门干啥,让一群可怜的家伙 8小时一动不动盯着屏幕,公司又在他们电脑上安装了抓屏软件,上班事件聊天上网就扣钱……我估计他们每天最期望的事情也莫过于服务器挂了,可以给我们打个电话重启个服务器或者连到服务器上检查一下啥问题,重启个服务了啥的。当然了,这些兄弟最后的职业方向也只能是进入运维部门了,至少公司服务器宕机维护的流程性东西掌握的非常熟练了。但是这是用好几年时间换来的经验,太……所以我是奉劝兄弟们有发现监控部门招聘人,就别去了吧。面前8台显示器,猛一看还以为是黑客帝国呐,结果仔细一看全tmd是流量图。常年对着8个显示器,那个辐射……

    我就不清楚设置个节点,出现问题告诉人,人去操作会死啊,非要让人和机器一样一动不动的盯着显示器,TMD,官僚。虽然我没经历过,但是想也能想到。做SA,最大的要点是懒,把一些需要人做的事情都自动化……但是话说回来,我公司以人为本,人海战术嘛,可以理解。

    上面的帖子位子已经满了,下来的帖子在这里写。

    企业实际面对的一些问题

    我大概通读了veyron 大侠的文章,认为系统架构方面的我绝对不如他。我就不在这里卖艺了,那么我卖企业都会实际面对的一些问题。

    1,自动化,流程化你的信息管理

    为什么要自动化,这年头流行办公自动化,你丫没事还拿着工单四处签字,老土了吧。

    为什么要流程化,这念头流行流程管理,假如你公司没有一个固定的流程管理,出了事情,大家都不知道怎么做,各个部门的电话乱打,大家都一锅粥没有效率。所以,未雨绸缪,在没有出问题的时候,模拟出问题,多多准备,建立规范的流程,公司的每个人都要遵守,这样,流程化的管理+办公自动化,大家只用在电脑上翘翘键盘,点击确定,流程就发出去,一路审批,OK,流程发送到做事的人地方,也许这个做事的人在美国,也一样方便。

    上面说的是一个原理和意思,用这样的理念去管理你的服务器应该如何去做?当然了,你假如只有10来台服务器,就不用考虑这个了…….

    首先服务器采购录入资产管理系统(详细见上面有写),服务器的去向和调度都在管理系统里有提现。

    这里说的是:如何去上架,维修,下架等流程控制

    先说上架下架:服务器到机房以后,别人要用服务器怎么办?先可以到你的资产管理系统里,看你机房还有什么配置的机器多少台,然后让他们选择自己项目服务器的配置,数量。在流程管理系统中,把这些机器选中,生成一个表单,表单名字为xx项目上架需求,写清楚谁用,做什么,数量,哪个机房等。然后提交给他们部门领导,他们部门领导同意后,转给需要审批的领导,一层层下来,流转到我们部门领导,我们部门领导流转给部门机房员工,员工收到流程,检查上架下架服务器;如要上架,安装完系统后填写IP,机器名,机架等相关信息。如要下架,删除相关信息,提交给流程控制的人员,流程控制人员确认后,这个流程完成。届时,所有的人审批过的数据,经手人,数据库里都有,出现什么问题找相关责任人,一下就找到了,省的和某些XX部门JJYY。

    维修也一样了,机器坏了,或者需要重装系统,按照上面的流程,一步步走一遍,就可以了。年底统计机房一天要干多少活,省的某些领导认为机房人TMD都在闲着。机房的人呢?没有流程不干活,否则白干。

    在流程系统里重启服务器,重启服务器要是要流程,就太慢了,那么你可以做一个绿色通道,写清楚原因,重启哪个机器,直接提交给相关机房人员,在你的流程系统里绑定一个短信网关,机房人员可以收到需要重启服务器的短信。准确无误。

    这样代替了无纸化办公,既有自己做的事情的每一个记录,又有相关人员管理,可以量化自己的工作,免得年终奖的时候xx人有说你干的少,发的少。你把记录拉出来对比对比就知道谁多谁少了。

    2,如何升级你的服务器

    服务器老了,或者需要加内存加硬盘,怎么升级。

    虽然说是很简单换个CPU,加个内存,加个硬盘很简单。

    但是,如何控制你的配件不丢失,确定的安装到机器上利用了呢?

    简单,在服务器上做一个探测服务器配置的客户端,每天探测一次硬件配置发送到资产管理服务器上。

    与资产管理系统的硬件配置做对比,出了问题就报错发一封邮件到机房工作人员,抄送流程控制人员一封就可以了。

    至于的加内存的时候注意型号啥的问题就不说了,大家应该都没问题了

    要说的是,假如你一个机柜上放的机器比较多,比如4个6个机器一摞,恰巧坏了,恰巧一个人在机房,非得解决,怎么办?

    简单,一个办法,但是还是需要你有力气,虽然有力学原理

    比如有4台服务器,最下面的坏了,

    你可以拽住最下面的把4台一起往出拉,拉出来一点,把上面3台往后推,这样一点一点的拉出来,

    下面最关键:

    拉到最后,前面要留出来一点,轻轻的把上面3台的尾巴着地,然后一只手抬住上面3台机器,一只手拉出下面一台机器。

    上面3台一定要留出来一点,否则放下的时候,机器和机柜托板会压住你的手,你一松手,机器震一下,硬盘就挂了……

    所以在推进去的最后仍旧要留一点在外面,最后放下来了再推进去这最后一点。

    然后就可以换或者加内存了。相对比较省劲,不危险,不会压倒自己,不会砸坏服务器的办法就是这样了。

    展开全文
  • 运维工程师都在做什么?

    万次阅读 多人点赞 2016-06-08 10:23:06
    运维到底需要做哪些工作?网络,系统,安全,存储,测试,研发……全都要会!
  • 近期本公众号有读者留言写道:步入33岁门槛,运维专业功底不是很硬,很迷茫,不知道自己的价值在哪里,希望找到找到前进的方向。这条留言对小编的感触很深,时间可能是人类最不愿意...
  • 这个话题是一个刚入运维行业的小伙子来问我,因为刚参加工作,可能部分经验不足,问到如何能够做好一名运维工程师呢?其实,只要用心去做,沉淀,仿佛也并没有那么难。运维工程师,大...
  • 点击上方“民工哥技术之路”选择“星标”每天10点为你分享不一样的干货最近由于新公司需要招聘运维人员,所以接触了大量应聘者,基本都是85后的年轻人。在他们身上看到年轻的活力,也看到浮躁社会留下的烙印。作为一...
  • 运维工程师和实施工程师的区别

    千次阅读 多人点赞 2019-02-18 11:00:27
    运维工程师和实施工程师的区别:工作内容不同、职能不同、工作形式不同 一、工作内容不同 运维工程师要对公司硬件和软件进行维护。 硬件包括:机房、机柜、网线光纤、PDU、服务器、网络设备、安全设备等。 实施...
  • 什么是运维工程师

    千次阅读 2018-09-19 10:30:06
    很多人问我什么是运维工程师,在这给大家分享一个图片。希望能帮到你!!!
  • 运维工程师主要工作是做什么?

    万次阅读 2019-05-09 20:16:27
    由这两句话推演运维工程师要学些什么? 一、保障业务长期稳定运行 出一点点差错,用户就要投诉了。 1、业务跑在什么上面? 网站服务器一般是apache,nginx,tomcat等。但是真正跑通流程还需要Mysql数据库来存储用户...
  • 运维工程师都在做什么

    万次阅读 2018-10-01 00:28:51
    下面是运维工程师至少要能做以下的工作: 1,网络工程师的工作 你至少要能配置CISCO 6509以下的设备,熟悉各种网络协议,否则网络出问题的时候你会傻掉。 2,系统工程师的工作 你至少要理解各种系统服务,在出...
  • 这个是一个运维工程师简历模版,另外还有这个是一个运维工程师简历模版,另外还有很多其他岗位的简历模版,可自行查看.很多其他岗位的简历模版,可自行查看.
  • Linux运维工程师简历项目经验

    千次阅读 2019-12-06 00:36:38
    如何做好一个合格的运工程师,运维工程师前景怎么样呢?就这些问题,与大家交流一下。首先对于运维工程师的要求是十分严苛的了,运维工程师不但要针对不同的问题做出响应,而且需要不断的补充自己的知识面,并不继...
  • 运维工程师-简历

    万次阅读 多人点赞 2018-09-17 13:46:35
    姜博文 基本信息 ...运维工程师 | 全职 | 浙江杭州 | 8K-12K | 毕业院校 郑州轻工业学院 | 网络工程 专业技能 操作系统 Redhat、CentOS、Ubuntu 服务应用 Nginx、LVS、HAProxy、rsyslog、My...
  • windows运维实战视频从零基础讲起,做到全方位技术提高,内容包括Windows Server 2012 R2概述、安装与基本环境设置,本地用户与组账户的管理,建立Active Directory域,NTFS磁盘的安全性与管理,访问网络文件,...
  • 1、熟悉Linux(redhat/centos等)操作系统原理,包括进程、网络及IO等子系统,熟练掌握常用的Linux命令;2、熟悉docker容器技术,了解容器集群管理工具(Kubernetes、Mesos、Marathon、OpenStack至少熟悉一种);...
  • 转行做linux运维工程师,首先要了解linux运维要做多少事情,需要什么基础,然后根据自己的情况进行有的放矢的追踪学习。先了解下做linux运维工程师需要做的事情 1.熟悉linux命令基本操作,玩不转基本操作别的都是...
  • 系统运维工程师.docx

    2019-08-12 13:00:36
    简历中主要描述软件运维的方式和方法!仅作参考
  • Linux运维工程师学习成长路线

    千次阅读 多人点赞 2019-12-14 20:52:46
    作为互联网的幕后英雄,Linux运维工程师长期隐匿在大众认知范围之外,关于运维的讨论仍旧是一片无人涉足的荒漠。在某知名行业研究调查结果中,非互联网从业者对于运维相关问题的回复有三个高频词汇是:不知道、没听...
  • 一、什么是大型网站运维? 首先明确一下,全文所讲的”运维“是指:大型网站运维,与其它运维的区别还是蛮大的;然后我们再对大型网站与小型网站进行范围定义,此定义主要从运维复杂性角度考虑,如网站规范、知名度...
  •  以我的个人经验而言,要想做好运维工程师,你至少要能做以下的工作:   1,网络工程师的工作   你至少要能配置CISCO 6509以下的设备,熟悉各种网络协议,否则网络出问题的时候你会傻掉。   2,系统工程师...
  • 运维工程师面试题总结

    万次阅读 多人点赞 2019-05-17 19:36:04
    运维工程师面试的相关问题 一、下面是这家公司中的岗位要求说明: 职位描述: 1、 负责应用服务器的安装、配置、优化与维护; 2、 负责应用系统的日志信息备份、管理、维护与分析; 3、 负责应用系统的日常监测于...
  • 运维工程师工作内容整理

    千次阅读 2019-11-06 15:29:19
    @# 运维工程师工作内容整理 总结两句话: 1、保障业务长期稳定运行(如网站服务器、游戏服务器等)。 2、保障数据安全可靠(如用户名密码、游戏数据、博客文章、交易数据等)。 由这两句话推演运维工程师要学些什么...
  • 运维工程师

    2016-07-03 10:14:53
    很多刚学linux运维的朋友,总是搞不懂,运维工程师工作中干些啥?学的这些东西有什么用?今日我特来总结总结,希望能帮助即将跨入该行的人形成一个整体的思路。下面红色字体代表所要掌握的LInux免费开源工具。  ...
  • 运维工程师前景

    万次阅读 2016-12-17 00:57:19
    只是随着云计算时代的来临,传统运维岗位可能会大大减少,而掌握云计算方面运维工程师将会迎来新的天地。 结合上面说的互联网环境,加上最近几年的经历,让我觉得云计算遮天蔽日的现在,技术行业受到最大的冲击...
  • 运维工程师技能图谱

    千次阅读 2019-06-01 21:17:42
    运维工程师技能图谱分享,以思维导图的形式进行归类,希望对你有帮助。 下载地址 运维工程师技能图谱
  • 系统运维工程师笔试题目--答案版,详细题目000
  • 一名运维工程师的第一个五年

    万次阅读 多人点赞 2018-02-22 16:44:45
    一直以来,我都知道尊重他人的时间,明白人与人之间的差异很大。我希望别人理解自己,也常常花很长时间去了解、理解他人。从我的职业特性来讲,就好像计算机一样,通过不断迭代、升级概念与方法论来升级自己的操作...
  • 运维工程师考试试题 适合笔试使用 运维工程师考试试题 适合笔试使用

空空如也

1 2 3 4 5 ... 20
收藏数 67,879
精华内容 27,151
关键字:

运维工程师