如何为 MAAS 配置 Sentry Switch CDU 电源控制?

如何为 MAAS 配置 Sentry Switch CDU 电源控制?

我正在使用 MAAS。我已经能够使用 IPMI 和局域网唤醒来启动节点。对于一些不支持局域网唤醒且没有 IPMI 的节点,我有一个 Server Technology Sentry Switched CDU(当前 7.0p 固件)。MAAS 似乎无法使用 Sentry Switch CDU 选项启动节点。

对于“电源地址”,我输入了 CDU 的 IP。对于“电源 ID”,我输入了第一个插头的 A1、第二个插头的 A2,依此类推。(还尝试了名称而不是 ID)对于“电源用户”和“电源密码”,我输入了 CDU 的凭据。

我需要编辑 fence_cdu.template 吗?有没有更多关于 MAAS 功率控制的文档?我搜索过了,但没找到太多。

我正在使用 MAAS 1.7。几天前进行了更新。

答案1

以下是对我有用的方法。仅供参考,我使用 Utopic 作为我的 MAAS 控制器。我执行的所有操作都是直接从 MAAS 控制器终端或通过 ssh 执行的。

在我提出问题之后的早期解决问题过程中,我将我的 CDU 降级到固件 6.0g,并且尚未将其升级回 7.0p,但如果我这样做,我会在这里评论结果。

无论出于什么原因,在安装 MAAS 后,fence_cdu(Canonical 的 Andres Rodriguez 制作的一款很棒的小程序,可让您从终端管理 cdu)在 /usr/sbin 中不存在。因此,我决定安装 fence-agents,它安装了版本 4.0.7.1-2.1(来自 Utopic 的源代码)。这确实在 /usr/sbin 中放置了几个 fence_ 程序,但不是我需要的“fence_cdu”。我从以下位置下载了各种 fence-agents 包https://launchpad.net/ubuntu/+source/fence-agents检查它们并发现 Precise 之后的版本不包含 fence_cdu。因此,我删除了 Utopic 版本的 fence-agents。

sudo apt-get——purge 删除隔离代理

我关注了https://help.ubuntu.com/community/PinningHowto固定精确版本的 fence-agents,这样 apt-get 就会安装包含 fence_cdu 的版本。简而言之,我创建了 /etc/apt/apt.conf.d/01ubuntu

sudo nano /etc/apt/apt.conf.d/01ubuntu

在 01ubuntu 文件中增加了以下内容:

APT::默认发布“utopic”;

编辑了我的消息来源:

sudo nano /etc/apt/sources.list

将以下内容添加到 sources.list:

德布http://archive.ubuntu.com/ubuntu精确的主受限宇宙多元宇宙

创建/etc/apt/preferences:

sudo nano /etc/apt/preferences

在首选项文件中添加了以下内容:

Package: fence-agents
Pin: release n=precise
Pin-Priority: 991

我跑了:

apt-get 更新

然后我检查以确保我想要的隔离代理版本可以安装:

apt-cache 策略隔离代理

它显示它将安装版本 3.1.5-2ubuntu2,因此我安装了它:

sudo apt-get 安装 fence-agents

固件降级后,每个插座的“控制状态”为“空闲关闭”。出于某种原因,MAAS 无法在此状态下对插座执行电源操作。我的解决方法是首先通过 ssh/telnet 或 CDU 内置的 Web GUI 执行开机或关机等操作,这会改变控制状态,随后的 MAAS 操作将起作用。必须对每个插座执行此操作。

我从 MAAS 控制器对其进行了测试(直到通过 ssh/telnet 或上一段中提到的 CDU web gui 执行操作后它才起作用):

fence_cdu -a 10.0.0.10 -n TowerA_Outlet1 -l 我的CDU用户名 -p 我的CDU密码 -o on -v fence_cdu -a 10.0.0.10 -n TowerA_Outlet1 -l 我的CDU用户名 -p 我的CDU密码 -o off -v

线路 1 为 CDU 上的第一个插座供电。线路 2 将其关闭。IP 10.0.0.10 是我的 CDU 的 IP。如果您按照此操作,请相应地替换 myCDUusername 和 myCDUpassword。TowerA_Outlet1 是我第一个插座的插座名称。出于某种原因,我没有让它与插座 ID 一起工作。名称对我来说已经足够好了。

然后我使用 MAAS web gui 编辑每个节点的设置。我选择“Sentry Switch CDU”作为“电源类型”。输入我的 CDU 的 IP 地址作为“电源地址”。输入适当的“插座名称”作为“电源 ID”。我输入 CDU 用户和密码作为“电源用户”和“电源密码”。

我很高兴 MAAS 现在可以相应地打开和关闭节点。如果我在启用“释放时擦除磁盘”的情况下释放节点,则不会发生任何事情。我的解决方法是中止磁盘擦除,然后停止节点。重新发出释放命令应该会打开它并擦除磁盘。如果你能记住的话,最好只是停止关闭它的节点,然后发出释放命令,这将打开它并擦除磁盘。

相关内容