我有一台全新的Ubuntu20.04机器,它使用mdadm RAID5配置(3x10TB)。每次登录时,系统都会抛出一个错误。我可以从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不应该定期清理我的数组以确保它正常工作吗?
发布于 2020-05-03 15:05:03
这似乎是Ubuntu20.04‘S mdadm
包中的一个bug。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月开始的bug报告,https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/1858342,但是这个bug似乎还没有分配给任何人。
难道mdadm不应该定期清理我的数组以确保它正常工作吗?
如果在Ubuntu20.04中有什么可以做到的,那么我就找不到了。
安装了一个校验数组脚本,但是没有定时器或cron作业来调用它。
所以我不认为它现在会进行任何自动检查。
发布于 2022-06-30 10:52:03
tl;apt install mdadm
博士
错误是在4.1-5ubuntu1.1
中修复的:
mdadm (4.1-5 ubuntu1.1)焦点;urgency=medium
mdadm (4.1-6)不稳定;urgency=medium
https://unix.stackexchange.com/questions/584199
复制相似问题