开发者学堂课程【企业运维之弹性计算原理与实践:【视频】-《ECS 进阶概念-运维》】学习笔记(一),与课程紧密连接,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1039/detail/15305
【视频】- 《ESC 进阶概念-运维》
内容介绍:
一、课程简介
二、ECS 远程方式
三、ESC 元数据&自定义数据
四、ECS 云助手
五、云助手功能演示
六、实例演示(一)
七、Sysak 工具
八、实例演示(二)
九、ECS 系统事件-概述
十、ESC 系统事件-事件状态
十一、ECS 系统事件-应用场景
十二、ECS 系统事件-事件处理
十三、ECS 进阶概念2
十四、实验-远程连接排查(方式一)
十五、远程连接排查(方式二)
十六、远程连接排查(方式三)
十七、CPU 指标
十八、排查案例
十九、案例排查演示
二十、小结
本课程主要包括了解云上系统事件,问题排查,ecs运维以及演示四个部分。
一、课程简介
1.团队介绍
目前,专家服务团队,主要是负责像之前是做linux运维,包括应用的一些运维动作,现在主要是在负责ecs 这些专家服务,包括重保的一些大型的活动,也会参与一些技术上的保障,以及提供一些技术的一些解决方案。
目前的个人的一个方向,主要是在研究 linux,利和,可能会去看一些这方面的东西,主要的方向在 upgrade。其实在 linux,在做专家服务,对整个链路也是比较了解的,擅长的领域在 svs,整体个的一全链路ecs的SOS的包括到后面的gest到后面的 host 到后面的跨存储到虚拟化,整个电路上也是比较熟悉的,也包括ecs之前有介绍到的管控,包括控制台下单,购买,整个流程的链路都是非常熟悉的。
目前,主要计划介绍云上的 ecs 的基础的一些运维动作,运维在云上和IDC它之间有什么样差异,以及云上的运维,带来一些什么样的便捷的一些东西,大概介绍这些基础。
2. 课程目标
(1)、了解云上
首先介绍目标,课程学习完之后,希望大家能达到,第一了解云上事件,通常会有客户推一些事件,ecs可能存在什么风险,可能需要用户侧关心什么,事件是什么问题。
(2)、问题排查
然后常见的问题的排查,比如CPU使用率较高,这些很常见的问题,无法远程,这些是非常常见的问题。在这种问题,在云上和在以前IDC有什么区别,就比如以前IDC,可能要接显示器去看,可能在机房显示器接上去,然后看一下哪些服务不正常,去查一些无法远程,如果服务器支持带外管理,可通过带外管理的方式去排查。
(3)、云上演示
在云上怎么样去管理?后面也会做一些介绍解和演示,然后看一下云上认识上的区别,最后熟悉整个的排查的流程。
这是本节课的一个大概的目标。
3. 课程目录
目录大概其实简单介绍一些,在这次课程分享中,可能不只是介绍概念,介绍到一些地方的时候,会直接在控制台直接去实际操作一下,看一下操作是怎么样。演示一下,让大家更有感官的去了解到差异。
二、ECS 远程方式
先介绍一下第一课,因为前面介绍是基于 ecs 的一些架构,一些基础介绍,可能还没有涉及到一些实际的操作。本课会从技术的操作开始介绍,第一个,ecs,购买一个ecs 之后,么怎么去连接,是一个基本的操作。
1. 介绍
(1)、Linux
上面介绍到了远程一台机器,可以通过带外的一些管理,idc的机器,然后通过一些远程的协议,比如linux的ssh或windows的一个rdp,通过公网去连接或者通过内网去连接,总之是择网络去连接,那么云上其实一样的,它是提供这样一些linux值,相比于那种传统的那种idc,它可能没办法让客户接个显示器去看,去排查,或者去连接物理级的一个带外的管理,是没有提供的,是不提供的。
都知道linux其实是在虚拟机。所以,对于客户,是没办法去通过传统的方式去管理这台物理机的,对于客户看到的它一台虚机。然后云上,同样提供了很多很多方式去验证,除了常见的,还有比如Ssh,还有WINDOWS rdp。
(2)、Windows
云上提供了一些便捷的工具,比如workbench,workbench可以把它理解成它也是一个远程的客户端,但客户端,它可以支持ssh协议和idp协议,而且提供的一个方式,可以走内网全连接,它会在后台vdc打通一个内网的连接,所以,可以通过内网去连接。
这样有什么好处?很多用户,也可能知道,在管理比如海外的机器,管理美国的法兰克福,在大陆管理的时候,从国内连过去,可能会经过跨境电路,整个的延时会非常高,其实如果用workbench,中间其实workbench会有一个做的一个代理的功能,相当于workbench连过去,稳定性会比直接通过公网去连接会稳定很多,是它的一个优势。
而且它是云上原生集成的,它在控制台界面,可以直接提供一个入口。这workbench 这一节。
vnc,可能不了解vnc是什么?可能对于物理机接显示器概念应该是非常明确的,物理机可以显示器去看一下当前是在什么界面,所以,云上会考虑到客户管理不物理机,那么一旦ssh或者workbench连不上的时候,有很多情况,比如ssh协议sse服务可能起不来,断了或者网卡配置有问题,网络不通,传统的通过网络去连接的协议,这种方式是没办法去管理的,但是VNC它就相当于是物理机接一个显示器,可以通过在ecs它没有启动的情况下,没有启动成功,或者网络断了的情况下,通过VNC可以直接连上去看到concern界面样子。
然后vnc,其实它和自己去安装的一个vnc是不一样的。v n c是通过什么方式来的?是通过物理机,在物理机上会有一个虚拟化的一个管理软件,它有物理机的workbench,是通过在n c层面,在物理级层面会给它做一个代理,如果用过keepweb应该知道,keepweb它本身提供了一个vnc功能,在物理机启动了之后可以在keepweb配置上,可以配一个vnc的端口和密码,那么它会监听对应端口,通过vnc的客户端去连接就可以了。
那么,云上通过把方式集成到网页上,让客户直接可以在界面去连接到ecs,然后去做一些排查动作,而且像这种问题,遇到是非常多的,经常有客户ecs法启动,或者不小心把网卡设置成down,那么可能它都没法登进去,那么情况可能直接可以帮客户去登陆方式,然后进行排查,或者给他一些建议去让他去做一些这种方面的排查。
是远程的一个方式,先不演示,后面会做实验。
(3)、workbench
下图刚才提到的,workbench 问题,是在控制台上面的,直接可以点击这样一个按钮就可以选择内网或者公网,直接去连接就好,连上去之后确实和大家使用的ssh是一样的,其实一个网页版的ssh工具。
(4)、VNC
然后下图 VNC 的一个特点是可能没有ssh那么方便,可以直接ctrl v,ctrl c,vnc可能就没法直接复制,是一个差异,但是它对连不上机器的时候的情况,可以很好的去做一个排查。是它的一个缺点和优点
2.ESC 弹性辅助网卡
下一节相对于ESC的弹性辅助网卡的功能,ESC弹性辅助网卡是什么?
(1)、多网卡/多私网ip
比较有感官以前那些服务器,可能会有多张物理网卡,可以接很多张网卡,每个网卡可以分配一个IP地址,可以让不同的业务绑到的网卡上给业务方使用,云上其实也考虑到有很多用户有这样的需求,比如私网要十多个IP的不同业务,可能要绑到不同的私网IP上面,然后提供对外的一个服务。
就诞生了弹性网卡的功能,功能在控制台可以直接创建一张虚拟的网卡,网卡就像就像在物理机上插一个USB设备一样,可以把它挂载上去,挂载到区间里面,挂上去之后,可以给网卡分配一个或者多个私网IP,然后去根据业务需要自己去绑定,这是ESC弹性网卡一种应用场景。
还有一个场景,比如有两台业务,两台机器,部署的是同一个业务,那么传统做高可用的情况下,可以挂一个sab,它可以主备模式,或者是两个模式同时用,这双活的一个模式,这其中一种方式。
(2)、故障转移
那么另一种做的故障转移那种方式,可以把ecs从异常的机器上的热插拿下来,然后绑到另一个机器上,那么IP的流量相当于就引过去,这样也可以实现一个切换,云上有很多种玩法,相当于是其中的一种玩法。
(3)、直通模式
另一种一种直通模式,如果玩过一次ecs,可能知道vpc,买一台ecs之后,在机器内部只能看到一个私网ip,那么即使是买了有公网的机器上,也是私网ip在机器内部。
那么它流量是怎么过去的?流量是在公网的地方,直接映射,相当于做了一个for a little方式直接映射过去的!直接映射到ecs,ecs转发到主网卡的内容IP上,然后通过这种方式取得。
这种方式,它其实有优点有缺点,比如看不到在机器里看不到公网IP那么很多业务,比如一些音频的业务,比如VIP或者sip协议,它需要直接绑一个可见的公共ip上去。这些特殊业务需要公共IP才能够直通的机器内部,业务可能需要去感知IP,那么这种情况下,可以使用en I的一个直通模式。
直通模式可以在en I上面再绑一个公共IP,然后选择直通模式,然后应该绑到ecs上,相当于它就可以直接在enS内部去配置公共IP的使用。是它的一个直通模式。
然后是网卡,网卡这里其实还有很多玩法,比如可以配置一些ipv6,这些东西就先不介绍,或者可以配置多个公共ip,一个机器配置可以配置两个公共ip,访问两个ip都在一个机器上,那可以绑两个直通模式,可以绑定多个,甚至不用直通模式,直接用私网ip,私网的eni 直接使用,eip也可以用late的模式,都是可以的,可以自己去玩一下,确实很有意思。
三、ESC 元数据&自定义数据
1.元数据概念
然后下一个章节,元数据。元数据是什么,之前应该也介绍了,元数据可能对比如文件系统应该比较了解,在机器内部去存一些文件,那么,文件在文件系统里面会存一些元数据,比如它的I load一些数据它的基本信息,叫做元数据,那么相对ecs来它一个实例的元数据是什么,实例规格,实例的region,实例的id,那么这些都是叫做实例的元数据。
2.元数据使用场景
而元数据怎么用,它有些什么用处,就比如下面截图,可以通过访问一个地址,那么可以去拿到有些元数据,那么通过指令对应的url,比如想在机器内知道它的eip是什么?或者知道它的网络类型是什么?想通过去获取它的运行id。
可能会想这东西用来做什么?在业务部署的时候,可能会有些业务是需要去感知到一些基本配置的,比如网络类型是 PC 还是其他。比如要做一个自动化部署脚本。脚本可能要去服务器去取东西,机器可能需要判断一下在哪个region,然后选择对应的一个地址去下载,这可以通过这种方式获取 region 在什么位置。然后再根据region 去拼接对应的一些 url,来获取到,来实现指定地址去下载要部署的软件包。
是一些应用场景,下图中数据这样,截图里面只有一部分,其实还有很多,比如v pc 的 id,或者私网一些信息,包括一个主机序列号,这些都是提供的,所以在地方是可以去直接去拿到这些元数据,拿到之后,根据自己的业务情况,然后决定到底怎么去用?都是很自由的。
3.自定义数据
另一个是和元数据差不多类似的一个功能,一个自定义数据,自定义数据是什么?user data ,user data是什么?是可以用户自定义的一个数据,这里面的东西通常做什么,可能会有些业务需求,就比如先看一台机器,希望它自动去完成一些配置,新开一个机器可能要让它自动加入到的一个k8s集群来,加入一个容器集群里面,可能传统的一些方式没办法做,其实如果有user data的时候,是可以把自动的一个执行脚本,放到user data里面去,user data其实是在ecs首次创建执行的时候,首次创建开机的时候回去执行,而第二次重启,是不会再执行的,所以,可以比如写好一个脚本,是测试的,写了一个脚本之后,做了一个动作:把它写了一个文件,写了一段日志,然后打的日志打到文件里面去,然后在开完机之后新建ecs完成之后,它是执行的。这user data,演示本身其实没有什么意义,只是做一个演示。
4. 自定义数据应用场景
其实应用场景很多,包括阿里云现有的ack容器集群,在购买的时候比如要添加节点,它在新开机器添加节点的时候它自动加进去,它其实是在元数据里面做了东西的,放了一个脚本,脚本它自动去执行容器环境的初始化以及加入集群的一些动作,来达到自动化的目的。这里举一个例子,云上的一个非常简单的应用。根据自己的需要,这些东西可以完全是自定义的,所以没有那么死板,支持windows支持crl,支持Linux系统,支持power shell,支持p处理,这些都是可以支持的。这是自定义自己去应用。这ecs的一个数据。
四、ECS 云助手
1. 批量执行命令
剩下一个云助手,下一个是云上提供的一个运维工具叫云助手。大家可能会比较了解社区里面有一些工具叫angela,stack这些东西是一个批量执行命令的一个工具,当然工具可能需要去做很多配置,很多配置去去管理一些主机,就云助手上原生提供的一个东西,默认开机器的时候它都会把云助手自动装上去,装上去之后,其实在its s的一个控制台,就可以去通过云助手。云助手在机器装一个类似于这种agent,在机器内部装一个客户端,客户端它会和server保持一个长连接。当心跳连接发出来之后,建立起来之后,控制台就可以看到实例是在线的。
2.使用
下图一个云助手,可以看得到ecs的一些东西,比如两个机器,可以看到它是运行状态,云助手是正常的,说明客户端其实是运行的。下图还有在线的一些服务器。
(1)、功能
那么可以用它来做什么?传统的一些运维,一台机器,十台机器,可能手动去搞一下,运维就可以,但是云上,当业务量增长到一定程度的时候,比如几十台,上百台,甚至的上千台的一些规模,那么怎么去批量运维?人肉肯定是不现实的,可以通过这种方式,要执行一个什么东西的时候,可以直接在下图地方,比如试一下,可以创建一个命令,直接测试一下,比如一个东西first name。后来就可以选择机器,选择两台机器。点执行,执行完之后,任务相当于这就下发下去了,等待任务,命令用很简单,它的一个执行效果,就比如点开可以拿到它的first name是什么?这台机器的 first name 是什么?产品两台机器都是选了,如果选十台,选100台,那么它就100台批量下发下去。
(2)、注意
但过程当中,也要注意,因为它是批量执行的,而且可能在下发命令的时候,命令要做一些审核之类的,不要误操作下发一些删除,或者这种比较危险的一个动作,动作下去可能一个灾难性的一个动作。当然,带来带来便利的同时,肯定它也是存在一些事宜,那上面介绍的,可能需要严格控制一下自己的一些下发的命令是什么。
然后它过程大概大概过程,上面提到的,创建命令,然后执行命令,查看结果,这些是一些基本的操作。
3.生命周期
然后除了手动去下发执行,其实也提供了很多,比如自动化管理的一个定时功能,就比如有些任务,可能需要定时去触发一下,常见的做法比如在contact里面,可以加一个任务,定时去执行,但是可能要每台都去操作一下,而且它是命令行的黑屏的,黑屏操作起来没有那么友好,然后那其实在云助手里面提供了一些定时功能。那就比如刚刚创建的时候,就可以选择是立即执行还是什么情况,执行脚本的内容是什么选择好,超时时间设置好,然后是否要加一些定时执行的任务,地方都是可以选择的,周期执行相当于自己去控制,非常自由的一个东西。
比如有些场景,遇到一些客户,可能需要做一些安全审计,可能需要每天定时的去检查机器上的进程,是否符合的一个安全的一个审计要求,可能写一个脚本的,每天定时去跑一下,其实这就可以了,就可以拿到这些效果。
然后包括定时去更新一些软件包,也可以用到这样一些功能,应用程序,肯定要定时去更新一下,每天去检测一下,服务有没有发布,有发布就拉下来,然后执行一个更新。这些都是可以去做的,就相当于上面提到的软件的一个周期管理。管理软件的一个周期。
4.部署代码/应用
然后剩下一个部署代码。也了解可能有一些 cs d, csd 的工具它可能直接会把代码从的cloud仓库里面直接拉下来然后,做一些构建构,建完成之后,那么再给它发的服务器,去部署执行命令,其实,云助手提供一个基础的功能,那么,有很多客户可能会有自己的一些运维的一些管理平台,自动化率平台,那么它可以对接云助手,那些代码构建完成之后,可以把它放在哪里,然后调云助手去执行命令,到linux 把那些需要的软件,包括全部拉下来。然后做一个自动化的一个部署,实现这样一个应用的自动化发布,这都是可以做的。而且语音助手是云提供了API接口,可以通过API调用,控制台可以通过API把语音助手集成到业务系统,当需要去掉。命令执行的时候,就可以直接下发到云助手,让它去执行,这都是可以提供很多种对开发对接的一些功能。云上的云助手。





