私は、mdadm RAID5構成(3x 10TB)を使用している真新しいUbuntu 20.04マシンを構築しました。ログインするたびにシステムからエラーがスローされます。systemctlから、mdcheck_startサービスが失敗したことがわかります。
デーモンが存在しないスクリプトを起動しようとしていることも、サービスのステータスを確認するとわかります。このスクリプトは、Ubuntuまたはmdadmパッケージにはインストールされていません。
systemctl status mdcheck_start.service
● mdcheck_start.service - MD array scrubbing
Loaded: loaded (/lib/systemd/system/mdcheck_start.service; static; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2020-05-03 09:18:05 EDT; 5min ago
TriggeredBy: ● mdcheck_start.timer
Process: 196602 ExecStart=/usr/share/mdadm/mdcheck --duration $MDADM_CHECK_DURATION (code=exited, status=203/EXEC)
Main PID: 196602 (code=exited, status=203/EXEC)
May 03 09:18:05 BAILEYFS02 systemd[1]: Starting MD array scrubbing...
May 03 09:18:05 BAILEYFS02 systemd[196602]: mdcheck_start.service: Failed to execute command: No such file or directory
May 03 09:18:05 BAILEYFS02 systemd[196602]: mdcheck_start.service: Failed at step EXEC spawning /usr/share/mdadm/mdcheck: No such file or directory
May 03 09:18:05 BAILEYFS02 systemd[1]: mdcheck_start.service: Main process exited, code=exited, status=203/EXEC
May 03 09:18:05 BAILEYFS02 systemd[1]: mdcheck_start.service: Failed with result 'exit-code'.
May 03 09:18:05 BAILEYFS02 systemd[1]: Failed to start MD array scrubbing.
これは正当なエラーですか?
このサービスを安全に無効にして、ログインするたびにこれらの迷惑なエラーが発生しないようにできますか? mdadmがアレイを定期的にスクラブして、アレイが適切に機能していることを確認してはいけませんか?
これは、Ubuntu 20.04のmdadm
パッケージのバグのようです。 mdcheck
スクリプトがまったくないため、タイマー/サービスはスクリプトの実行に失敗します。
mdadm
をインストールすると、mdcheck_startタイマーとサービスもアクティブになります。
# apt-get install mdadm
[...]
Setting up mdadm (4.1-5ubuntu1) ...
Generating mdadm.conf... done.
update-initramfs: deferring update (trigger activated)
Created symlink /etc/systemd/system/mdmonitor.service.wants/mdcheck_start.timer → /lib/systemd/system/mdcheck_start.timer.
Created symlink /etc/systemd/system/mdmonitor.service.wants/mdmonitor-oneshot.timer → /lib/systemd/system/mdmonitor-oneshot.timer.
mdcheck_continue.timer is a disabled or a static unit, not starting it.
[...]
mdcheck_start
サービスはmdcheckスクリプトを実行することになっています:
[Service]
Type=oneshot
Environment=MDADM_CHECK_DURATION='"6 hours"'
ExecStart=/usr/share/mdadm/mdcheck --duration $MDADM_CHECK_DURATION
しかしながら... /usr/share/mdadm/mdcheck
は実際にはまったく存在しないため、機能しません。
# ls -l /usr/share/mdadm/
total 12
-rwxr-xr-x 1 root root 6475 Jan 23 19:41 checkarray
-rwxr-xr-x 1 root root 2637 Jan 23 19:41 mkconf
このファイルをpackages.ubuntu.comで検索しても何も得られません。
したがって、Ubuntuはmdcheckスクリプトを含めるのを忘れたか、それを削除するつもりで、systemdタイマー/サービス参照も削除するのを忘れていました。
興味があれば、ここでファイルを入手できると思います: https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/tree/misc/mdcheck
2020年1月のバグレポートを見つけました https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/1858342 しかし、このバグはまだ誰にも割り当てられていないようです。
Mdadmがアレイを定期的にスクラブして、アレイが適切に機能していることを確認してはいけませんか?
Ubuntu 20.04でそれを行うものがある場合、それを見つけることができませんでした。
Checkarrayスクリプトがインストールされていますが、実際にそれを呼び出すタイマーまたはcronジョブはありません。
だから今のところ自動化されたチェックを実行するとは思わない。