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


IPMI
RedFish
RedFish标准由DMTF组织的SPMF论坛维护[3]。它的初始提出者和IPMI初始提出者几乎一样,为Intel,HPE(HP拆分),Dell和Emerson。在标准订立之初,就设定了以下目标:
- 安全
- 高可扩展管理(Scalable)
- 人类可读数据界面(Human readable data)
- 基于现有硬件可实现
第四条十分浅显易懂,也就是现在支持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还需时日,同时支持两者也保证了过渡的平滑性。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/214444.html原文链接:https://javaforall.net
