想当年(其实就是前年)硕士期间给导师上架服务器到学校机房,其实主要就是EDA服务器(用于跑IC设计软件),是第一次面对占地半个楼层的机房(之前的眼界也就是几十台机器的网吧)。那种感觉,想象一下,你来到一个钢铁森林,Funcy的灯光闪烁。你正想欣赏这充满科技感的奇异景象,忽然同时有几千只蝉在你的四周聒噪,仿佛你是个大号母蝉,那声音就像有两架黑鹰直升飞机 武值10在你身边起飞。一开始是有新鲜感的,后面由于实验室经常有人使用root命令去shutdown机器(虽然给大家都分配了账户,但是看起来大家都想对服务器有满满的控制欲呀),所以要经常申请去机房启动某些Dell机架式服务器,也就变得异常烦躁了。曾经的服务器管理确实需要进行现场管理,当CPU死机,ssh不响应的时候,拿上笔记本,推上带有键鼠和蹩脚显示器的小车去到服务器机架下,现场调试。当然,上面说的这些我在现场都没有,只是带着清华同方的屏幕和鼠标去的。当时心想能不能有自带啥远程开机等操作就可以真正无人值守了。

IPMI

1998年,IPMI的出现让这一切好了不少。由Intel和HP主推的IPMI标准,引入了单独的带外管理芯片BMC:

所谓的带外,是指在CPU这个主计算资源之外。有了这个ARM based芯片加持,和开放免费的IPMI标准,服务器的管理上了一个台阶。IPMI定义了一个所谓的服务器管理的最小集,并标准化了相关命令集合。IPMI消息采用统一格式,它的下层是透明的,可以架构在网络、串行/Moderm接口、IPMB(I2C)、KCS、SMIC、SMBus等不同接口上。如BIOS和BMC之间的IPMI消息是在KCS或者IPMB管道中,而远程控制Console则和BMC通过网络发送IPMI消息。IPMI的引入极大的方便了服务器的远程管理。尽管IPMI标准规定的功能十分有限,但各个服务器厂商则百花齐放,在其基础上扩展了很多实用的功能,包括Remote Console(KVM,注意不是虚拟机世界那个KVM),Remote Media等等新鲜实用的功能。我可以坐在我的cubicle里,把我的笔记本上插的U盘Remote Mount到某个服务器中,更新其中的BIOS或者操作系统,并通过KVM监视进度。太方便了。
但隐患已经埋下,这些繁杂的功能没有统一的标准,各家都不通用,而一个云服务厂商为了保障供应链往往会采购不同的品牌的服务器,从而造成了极大的混乱。IPMI更多的是单点的服务,扩展性(Scale Out)差。而这些仅仅是开始,在它发明的后很长时间,IPMI的管理网络是一个专有的网络,只有授权的用户才能访问,这导致其在开始设计的时候就对安全性考虑有所欠缺。在爆出安全漏洞后,IPMI2.0增加了增强身份认证(RAKP+、SHA-1等),但其后更有别的漏洞爆出。业界呼唤一种新的,重新设计的新标准,一劳永逸的解决这些问题,于是RedFish应运而生,IPMI也在2015年公布2.0 v1.1标准[1]后,不再更新,被RedFish永久代替,Intel也宣布不再维护,号召大家转战RedFish[2]。

RedFish

