当前位置:首页 > 虚拟机 > 正文

proxmox 虚拟机开机还原(虚拟机每次打开都还原)


一、在ProxmoxVE中添加vTPM的支持

PVE7.0增加了对TPM的支持,只需在Web界面中添加设备即可。
这篇文章已经过时了!
这篇文章已经过时了!
这篇文章已经过时了!

虽然Windows11的镜像已经泄露很久了,但微软直到6月24日23:00才正式发布。发布会结束后,微软官网公布了Windows11的系统要求,其中之一就是TPM2.0。
不过,ProxmoxVE并没有正式支持vTPM,虽然qemu有相应的支持,但是网上关于它的文档却很少。因此,本文介绍如何使PVE支持qemuvTPM在虚拟机上安装Windows11预览版。

目前,qemu通过swtpm支持vTPM,但Proxmox对此的支持仍在开发中,预计时间未知。(Proxmox工作人员的最后一次回复是在今年1月份。)
但是您可以手动安装swtpm并更改配置文件,但这有点繁琐。
请参阅此处了解详细信息。
但是,PVE对qemuvTPM支持的请求已列在错误跟踪列表中。只要耐心等待,它就会发生。
Bugzilla–Bug3075

swtpm对libtpms有依赖,也需要单独编译安装。
Swtpm源码:

Libtpms源码:

查看分支

退出时选择最新的稳定版本即可。
撰写本文时,最新版本为0.6

(这是检查swtpm的命令,请自行选择libtpms的版本)

安装依赖:

编译:

返回上级目录后,可以看到libtpmsdeb包。
安装:

安装依赖:

编译:

编译完成后,编译父目录会生成很多包,包括以下哪些包最终用途:

无需安装其他包,它们用于调试。

有人已经编写了一个一键安装脚本,此处:
rayures/vTPM
仅限Debian/Ubuntu。

portage中有swtpmebuild,但它是~amd64mask。

将关键字添加到/etc/portage/ds

立即运行

首先是将编译好的deb打包到PVE中。
不要忘记使用dpkg--info检查依赖关系,尤其是swtpm工具。
安装swtpm-tools时,请确保先安装其依赖项,否则如果在dpkg之后安装依赖项,则会出现循环依赖。
swtpm允许访问者通过套接字/字符设备/CUSE访问TPM。
此处使用此脚本创建套接字设备:

该设备必须在/tmp/下可见。

获取VNC端口号:

然后在虚拟机配置文件中添加一行:

${disk}是磁盘镜像的路径虚拟机,$tpm是tpm设备路径,$nextvnc是上面脚本的输出。全部都是绝对路径。
启动虚拟机,您可以在sealBIOS中看到TPM设置。

这个脚本不是我写的,原帖在这里:
S3hh的博客
但是这个脚本好像不能直接使用,所以我把它分成了上面的脚本,运营。

执行上述操作后,如果您将虚拟机作为裸机启动,然后强行关闭它,它将无法再次启动,并且必须重新创建设备。


二、proxmoxve ZFS备份及恢复/根分区2019-04-16这是用pve测试的,我们先看挂载情况:
我们看zfslist,确认rpool/ROOT/pve-1挂载到目录/下,可以看到现在已经没有了快照尚未。
修改rpool属性并添加listnapshots您可以使用zpoolget查看这些属性是什么:
我们需要添加listnapshots=on
创建快照名为20190416forrpool/ROOT
基本上,按Enter键后,此快照创建时不会出错。查看zfslist
看到已经创建了
现在我们需要保存快照,可以挂载到物理硬盘上,也可以保存到网络硬盘上。这里我们使用挂载的samba共享(cifs)
。接下来,传输快照
完成后,系统将提示您输入信息、快照大小和进度。成功后,您可以在共享文件夹
虚拟盒子中查看该快照。使用虚拟机测试恢复
最初,我的虚拟机安装了pve系统。假设系统当前空闲,我将刚刚备份的zfs快照恢复到这个虚拟机的pve
。我需要做一些准备工作:
/dev/sda3是需要恢复的nfs分区,然后退出fdisk,准备恢复
按照说明提示加载zfs模块
从远程文件恢复
使用-u选项指示zfsreceive完成后不会挂载恢复的文件
您可以看到数据和快照都已经恢复了
设置bootfs属性
重启后就可以工作了