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)

데비안 변경 로그:

mdadm(4.1-6) 긴급도=중간;

  • 기타/mdcheck 설치;리처드 라지에게 감사드립니다. (종료: #960132)

우분투 버그 보고
데비안 버그 보고
살사 제출

관련 정보