Dovecot经常自杀的原因

简介:

http://wiki.dovecot.org/TimeMovedBackwards

http://phorum.study-area.org/index.php?topic=53102.0

 

Nov  3 13:50:02 dhcppc7 dovecot: Time just moved backwards by 1 seconds. I'll sleep now until we're back in present.


文章: 106


檢視個人資料
«  於: 2008-08-12 08:39 »

Dear 學長們,

昨天忽然不能使用POP3,後來發現是因為網路自動校時,dovecot 自殺了>_<

**Unmatched Entries**
    dovecot: Time just moved backwards by 77 seconds. This might cause a lot of problems, so I'll just kill myself now.  http://wiki.dovecot.org/TimeMovedBackwards: 1 Time(s)

不知道學長們有這種問題嘛?看wiki的網頁好像建議使用 The latest published clockspeed package is clockspeed-0.62.tar.gz.  比較好。
 已記錄
湯姆貓
活潑的大學生
* * *
文章: 432


檢視個人資料
«  回覆文章 #1 於: 2008-08-12 10:31 »

先前系統是設定每日校時,
結果就遇到這個問題(差2秒).
後來就設成每小時校時,
就沒這個問題了.
 已記錄
gwstudy
懷疑的國中生
* *
文章: 46


檢視個人資料
«  回覆文章 #2 於: 2008-08-12 10:50 »

**Unmatched Entries**
    dovecot: Time just moved backwards by 77 seconds. This might cause a lot of problems, so I'll just kill myself now.  http://wiki.dovecot.org/TimeMovedBackwards: 1 Time(s)

不知道學長們有這種問題嘛?看wiki的網頁好像建議使用 The latest published clockspeed package is clockspeed-0.62.tar.gz.  比較好。

該 wiki 已建議用 ntpd 了。我從來不曾碰到你這樣的問題,因為我都只用 ntpd。
 已記錄
fireflybug
憂鬱的高中生
* * *
文章: 106


檢視個人資料
«  回覆文章 #3 於: 2008-08-12 11:15 »

引用
該 wiki 已建議用 ntpd 了。我從來不曾碰到你這樣的問題,因為我都只用 ntpd。

看鳥哥介紹 ntpd 是屬於 SERVER,所以您都是自己架設ntpd server?

弟目前使用的解決方式是,參考旗標的書,建立shell script,讓系統自動偵測服務是否有啟動,若沒有則自動啟動該程式,經測試可正常運作,建立方式如下:

vi /usr/local/bin/watchpop3

程式碼如下:
================================================
#!/bin/sh

## 以下請自行依照您的環境進行合宜的設定

# 請設定重新啟動郵件伺服程式的指令, 如果您使用自行編譯的 Postfix, 
# 因為 〈postfix〉 指令沒有 "restart" 參數, 所以請設定為 "postfix start"
# 這邊我只偵測pop3 110 ,所以下面我只針對 dovecot 作重新啟動的動作
RESTARTCMD="/etc/init.d/dovecot restart"

## 以下設定一般情形下保留預設值即可

# 郵件伺服器的通訊埠
PORT=110

# 設定系統執行檔的路徑
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# 記錄檔的路徑與檔案名稱
LOGFILE="/var/log/watchpop3.log"

# 記錄檔內的日期格式, 關於格式的代號與意義, 請執行 〈man date〉 閱讀其說明文件
DATEFMT="%Y/%m/%d %R"

## 以下為指令稿的程式碼, 如果對於 shell script 不太熟悉, 建議您不要隨意更動

# 使用 〈telnet〉 指令連線至通訊埠, 並且將連線時的
# 訊息交由 〈grep〉 指令判斷是否正常
echo | telnet localhost $PORT 2>&1 | \
grep 'Connection closed by foreign host' >/dev/null || {
   echo "`date +"$DATEFMT"` Failed on port $PORT, restarting..." >> $LOGFILE
   $RESTARTCMD > /dev/null 2>&1  # 若不正常則重新啟動該伺服程式
}

==================================================


將watchpop3此檔設定為可執行: chmod +x /usr/local/bin/watchpop3

