mdcheck_start サービスの開始に失敗しました。

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が私のアレイが正しく機能していることを確認するために定期的に掃除する必要はありませんか?

間違い

答え1

これはmdadmUbuntu 20.04パッケージのバグのようです。スクリプトmdcheckが完全に欠落しているため、タイマー/サービスはスクリプトを実行できません。

をインストールすると、mdadmmdcheck_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スクリプトを含めることを忘れていました。

興味があれば、ここからファイルを入手できるようです。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スクリプトがインストールされていますが、実際に呼び出すタイマーやクローン操作はありません。

だから今は自動チェックは実行されないと思います。

答え2

長すぎます。 apt install mdadm

バグが修正されました。4.1-5ubuntu1.1:

mdadm(4.1-5ubuntu1.1) 緊急度=中間

  • d/ルール:その他/mdcheckのインストール(LP:#1852747)
    • mdcheck ユーティリティがないと、ExecStart を介してサービスが開始されると、mdcheck_continue.service および mdcheck_start.service はコマンドを実行できません。 (終了:#960132)

Debian 変更ログ:

mdadm(4.1-6)緊急度=中間。

  • その他/mdcheckのインストール;リチャードラージに感謝します。 (終了:#960132)

Ubuntuのバグレポート
Debian のバグ報告
サルサ提出

関連情報