minisforum UM790 x Ubuntu 22.04 で SSD が読み込み専用になる問題の対応
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 のログシステムらしいんですが、ログに書き込めずにエラーになってるみたいなんですよねー。
そもそもこのエラーが発生する前にありとあらゆるものが壊れて落ちていきます…。
調べてみたら以下のような事象が過去にあったっぽいのでこれで対応してみました。
- Ubuntu 17.04 その66 - 一部のSSDでボリュームが読み込み専用になってしまう現象 - kledgeb
- Ubuntu を長時間待機させるとSSDにアクセスできなくなる #Ubuntu - Qiita
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 ポチったんですが対応したあとにはすでにキャンセルできなくて詰みましたおわり。
Discussion