服务器的“xfs filesystem being remounted at /run/systemd/unit-root/...supports timestamps until 2038“问题分

56 篇文章 0 订阅
47 篇文章 0 订阅
文章探讨了服务器控制台和系统日志中关于XFS文件系统时间戳即将达到2038年限制的问题,分析了问题原因,指出Linux5.10引入的大时间戳功能以及如何通过mkfs.xfs创建支持该功能的新文件系统以避免问题。
摘要由CSDN通过智能技术生成

服务器控制台及系统message日志报"xfs filesystem being remounted at /run/systemd/unit-root/...supports timestamps until 2038"问题,本文进行一点浅析。

一、问题现象

1、服务器控制台信息

服务器控制台报多条信息,如"xfs filesystem being remounted at /run/systemd/unit-root/...supports timestamps until 2038",路径包括“/run/systemd/unit-root/var/tmp”和“/run/systemd/unit-root/etc”:

2、系统日志

“grep remounted /var/log/messages”指令检查系统日志,也有相同提示

Mar 30 15:10:27 localhost kernel: [  911.553495] xfs filesystem being remounted at /run/systemd/unit-root/var/tmp supports timestamps until 2038 (0x7fffffff)
Mar 30 15:11:51 localhost kernel: [  996.211926] xfs filesystem being remounted at /run/systemd/unit-root/etc supports timestamps until 2038 (0x7fffffff)
Mar 30 15:11:51 localhost kernel: [  996.212002] xfs filesystem being remounted at /run/systemd/unit-root/var/tmp supports timestamps until 2038 (0x7fffffff)
Mar 30 15:11:51 localhost kernel: [  996.214356] xfs filesystem being remounted at /run/systemd/unit-root/etc supports timestamps until 2038 (0x7fffffff)
Mar 30 15:11:51 localhost kernel: [  996.235953] xfs filesystem being remounted at /run/systemd/unit-root/var/tmp supports timestamps until 2038 (0x7fffffff)

3、核查信息

此时检查路径“/run/systemd/unit-root/var/tmp”和“/run/systemd/unit-root/etc”,实际上是不存在的。

二、问题分析

1、“/run/systemd/unit-root/var/tmp”和“/run/systemd/unit-root/etc”路径不存在的问题

/run/systemd/unit-root/...目录不存在的问题,这个目录是systemd的一个临时挂载点,通常用于在启动过程中挂载某些文件系统或执行其他初始化任务。如果/run/systemd/unit-root/下的目录不存在,可能是因为系统没有尝试挂载任何内容到这个位置,或者这个挂载是临时的,并且在某个点被卸载了。如果没有迭加有与/run/systemd/unit-root/...相关的服务失败、文件缺失等其它问题,这些目录不存在就不是问题。

2、“xfs filesystem being remounted at...supports timestamps until 2038 (0x7fffffff)”问题
2.1、出现此问题是因为当前系统的XFS文件系统使用的时间戳是基于32位整数的

XFS是一个高性能的日志文件系统,“supports timestamps until 2038”说明当前系统的XFS文件系统使用的时间戳是基于32位整数的,32位整数能够表示的时间戳范围是从1970年1月1日(UNIX纪元开始)到2038年1月19日03:14:07 UTC。一旦到达这个时间点,由于32位整数会溢出,时间戳将回绕到1901年。

2.2、在Linux 5.10中已引入大时间戳功能但默认未启用

在Linux 5.10中,XFS文件系统已经引入了两项新的on-disk meta-data功能,其中之一就是“大时间戳”(bigtime)功能。这个功能是对XFS的时间戳和inode编码功能进行重构,以将时间戳作为64位纳秒计数器进行处理,并通过移位来增加有效大小。通过启用bigtime功能,XFS可以支持的时间戳范围扩展到了1901年12月至2486年7月,远超过了2038年的限制。但是为了保持向后兼容,默认情况下当前并未启用big timestamps功能。

 2.3、大时间戳功能不能在线调整

XFS文件系统的bigtime功能是不能通过在线调整启用的,需要在创建新的XFS文件系统或格式化现有文件系统时启用的。这是因为bigtime功能涉及到文件系统的元数据结构和磁盘布局,所以需要在文件系统创建或格式化时进行设置。

2.4、使用mkfs.xfs命令来创建支持大时间戳功能的XFS文件系统

为了启用bigtime功能,你需要使用mkfs.xfs命令来创建新的XFS文件系统,并在命令中包含相应的选项来启用该功能。例如,使用以下命令可以创建一个启用bigtime功能的新XFS文件系统:
mkfs.xfs -m bigtime=1 /dev/sdXN
在这里,/dev/sdXN是你要格式化为XFS的分区或设备的路径。bigtime=1参数告诉mkfs.xfs启用bigtime功能。

*注意事项
  • 对于已经存在的XFS文件系统,不能直接在线启用bigtime功能
  • 对现有文件系统启用bigtime,你需要备份数据,然后重新格式化文件系统并恢复数据
  • 需要确保XFS工具(包括mkfs.xfs)是最新版本,因为bigtime功能是在较新版本的XFS中引入的
  • 需要确保你的系统内核和其他相关组件也支持这一功能,通常来说,至少需要Linux 5.10的内核
  • 14
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代先生.重庆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值