01行业介绍和计算机基础

01行业介绍和计算机基础

1.基础概念

img
运维工程师的责任

  • 提升效率
  • 控制成本
  • 发布管理
  • 变更管理
  • 备份恢复
  • 灾难演练
  • 系统分析
  • 技术选型
  • ……

要让上级看到你的价值,才能防止被优化

2.运维工程师晋升通道

2.1 运维工程师岗位变化

img

2.2 运维工程师的技能树

2.2.1 基础技能

  • 深入理解Linux系统
  • 熟悉shell编程
  • 掌握Linux中的用户体系,权限体系,文件体系
  • 掌握Linux中的磁盘管理,进程管理,服务管理
  • 掌握各种常见文本编辑工具
  • 熟悉相关网络协议和各类工具
  • 能熟练搭建web server服务
  • 熟悉各类编程语言的运行环境
  • 熟悉一样两种主流数据库
  • 熟悉版本控制欲版本管理工具
  • 熟悉一两种主流公有云

2.2.2 高级技能

  • 熟悉各类自动化运维工具
  • 书序各种开源监控平台
  • 熟悉存储网络服务
  • 熟悉ELK套件
  • 熟悉虚拟化技术
  • 熟悉容器技术
  • 掌握一两种编程语言
  • ……

3.现代IT业务基本组件

包括但不限于

- 基本组件
	- 消息服务
		- 邮件
		- 短信
		- IM
	- 运维与监控服务
		- ansible
		- zabbix
		- jenkins
	- 日志分析服务
		- elk
	- 任务调度服务
		- azkaban
	- 版本管理服务
		- git
		- gitlab
	- webserver服务
		- nginx
		- apache
	- 搜索服务
		- elasticsearch
	- 高速缓存
		- redis
		- memcache
	- 网络服务
		- DNS服务
		- 负载均衡
	- 存储服务
		- 对象存储
		- 存储网络
		- CDN
	- 业务逻辑运行容器
		- PHP
		- JDK
		- python
		- nodejs
	- 数据库
		- MySQL
		- oracle
		- db2
		- tidb
	- 大数据服务
		- hadoop
		- hive
		- spark

4.云时代的环境部署和运行模式

云时代的环境部署有以下特点:

  • 服务部署直接从软件环境开始
  • 节省大笔硬件支出
  • 云端提供了大量的SAAS服务和半成品服务
  • 基础服务有保障,稳健性和健壮性好
  • 不用担心资源不够用
  • 对全球化业务部署友好,能快速部署到全球各地机房
  • 社区活跃,云厂商提供了各种运维和监控工具
  • 行业蓬勃发展,各种新的技术和工具层出不穷
  • 细分行业开始出现,运维工程师的职业发展前景更广阔,这是机遇,也是挑战

挑战方面:

  • 技术发展日新月异,更新迭代快,学习的东西多
  • 细分服务出现,业务链路越来越长,越来越复杂,不可控性和不确定性增多
  • 从单机到集群,从运维到开发,对运维工程师的技能要求越来越高
  • 在云时代,运维工程师管理的机器数量越来越多,系统越来越庞大,责任也越来越重大

5.计算机硬件方面

5.1 远程管理卡

IPMI平台,可以监控温度、电压、风扇工作状态、电源工作状态等。远程管理卡有自带和独立两种,建议配备独立管理卡。

5.2 阵列卡

用来实现RAID级别,方便将若干硬盘驱动器按照一定的要求合并、组成为一个整体、由阵列控制器管理的系统。

支持多种RAID级别

5.3 热插拔技术

热插拔技术,称为热交换技术,允许在不辊机的状态下更换故障热插拔设备,其与2RAID技术配合起来,可以使服务器在不关机的状态下恢复故障硬盘上的数据,同时并不影响用户对数据的使用。

6.操作系统和Linux

由刚开始的单一程序进化到多种程序并行,即可理解为嵌入式=>操作系统的变化。

6.1 操作系统的功能

  • 硬件驱动
  • 进程管理
  • 内存管理
  • 网络管理
  • 安全管理
  • 文件管理

6.2 操作系统的相关概念

  • 接口

操作系统一般会提供两种接口:

窗口界面

命令行接口

  • API

应用程序编程接口,定义了源代码和库之间的接口,因此同样的源代码可以在支持这个API的任何系统中编译

  • POSIX

可移植的操作系统接口,不同的操作平台上都有相应的接口,方便源代码的编译

相当于是一套代码,两个平台编译

  • 系统调用和函数库

系统调用:调用操作系统所提供的API来实现某些功能的行为

库函数 :将提供一些特定功能的代码进行封装,只暴露出一些函数,提供给第三方调用,那么这些函数,就称为库函数

  • 用户空间和内核空间

用户空间

用户程序的运行空间,和内核隔离

内核空间

可以执行任意命令,调用系统的一切资源

  • 编程语言

低级语言:

机器语言:二进制

汇编语言

高级语言:C|C++|JAVA|C#等

6.3 Unix

兼容分时系统Multics

为了玩游戏,开发了Unix

1969年,Unix雏形

1973年用C语言正式命名为Unix

1979年开始商用

6.4 GNU

目标:编写大量兼容于Unix系统的自由软件

最后,GNU的系统仍未实现,但GNU提供了大量的软件,Linux提供了操作系统内核,这就是GUN/Linux的来源

6.5 开源Open Source

6.5.1 开源

软件和源代码提供给所有人,自由分发软件和源代码,free自由,不是免费的意思

能够修改和创建衍生作品

软件分类:

  • 商业:收费,源码也不公开
  • 共享:免费使用,但源码不公开
  • 自由:源代码公开

6.5.2 开源协议

img

7.Linux相关

Linux/GUN=Linux内核+GUN软件

7.1 Linux的哲学思想

  • 一切都是一个文件(包括硬件)
  • 小型,单一用途发展的程序链接程序,共同完成复杂的任务(shell脚本)
  • 避免令人困惑的用户界面
  • 配置数据存储在文本中

7.2 虚拟机安装Linux(省略)

posted @ 2025-12-08 14:08  小茗同学study  阅读(7)  评论(0)    收藏  举报