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
これはmdadm
Ubuntu 20.04パッケージのバグのようです。スクリプト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スクリプトを含めることを忘れていました。
興味があれば、ここからファイルを入手できるようです。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)
mdadm(4.1-6)緊急度=中間。
- その他/mdcheckのインストール;リチャードラージに感謝します。 (終了:#960132)