Như các bạn cũng biết nhiều người tiết kiệm nên sử dụng email theo tên miền đi theo của hosting, tức là họ dùng email của hosting mà không tốn thêm tiền mua email tên miền riêng bên ngoài. Đương nhiên dùng như vậy thì vẫn được nhưng email hosting có đặc điểm là không ổn định bằng dịch vụ trả phí được. Và bài viết này mình sẽ hướng dẫn các bạn xử lý lỗi connection to storage server failed khi dùng mail của direct admin cho các bạn.
1. Nguyên nhân 1:
Có thể đã lâu bạn chưa cập nhật phiên bản mới của dovecot, trong khi direct admin thì liên tục cập nhật các phiên bản webmail roundcube. Để khắc phục tình trạng này bạn làm như sau: Xóa các file index của dovecot, để sau đó nó tự cập nhật các file mới và fix lỗi. Các lệnh cần thực hiện là:
# cd /home
# /etc/init.d/dovecot stop
# rm -f */imap/*/*/Maildir/dovecot*
# rm -f */imap/*/*/Maildir/.*/dovecot*
# rm -f */Maildir/dovecot*
# rm -f */Maildir/.*/dovecot*
# /etc/init.d/dovecot restart
Nguyên nhân 2:
Dovecot giới hạn số connection được mở từ một IP. Khi nhiều user cùng sử dụng webmail (roundcube) để checkmail, thì thực chất là các user này đã sử dụng chung một địa chỉ là 127.0.0.1 để tạo connection do vậy nó có thể vượt quá lượng connection giới hạn. Có thể kiểm tra để khẳng định điều này bằng lệnh #cat /etc/log/maillog nếu thấy xuất hiện dòng log sau thì chắc chắn là đã quá số lượng connection trên ip này:
imap-login: Maximum number of connections from user+IP exceeded (mail_max_userip_connections=10)
hoặc
master: Error: service(imap-login): listen(*, 993) failed: Address already in use
Trong trường hợp này bạn có thể nên mở file cấu hình dovecot (/etc/dovecot/dovecot.conf) ra và sửa các con số trong các dòng sau:
mail_max_userip_connections = 15
remote 127.0.0.1 {
mail_max_userip_connections = 40
}
Sau đó bạn khởi động lại dịch vụ dovecot bằng lệnh: #service dovecot restart.
Nguyên nhân 3:
Số lượng user login theo giao thức IMAP đã quá giới hạn. Bạn cũng có thể kiểm tra điều này bằng lệnh cat log file như ở nguyên nhân 2 và có thể thấy xuất hiện dòng sau:
imap-login: Maximum number of connections from user+IP exceeded (mail_max_userip_connections=10)
Nếu thấy dòng này thì rõ ràng là số lần login từ một địa chỉ IP nào đó đã vượt ngưỡng. Bạn có thể sửa các ngưỡng này trong file /etc/dovecot.conf như sau:
service imap-login {
process_limit = 800
process_min_avail = 16
user = dovecot
}
Các nguyên nhân khác: Bạn có thể tìm hiểu thêm các nguyên nhân khác trong các file log sau đây:
cd /var/log/httpd
tail -n 20 error_log
tail -n 20 domains/domain.com.log
tail -n 20 domains/domain.com.error.log
tail -n 20 /var/log/maillog