通过网络唤醒 PVE 下的 VM 和 LXC

家里的 NAS 服务器,都是通过 PVE(proxmox) 虚拟化的。

现在有一个需求,就是需要通过网络唤醒那台 NAS 服务器。使用 wol 是不能唤醒 PVE 下的虚拟机的,同时 PVE 也没有提供解决方式。

在社区发现了 pve-dosthol 工具,用于唤醒 PVE 下的 VM 或者 LXC。

首先在 PVE 主机上,按如下步骤操作:

  1. 安装依赖: $ apt install gawk socat xxd
  2. 复制 dosthold.sh 文件到这个目录 /usr/local/bin 下
  3. 复制 dosthol.service 文件到这个目录 /etc/systemd/system 下
  4. 自动启动: $ systemctl enable dosthol.service

然后使用 dostholc.sh 指定虚拟机的 MAC 地址,发送唤醒指令。

1
dostholc.sh -f wakeup -m xx:xx:xx:xx:xx:xx

必须要确保虚拟机要有至少一个虚拟网卡,如果是直通的网卡,需要再添加一个虚拟网卡。

本地下载,have fun!

Built with Hugo, theme is Stack, designed by Jimmy.