基于IPMI的虚拟远程串口终端
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
的逻辑单
元。如图l
所示。
当mux
逻辑单元
打向“SOL”
这边时,图 中左上角
图1 IPMI中串口的逻辑单元图
的那个串口连接器就会完全脱离主板的串口控制器和BMc,
连接器已经不能与BMC和系统通讯了。然而,当SOL功能
不使用的时候,BMC会把mux逻辑单元打向连接器那一边,
允许连接器通过IPMI与BMc和系统通讯。
≯-』中罔分类号j孵3 93_:够!_:j_il.变献标识码狲簪童_{:{j薯-董j童爱≯薯--誊≥薯≥。__I譬薯毫--冀叠:____等爱毒≥毫j篓鹫---*警譬麓鍪誊毒.
。“o o —o。
‘-jj。■。-。。。。_o
。r。j r?___∞:io’矗。_.
IPMI Ba髓d Virtual Remote Serial Tenllinal
networks. It reduces large cost of Severs Management,while pmviding a convenient way for AdIIlinist瑚tion.
Key wor‘ls:virtu81 tem_linal;serial port;IPMI;servers management
在大型机房里,服务器的有效管理向来是管理人员不可 避免的一个难题。目前有两种比较普遍的做法:一种是多台 服务器通过KVM,即键盘、显示终端和鼠标,分配器共享一 套键盘、鼠标和显示终端。系统管理员可以通过切换KVM 分配器来实现每一台服务器的单独管理。这种一对一的直接 管理在服务器数量较少的情况下还是适用的。另外一种管理 方式是通过Vnc“ew、PcAnywhere、SsH、Telnet等管理软件在 一部机器上实现多台服务器的集中管理。这种管理可以让集 中管理机器远离机房,从而实现远程管理。然而,这种管理 方式过分依赖于管理软件和服务器上的操作系统。
过来的包会被BMC解开,再以正确的方式送给主板的串口
万方数据
控制器。 SOL的字符数据通过装载在UDP数据包中的SOL消息
传送。包的格式是IPMI v2.O RMCP+负载类型的一种,叫做 “s0L”负载。SOL负载中包含支持SOL消息应答和重试的 域,还有用来支持缓冲池刷新和流控制的域。SOL负载的数 据格式如下表所示
这些命令在IPMI规范中定义。BMc还可记录系统的事件, 对系统进行日志,还有维护系统的传感器数据记录等。
2 SoL设计深入剖析
SOL是Serialover Lan的缩写,它是IPMI v2.0的一个新 加的功能。sOL提供了一种机制,使得远程管理系统的串口 控制器通过基于IP网络的IPMI会话能够重定向到本地。众 所周知,串口是修复系统故障和B10s异常不可或缺的工具。 当机器发生故障时,系统管理人员可以通过串口进行BIOs, 操作系统和网络的相关配置,修复系统。在以往的情况下, 管理人员不得不回到嘈杂的机房,重新接入串口,再进行修 复工作。SOL为管理人员提供了基于IP的远程系统串口的 访问,只要机房内网络不出现故障,管理人员便可以通过任 何一台支持s0L的主机访问发生故障的机器的串口。
:_I_i方便了濂:务器盼监控j管理和故障修凌i蕞约曩机房管理成本誊鼍薯i 0-=-_!=_:冀---_!___!__!-.!_!!_______=__!__!_!__!_:_尊薯j!=___曩_____鼍毫_::_?毫警参毫-一
鼍:关键词j虚拟终端!__:___:串照_!_::SOo l嗍j碾务器管理曩薯i鼍叠__:_:j誊薯i!_!誊-:-≥≤羞:_!薯薯≥爱蓦麓曩---___:羞r警.!鼍ji
要实现SOL的功能,目标主机上必须要装有BMC,而且 要求系统的串口控制器能处理BMC发出的RS一232串口硬 件握手信号。s0L被设计为能够共享系统的串行连接口。这 样,串口的输出信息会被导出到BMc、s0L和系统串口连接 器。为了 实现这个 机制,IPMI v2.O中使 用了串口
multiplexer
作者简介:李彦(1984一),男,湖南岳阳人,计算机应用技术专业硕士研究生。 陈德人(1951一),男,浙江杭州人,教授,博士生导师,主要从事电子商务、计算机图形学、软件等方面的研究。 粱迭明(1980一),男,深圳人,计算机应用技术专业硕士研究生。
收稿日期:2005—2—23
万方数据
.se.疑盛蕊曩圜暖罄嬲
IPMI的核心部件是基板管理控制器(BMc)。这个控制 器一般安装在系统主板或者刀片服务器上。IPMI固件与 BMc一起组成了一个独立于主机系统的管理子系统。该子 系统能在操作系统崩溃或者B10S出错的情况下提供管理和 监控功能。它甚至还可以在系统其余部件不能使用时执行恢 复操作。BMc负载处理各个IPMI功能部件发向它的命令,
_!!_:__服务器薛管理曩雀管理爹组服务器时:j这种方案违线复架i管理混乱;成恭较高蠢为姑j-:本囊提出薄舞糖基蔫IP^@的罐拟0。
:__:_罐程裁谚终端(S0t脑商;&d缸.Q确r瑶h.-nrr两避)。__jl逮种终端基誊1聃E豫∞i的iS9E r设计≯蠢通过il溶豫苟懑标瓤器磅_BMC-
i?交墓j将目标机器上的零@重定商戮厨域两童;谤譬理r零贾提供鬻黉。囊监控≮管疆i__醪鏊攥维系统獭-骥p鹫龄远{罐控制台蠢_!__!-
倘若服务器上的操作系统内核崩溃或者服务器关机等故 障情况下,这种管理方式就会失效。而且这种方案不能配置 机器的BIOs,许多系统启动问题无法解决。IPMI以及s0L 的出现给系统管理人员带来了曙光。IPMI和SOL极大的方 便了系统管理人员对服务器集群的有效管理。IPMI为管理 人员提供了一套跨平台的管理和监控服务器状态的标准接 口。而sOL是IPMl2.0规范中新提出的功能,通过这个功能 管理人员可将远程服务器的串口重定向到本地监控主机上, 为管理人员提供了一个远程的基于字符的串口系统配置终 端,极大方便了管理人员对服务器系统的故障修复。s0L不 仅能实现B10s的远程配置,并且可以远程查看系统启动信 息。
LI Y如,CHEN De-哪,LIANG Da-ming
Abst糟ct:Serial—based management solutioIls are widely used in server environments today. How℃ver,the point—to—point na- ture of this solution is best suited for m舳a舀ng a sinde seⅣer rather than a group or rack of servers.To solve this problem,a virtual re· mote serial teminal(serial Over I肌Temlinal,S0u'e珊)based on IPMI(Intelligent Pla渤珊M明agement Interf如e)is introduced. nis vitual teminal is designed b鹊ed on the new feature SOL presented in IPMI v2.0.n玎ough SOLTernl,adIIlinistmtor caIl access the serial port of the remote server everywhere in the LA N.It pro“de atext—b鹊ed remote co璐ole for setting BIOS,operating systems,and
文章编号:1002—6886(2006)03—0035—03
·35·
基于IPMI的虚拟远程串口终端
李彦,陈德人,梁达明
(浙江大学计算机科学与技术学院,浙江杭州 310027)
_ …
:!__:摘赛:饵萌j在服务器菅理领域i基卡警谚的管理券案被劈--泛应两≥:__然磺;i:!这种方案单砖纂的裁陲徒褥偿.褰遥蕾舞台或.鹰麓__
本文将首先简单介绍IPMI规范和以及它的新特性sOL, 进而深入剖析s0L的设计原理,并且探讨远程串口终端 (SOLl’eHn)的设计方法,最后介绍基于SOL的典型应用。
1口MI简介
1PMI是Inteuigent Pla怕册M锄agement Interfke的简称。 顾名思义,IPMI就是一种智能管理机器设备的标准。IPMI 规范是在1998年由Intel、DELL、HP及NEC四家业界服务器 制造商巨头共同提出的,它提供了一套跨平台的标准接口来 管理和监控服务器的健康状况,如CPu温度、电压、风扇转 速以及主板的一些信息,还可以通过事件日志(sEL)和事件 警报(Alert)等机制告诉管理员系统的状态和故障发生时的 一些珍贵诊断信息。IPMI的最大特点是厂商信息清单查询, 系统状态监控和日志,恢复控制等功能的实现独立于CPu、 BIOS和操作系统。即使系统处于关机状态,IPMI提供的平 台管理功能依然有效,不受影响。
3远程源自文库拟终端设计
s0L Teminal由6部分组成,包括数据传输控制、串行口 控制、sOL会话控制、帮助系统、屏幕输出控制和用户交互处 理。
数据传输控制,负责数据包的接收和发送。其主要功能 有:已发送包记录、发送包收集、发送包准备、包响应超时设 置、包超时重发处理等。由于SOL会话使用uDP封装的RM· cP+包与目标主机的BMc通讯,而不是使用1℃P,所以如果 途中出现丢包,SOL Teminal需要对丢包进行处理。典型的 处理方法是,重发丢包。s0L Temlinal在每次发送数据包到 BMc时都会启动一个发送包响应超时定时器。如果定时器 Time Out、BMC还没有返回ACK包,SOL Te册inal会重发该 包。当然,SOL Temin8l重发包的次数是有限制的。用户可 以事先通过设置SOL session中的Ack-Retry—Times,设置包重 发的次数,同时,可以通过设置SOL session中的AcK—Timer, 设置定时器的超时时间。数据传输控制中还有一个专门的收 集发送字符的缓冲区,当收集到的字符达到一定阀值时,才发 送给BMc。这样可以提高包发送的效率。
SOL通讯的建立过程十分直接了当。一个远程管理应用
程序会与BMc建立IPMI Over LAN的会话。一旦会话被建
立起来,远程控制台便可以激活SOL。如果s0L使用的是共
享串口的模式,那么BMC会将mux逻辑单元打向SOL那端。
如此,任何从目标主板发出的字符都会经过BMC,被BMc打
包通过LAN网络发送到远程控制台。对称的,从LAN传送
串口的数据传输吞吐量和网络接口大不相同,为了保证 数据传输的正确性,SOL提供了对数据流的管理。在串口控 制器这边的流控制由BMC硬件握手完成,而在网络这边的 流控制是由SOL协议完成的。SOL负载中的ACKs和NACKs 指出BMC是否准备好接收新的数据。对于标准的微型串口 控制器,BMc需要知道主板串口控制器的波特率,以使BMc 的串口控制器与主板上的串口控制器同步。所以使用s0L 时需要设置BMc上的串口控制器的波特率与主板上的一致。
SOL被设计为RMCP+协议负载的一种。RMCP(Remote Management Control Protoc01)是由DMTF(Distributed Marlage— ment Task Force)小组定义的一种支持脱离操作系统管理的 远程管理控制协议。RMcP是一种简单的request—response (应答)协议,它通过uDP包传送。在IPMll.5规范中,所有 的IPMI LAN消息都用RMCP包封装。RMcP+是基于RMCP 的扩展协议,它完全兼容RMCP包。它扩展了RMCP的认证、 加密和发现功能,还支持传送额外的负载,比如s0L就是其 中一种。
串行口控制的功能主要是监控和设置目标服务器串口 R喝、c髑、DcD、DTR、DsR等信号线的状态。例如,ipIlli—sol— set』偈一assertable设置CTS清除发送的状态,ipIIli—sol_set— DcD—DsR—asserteds设置数据载波检测和数据设备就绪状态 等。