Szeretnék két email szervert üzemeltetni úgy, hogy a levelek szinkonban legyenek.
Azaz az első MX-en élő működne mint általában: postfix, dovecot..., postgresql, maildir, samba4, openchange, ( de egyelőre az adatbázis szinkonnal és az opencange-el nem kell foglalkozni, későbbi kérdés ).
A másodikra mutatna a második MX rekord, és relay az elsőre, de szeretném ha ezen is teljes lenne a userek maildirje.
Ha az első meghal, valamilyen HA-s, ip váltós megoldással már a második szerverre csatlakoznának a kliensek imap, és így is látnák a teljes maildirjüket (észe sem vennék hogy az első meghalt)
Aztán ha az első feléled újra, akkor a közben bejött, kiment leveleiket a másodlagos továbbítaná az elsődlegesre, és kliensek (HA ip), vissza az elsőre.
Tudtok valamilyen módszert ilyen relay-re, a levelek szinkonban tartására?
Nem filerendszer szinten szeretném..., azaz nem rsync, drbd, ilyesmik..., hanem önmagában a levelezőszerverekkel megoldható?
- 4348 megtekintés
Hozzászólások
Imapsync vagy valami hasonlo (google segit).
De van ertelme? Ha hirtelen esik ki az egyik akkor ugysem lesz tokeletes a szinkron ha sok a mailbox.
Miert nem csak siman backup MX-et csinalsz?
-----
"Már nem csak tehetségekből, de a hülyékből is kifogytunk..."
- A hozzászóláshoz be kell jelentkezni
Hát más dologra kell...
A sima backup MX mellett fontos, hogy ha esetleg nem is tökéletes a szinkonicáció..., a régi levelek mindig elérhetőek legyenek.
Azaz a maildir elérhetőségéhez kell HA.
- A hozzászóláshoz be kell jelentkezni
Egy valodi HA megvalositashoz kozos storage is jo ha van.
Archivalni rsync-el is lehet valami helyi szerverre ahol elerhetoek a levelek.
-----
"Már nem csak tehetségekből, de a hülyékből is kifogytunk..."
- A hozzászóláshoz be kell jelentkezni
Storage-ból is kettő. :)
- A hozzászóláshoz be kell jelentkezni
Szóval a legjobb HA, ha nem egy, de két közös storage is van?
Értem a fonalat... :)
- A hozzászóláshoz be kell jelentkezni
rohogni fogsz, de vannak olyan helyek, ahol 2 dc is van (business continuity rulez), es az adott dc-ben nyilvan shared storage, azaz igy 2 shared storage van...
--
"Egy fekete farmer szvsz [...] sokkal kenyelmesebb nagy melegben." (hrgy84)
- A hozzászóláshoz be kell jelentkezni
Sokkal cifrabbak is vannak szerintem :)
Pl. 3 DC + 3 storage.
-----
"Már nem csak tehetségekből, de a hülyékből is kifogytunk..."
- A hozzászóláshoz be kell jelentkezni
Nem. :)
Több kérdés van, amit szerintem még nem tettél fel magadnak és nem jártad körül. Az első, hogy pontosan mekkora rendelkezésre állásra van szükség és mi az, amihez nem elég egy redundáns tápos hotswap hdd-s vas? Mi lesz a legszűkebb keresztmetszet, gondolok itt példul a netkapcsolatra.
- A hozzászóláshoz be kell jelentkezni
Cyrus 2.6-ra írják a multi-master replikáció támogatását, a master-slave most is benne van, de nekem a 2.4-es szériában voltak vele gondok, így már nem használom. DRBD pedig egy jó megoldás lenne, még ha ezt nem is szeretnéd.
- A hozzászóláshoz be kell jelentkezni
Szerintem a drbd itt csak egy szükségmegoldás, ezt meg kell tudni oldani email szerver szinten is. Azaz úgy, hogy a két szervernek nincs közös része... drbd.
Cyrust olvasom, köszönöm..., de közben találtam ilyesmit is: http://wiki2.dovecot.org/Replication bár még nem teljesen világos számomra...
- A hozzászóláshoz be kell jelentkezni
"ezt meg kell tudni oldani email szerver szinten is"
És itt válik szét az elmélet a gyakorlattól. De azért kíváncsi lennék, hogy a dovecot master/master sync működik-e normálisan.
- A hozzászóláshoz be kell jelentkezni
recipient_bcc_maps a masik gepre? Btw. az email archivalas nem jatszik? Az pont azt (is) tudja, hogy minden level meg egy masik helyen is elerheto. Es abbol konnyebb 2 peldanyt csinalni, amelyek a vilag 2 ellentetes vegen is lehetnek akar.
--
"Egy fekete farmer szvsz [...] sokkal kenyelmesebb nagy melegben." (hrgy84)
- A hozzászóláshoz be kell jelentkezni
Lesz valamikor csomag a pilerből? Nem tervezed? Forrásból eléggé nehéz bevezetni.
- A hozzászóláshoz be kell jelentkezni
nekiszaladtam mar tobbszor, hogy legyen belole deb es rpm, de aztan inkabb az ova-nal maradtam...
--
"Egy fekete farmer szvsz [...] sokkal kenyelmesebb nagy melegben." (hrgy84)
- A hozzászóláshoz be kell jelentkezni
OpenLDAP master-master meta-adat-bázis, GlusterFS replika a teljes maildir-re, egyenrangú MX az ördögtől való lenne? 2015-ben miért gondolkodtok még mindig master-slave és/vagy active-passive gépekben? :)
Ráadásul ez az architektúra skálázható horizontálisan és vertikálisan is, bármelyik komponense cserélhető (frissíthető!) menet közben, ésatöbbi.
- A hozzászóláshoz be kell jelentkezni
Én ilyet biztos nem bíznék Glusterre, inkább DRBD akkor már.
- A hozzászóláshoz be kell jelentkezni
Egyrészt miért nem bíznál ilyet GlusterFS-re, másrészt mi az, amit rábíznál és miért? :)
- A hozzászóláshoz be kell jelentkezni
Az a tapasztalat vele, hogy abszolut nem lehet tudni, hogy mi van replikálva, és mi nem. DRBD-nél pl. a C protokoll garantálja, ha az írás teljesül, akkor az megvan a másik oldalon is. Glusteren meg semmi ilyen garancia nincs. Simán lehet inkonzisztens a másik oldal, és még csak nem is tudsz róla. Videoszervert replikálni talán használnám.
A másik meg, hogy mmap és lock sem nagyon működik rajta, amiket a cyrus is, és a dovecot is szereti, ha van.
- A hozzászóláshoz be kell jelentkezni
"Az a tapasztalat vele, hogy abszolut nem lehet tudni, hogy mi van replikálva, és mi nem."
Erről tud a RHEL support is? Emlékeim szerint pont azért lassú és körülményes az írás, mert megvárja a replikákat és distributed lock-ot használ. Ettől persze el lehet térni, hogy gyorsabb legyen, de akkor nem kell azért panaszkodni, hogy néhol nem konzisztens.
"A másik meg, hogy mmap és lock sem nagyon működik rajta, amiket a cyrus is, és a dovecot is szereti, ha van."
Dovecot esetén az mmap letiltható, a distributed lock pedig van GlusterFS-hez.
Én pár éve végeztem teszteket elosztott Postfix-Dovecot-OpenLDAP konfiggal GlusterFS alapokon, nem vettem észre különösebb problémákat, simán lábonlőhettem bármelyik node-ot terhelés alatt és ment tovább. De YMMV, ha nem, hát nem.
- A hozzászóláshoz be kell jelentkezni
Dovecotnál megnéztem, nagyon nem ajánlják a glustert, amúgy ez a fájl szinten replikálunk elég rizikósnak tűnik, egy meglévő fájlba írás mikor jelenik meg a túloldalon? Ha lezárják a fájlt? A mailszerverek használnak adatbázisokat is (cyrus biztosan), ezekre megint nem egy életbiztosítás a Gluster.
- A hozzászóláshoz be kell jelentkezni
Mint írtam volt, van distributed lock, tehát a replikált írás jól működik, persze vannak limitációk, például csak maildir a célszerű és nem mailbox a használható formátum, ki kell kapcsolni az index cache-t, és az adatbázis OpenLDAP-ban van (mostanában már lehet MongoDB-re vagy Cassandra-ra is tenni), ami szintén master-master replika volt.
Nyilván megszokásból bármit nem lehet megcsinálni elosztott környezetben, vannak limitációk, amiket át kell gondolni aztán le kell tesztelni, viszont nagyon sok előnye van a master-slave vagy active-passive megoldásokkal szemben, mert rugalmasan bővíthető akár napi szinten az igények szerint és minden gép ki van használva, nincs "túlméretezve" az üzemeltetési idő nagy részében.
- A hozzászóláshoz be kell jelentkezni
Én elhiszem, hogy teszt szinten működik, de azért az, hogy fuse fájlrendszer, plusz a FAQ-ból ez (amit egyébként egy balfaszul tervezett rendszernél személyesen is tapasztaltam):
15. I am getting weird errors and inconsistencies from a database I am running in a Gluster volume
Unless your database does almost nothing, this is expected. Gluster does not support structured data (like databases) due to issues you will likely encounter when you have a high number of transactions being persisted, lots of concurrent connections, etc. Gluster *IS*, however, a perfect place to store your database backups.
nem győz meg arról, hogy mail szerver storagnek akarnám használni.
- A hozzászóláshoz be kell jelentkezni
"nem győz meg arról, hogy mail szerver storagnek akarnám használni."
Azért a maildir az messze nem database... és pluszban nincs fájlon belüli random írás, minden fájl egyetlen egyszer szekvenciálisan íródik és ha egyszer létrejött, akkor a fájl neve és/vagy a könyvtár módosul csak, a tartalom nem.
Szerintem ez egy tipikus használati esete egy distributed fájlrendszernek.
"Én elhiszem, hogy teszt szinten működik"
Milyen szinten kellene még működnie? Én élesbe mentem volna a tesztek alapján, aztán nem volt rá szükség.
- A hozzászóláshoz be kell jelentkezni
Mondjuk a cyrus adatbázisait pl. nem szívesen bíznám rá. Milyen szinten? Valós felhasználók alatt, hónapokig, évekig. Én sosem leszek meggyőzve :)
- A hozzászóláshoz be kell jelentkezni
"Mondjuk a cyrus adatbázisait"
Leírom mégegyszer és utoljára: "elosztott Postfix-Dovecot-OpenLDAP konfiggal GlusterFS alapokon [...] vannak limitációk, például csak maildir [...] ki kell kapcsolni az index cache-t, és az adatbázis OpenLDAP-ban van"
Nem Cyrus, nincs adatbázis replikálva, memóriában van a Dovecot indexe, én ezt raktam össze, ezt teszteltem, ez működött, minden más esetben YMMV... :)
- A hozzászóláshoz be kell jelentkezni
> "Az a tapasztalat vele, hogy abszolut nem lehet tudni, hogy mi van replikálva, és mi nem."
> Erről tud a RHEL support is?
Igen, ez köztudott. Az outdated/split-brain replika detektálása csak full scan-nel lehetséges, nincs globális állapotjelző. A Self-Heal Daemon próbálja az inkonzisztencát egy bizonyos időablakon belül tartani, de ennek sikere erősen függ a környezettől (IOPS teljesítmény, fájlok száma, stb).
Glusterfs-nél sosem lehetsz biztos abban, hogy a fájlod valóban redundánsan van-e tárolva. Persze ettől rengeteg helyen nagyon jól használható.
- A hozzászóláshoz be kell jelentkezni
"Glusterfs-nél sosem lehetsz biztos abban, hogy a fájlod valóban redundánsan van-e tárolva. Persze ettől rengeteg helyen nagyon jól használható."
Ahja, ez erősen use case függő. Az általam vázolt esetben a fájlok létrejönnek, úgy maradnak aztán törlődnek. A tartalmuk nem módosul soha többé.
- A hozzászóláshoz be kell jelentkezni
A Gluster replikáció nagy overhead sok apró fájlnál. Nagyobb fájloknál okés.
- A hozzászóláshoz be kell jelentkezni
Végig kell gondolni, hogy milyen igénybevételre kell a replikáció... mert a GlusterFS olvasásra nem marad el jelentősen a helyi fájlrendszertől (mert helyben van a teljes replika), írásnál pedig valóban van egy tranzakcióra jellemző overhead, ami kis fájloknál arányaiban nagyobb, de meg kell nézni, hogy mekkora az írás/olvasás arány és ki kell mérni, hogy a többi megoldáshoz képest mennyire lassabb vagy gyorsabb (mert lehet gyorsabb is...).
- A hozzászóláshoz be kell jelentkezni
Fájlok megnyitásánál bizony jelentősen elmarad az (replikálás esetén), a self-healing miatt. A kliens sosem lehet biztos abban, hogy a helyi példány up-to-date, emiatt a távoli szervert ugyanúgy meg kell szólítania, megnézni a fájlt és az összes parent állapotát a rootig. Ehhez képest az, hogy 200 bájtot helyből olvas ki és nem a hálózaton, már lófütty, ezért jelentős az overhead.
- A hozzászóláshoz be kell jelentkezni
bennem felmerült egy olyan kérdés, hogy mi van, ha a küldő éppen nem tud csatlakozni
az MX1-re. Az MX2 fogadja a levelet, kirakja local-ba és az MX1-re is?
Mi van, ha MX1 és MX2 nem látja egymást - de az internet mindkettőt?
- A hozzászóláshoz be kell jelentkezni
Topik szinten már sikerült a split-brain állapotot összehozni. :) Itt a másik: http://hup.hu/node/141946
- A hozzászóláshoz be kell jelentkezni
:D
- A hozzászóláshoz be kell jelentkezni
Opps! :o) Töröltem a másikat!
( ...köszönöm az oda írt válaszokat is! )
- A hozzászóláshoz be kell jelentkezni
Jfyi, a sok alternatív megoldás helyett a dovecot tud tetszőleges store-t (maildir, dbox stb) szinkronizálni.
Dsync-et keress, be lehet állítani "fixen" is, ha változás van, szinkronizál.
Sajnos nem a világ leghatékonyabb megoldása, de hacsak nem nagy, szolgáltatói környezetben vagy, ebből valószínűleg semmit sem fogsz észrevenni.
- A hozzászóláshoz be kell jelentkezni
Van tapasztalatod is vele ugye?
Megtaláltam már, köszönöm! ...ez eddig a legszimpatikusabb megoldás. A napokban csinálom, aztán teszt...
Amikor azt írtam hogy "meg kell tudni ezt oldani program szinten is", nem ilyesmi megoldást képzeltem el, de biztos megvan az oka hogy így valósították meg. (majd talán a konfig, teszt alatt rájövök hogy miért így)
Alapvetően egy kisebb irodához kell nekem, max ötven postafiók..., ami viszont fontos, merthogy olyan az ügymenet, hogy ha meghalna az elsődleges szerver, akkor is menjen a levelezés, és a régi maildir is elérhető legyen. Azaz ne kelljen megvárni, míg backupból vissza az elsődleges.
- A hozzászóláshoz be kell jelentkezni
Igen, van (de ne hívj :). Arra, amit te szeretnél jó eséllyel megfelelő megoldást tud adni.
--
zsebHUP-ot használok!
- A hozzászóláshoz be kell jelentkezni