RedFish标准由DMTF组织的SPMF论坛维护[3]。它的初始提出者和IPMI初始提出者几乎一样,为Intel,HPE(HP拆分),Dell和Emerson。在标准订立之初,就设定了以下目标:

  1. 安全
  2. 高可扩展管理(Scalable)
  3. 人类可读数据界面(Human readable data)
  4. 基于现有硬件可实现
    第四条十分浅显易懂,也就是现在支持IPMI的BMC上,不需要(或者很小)硬件改动,就可以支持RedFish,也就是硬件兼容。安全性依赖TLS-Secured HTTP,也就是HTTPS来保证。高可扩展性通过定义所有的API为RESTful形式的API来完成。REST(REpresent State Transfer,REST),这个概念从Web API而来,相对于传统的SOAP API,RESTful的API定义很简单(如:POST,GET,PUT或DELETE),将对象的状态State,用JSON或XML格式在服务器和Client之间传递,这也是它的名字的由来。
    这些访问的数据格式都是JSON形态的数据。JSON(JavaScript Object Notation) 脱胎于JavaScript,不过这并不代表JSON无法使用于其他语言,它现在迅速成为一种现代数据格式。它比XML简单,也是实现人类可读数据界面的重要手段。关于它我就不展开了,网上资料很多。
    光有RESTful API和JSON格式数据是不够的。RedFish还引入OData,定义了一组常见的 RESTful Schema,提供 API 之间的互操作性。如描述JSON有效负载的模式、URL约定、通用属性等等。
    感兴趣的朋友可以阅读RedFish中文白皮书[4],想追究细节的朋友可以阅读RedFish Spec[5]
    自RedFish在2014年推出以来,几乎所有重要的大厂都已经开启了“红鱼”之旅。如Dell在其iRAC中加入了RedFish[6],SuperMicro引入了RedFish[7]。值得一提的是,国产之光的华为服务器的iBMC中也全面支持了RedFish[8],国产BIOS和BMC领军企业百敖软件自研BMC中也全面支持了RedFish[9]。最后要多说一句,RedFish和IPMI并不矛盾,很多现有BMC同时支持IPMI 2.0和RedFish,有些甚至在IPMI上包装了一层RedFish界面。全面淘汰IPMI还需时日,同时支持两者也保证了过渡的平滑性。

参考:
[1] IPMI Spec:https://www.intel.com/content/www/us/en/servers/ipmi/ipmi-technical-resources.html
[2] IPMI Home: https://www.intel.com/content/www/us/en/products/docs/servers/ipmi/ipmi-home.html
[3] RedFish官网: https://redfish.dmtf.org/
[4] Red白皮书: https://www.dmtf.org/sites/default/files/DSP2044%20Redfish%20%E7%99%BD%E7%9A%AE%E4%B9%A6%201.0.0.pdf
[5] RedFish Spec: https://www.dmtf.org/sites/default/files/standards/documents/DSP0266_1.10.0.pdf
[6] Dell RedFish: http://cdn.tony-yin.site/Implementation%20of%20the%20DMTF%20Redfish%20API%20on%20Dell%20EMC%20PowerEdge%20Servers.pdf
[7] 超微RedFish: http://cdn.tony-yin.site/RedfishRefGuide.pdf
[8] 华为RedFish: https://support.huawei.com/view/PdfRead/EDOC1000126991/SUPE_DOC/k001/document.pdf
[9] 百敖BMC: http://www.byosoft.com.cn/gj5/index.htm

