Skip to content

upgrade 项:新包有自动扩盘时核对旧盘已扩到 256 GB - #19

Merged
qiyinxi merged 1 commit into
ModAVD:mainfrom
qiyinxi:upgrade/auto-disk-153
Nov 12, 2026
Merged

qiyinxi merged 1 commit into
ModAVD:mainfrom
qiyinxi:upgrade/auto-disk-153

Conversation

@qiyinxi

@qiyinxi qiyinxi commented Nov 12, 2026

Copy link
Copy Markdown
Member

为什么

ModAVD 0.40.0 的发版回归里,upgrade 项报失败,唯一的问题是「set --data-gb 80 失败:数据盘上限只能改大:实例 8 现在是 256 GB,不能改成 80 GB」。

管理器 0.8.0 起(ModAVD/ModAVDManager#132)数据盘分「自动扩盘 / 指定大小」两种,没写模式的旧实例算自动扩盘,下次开机前就扩到 256 GB。这一项升级前后都用新包的 modavd 开机,所以旧版建的 64 GB 盘在升级前那次开机就扩到了 256 GB,再改成 80 GB 当然被拒。产品行为是对的,是这一项的核对过时了。

Refs ModAVD/ModAVD#153

改了什么

  • items/upgrade.ps1:升级后先看新包 modavd 的 info --json 有没有 config.data_disk_mode:
    • 有(0.8.0 起):核对模式是 auto、配置 ≥ 256 GB、客体 /data ≥ 250 GB,不再 set --data-gb 80;
    • 没有(更早的新包):照旧 set --data-gb 80 再开机看扩满。
  • 文件头的说明和 suites/release.psd1 里这一项的判据跟着改。

测试

在 E:\testbed\flow-b 上用 0.40.0 的候选包(上一版是 0.39.1 的组包目录)跑 upgrade 项:

  • 改之前:失败,只有上面那一条。
  • 改之后第一次:取 info --json 的路径写错(写成 data.instance.config,info 的是 data.config),走了老路,照样报 80 GB 被拒;已改。
  • 改之后第二次:新路走到了,读到模式 auto、配置 256 GB、/data 255.5 GB,但当时还要求「升级后第一次开机的输出里有『数据盘已扩到』」而报失败:扩盘在升级前那次开机就做完了。去掉了这条要求。
  • 最终版没有再完整跑一遍(凌晨 02:00–03:45 机器另有安排);按第二次读到的值,最终版的判断是通过。合之前想再确认的话,在测试根上单跑一次 upgrade 项就行(约 5 分钟)。

没测:拿还没有两种模式的旧新包(比如 0.39.1 → 0.39.1)走 set --data-gb 80 那条老路;这条路的代码没动,只是挪进了 else。

管理器 0.8.0 起(ModAVD/ModAVDManager#132)没写模式的旧实例算自动扩盘,下次开机前就扩到 256 GB,再 set --data-gb 80 会被拒。新包的 info 里有 config.data_disk_mode 时改为核对模式是 auto、配置 >= 256 GB、/data >= 250 GB;没有时照旧改成 80 GB。

Refs ModAVD/ModAVD#153
@qiyinxi qiyinxi added the bug Something isn't working label Nov 12, 2026
@qiyinxi
qiyinxi added this pull request to the merge queue Nov 12, 2026
Merged via the queue into ModAVD:main with commit 937dcf8 Nov 12, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant