web-dev-qa-db-ja.com

mdcheck_startサービスが開始に失敗する

私は、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がアレイを定期的にスクラブして、アレイが適切に機能していることを確認してはいけませんか?

Error

1
Game Poop

これは、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ジョブはありません。

だから今のところ自動化されたチェックを実行するとは思わない。

1
frostschutz