远程开关机工具
本来想研究一下本机自动开关机(重点是开机),暂未发现自动开关机的工具和脚本程序,只能退而求其次远程工具配置计划任务(如:crontab【linux】或schtasks【windows】)
1. ipmitool
环境准备:设备(通常为服务器)可配置且已配置IPMI(通常在bios中设置)
ipmi常用命令 #注:数字1为通道号【lan】,ipmitool lan print 【数字】,对于有的操作系统,这里可以不用指明通道号【不用输入数字】,而有的操作系统需要标明通道号,通道号一般为1,如果是其他数字,需要手动尝试验证{ipmitool lan print 【数字】}有正常输出则是正确的通道号 ipmitool lan print 1 #查看本机IPMI配置 ipmitool lan set 1 ipaddr 192.168.1.10 #设置/修改IPMI地址 ipmitool lan set 1 defgw ipaddr 192.168.1.1 #设置/修改ipmi网关
Ipmitool user list 1 # 显示 IPMI 用户列表。其中1为channel通道号 ipmitool user set name 3 admin #创建用户,一般服务器有默认的超级用户(如:root,admin,ADMIN) 可以直接修改超级用户的密码。 ipmitool user set password 3 newpassword #创建密码/改密码 ipmitool user priv 3 4 1#设置权限等级,3为用户id,4为用户权限(管理员),1为通道号;设置权限等级时需指定通道,否则不报错也不会成功 或 ipmitool channel setaccess 1 3 privilege=2 #设置权限level,2为普通用户权限 IPmitool user enable 3 #启用用户
ipmitool -H 管理IP -U ipmi管理员账户 -P 该账户密码 power on # 远程开机
Jiri的IPMI界面具有三个选项(专用,共享,故障转移),处于正确的轨道。简短的答案是,是的,您可以使用LAN1代替专用的IPMI端口,并且通常在默认BIOS设置下可以正常工作。无法在LAN2接口上运行IPMI。 这是三个选项的更详细描述: 专用:始终使用专用的IPMI接口。如果要进行最简单的设置,这是您想要的选项,但要以增加电缆连接为代价。 共享:始终使用LAN1接口。如果要减少到每个服务器的电缆连接并了解折衷方案,则可以使用此选项。在幕后,硬件中有一个虚拟交换机,用于将到IPMI卡的流量从到系统其余部分的流量中分离出来。IPMI卡具有单独的MAC地址以区分流量。在现代Supermicro板上,您还可以将IPMI流量设置为在与系统其余部分不同的VLAN上运行,因此可以标记IPMI流量。这种设计有一定的安全隐患。如果您试图将IPMI网络分开,则主系统访问IPMI网络并不困难。LAN1接口发生故障通常意味着您同时失去了主要和带外连接。 故障转移(出厂默认设置):在启动时,检测是否连接了专用IPMI接口。如果是这样,请使用专用接口,否则请退回到共享的LAN1。我从来没有发现此选项的好用处。尽我所知,此设置从根本上来说是有缺陷的-我尚未进行广泛的测试,但是我听说有报告称在许多情况下它都无法检测到专用接口,因为上游交换机没有通过流量-例如,在停电后,如果交换机和系统同时启动,或者在生成树检测期间交换机仍处于阻塞状态。将此与检查仅在引导时进行的事实结合在一起,通常很难控制最终使用的接口。 注:出厂默认设置为IPMI故障转移 在IPMIView中,有三个选项 在Linux上,ipmitool mc reset cold在这种情况下最有帮助,但是由于内核必须处理BMC模拟的设备,就像它们突然从总线上脱落一样,这也会在主机上引起几秒钟的奇怪行为。故障转移的另一个问题是:a)它是默认值,b)它可能会意外使专用边带lan失去连接,c)将bmc直接以有害的方式丢入DMZ。 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 以下原始命令对于阅读本主题的下一个人肯定会很有用。以下为从Supermicro支持部门获得这些信息。: 要获得LAN模式:ipmitool raw 0x30 0x70 0x0c 0 设置专用的LAN模式:ipmitool raw 0x30 0x70 0x0c 1 0 要设置LAN模式板载/共享:ipmitool raw 0x30 0x70 0x0c 1 1 设置LAN模式故障转移:ipmitool raw 0x30 0x70 0x0c 1 2 这些原始值也可以使用ipmicfg(记住要使用-raw代替raw)。 设置所需的LAN模式后,请不要忘记进行硬重启。
装包
yum install OpenIPMI OpenIPMI-devel OpenIPMI-tools OpenIPMI-libs
启动ipmi服务:
service ipmi start
ipmitool远程电源管理
ipmitool -H mgmt_ip -U USER -P PASSWORD power status # 查看状态
ipmitool -H mgmt_ip -U USER -P PASSWORD power [on/off/reset] # 开机/关机、重启
ipmi常用命令
ipmitool lan print #查看本机IPMI配置
ipmitool lan set ipaddr 192.168.1.10 #设置/修改IPMI地址
ipmitool lan set 1 defgw ipaddr 192.168.7.1 #设置/修改ipmi网关
用户管理
说明:[ChannelNo] 字段是可选的,ChannoNo为1或者8;BMC默认有2个用户:user id为1的匿名用户,user id为2的ADMIN用户;<>字段为必选内容;<privilege level>:2为user权限,3为Operator权限,4为Administrator权限; 1. 查看用户信息: ipmitool –H (BMC的管理IP地址) –I lanplus –U (BMC登录用户名) –P (BMC 登录用户名的密码) user list [ChannelNo] 2. 增加用户: ipmitool –H (BMC的管理IP地址) –I lanplus –U (BMC登录用户名) –P (BMC 登录用户名的密码) user set name <user id> <username> 3. 设置密码: ipmitool –H (BMC的管理IP地址) –I lanplus –U (BMC登录用户名) –P (BMC 登录用户名的密码) user set password <user id> <password> 4. 设置用户权限: ipmitool –H (BMC的管理IP地址) –I lanplus –U (BMC登录用户名) –P (BMC 登录用户名的密码) user priv <user id> <privilege level> [ChannelNo] 5. 启用/禁用用户: ipmitool –H (BMC的管理IP地址) –I lanplus –U (BMC登录用户名) –P (BMC 登录用户名的密码) user enable/disable <user id>
网络管理
说明:[ChannelNo] 字段是可选的,ChannoNo为1(Share Nic网络)或者8(BMC独立管理网络);设置网络参数,必须首先设置IP为静态,然后再进行其他设置; 1. 查看网络信息: ipmitool –H (BMC的管理IP地址) –I lanplus –U (BMC登录用户名) –P (BMC 登录用户名的密码) lan print [ChannelNo] 2. 修改IP为静态还是DHCP模式: ipmitool –H (BMC的管理IP地址) –I lanplus –U (BMC登录用户名) –P (BMC 登录用户名的密码) lan set <ChannelNo> ipsrc <static/dhcp> 3. 修改IP地址: ipmitool –H (BMC的管理IP地址) –I lanplus –U (BMC登录用户名) –P (BMC 登录用户名的密码) lan set <ChannelNo> ipaddr <IPAddress> 4. 修改子网掩码: ipmitool –H (BMC的管理IP地址) –I lanplus –U (BMC登录用户名) –P (BMC 登录用户名的密码) lan set <ChannelNo> netmask <NetMask> 5. 修改默认网关: ipmitool –H (BMC的管理IP地址) –I lanplus –U (BMC登录用户名) –P (BMC 登录用户名的密码) lan set <ChannelNo> defgw ipaddr <默认网关>
Ipmitool user list 1 # 显示 IPMI 用户列表。其中1为channel通道号 ipmitool user set name 3 admin #创建用户,一般服务器有默认的超级用户(如:root,admin,ADMIN) 可以直接修改超级用户的密码。 ipmitool user set password 3 newpassword #创建密码/改密码
ipmitool user priv 3 4 1#设置权限等级,3为用户id,4为用户权限(管理员),1为通道号;设置权限等级时需指定通道,否则不报错也不会成功
或
ipmitool channel setaccess 1 3 privilege=2 #设置权限level,2为普通用户权限
IPmitool user enable 3 #启用用户
注:<channel number>通道号,可能需要手动尝试,如果:ipmitool lan print 1 命令输出正常,则通道号为1,否则可继续尝试(0,2,3,4,5.。。。);有的操作系统对通道号要求比较严格,
如阿里龙蜥系统修改ipmi:ipmitool lan set 1 ipaddr 192.168.1.101 #此处的1就是通道号
2. etherwake
环境准备:网卡唤醒功能已开启(在正常关机后,网口指示灯依旧正常闪烁,说明可以被网络唤醒)。
centos系统的net-tools工具里有ether-wake的命令
ubuntu的系统需要直接下载etherwake 的包
ifconfig或ethtool eth0 查看该网卡是否是已开启wol(wake on lan)网络唤醒功能(g为开启状态,d为关闭状态)
可使用ethtool工具(需手动下载)开启网卡网络唤醒功能:ethtool -s eth0(网卡名) wol g
原理:计算机在关机状态时,其实电源还提供给+5V的电压给主板的部分芯片使用, 比如网卡,局域网中的电脑可以发送一个特定的数据包让关机但依然通电的计算机网卡接收,然后进行开机操作
前提:设备开启了网络唤醒功能(同时在板bios和操作系统上启用网卡唤醒)
优点:无需ipmi管理
缺陷:在跨网段(跨vlan)通信上存在很大缺陷,关机太久交换机遗忘设备mac地址后失效,(常在交换机上进行安装atherwake软件)
命令:
etherwake -b xx:xx:xx:xx:xx:xx(网卡MAC地址) -i eth0(网卡名)
或
wakeonlan -i IP地址(或网关地址) xx:xx:xx:xx:xx:xx(网卡MAC地址)