在 GCP 上安装 Debian 10 Buster 映像的虚拟机启动期间磁盘大小调整缓慢

在 GCP 上安装 Debian 10 Buster 映像的虚拟机启动期间磁盘大小调整缓慢

resize2fs在 Debian 10 上启动时调整 2TB 启动磁盘大小比在 Debian 9 上多花 90 秒。

请注意,对于 Debian 9 和 Debian 10,创建/配置 VM 实例(gcloud compute instances create ...)的时间是相同的(大约 10 秒),但成功 SSH 的时间不同(请参阅while我的测试命令中的循环) - 这是 VM 实际启动的时间,而不是gcloud instances create ...返回的时间。

针对 10Gb 和 2TB 磁盘大小的 Debian 9 映像测试 - 启动时间几乎相同(大约 1 分钟):
$ VM=deb9-10gb; time gcloud compute instances create $VM --image-family=debian-9 --image-project=debian-cloud --boot-disk-size=10GB --machine-type=n1-standard-4 --scopes cloud-platform; date; time (while ! gcloud compute ssh $VM --command="hostname" 2>/dev/null; do date; done); date

Sat 25 Apr 2020 10:49:51 PM PDT
. . .
deb9-10gb

real    1m8.119s
user    0m2.593s
sys 0m0.398s
Sat 25 Apr 2020 10:50:59 PM PDT

$ VM=deb9-2tb; time gcloud compute instances create $VM --image-family=debian-9 --image-project=debian-cloud --boot-disk-size=2TB --machine-type=n1-standard-4 --scopes cloud-platform; date; time (while ! gcloud compute ssh $VM --command="hostname" 2>/dev/null; do date; done); date

Sat 25 Apr 2020 10:51:27 PM PDT
. . .
deb9-2tb

real    0m42.178s
user    0m1.505s
sys 0m0.240s
Sat 25 Apr 2020 10:52:09 PM PDT
针对 10Gb 和 2TB 磁盘大小的 Debian 10 映像测试 - 对于具有 2TB 磁盘的 VM,启动时间要长 90 秒:
$ VM=deb10-10gb; time gcloud compute instances create $VM --image-family=debian-10 --image-project=debian-cloud --boot-disk-size=10GB --machine-type=n1-standard-4 --scopes cloud-platform; date; time (while ! gcloud compute ssh $VM --command="hostname" 2>/dev/null; do date; done); date

Sat 25 Apr 2020 11:01:35 PM PDT
. . .
deb10-10gb

real    1m11.145s
user    0m2.586s
sys 0m0.412s
Sat 25 Apr 2020 11:02:47 PM PDT

$ VM=deb10-2tb; time gcloud compute instances create $VM --image-family=debian-10 --image-project=debian-cloud --boot-disk-size=2TB --machine-type=n1-standard-4 --scopes cloud-platform; date; time (while ! gcloud compute ssh $VM --command="hostname" 2>/dev/null; do date; done); date

Sat 25 Apr 2020 11:03:27 PM PDT
. . .
deb10-2tb

real    2m49.483s
user    0m6.576s
sys 0m1.068s
Sat 25 Apr 2020 11:06:17 PM PDT

有趣的是,VM 启动后tune2fs显示 Debian 10 VM 向启动磁盘写入了 43 GB,而 Debian 9 只写入了 2 GB:

deb9-2tb:~$ sudo tune2fs -l /dev/sda1 | grep "Lifetime writes:"
Lifetime writes:          2183 MB

deb10-2tb:~$ sudo tune2fs -l /dev/sda1 | grep "Lifetime writes:"
Lifetime writes:          43 GB

1.45.5-2 e2fsprogs我还在Debian 10(从 repo 更新)和 Ubuntu 20.04 LTS 上使用较新版本进行了测试buster-backports。但只有 Debian 10 VM 仍然有此回归,Ubuntu 20.04 LTS 没有,所以这似乎是 Debian 10 特有的问题。

是否有任何配置选项允许在resize2fsVM 启动期间在 Debian 10 中恢复 Debian 9 行为?

答案1

得益于e2fsprogs 错误报告GCE 团队能够在 GCE Debian 10 映像中修复此问题,现在使用大型启动盘创建 Debian 10 VM 的速度与 Debian 9 一样快。

此修复包括从debian-10-buster-v20200714GCE Debian 10 图像开始。

相关内容