什么原因造成Linux的云固件镜像vhdx文件启动之后再次启动会失败?
核心原因是支持vhdx读写qemu-nbd程序在系统关机过程中被提前杀死,导致vhdx文件未能正确关闭。
那如何才能保证qemu-nbd不被杀?
目前看,需要满足systemd关闭系统时的设置要求,比如将进程名称的第一个字母改成@符合。
其次,qemu-nbd进程要不处理SIGTERM信号。
第三,在exitrd阶段,能进入这个阶段,同时shutdown脚本要主动关闭qemu-nbd进程,之后再安全卸载VDs分区。
以上这些内容完全实现,最终才能解决vhdx未正确关闭问题。

核心原因是支持vhdx读写qemu-nbd程序在系统关机过程中被提前杀死,导致vhdx文件未能正确关闭。
那如何才能保证qemu-nbd不被杀?
目前看,需要满足systemd关闭系统时的设置要求,比如将进程名称的第一个字母改成@符合。
其次,qemu-nbd进程要不处理SIGTERM信号。
第三,在exitrd阶段,能进入这个阶段,同时shutdown脚本要主动关闭qemu-nbd进程,之后再安全卸载VDs分区。
以上这些内容完全实现,最终才能解决vhdx未正确关闭问题。