二、每五分鐘自動檢查一次
編輯 /etc/crontab
vi /etc/crontab
==========================================
*/5 * * * * root /usr/local/bin/watchpop3
=============================
« 最後編輯時間: 2008-08-12 11:38 由 fireflybug »  已記錄
gwstudy
懷疑的國中生
* *
文章: 46


檢視個人資料
«  回覆文章 #4 於: 2008-08-12 12:27 »

引用
該 wiki 已建議用 ntpd 了。我從來不曾碰到你這樣的問題,因為我都只用 ntpd。

看鳥哥介紹 ntpd 是屬於 SERVER,所以您都是自己架設ntpd server?
弟目前使用的解決方式是,參考旗標的書,建立shell script,讓系統自動偵測服務是否有啟動,若沒有則自動啟動該程式,經測試可正常運作,建立方式如下:
vi /usr/local/bin/watchpop3
程式碼如下:
...

對,我自己架 ntpd server,架 ntpd server 難度是 dovecot(POP3) 的 1%。維持系統時間的正確性是很重要的,何樂而不為。
ntpd 校時可以精確到跟標準時間誤差 10 ms 左右,ntpdate 是早就過時的東西,不要用。時間對了就不會有亂七八糟的問題出現,花時間寫 script 自動偵測服務是否有啟動是沒必要的,你應該花時間去搞定時間校對才是正途。

 已記錄
fireflybug
憂鬱的高中生
* * *
文章: 106


檢視個人資料
«  回覆文章 #5 於: 2008-08-12 13:35 »

引用
對,我自己架 ntpd server,架 ntpd server 難度是 dovecot(POP3) 的 1%。維持系統時間的正確性是很重要的,何樂而不為。
ntpd 校時可以精確到跟標準時間誤差 10 ms 左右,ntpdate 是早就過時的東西,不要用。時間對了就不會有亂七八糟的問題出現,花時間寫 script 自動偵測服務是否有啟動是沒必要的,你應該花時間去搞定時間校對才是正途。


嗯,受教了,謝謝您的回覆,小弟這就去研究架設ntpd,然後再來觀察還會有 dovecot(POP3) 自殺的問題嗎,謝謝  眨眼
 已記錄
VBird
管理員
俺是博士!
* * * * *
文章: 1425



檢視個人資料  個人網站
«  回覆文章 #6 於: 2008-08-12 13:50 »

其實 ntpd 與 ntpdate 都是 NTP 這個軟體提供的,
只是一個是 server 而一個是 Client 端軟體而已。
ntpdate 是,當用戶端有需要重新校正時間時,才進行校時的動作,
ntpd 則是一個 daemon ,會一直啟動 port 123 來與上游的 time server 進行時間同步化,
兩者的工作方法不同,但是目標則是一致的,並沒有所謂的過時的問題呢!

另外,如果擔心 dovecot 會自動停止的問題,最簡單的作法,
在妳進行 ntpdate 之後,立即重新啟動 dovecot 就好啦!也不需要額外增加什麼 script 的指令。

這是小老兒的看法,提供給大家參考看看。
 已記錄
gwstudy
懷疑的國中生
* *
文章: 46


檢視個人資料
«  回覆文章 #7 於: 2008-08-12 15:38 »

其實 ntpd 與 ntpdate 都是 NTP 這個軟體提供的,
只是一個是 server 而一個是 Client 端軟體而已。
ntpdate 是,當用戶端有需要重新校正時間時,才進行校時的動作,
ntpd 則是一個 daemon ,會一直啟動 port 123 來與上游的 time server 進行時間同步化,
兩者的工作方法不同,但是目標則是一致的,並沒有所謂的過時的問題呢!


man ntpd
       -q     Exit  the  ntpd just after the first time the clock is set. This
              behavior mimics that of the ntpdate  program,  which  is  to  be
              retired.  The  -g  and  -x options can be used with this option.
              Note: The kernel time discipline is disabled with this option.

ntpdate 沒有 ntpd 對校正時間所做的 error checking, signal processing 及溫合校時的演算法,可是 ntpd 可以模擬 ntpdate。ntpdate 以後可能不會發行。
 已記錄
fireflybug
憂鬱的高中生
* * *
文章: 106


檢視個人資料
«  回覆文章 #8 於: 2008-08-12 16:05 »

