Linux

在 GCP 上使用 Debian 10 Buster 映像啟動虛擬機時磁碟大小調整緩慢

  • July 17, 2020

resize2fs在 Debian 10 上啟動期間調整 2TB 啟動磁碟的大小比在 Debian 9 上多花 90 秒。

請注意,gcloud compute instances create ...對於 Debian 9 和 Debian 10,創建/配置 VM 實例 ( ) 的時間是相同的(大約 10 秒),但是成功 SSH 的時間是不同的(請參閱while我的測試命令中的循環) - 這是 VM 實際啟動的時間,而不是gcloud instances create ...返回時。

Debian 9 對 10Gb 和 2TB 磁碟大小的映像測試 - 啟動時間幾乎相同(大約 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 e2fsprogsDebian 10(從buster-backportsrepo 更新)和 Ubuntu 20.04 LTS 上使用較新版本對此進行了測試。但是只有 Debian 10 VM 仍然有這種回歸,Ubuntu 20.04 LTS 沒有,所以這似乎是 Debian 10 特有的問題。

是否有任何配置選項允許resize2fs在 VM 啟動期間恢復 Debian 10 中的 Debian 9 行為?

多虧了e2fsprogs 錯誤報告中的診斷, GCE 團隊能夠在 GCE Debian 10 映像中修復此問題,現在 Debian 10 使用大型引導磁碟創建虛擬機的速度與使用 Debian 9 一樣快。

此修復包括從debian-10-buster-v20200714GCE Debian 10 映像開始。

引用自:https://serverfault.com/questions/1014197