系统正在启动进入紧急模式,并显示以下消息:
Oct 28 16:00:47 shizhanxia.com systemd[1]: Mounting /sysroot... Oct 28 16:00:47 shizhanxia.com mount[482]: mount: unknown filesystem type 'xfs' Oct 28 16:00:47 shizhanxia.com systemd[1]: sysroot.mount mount process exited, code=exited status=32 Oct 28 16:00:47 shizhanxia.com systemd[1]: Failed to mount /sysroot
xfs文件系统挂载失败后,检查xfs所需的内核文件。
# grep xfs /lib/modules/$(uname -r)/modules.dep kernel/fs/xfs/xfs.ko.xz: kernel/lib/libcrc32c.ko.xz
检查xfs模块是否已加载到当前initramfs中。仅当“/或/usr”文件系统是xfs类型时才需要。否则,如果“/或/usr”不是xfs,则xfs模块不应位于initramfs中。
# lsinitrd | grep xfs drwxr-xr-x 2 root root 0 Apr 15 10:45 usr/lib/modules/3.10.0-1160.el7.x86_64/kernel/fs/xfs -rw-r--r-- 1 root root 335852 Aug 18 2020 usr/lib/modules/3.10.0-1160.el7.x86_64/kernel/fs/xfs/xfs.ko.xz -rwxr-xr-x 1 root root 433 May 26 2020 usr/sbin/fsck.xfs -rwxr-xr-x 1 root root 590160 May 26 2020 usr/sbin/xfs_db -rwxr-xr-x 1 root root 747 May 26 2020 usr/sbin/xfs_metadump -rwxr-xr-x 1 root root 576720 May 26 2020 usr/sbin/xfs_repair
出现unknown filesystem type’xfs’的报错,根本原因就是XFS模块未加载,因此我们无法挂载文件系统。检查下是否存在如下选项,该选项会导致模块不会被加载:
# cat /etc/modprobe.d/filesystems.conf | grep xfs install xfs /bin/true
扩展阅读
`/etc/modprobe.d/filesystems.conf` 文件中的 `install xfs /bin/true` 参数是一个内核模块配置,适用于 XFS 文件系统模块。该行的作用是告诉内核不要自动加载XFS模块,而是使用 `/bin/true` 命令来代替,使模块无法正常运行。
这种设置通常是由管理员手动配置的,可能是因为系统中已经有其他文件系统或者管理员不希望 XFS 模块被自动加载,或者是出于安全等考虑。
如果您希望彻底禁用XFS模块,可以将其添加到黑名单中。您可以使用以下命令将 `install xfs /bin/true` 添加到黑名单:
``` echo "blacklist xfs" | sudo tee -a /etc/modprobe.d/blacklist.conf ```
这会在 `/etc/modprobe.d/blacklist.conf` 文件的末尾添加一行 `blacklist xfs`。这样,当系统启动时,内核模块将不会自动加载 XFS 模块。
如果您要重新启用 XFS 模块,请编辑 `/etc/modprobe.d/blacklist.conf` 文件,并将 `blacklist xfs` 行注释或删除。然后重新启动系统或手动加载 XFS 模块。
解决方案
本次故障的解决方案是注释 modprobe 配置文件中的以下条目。
$ cat /etc/modprobe.d/filesystems.conf | grep xfs #install xfs /bin/true
原创文章,作者:保哥,如若转载,请注明出处:https://www.shizhanxia.com/1801.html