首页 > 其他分享 >SRE Google运维解密 第二章

SRE Google运维解密 第二章

时间:2023-12-09 18:22:24浏览次数:27  
标签:数据中心 Google 运维 SRE 机柜 任务 实例 Borg 服务器

第二章 Google生产环境:SRE视角

Google 数据中心与其他传统数据中心和小型服务器集群相比非常不同。这些差异有好处也有坏处,本章将详细讨论 Google 数据中心建设中遇到的机遇与挑战。

硬件

数据中心(供电系统,制冷系统,网络系统,计算机硬件)

image

  • 约10台物理服务器组成一个机柜(rack)
  • 数台机柜组成一个机柜排(row)
  • 一排或多排机柜组成了一个集群(cluster)
  • 一般来说,一个数据中心(dataCenter)包含多个集群
  • 多个相邻的数据中心组成了一个园区(campus)

管理物理服务器的系统管理软件

在一年内,一个单独集群中平均会发生几千起物理服务器损坏事件,会损失几千块硬盘。需要将硬件故障和实际业务用户隔离开来。

管理物理服务器

image
Borg的下一代:K8S

Borg 负责运行用户提交的 "任务"(job),每个任务由一个或多个实例(task)组成。当Borg 启动一个任务的时候,它会为每一个实例安排一台物理服务器,并且执行具体的程序启动它。Borg 同时会不断监控这些实例,如果发现某个实例出现异常,其会终止该实例,并且重启它,有时候会在另外一台物理服务器上重启。

因为任务实例与机器并没有一对一的固定对应关系,所以我们不能简单地用 IP地址和端口来指代某一个具体任务实例。为了解决这个问题,我们增加了一个新的抽象层。每当Borg 启动某一个任务的时候,它会给每个具体的任务实例分配一个名字和一个编号,这个系统称之为 Borg名称解析系统(BNS)。当其他任务实例连接到某个任务实例时,使用BNS名称建立连接,BNS系统负责将这个名称转换成具体的IP 地址和端口进行连接。举例如下,一个BNS 地址可能是这样一个字符串: /bns/< 集群名>/用户名>/<任务名>/<实例名>,这个BNS地址最终将会被解析为 IP地址:端口

Borg 还负责将具体资源分配给每个任务。每个任务都需要在配置文件中声明它需要的具体资源(例如: 3CPU核心,2GB 内存等)。有了这样的信息,Borg 可以将所有的任务实例合理分配在不同的物理服务器上,以提高每个物理服务器的利用率。同时 Borg 还关注物理服务器的故障域(failure domain)属性。例如,Borg 不会将某个任务的全部实例都运行在某一个机柜上。因为这样一来,机柜交换机将成为整个任务的单点故障源。

如果一个任务实例资源使用超出了它的分配范围,Borg 会杀掉这个实例,并且重启它我们发现,一个缓慢的不断重启的实例要好过一个永远不重启一直泄露资源的实例。

存储

image

  1. 最底层由成为 D 的服务提供(D 代表磁盘 Disk)
  2. D上面一层称为 Colossus,Colossus 建立了一个覆盖了整个集群的文件系统。Colossus 是 GFS 的改进版本。
  3. 构建于 Colossus 之上,有几个类似的数据库服务可供选择:
    1. Bigtable 是一个 NoSQL 数据库
    2. Spanner 可提供 SQL 接口以及满足一致性要求的全球数据库

网络

我们希望能够将用户指派给距离最近的、有空余容量的数据中心处理。我们的全球负载均衡系统(GSLB)在三个层面上负责负载均衡工作:

  • 利用地理位置信息进行负载均衡 DNS 请求
  • 在用户服务层面进行负载均衡
  • 在远程调用层面进行负载均衡

其他系统软件

分布式锁服务(chubby):使用Paxos协议来提供分布式一致性

监控与警报系统:Borgmon 监控程序实例。Borgmon 定期从监控对象抓取监控指标(Metric)。这些监控指标可以被用来触发警报,也可以存储起来供以后观看。主要有以下几种方式使用监控系统:

  • 对真实问题进行报警
  • 对比服务更新前后的状态变化:新的版本是否让软件服务器进行得更快了?
  • 检查资源使用量随时间的变化情况,这些信息对合理制定资源计划很有用

软件基础设施

RPC:Stubby,gRPC

