Linux (Debian 8 Jessie) HRTimer - 内核 - 闰秒

Linux (Debian 8 Jessie) HRTimer - Kernel - Leap Seconds

回答:VM 时间同步是一门艺术,我会计算我的祝福并使用对我有用的东西。

这就是为什么:~qoute~ 我花了几年时间在主机和来宾 VM 之间同步时间,有和没有 NTP 等等——这基本上是一种黑色艺术,并且严重依赖于管理程序、内核和大量设置。我们不打算在对 SO 的评论中解决它,但如果你有一个已知的良好配置,我会恢复到那个并一点一点地改变,直到你知道是什么破坏了它。

– 能够


编辑:

Percona 信息用于上下文,这是我正在做的。但是这个问题在 Debian 8 内核中被实现为闰秒问题。关于 hrtimer(高分辨率计时器)。 Mozilla 建议的修复方法是使用 linux 中的 "Date" 函数重置时间,但尝试设置日期告诉我尽管是 root 但我没有权限。


信息:导致 Web 崩溃的额外秒数的内幕

http://wired.com/2012/07/leap-second-glitch-explained


截图:

最近尝试:http://prnt.sc/c208x2

顶部:http://prnt.sc/c202q9

Mysql 进程列表:http://prnt.sc/c20b4f


上下文:

我听说这与闰秒问题有关,但事实是,它不完全符合我的个人资料。

我在 Proxmox 上的 vm 中有几个 debian linux 实例。

2 个单独的 Percona Galera-Mysql 个星团。

第一个集群是正在使用的原始集群,但它没有或曾经有过这个问题。我的新集群设置适用于所有 3 个节点。

我尝试应用多个版本的闰秒修复

date
date -s "`date`"
date -s "`date`"

一切都结束了,除了第一个,我没有这样做的权限,但我是 root!

没有工作。

多次重启。

除了一个slave之外的每个实例都有相同的统计数据,我提升了一个以测试它是否是一个有限的资源问题。

1 个内存

1 3.6ghz cpu

我唯一能说的就是在我上传备份数据库后问题开始了。

数据库是我在第一个集群中已有的数据库,大约 5mb,并且主要是关系 table 列表样式。这些未使用,未执行任何操作,之后多次重新启动。我有点卡住了。

PS: 进程列表为空。 (1个用于自查和2个睡眠空闲)

我猜这里的问题是您 运行 在虚拟机(甚至容器)上。虽然你是 root,但你没有来自容器/guest-OS 的权限来更改时间。那是因为时间与主机操作系统同步,显然无法更改。

如果是这样,你能在主机中修复它吗OS?或者您没有访问权限?

也很有用
strace -f -s2048 -o/tmp/post-this-file date -s "`date`"

date.

进行的系统调用的踪迹

您提到的 HiRes 计时器活锁已在 commit id=6b43ae8a619d17c4935c3320d2ef9e92bdeed05d 的上游修复。

将它们合并到内核中的 debian 错误似乎是 here and the fixes described here(合并到 Debian 的 3.2.29-1 和 2.6.32-46 内核中)。您实际上 运行 是什么内核(uname -a 的输出会有帮助)?这并不总是很明显,尤其是在容器环境中。

如果您还没有尝试过,重新启动 Percona 可能会解决问题。

Post再多了解一下环境,我可能会提供更多帮助。