使用 Dell Drac 进行串行控制台重定向时出现乱码

使用 Dell Drac 进行串行控制台重定向时出现乱码

我正在尝试让我的 DRAC 5 卡执行串行控制台重定向,以便我可以通过 SSH 进入它并访问服务器的 bios / grub / bootup / 控制台。

到目前为止,我可以查看/编辑 bios,但是一旦 grub 启动,输出就会变得混乱。我假设这可能与配置有关(尽管目前我还看不出是什么)。

目前的配置是:

BIOS

  • 通过 Com2 进行控制台重定向
  • 类型 : vt100/vt200
  • 启动后没有重定向

Ubuntu 10.04 上的 Grub2

  • 串行--单位=1--速度=115200--字=8--奇偶校验=无--停止=1
  • 终端--timeout = 30串行控制台
  • (内核行::)linux /vmlinuz-2.6.32-31-server root=/dev/mapper/sys-dom0 ro console=tty1 console=ttyS1,115200n8r

输出本身最终看起来像这样:

��g������Bp)���'����-���C�i))a�R!{���ņ�BC!�

答案1

看起来 bios 和串行客户端使用的波特率与 grub 使用的 115k2 不同。或者字长不匹配。一定是这样的。也许较新的服务器在 Bios 重定向/drac 中默认为(或配置为)115k2,但另一个不是?没有使用 DRAC 或 DELL bios 重定向的经验(我们这里是 HP 商店),我无法确定,但我认为你必须在那里查看,而不是查看 Ubuntu 安装。

答案2

对于任何需要有关 Dell PE 2950 的信息的人,为了让控制台重定向适用于 Ubuntu 10.04 上的 BIOS + GRUB + OS:

  1. 启动时按 F2 进入 BIOS
  2. 在串行控制台设置中:

    • 通过 Com2 进行控制台重定向
    • 类型 : vt100/vt200
    • 启动后没有重定向
    • 速度:57600
  3. 在 /etc/default/grub 中编辑 GRUB 配置

    • GRUB_CMDLINE_LINUX="控制台=tty1控制台=ttyS1,57600n8"
    • GRUB_TERMINAL=串行
    • GRUB_SERIAL_COMMAND="串行 --unit=1 --speed=57600 --word=8 --parity=no --stop=1"
  4. 更新 grub

  5. 创建 /etc/init/ttyS1.conf

    • 停止后启动 rc RUNLEVEL=[2345]
    • 在运行级别停止 [!2345]
    • 重生
    • 执行/sbin/getty -h -L -8 57600n8 ttyS1 vt100
  6. 重启。

答案3

在装有 iDRAC 6 卡并运行 Ubuntu 10.04 (Lucid) 的 Dell PowerEdge 310 上,我能够通过在 BIOS 中进行以下更改来使串行端口正常工作

  • 通过 COM2 进行控制台重定向
  • 型号 vt100/vt200
  • 速度 115200

然后,我登录系统并运行以下 racadm 命令,确保 RAC 的比特率配置为 115,200

  • racadm 配置-g cfgSerial-o cfgSerialBaudRate 115200
  • racadm 配置-g cfgSerial-o cfgSerialBaudRate 1
  • racadm 配置-g cfgSerial-o cfgSerialSshEnable 1
  • racadm config -g cfgSerial -o cfgSerialCom2RedirEnable 1(这似乎与 BIOS 中的重定向启用设置不同)
  • racadm 配置-g cfgSerial-o cfgSerialConsoleIdleTimeout 300
  • racadm 配置-g cfgSerial-o cfgSerialTelnetEnable 0
  • racadm 配置-g cfgIpmiSol-o cfgIpmiSolEnable 1
  • racadm 配置-g cfgIpmiSol-o cfgIpmiSolBaudRate 115200

完成所有这些后,我安装了 init 脚本delerious010建议,但仍然无法通过 DRAC 卡建立到控制台的 SSH 连接。我按照 user92395 的建议,将比特率降低到 19,200 bps,然后,我就能连接到我的控制台端口了。不幸的是,Dell 工具包尚未移植到 Lucid,我找不到源代码,所以我无法运行“syscfg csp”。但我发现,通过修改 /etc/init/ttyS1.conf 脚本并添加运行 setserial 命令的预启动指令,我可以增加比特率并以 115,200 bps 的速度连接。我的 ttyS1.conf 脚本如下所示:

# ttyS1 - getty
#
# This service maintains a getty on ttyS1 for console 
# redirection to the Dell DRAC card.

start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]

respawn
pre-start script
  /bin/setserial /dev/ttyS1 uart 16550A port 0x02f8 irq 3 baud_base 115200 spd_normal skip_test
end script

exec /sbin/getty -h -L 115200n8 ttyS1 vt100

当我有机会时,我将使用 Ubuntu 12.04(Precise)启动该系统并运行 syscfg 命令来查看“msgcommbitrate”变量的值是什么。

相关内容