PVE虚拟机关机自动还原脚本
本脚本实现了Proxmox VE虚拟机在关机之后,能够自动还原快照。实现系统永远只读的一个形式。
github地址:https://github.com/jiangcuo/foxi/blob/main/hookscripts/rollback.pl
实现原理:
1、提前给虚拟机磁盘打上快照。
2、在虚拟机关机之后,钩子脚本调用qemu-img恢复磁盘快照。
使用限制
需要文件级存储,磁盘类型为qcow2,不支持块存储,好让qemu-img执行快照。
不能修改虚拟机的磁盘名,使用默认的虚拟机命名格式即可。
现在只支持一块硬盘做还原操作。如需多块。自行添加命令即可。
不适用链接克隆磁盘
使用说明
1、给虚拟机硬盘打一个快照
root@pve1: qemu-img snapshot -c snapshot /mnt/pve/Nvme/images/802/vm-802-disk-0.qcow2
#验证一下快照是否生效:
root@pve1:/var/lib/vz/snippets# qemu-img snapshot -l /mnt/pve/Nvme/images/802/vm-802-disk-0.qcow2
#有如下即代表成功
Snapshot list:
ID TAG VM SIZE DATE VM CLOCK ICOUNT
1 snapshot 0 B 2022-02-21 13:20:22 00:00:00.000 0
2、下载钩子脚本
wget -P /var/lib/vz/snippets/ https://fastly.jsdelivr.net/gh/jiangcuo/foxi/hookscripts/rollback.pl
chmod +x /var/lib/vz/snippets/rollback.pl
#将hookscript添加到虚拟机中,注意替换vmid
qm set <vmid> --hookscript local:snippets/rollback.pl
3、修改脚本中的vmpath
将脚本中/mnt/pve/Nvme改成自己的磁盘路径。
如果你的是/mnt/pve/SSD,那么最后格式应该为。
my $conf = PVE::QemuConfig->load_config($vmid);
my $phase = shift;
my $vmpath = "/mnt/pve/SSD"
my $cmd ="qemu-img snapshot -a snapshot $vmpath/images/$vmid/vm-$vmid-disk-0.qcow2";
注意,如果自己的硬盘不是disk0,而是disk1或者其他,请更改my $cmd
将磁盘的disk-0改成disk-1
如下
my $cmd ="qemu-img snapshot -a snapshot $vmpath/images/$vmid/vm-$vmid-disk-1.qcow2";
bug反馈
请加入网页右上角qq群。
版权声明:
作者:佛西
链接:https://foxi.buduanwang.vip/virtualization/pve/1592.html/
文章版权归作者所有,未经允许请勿转载
如需获得支持,请点击网页右上角
作者:佛西
链接:https://foxi.buduanwang.vip/virtualization/pve/1592.html/
文章版权归作者所有,未经允许请勿转载
如需获得支持,请点击网页右上角
THE END
1
二维码
海报
PVE虚拟机关机自动还原脚本
本脚本实现了Proxmox VE虚拟机在关机之后,能够自动还原快照。实现系统永远只读的一个形式。
github地址:https://github.com/jiangcuo/foxi/blob/main/hooksc……
文章目录
关闭
共有 0 条评论