Idrac远程登录服务器

Linux的环境了,windows的不行。

Dell的idrac其实提供了远程的ssh界面,我们通常用idrac来设置bios什么的,当然如果能通过idrac直接登录服务器那就更好了。

首先普及以下几个概念:

  • tty: Video console terminal (abbreviation for “Teletype”)
  • ttyS: Serial console terminal
  • pts: Virtual console terminal (pseudo-tty or pty but stands for Pseudo-Terminal Slave (PTS))

简单说,tty是带显示器的终端,ttyS是串口终端,pts是虚拟终端。tty接显示器、键盘,ttyS接串口,pst就是远程ssh/telnet过来的虚拟终端。

第一步:修改Dell Bios

dell的bios中关于serial的配置如下图: image-20240115164915483 我们只改前两个就可以了:

  • Serial Communication: “On with serial redirection via com2”
  • Serial Port Address: “Serial Device1 = COM1, Serial Device2=COM2
  • External Serial Connector: “Serial Device1”
  • Failsafe Baud Rate: “115200”
  • Remote Terminal Type: “VT100/VT220”
  • Redirection After Boot: “Enabled”

解释一下:

  • Serial Communication 缺省是 On without Console Redirection,我们需要把所有console的显示都转发到com2上,所以需要改。
  • Serial Port Address 缺省是 Serial Device 1=COM2, Serial Device 2=COM1,如果不改,那么接上物理机上的串口就可以看到登录画面了,这样等于串口1废掉了,万一我们要把物理机上的com1口给留出来备用,插个串口的wavecom modem做报警用,那就傻眼了,所以必须改掉留出com1备用。
  • External Serial Connector 缺省是 Serial Device1,不用改,那么物理机上的com口就是com1了,对应ttyS0。
  • Failsafe Baud Rate: “115200”,不用改,就用这个高的好了。
  • Remote Terminal Type: “VT100/VT220”,不用改,黑白的vt100就很好
  • Redirection After Boot: “Enabled”,也不用改,需要重定向。

当然,用脚本一次搞定更好:

1#!/bin/sh
2sshpass -p "xxxxxx" ssh -oStrictHostKeyChecking=no root@10.8.$1 racadm set BIOS.SerialCommSettings.SerialPortAddress "Serial1Com1Serial2Com2"  
3sshpass -p "xxxxxx" ssh -oStrictHostKeyChecking=no root@10.8.$1 racadm set BIOS.SerialCommSettings.SerialComm "OnConRedirCom2"  
4sshpass -p "xxxxxx" ssh -oStrictHostKeyChecking=no root@10.8.$1 racadm jobqueue create BIOS.Setup.1-1 -r pwrcycle -s TIME_NOW -e TIME_NA  

第二步:编辑linux

编辑/etc/grub.conf 加上以下两行,并且注释掉splashimage,注意speed是57600,不是115200

1serial –unit=1 –speed=57600  
2terminal –timeout=10 serial  
3#splashimage=(hd0,0)/grub/splash.xpm.gz

在kenel一行最后加上

1console=tty1 console=ttyS1,115200n8r  

给个完成版本:

 1default=0  
 2timeout=5  
 3#splashimage=(hd0,0)/grub/splash.xpm.gz
 4serial -unit=1 -speed=57600  
 5terminal -timeout=10 serial  
 6hiddenmenu  
 7title CentOS 6 (2.6.32-504.el6.x86_64)  
 8    root (hd0,0)
 9    kernel /vmlinuz-2.6.32-504.el6.x86_64 ro root=UUID=16154774-dbaf-4fcb-aedb-0513cb65a0eb rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet intel_iommu=on  console=tty1 console=ttyS1,115200n8r
10    initrd /initramfs-2.6.32-504.el6.x86_64.img

修改/etc/securetty,加上ttyS1

 1cat /etc/securetty
 2
 3console  
 4vc/1  
 5vc/2  
 6vc/3  
 7vc/4  
 8vc/5  
 9vc/6  
10vc/7  
11vc/8  
12vc/9  
13vc/10  
14vc/11  
15tty1  
16tty2  
17tty3  
18tty4  
19tty5  
20tty6  
21tty7  
22tty8  
23tty9  
24tty10  
25tty11  
26ttyS1  

编辑 vi /etc/inittab,加一行

co:2345:respawn:/sbin/agetty ttyS1 115200 vt100-nav

1cat /etc/inittab  
2id:3:initdefault:  
3co:2345:respawn:/sbin/agetty ttyS1 115200 vt100-nav  

然后重启服务器,登录idrac , console com2就可以直接登录服务器了:

1ssh 10.8.1.2  
2root@10.16.1.2's password:  
3/admin1-> console com2
4
5Connected to Serial Device 2. To end type: ^\  

用openssh的tunnel建立vpn
Kvm提高网卡效率使用SR-IOV
comments powered by Disqus