其實 ntpd 與 ntpdate 都是 NTP 這個軟體提供的,
只是一個是 server 而一個是 Client 端軟體而已。
ntpdate 是,當用戶端有需要重新校正時間時,才進行校時的動作,
ntpd 則是一個 daemon ,會一直啟動 port 123 來與上游的 time server 進行時間同步化,
兩者的工作方法不同,但是目標則是一致的,並沒有所謂的過時的問題呢!

另外,如果擔心 dovecot 會自動停止的問題,最簡單的作法,
在妳進行 ntpdate 之後,立即重新啟動 dovecot 就好啦!也不需要額外增加什麼 script 的指令。

這是小老兒的看法,提供給大家參考看看。

驚!!!哇~~~是鳥哥本人嗎?!您可以算的上是偉大的人物之一喔!!!您的網頁造福不少人民呢!!在這邊要跟您說聲:感謝您   飛吻   飛吻

當初不想架設ntpd是因為覺得它是個服務,看鳥哥網站說過伺服器不是服務越少越好嗎?剛剛架設好後發現更新頻率還真的滿高的,沒幾秒就更新一次,動作太頻繁,弟還是決定改回ntpdate,一天更新四次,然後服務偵測每10分鐘更新一次,確保mail服務不中斷,假日回鍋機會比較少  眨眼
 已記錄
twu2
酷!學園 學長們
俺是博士!
* * * * *
會員性別:  男
文章: 4370



檢視個人資料  個人網站
«  回覆文章 #9 於: 2008-09-02 13:06 »

這幾天我家的機器也突然跑的飛快, 每分鐘會快上 6 秒 (10%), 但是在 CMOS 中的時間是正常的. 就只是 linux 裡頭的時間跑的很快.
機器上頭原本用的 ntpd 看起來並沒有作用的樣子 (時間差太多?), 似乎只有開始啟動 ntpd 時會對時一次, 之後就沒作用的樣子.

昨天發現時, 已經快了半天了, 依時間推算, 應該是這幾天才發生的問題, 不過, 這幾天似乎沒改什麼設定.

試了好幾個方式, 也把 kernel 換回舊的版本, 都無法解決, 後來就用 ntpdate 每兩分鐘對時一次才讓時間不會跑太快... 不過, 沒多久就發現 dovecot 會因為這個原因就自殺了.

網頁上頭建議的 ntpd 沒效果, 把 clockspeed 抓下來, 在 x86-64 上頭又編不過. 網路上頭 google 到的都是在 vm 裡頭變慢的, kernel 加上 clock 或 clocksource 參數也沒作用.

弄了一天, 最後看了這篇  http://tldp.org/HOWTO/Clock-3.html 的說明, 提到時間有關的那幾個軟體, 發現我的機器上頭有裝 adjtimex 程式, 結果 hwclock, adjtimex 弄來弄去, 發現反而變成每分鐘慢 2 秒. 看來似乎與 adjtimex 有關.

研究一下 adjtimex 的說明, 重新跑了 adjtimexconfig 之後, 發現時間又變快了. 似乎 adjtimexconfig 計算出來的 tick 與 freq 是有問題的. 我直接改 /etc/default/adjtimex 的設定, 把 tick 改到預設的 10000 之後, 時間似乎就很接近了. 後來直接把 adjtimex 移除, 結果 ntpd 似乎就有在運作了, 跑了一個小時, 時間看起來還是對的.

如果你有裝 adjtimex, 試著移除看看, 如果沒裝, 那就裝上去, 試著改 tick 與 freq 的參數看看.
依據 adjtimex manpage 的說明, tick 每增加一, 時間每天會變快 8.64 秒, tick 每減一, 每天會變慢 8.64 秒.
如果依據 tick 的調整之後, 仍有小差異的話, 再利用 (1<<16)*s/.0864 (s 是經 tick 調整後, 每天差異的秒數), 計算出 freq 的數值出來. 這樣子就可以讓 kernel 的時間維持在很正確的情形下.

不過... adjtimex 在我這裝了也很久了, 一直都沒問題, 也不知道為什麼這幾天就有問題. 最後是移除 adjtimex 才讓 ntpd 有作用.

« 最後編輯時間: 2008-09-02 13:09 由 twu2 »

