使用者工具

網站工具


tech:dovecot_nfs

dovecot 在 nfs 儲存環境設定

這問題在我更換大硬碟之後將 mail 實際存放改到 nfs 磁碟, 就出現 imap 搬移信件到特定目錄 lock 失敗的困擾, 剛剛終於解決..

我的目的不是多台 mail server 共享讀取 nfs 的檔案資料, 只是一台安裝在 VMWare 內的 mail server 讀取實體主機上面硬碟, 當 mail server 掛點, 可以快速切換恢復上線的需求.

- 在 nfs 開放的 storage 設定

[[email protected] data]# cat /etc/exports
:
/data/maildata/ vm-mail(rw,no_root_squash,no_all_squash)
:

主要是去掉 sync 參數, 原本設定為
/data/maildata/ vm-mail(rw,no_root_squash,no_all_squash,sync)

- 在 dovecot 的參數設定

[[email protected] home]# cat /etc/dovecot.conf | grep -v "#"
:
protocols = imap pop3
mmap_disable = yes
lock_method = dotlock
mbox_read_locks = dotlock
mbox_write_locks = dotlock
mbox_lock_timeout = 30

protocol imap {

  imap_client_workarounds = delay-newmail outlook-idle netscape-eoh
}
:

主要是將 lock 機制都改成 dotlock , 增加以下這兩個設定就能迅速開啟 nfs 目錄的信件
mbox_read_locks = dotlock
mbox_write_locks = dotlock

- 信件目錄權限

後來發現搬移信件過程出現以下的錯誤訊息

cat /var/log/maillog
:
Apr 30 11:23:39 vm-mail dovecot: IMAP(jtsai): file_lock_dotlock() failed with mbox file /var/mail/jtsai: Permission denied
Apr 30 11:23:39 vm-mail dovecot: IMAP(jtsai): file_lock_dotlock() failed with mbox file /var/mail/jtsai: Permission denied
:
所以後來將存放 mail 的 /var/mail 開放可寫入權限來解決這問題

參考資料網址

tech/dovecot_nfs.txt · 上一次變更: 2009/04/30 11:52 由 jonathan