Protocol Buffer 是 Google RPC 的传输方式,通常简写为 Protobuf,与 Apache Thrift 类似

研发环境

开发后,提交改动申请(changelist,CL),等待代码评审

标签:数据中心,Google,运维,SRE,机柜,任务,实例,Borg,服务器
From: https://www.cnblogs.com/lhxBlogs/p/17891286.html

相关文章

  • 谷歌地球引擎浏览器Google Earth Engine Explorer对栅格图像加以监督分类
      本文对谷歌地球引擎(GoogleEarthEngine,GEE)的网页界面式应用程序接口GoogleEarthEngineExplorer加以详细介绍,并基于其进行地物监督分类这一具体应用。本文是谷歌地球引擎(GoogleEarthEngine,GEE)系列教学文章的第一篇。  GoogleEarthEngineExplorer,简单来说就是将Googl......
  • openstack中运维操作的命令
    1:keystone运维管理的选项有域,项目,用户,角色,服务,端点这些操作首先域是用户和项目的集合,所以创建项目的时候要指定域,删除的时候也要指定域,但是在创建用户的时候需要指定域,删除用户的时候不需要指定域格式:openstack操作的对象动作一些简单的运维:创建一个用户并分配这个用户一......
  • 传统IT运维与信创运维:在变革中守护企业数字化之路
    信创运维的发展前景非常广阔。随着国家对自主创新的重视和信创产业的快速发展,越来越多的企业和组织开始关注信创运维,并加大对信创运维的投入。同时,随着数字化转型的加速和IT技术的不断发展,信创运维的技术水平和服务质量也将不断提高。信创运维的技术水平和服务质量不断提高首先,国家......
  • 金融行业IT运维管理软件的需求与选择
    金融行业对IT系统的稳定性和安全性要求极高,因此IT监控运维管理软件在金融行业的应用较为广泛。监控易在金融行业拥有众多成功案例,帮助银行、证券、保险等机构实现IT资源的全面监控和管理。在金融行业,IT系统的稳定性和安全性对于业务运行至关重要。IT监控运维管理软件可以实时监控IT......
  • 运维平台WGCLOUD 如何监测交换机的端口状态 UP | DOWN
    WGCLOUDv3.5.0开始可以监测交换机或SNMP设备的接口状态了,直接上图......
  • google chrome remote debbuging vulnerability
    FormofexpressionThefirstislinpeas.shintheprocessofdetectionfoundthatthereisaremotedebuggingofgooglechrome.thephenotypeandanalysisareasfollows:let'sscrutinize./bin/bash/usr/bin/google-chrome--allow-pre-commit-input-......
  • IT运维产业的数据驱动变革与国家数据局的战略影响
    随着数字经济的崛起,数据已经成为一种全新的生产要素,其重要性日益凸显。2022年,我国大数据产业规模已达1.57万亿元,同比增长18%,数据要素正在成为推动数字经济发展的重要力量。而在这样的背景下,国务院关于提请审议国务院机构改革方案的议案中,组建了国家数据局,这一举措将中国数字要素管......
  • IT运维产业在大数据驱动变革下的应用建议
    以下是针对IT运维产业在大数据驱动变革下的一些具体实际应用建议:1. 利用人工智能和机器学习技术实现自动化运维:通过利用机器学习算法对系统日志进行分析,可以自动化地发现故障和预测系统的性能瓶颈,提高运维的效率和准确性。同时,通过引入人工智能技术,可以实现对用户行为的智能分析和......
  • 网工内推 | 国企网工、运维,厂商认证优先,13薪,带薪年假
    01中百集团招聘岗位:运维工程师职责描述:1、对集团内使用云计算架构(Kubernetes)的系统进行规划、运维及管理相关工作。2、对集团数据中心系统的大数据基础架构(ClouderaDistributionHadoop)的规划、运维及管理相关工作。3、对集团数据中心机房、信息数据安全、网络安全的规划、建设、......
  • openGauss学习笔记-146 openGauss 数据库运维-备份与恢复-配置文件的备份与恢复
    openGauss学习笔记-146openGauss数据库运维-备份与恢复-配置文件的备份与恢复146.1背景信息在openGauss使用过程中,如果静态配置文件无意损坏后,会影响openGauss感知openGauss拓扑结构和主备关系。使用gs_om工具生成的静态配置文件,可以替换已经损坏的配置文件,保证openGauss的正......