你写的还可以,但是这个,我再啰嗦,我当时其实我们也不是说用手动去做这个事情,我当时是问你一个问题,就是说如果是厂商给你的是 IPMI, 但是 IPMI 一些高级功能它也不会专门,因为 IPMI 都是通用的。通用功能大家都是厂商都是通用站,几乎人人都有。那么只只有一些高级功能,这种是特别这种运维特别喜欢的一些功能,它又不放在这个 IPMI 里面,因为因为很难做。就比如说刚才那个 remote virtual media 这种东西。它要放在外部服务里面,或者是放在别的里面。那如果它是放在外部服务里里面,你要怎么去自动化呢?这当时就是个问题。所以我们要去把这个外部服务等于是把它这个链接啊, URL 啊,或者说这个它里面的,当然它它是经过了一系列登录啊要那个 user user password 这个,写 cookie 啊, session 啊等等,就相当于说我要去写程序去模仿这个这个叫做人的操作,但实际上又不是人的操作,因为你实际上这个外部服务你只要找对了这个 URL, 找对了这些参数,找对了这些东西,就是 HTTP response 就能够去实现一个就是自动化,对不对?相当于说,但是我们又是一个 C 加加的程序,我们要去等于是写一个 HTTP 的 client。 端去相当于去相当于是个浏览器,我去访问远程的这个 Web Server, 就是服务器上的这个 Management Port 上开的这个 Web Server, 然后找对那个参数,找对那个页面,找对那些这些这些配置。所以这很多时候就变成是一种类似于黑客的行为了。因为你正常的它是设计给 user 去用,是 menu 是手动去操作的,但是你要去服务去操作,就相当于说自动化去操作,你说用脚本操作也行,你说用程序,用 C 加加程序去操作也行,就是这么一个道理。那很多时候你要去,就是要去开那个叫什么 Wireshark, 去等于是去抓那些流量包,去,因为都是加密的嘛,很多你你这个 HTTP 这个浏览器里里面加密的这些,它到底这个有些验证,它有时候是在这个不仅仅是你登录到这个网站,这个 web po- 配置这个登录,而是有额外的这种密码,额额外的这种安全性验证,它有一些额外东西,是不是你要进入它等于是转入到另外一些细节。总而言之等于是类似于去破解它这个这个网站,等于是要去做它的自动化。那还有一些 IPMI 它有些功能它没开放。就是我也忘记了,最早是说要给一个等于是一个副电源,就是 ox, 就是附加电源,去更新它的固件,这个要怎么做?这个它在 IPMI 里面有一个特殊的命令,因为这些厂商都是,它最简单的就是在 IPMI 里面增加一个 CLI, 一个一个新的参数,一个新的就可以做很多功能了,就说等于是说我要改一个什么参数。但是如果说是要要上传一个 firmware,要去等于是要去把这个 BIOS 这个 firmware 这个电源的 firmware,你要通过 IPMI 上传给这个这个某一个主板上的某一个。设备等于是一个,它不是 PCI 的设备,它是一个,我想想看,是一个通过串口方式连接的,因为你 BIOS 都是通过串口方式去烧录进去的,它里面是那种也是个小的存储,就是相当一个 WROM 相当可擦写的 EEPROM, 你要去写这个 EEPROM, 那么要通过 IPMI 去把这些 firmware 等于是一个 binary 的 data, 要去包装起来去传输上去。 IPMI server 它有特殊的协议。厂商自己定义的几个魔 Magic number, 然后, OK 它就给你,当中把这个数据里给你传进去。
是啊,那个时候我把 IPMI 还是搞得挺熟练的,就是当时的那个 IPMI 的那个标准, ISO 我都忘了,现在全都忘光了,几乎都全,从头到尾都看了,从头看了好多遍,然后很多章节是一点点去抠的,因为这个 IPMI 的这些协议,就那 ISO 的这些都是,也是很难啃的。因为这个东西就是很多就是它是一个一个比特一个比特,有不同的这个信息代表不同的状态,它也是里面是个状态机。这个 BMC 后面这个怎么去解析它?有各个厂商,服务器厂商支持又不一样,有的支持,有的不支持,有的支持又实现又不一样,就是跟,对同一个标准协议,那支持也是有各种不同的。实现方式,所以这也是一个黑魔法,就是地方。如果是很多厂商, IPMI 基本的都支持,但是高级功能是在 IPMI 里面装不下,或者说没法装。你比如说远程安装操作系统,这个在 IPMI 上就就很难去支持。有的是我都忘了那个东西是什么了,你可以相当于是一个流,但是它的传输速度还是不够,所以很多厂商是也不是用 Redfish 去支持。 Redfish 只是一个有的有有 REST API 去支持。那么操作系统安装有的是用那种叫做远程开一个,相当于开一个镜像让你,可,我我几乎完全忘记了,说你本地相当于开了一个服务。你可以把一个磁盘镜像,就 ISO 镜像,一个 CD 镜像上传到他的那个服务,或者说不叫上传吧,你把你这边的一个服务在一个 DHCP 服务器上的,等于设定一个这么一个镜像。然后可以依赖这个厂商开了一个,就可以用这个去装,安装操作系统。算了,这些东西我都想不起来了,我跟你讲你可能也听不懂,变成是喃喃自语了。