👌

minisforum UM790 x Ubuntu 22.04 で SSD が読み込み専用になる問題の対応

2024/04/30に公開

minisforum 使い始めたんですが定期的に以下のようなエラーが発生してしまい頭を抱えてました。

systemd-journal[358]: Failed to rotate /var/log/journal/ae84ba0fd89446a4a1cdb8941df6bc8a/system.journal: Read-only filed system
systemd-journal[358]: Failed to rotate /var/log/journal/ae84ba0fd89446a4a1cdb8941df6bc8a/user-1000.journal: Read-only filed system
systemd-journal[358]: Failed to write entry (26 items, 634 bytes) despite vacuuming, ignoring: Input/output error

journal っていうのは systemd のログシステムらしいんですが、ログに書き込めずにエラーになってるみたいなんですよねー。
そもそもこのエラーが発生する前にありとあらゆるものが壊れて落ちていきます…。
調べてみたら以下のような事象が過去にあったっぽいのでこれで対応してみました。

NVMeデバイスの省電力を制御するAPST(Autonomous Power State Transition)に起因する問題

ということでそれっぽい気がしてます。

対応内容

上記のブログでは APST を無効にする手順が書かれているのでそれをそのままやりました。
まずは nvme の CLI クライアントをインストールします。

$ sudo apt install nvme-cli

次に現状の APST の設定を確認します。

$ sudo nvme get-feature -f 0x0c -H /dev/nvme0
get-feature:0x0c (Autonomous Power State Transition), Current value:00000000
	Autonomous Power State Transition Enable (APSTE): Enabled   # <- これが Enabled になっていると有効になっている
	Auto PST Entries	.................
	Entry[ 0]
	.................
	Idle Time Prior to Transition (ITPT): 0 ms
	Idle Transition Power State   (ITPS): 0
	.................

これを無効にするために /etc/default/grub のファイルを開いて GRUB_CMDLINE_LINUX_DEFAULT の設定を書き換えます。
わたしの環境だともともとは

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

になっていたのでこの設定に nvme_core.default_ps_max_latency_us=0 を追加して

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvme_core.default_ps_max_latency_us=0"

のように書き換えて保存します。
最後に

$ sudo update-grub

で grub の設定を更新し、再起動したら完了です。
再起動後に再度 APST の設定を確認して Disabled になっていれば反映されています。

$ sudo nvme get-feature -f 0x0c -H /dev/nvme0
get-feature:0x0c (Autonomous Power State Transition), Current value:00000000
	Autonomous Power State Transition Enable (APSTE): Disabled   # <- これが Disabled になっていると有効になっている
	Auto PST Entries	.................
	Entry[ 0]
	.................
	Idle Time Prior to Transition (ITPT): 0 ms
	Idle Transition Power State   (ITPS): 0
	.................

これで OK。

所感

設定してからまだ数時間しか経ってないんですがいまのところ安定してます。
電力周りってことは Type-C からの電源供給が安定してないのかなー。
ひとまずこれで様子見です。
ちなみに M.2 側の初期不良かと思ったのでこの対応をする前に新しい M.2 ポチったんですが対応したあとにはすでにキャンセルできなくて詰みましたおわり。

GitHubで編集を提案

Discussion