Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam,
Chciałem was zapytać o sposób archiwizacji poczty po stronie serwera.
Myślę żeby zrobić to na popularnym połączeniu Postfix+Dovecot schemat miałby wyglądać tak:
Serwer podstawowy ----> Serwer backupowy ----> Backup
Zależy mi na tym aby mieć czystą postać wiadomości, które wpadają na serwer (przychodząca/wychodząca) takie wymagania u nas są.
Czego użyć do zbudowania takiego przesyłania wiadomości pomiędzy serwerem podstawowym a serwerem backupowym?
Offline
To wszystko zależy, na jakiej niezawodności Ci zależy. Najprostszym rozwiązaniem jest wykorzystania postfixowej mapy [i]recipient_bcc_maps[/i] (lub analogicznego mechanizmu w innym MTA). Natomiast ja zdecydowanie odradzałbym taką metodę.
Aby uzyskać usługę naprawdę wysokiej dostępności, powinieneś mieć dwa serwery - główny i backupowy MX. Każdy z nich powinien mieć redundantny sprzęt, jak dodatkowe zasilacze, karty sieciowe (bonding) R.A.I.D itp. Przestrzeń na skrzynki pocztowe powinna działać w jakimś klastrowym systemie (np. DRBD). Wówczas te same pliki (czyli np. maile) będą dostępne na każdym z serwerów niezależnie. Oprócz tego skrzynki powinny być backupowane (bo R.A.I.D i klaster to nie backup - nie uchroni Cię przed sytuacją, kiedy użytkownik zadzwoni, że skasował wiadomość i potrzebuje ją odzyskać, lub też przed błędem logicznym, który np. uszkodzi filesystem). Do backupu możesz wykorzystać dedykowane narzędzie, jak Bacula czy Amanda. Backup powinieneś składować na osobnej przestrzeni, jak macierz dyskowa, biblioteka taśmowa, czy virtualna biblioteka taśmowa (najlepiej w innej lokalizacji).
Oczywiście nie musisz wykorzystywać tego wszystkiego, a jedynie pojedyncze elementy - w zależności od tego, na jak dużej niezawodności Ci zależy.
Ostatnio edytowany przez jurgensen (2013-07-18 00:36:56)
Offline
SOA#1
Dovevot - replikacja - po odebraniu maila z serwera SMTP (z Postfixa najlepiej przez socket LMTP) automatycznie wysyła kopię na drugi serwer.
Tytuł:
dsync over TCP connections (v2.2+)[/quote]
Sznurek:
http://wiki2.dovecot.org/Replication
Najlżejsze i najprostsze rozwiązanie, obsługuje ssl, ze względów bezpieczeństwa (wojna atomowa), dobrze byłoby rozmieścić serwery z backupem na wszystkich 7 kontynentach. :D
Pozdro
;-)Ostatnio edytowany przez Jacekalex (2013-07-18 03:05:44)
W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem para bellum ;) | Pozdrawiam :)
Offline
@jurgensen - zaplecze żeby to zrobić mam i cała koncepcja jak najbardziej trafna ale mnie bardziej chodzi o konkretne mechanizmy do uzyskania wszystkiego co wpada na serwer jako kontener do backupu.
@Jacekalex o coś takiego mi chodziło, ale czy to załatwi temat poczty wychodzącej?
Offline
Rozwiązaniem może być tutaj właśnie klastrowy storage, jak DRBD. Wówczas każdy plik utworzony na jednym z serwerów, jest automatycznie replikowany na drugi.
Offline
[quote=trzcionek]@jurgensen - zaplecze żeby to zrobić mam i cała koncepcja jak najbardziej trafna ale mnie bardziej chodzi o konkretne mechanizmy do uzyskania wszystkiego co wpada na serwer jako kontener do backupu.
@Jacekalex o coś takiego mi chodziło, ale czy to załatwi temat poczty wychodzącej?[/quote]
Trzcionek pożycz trochę tego sprzętu po znajomosci bo te serwerki które ostatnio kupiłem juz się troche zapchały :]
pozdrawiam
Bartosz
Offline
[quote=trzcionek]@jurgensen - zaplecze żeby to zrobić mam i cała koncepcja jak najbardziej trafna ale mnie bardziej chodzi o konkretne mechanizmy do uzyskania wszystkiego co wpada na serwer jako kontener do backupu.
@Jacekalex o coś takiego mi chodziło, ale czy to załatwi temat poczty wychodzącej?[/quote]
Jeśli klient IMAP zapisuje maila na serwerze w folderze wysłane, powinno, ale musisz zobaczyć.
Ja dopiero za jakiś czas będę aktualizował Dovecota do wersji 2.2.+ w robocie, w domu natomiast mam tylko 1 działający serwer.
Jakby nie zapisywał wychodzących, to zawsze są logi i jest lista mailingowa Dovecota w razie czego. :D
Offline
@qlemik: Przyjedź i weź sobie co potrzebujesz (dużo tego nie ma) z kanciapy tj. serwerowni. :D
No właśnie a ja to muszę mieć na POP3, więc chyba muszę poczytać o mechanizmy samego Postfixa .
Ostatnio edytowany przez trzcionek (2013-07-18 12:17:07)
Offline
Time (s) | Query |
---|---|
0.00012 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00187 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.145.167.58' WHERE u.id=1 |
0.00100 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.145.167.58', 1732315207) |
0.00041 | SELECT * FROM punbb_online WHERE logged<1732314907 |
0.00087 | DELETE FROM punbb_online WHERE ident='54.36.148.98' |
0.00078 | SELECT topic_id FROM punbb_posts WHERE id=237264 |
0.00005 | SELECT id FROM punbb_posts WHERE topic_id=23957 ORDER BY posted |
0.00110 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=23957 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00225 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=23957 ORDER BY p.id LIMIT 0,25 |
0.00093 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=23957 |
Total query time: 0.00947 s |