运维的三个阶段:运维基础、运维进阶、高级运维

一、运维基础

基础运维包括七部分:操作系统、存储管理、进程管理、网络管理、shell脚本、服务管理、软件管理及下载。

1、操作系统中主要的是图形用户界面和命令行界面

   图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面,CLI(command-line interface,命令行界面)是指可在用户提示符下键入可执行指令的界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以执行。

2、Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。


二、运维进阶

运维系统中常用的集群如下:

1、Netfilter/IPtables

2、LVS集群+keepalived

keepalived即linux virtual servise

3、nginx集群(外部服务器高性能)

nginx ("engine x") 是一个高性能的HTTP和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 服务器。Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、新浪、网易、腾讯等。

4、haproxy集群+keepalived

haproxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。

haproxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。此模型的弊端是,在多核系统上,这些程序通常扩展性较差。这就是为什么他们必须进行优化以使每个CPU时间片(Cycle)做更多的工作。

5、zabbix、cacti(趋势分析)

nagios用于网络状态预警,状态监测

6、MySQL集群

MySQL 是一个关系型数据库,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。开放源码这一特点。搭配 PHP ,Linux和 Apache 可组成良好的开发环境,经过多年的web技术发展,在业内被广泛使用的一种web服务器解决方案之一,称之为LAMP。

7、tomcat集群

tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

Apache是世界使用排名第一的Web服务器软件。

8、批量安装Linux,PXE+Cobbler


三、高级运维

1、自动化运维工具ansible和puppet

ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。

ansible主要包括以下几部分:

   (1)、连接插件connection plugins:负责和被监控端实现通信;

   (2)、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;

   (3)、各种模块核心模块、command模块、自定义模块;

   (4)、借助于插件完成记录日志邮件等功能;

   (5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。

puppet是一种Linux、Unix、windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件、用户、cron任务、软件包、系统服务等。puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。      

puppet采用C/S星状的结构,所有的客户端和一个或几个服务器交互。每个客户端周期的(默认半个小时)向服务器发送请求,获得其最新的配置信息,保证和该配置信息同步。每个puppet客户端每半小时(可以设置)连接一次服务器端, 下载最新的配置文件,并且严格按照配置文件来配置服务器. 配置完成以后,puppet客户端可以反馈给服务器端一个消息. 如果出错,也会给服务器端反馈一个消息.

2、heartbeat+corosync

Corosync是集群管理套件的一部分,它在传递信息的时候可以通过一个简单的配置文件来定义信息传递的方式和协议等。

3、缓存

主要的三个缓存为:memcached(外挂式缓存)、varnish(页面缓存,效率高)、redis(可以做缓存,特殊数据库)

4、冯*诺依曼结构

冯*诺依曼结构的五大部件:运算器(CLU)、存储器、控制器、输入设备、输出设备;用二进制进行数据存储和处理。

5、计算机语言

机器语言是二进制的,微码语言(ADD MOV等)也叫做汇编器,其底层普适性很强。汇编器相当于翻译器,例如把ADD翻译为二进制码