本文转自kenty博客园博客,原文链接http://www.cnblogs.com/kentyshang/archive/2008/11/04/1326561.html如需转载请自行联系原作者


kenty

相关文章
|
网络协议 数据安全/隐私保护 Windows
当不在公司时,如何在外远程登录公司内网OA系统?
当不在公司时,如何在外远程登录公司内网OA系统?
553 0
|
存储 机器学习/深度学习 分布式计算
HDFS Federation简介
背景 熟悉大数据的人应该都知道,HDFS 是一个分布式文件系统,它是基于谷歌的 GFS 思路实现的开源系统,它的设计目的就是提供一个高度容错性和高吞吐量的海量数据存储解决方案。在经典的 HDFS 架构中有2个 NameNode 和多个 DataNode 的,如下: 从上面可以看出 HDFS 的架构其实大致可以分为两层: Namespace:由目录,文件和数据块组成,支持常见的文件系统操作,例如创建,删除,修改和列出文件和目录。
|
人工智能 边缘计算 JSON
E百科 | 第1期 基于MEC的边缘AI服务
阿里云边缘计算团队付哲解读5G下热门场景:边缘AI。作者:阿里云付哲,计算机科学与技术专业博士后,在流量检测、资源调度领域有深入研究,其论文《Astraea: Deploy AI Services at the Edge in Elegant Ways》曾入选2020年IEEE边缘计算国际会议(IEEE International Conference on Edge Computing)。目前在阿里云边缘计算团队从事边缘云资源调度和创新应用方面的研究。
2740 0
E百科 | 第1期 基于MEC的边缘AI服务
|
10月前
【HarmonyOS Next开发】:ListItemGroup使用
通过使用ListItemGroup和AlphabetIndexer两种类型组件,实现带标题分类和右侧导航栏的页面
198 61
【HarmonyOS Next开发】:ListItemGroup使用
|
12月前
|
资源调度 前端开发 JavaScript
Python学习二:Python包管理器pip
这篇文章介绍了Python包管理器pip的基本概念、基本操作、如何更改下载源为国内镜像以加速下载,以及如何指定安装包的位置。
427 0
Python学习二:Python包管理器pip
|
关系型数据库 MySQL 数据库
MySQL的语法涵盖了数据定义、数据操作、数据查询和数据控制等多个方面
MySQL的语法涵盖了数据定义、数据操作、数据查询和数据控制等多个方面
226 6
|
机器学习/深度学习 算法 数据处理
深度学习之多模态信息检索
基于深度学习的多模态信息检索(Multimodal Information Retrieval, MMIR)是指利用深度学习技术,从包含多种模态(如文本、图像、视频、音频等)的数据集中检索出满足用户查询意图的相关信息。
366 5
|
12月前
|
人工智能 安全 搜索推荐
|
存储 弹性计算 安全
阿里云服务器怎么样?云服务器ECS产品优势、应用场景、价格解析及常见问题参考
阿里云服务器ECS(Elastic Compute Service)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。把物理服务器比作买的房子,云服务器ECS,就是租赁的房子,阿里云云服务商就是管家。云服务商负责搭建机房、提供配套服务和维护,用户只需要付租金,即可“拎包入住”,无需自建机房、采购和配置硬件设施。如果不再需要云服务器,可随时“退租”(释放资源),节省成本。本文为大家解析云服务器ECS产品优势、应用场景和最新价格及常见问题。
阿里云服务器怎么样?云服务器ECS产品优势、应用场景、价格解析及常见问题参考
|
机器学习/深度学习 传感器 自动驾驶
基于深度学习的图像识别在无人驾驶汽车中的应用
【5月更文挑战第30天】 随着人工智能技术的飞速发展,特别是深度学习在图像处理与识别领域的突破性进展,无人驾驶汽车技术正逐步成为现实。本文旨在探讨基于深度学习的图像识别技术如何为无人驾驶汽车提供核心的“视觉”功能,并分析其在实际应用中面临的挑战及解决方案。通过综合运用卷积神经网络(CNN)、递归神经网络(RNN)等模型,我们构建了一个高效的图像识别系统,该系统能够准确识别道路标志、行人、其他车辆以及多种障碍物,为无人驾驶汽车的安全行驶提供强有力的技术支持。