云服务器带外管理-从IPMI到RedFish相关推荐

  1. DELL 服务器带外管理

    ntegrated Dell Remote Access Controller 7 (iDRAC7) http://www.dell.com/support/manuals/nl/nl/nlbsdt1 ...

  2. dell服务器修改带外,DELL 服务器带外管理

    ntegrated Dell Remote Access Controller 7 (iDRAC7) iDRAC6 的作用? 利用它可以完成远程的服务器管理工作如: 服务器开关机 配置BIOS 配置 ...

  3. 联想服务器带外管理怎么进系统,管理 Internet Explorer 中的加载项

    操作步骤: Internet Explorer 11 加载项是 Internet Explorer 用来与视频.游戏等 Web 内容进行交互的应用. 工具栏和扩展也是加载项类型. 一些常见的加载项有 ...

  4. Dell R630 服务器带外管理

    打开管理界面 输入用户名密码 启动虚拟控制台 因为上一步插件类型选择java,下周java插件,启动插件的时候发生点小意外java1.8一直不能成功,下载1.7以后安装成功. 启动控制台

  5. 超微服务器修改带外ip,几个品牌服务器带外远程管理工具的初始配置

    本文记录对几个品牌服务器的带外管理工具的基本配置指令进行记录. 目前主流的服务器都带有带外管理功能,部分品牌可能需要额外购买授权才能使用.带外管理工具的意义在于当服务器系统出现问题,无法使用常规的带内 ...

  6. oracle服务器支持ipmi带外管理,ipmi带外管理

    IPMI的功能 通过web访问IPMI,你可以实现对机器的操作,linux 下可以通过ipmitool 直接访问: 开机,关机,重启,查看机器当前的通电状态 安装系统.有些服务器的IPMI,没有内置i ...

  7. oracle服务器支持ipmi带外管理,ipmitool 带外管理工具用法 及 FAQ

    ipmi tool 工具用法参考文章 IPMItool 实用程序和命令摘要 http://www.opstool.com/article/199 http://www.opstool.com/arti ...

  8. 关于Linux服务器的带外管理,你知道吗?

    日常运维中,我们可能接收别人移交的设备,但由于很多原因,之前的人都未记录相关服务器序列号,未设置的带外地址及带外管理的用户密码等情况,服务器又不能停机维护,有没有办法不重启的情况下,获取到相关信息呢? ...

  9. 曙光服务器I840-G25带外管理

    曙光服务器一般出厂时默认不配置固定带外管理IP,但同时打开了另一扇DHCP的窗.因此,只需要给已经处于开机状态的服务器配置一个DHCP服务器,使其能够自动获取IP,就可以实现带外管理功能. I840- ...

  10. 什么是带内管理和带外管理?

    带外管理(Out-of-band-management)和带内管理(In-b-management)是服务器管理中的两种不同方式.下面,我将为您详细介绍带外管理与带内管理的来源.发展.以及它们的区别. ...

最新文章

  1. 一个效率更高的全半角字符串截取函数
  2. Pandas对不同类型缺失值的转换规则
  3. Android App定位和规避内存泄露方法研究
  4. laravel-admin 安装(总结)
  5. clear java_Java ConcurrentLinkedDeque clear()用法及代码示例
  6. springboot:记录jdbc
  7. 从零开始开发 VS Code 插件之 Translator Helper
  8. MySQL数据类型char与varchar中数字代表的究竟是字节数还是字符数?
  9. 动画学信奥 漫画学算法 CSP-J入门级 (二)、C++程序设计 数据结构(依据「NOI大纲」)
  10. Oracle数据库的增删改操作介绍
  11. 通过servlet来实现对Mysql进行连接、插入、修改、删除操作
  12. vim源码编译启用python
  13. MTK芯片资料分享,2018MTK芯片资料大全
  14. 超美二次元响应式引导页源码
  15. android 申请移动应用的签名生成方法
  16. 车联网中密码技术的探究
  17. V语言04语句表达式
  18. vscode中检查单词是否拼写错误的插件
  19. 网站易用性测试的软件,如何进行“网站易用性测试”
  20. 【linux】循序渐进学运维-基础篇-修复文件系统实战

热门文章

  1. android计算器括号,计算器(一)——加减和括号
  2. C# 使用X509Certificate2获取数字证书信息对接联通沃支付
  3. 详解缠中说禅走势中枢
  4. 自学Java怎么入门
  5. Xcode9 LaunchScreen.storyboard 设置app启动图片
  6. 蓝宝石rx470d原版bios_AMD RX470/570强刷RX580完整图文教程(附文件下载及查BIOS攻略)...
  7. 流畅的python不适合初学者_学习《流畅的python》第一天
  8. Docker的网络类型及驱动器
  9. mybatis分页插件 pagehelper点击末页跳到第8页
  10. Face3D学习笔记(6)3DMM示例源码解析【下】从二维图片的特征点重建三维模型