MAAS中的节点没有在LAN上唤醒

我正在尝试在MAAS集群中添加节点。 我使用Ubuntu 14.04 LTS在VM中设置MAAS Server。 我完成了安装后的任务,如安装MAAS,配置网络,DHCP-DNS,创建登录,导入启动映像,如下所述:

  • http://maas.ubuntu.com/docs1.5/install.html
  • http://maas.ubuntu.com/docs1.5/cluster-configuration.html

在节点的BIOS中,我确实更改了引导顺序,以便它从LAN引导并通过atuo detect节点function从MAAS集群控制器成功启动从PXE引导,并且MAAS DHCP服务器从其DHCP范围向节点提供IP地址(在这个过程中,我第一次从电源按钮开启节点,而不是从MAAS开启节点)

完成上述过程后,机器现在在MAAS中显示“已声明”,节点自动断电。

已经在节点上配置了唤醒lan的详细信息,只是为了确保一切正常我在手机应用程序上测试了Wake-on-lanfunction,并且没有任何问题。

现在我从菜单中检查了“委员会”,但调试没有从节点中提取额外的信息(节点因为MAAS没有将魔法数据包发送到节点的唤醒局域网而关闭)但是如果我在显示后通过我的移动应用程序打开我的节点很多行再次节点断电然后节点在MAAS中显示我的“就绪”状态但是当我检查节点CPU和RAM细节时,它显示0MB 0CPU。

完成上述任务后,MAAS显示节点状态已准备就绪,然后我尝试从MAAS启动节点,它说“操作”委员会选择的节点“无法在1个节点上执行,因为其状态不允许该操作”。

主要问题:节点唤醒在我的移动应用程序上100%工作,但是MAAS没有从第一步向节点发送魔术数据包。 MAAS,Node和Mobile之间没有防火墙。

重要提示:我正在使用MAAS DHCP进行整个网络,因此我可以使用MAAS DNS从手机浏览互联网。

我刚刚发现MAAS使用Etherwake或Wakeonlan来启动节点,如果使用电源类型wake-on-lan

默认情况下不会安装它们,也不是MAAS的依赖项。

只需从标准的Ubuntu仓库安装Etherwake或Wakeonlan

 apt-get install etherwake 

要么

 apt-get install wakeonlan 

然后,当您使用MAAS手动添加节点时,请使用带有MAC地址的wake-on-lan电源类型,并在保存节点后立即开始派对!

我在以下文件中找到了相关信息,看看:

 /etc/maas/templates/power/ether_wake.template 

你可能不需要wakeonlan和etherwake。 /etc/maas/templates/power/ether_wake.template中的wakeonlan模板首先检查wakeonlan,如果未安装wakeonlan,则检查etherwake。

我发现如果我使用etherwake,我的服务器会醒来,但不会使用wakeonlan。 etherwake默认使用eth0。 我的maas服务器需要使用em1,所以我在模板中的etherwake命令中添加了“-i em1”选项,但是maas仍然无法唤醒我的服务器。

发现更多。 etherwake使用udp,它要求它以root身份运行,而不是maas用户。 修复方法是将以下行放在/etc/sudoers.d中的文件中

maas ALL = NOPASSWD:/ usr / sbin / etherwake

并调整/etc/maas/templates/power/ether_wake.template中的以下行:/ usr / sbin / etherwake $ mac_address to:sudo / usr / sbin / etherwake $ mac_address

或者如果你需要使用eth0旁边的东西:

sudo / usr / sbin / etherwake -i ethint $ mac_address

这似乎不适用于我的系统的MAAS 2.2.2版,所以我写了一个修复程序,基于以前版本的修复程序

https://github.com/yosefrow/MAAS-WoL-driver

按照README.md中的说明进行安装

基本上,只有etherwake在我的系统上工作(而不是wakeonlan)所以我重写了插件以使用etherwake。

Interesting Posts