Mail-migrering

Revision as of 08:04, 21 September 2012 by Kaj (talk | contribs)

Den här sidan försöker beskriva den migrering av Stackens mail-system till en modernare infrastruktur. Det blir automatiskt en dokumentation av vad som finns och vad som händer med de olika delarna.

Ursprunglig infrastruktur

Brev

Brev (brev.stacken.kth.se) är den gamla SS10 mail-servern. Sen kör en antik++ Solaris med tillhörande Sendmail med allehanda påhängshack.

Tjänsterna är:

  • Inkommande SMTP
  • Utgående SMTP
  • Konto forward (cachead från AFS)
  • Konfade aliases (aliases)
  • Konfade aliases (mailing-lists.conf)
  • Konfade mail-listor (mailing-lists.conf)
  • Konfade mail-listor med medlemmar i utpekad fil (mailing-lists.conf) (som ligger i AFS)
  • Inkommande omskrivningar (gen.data)
  • Utgående omskrivningar (gen.data)
  • Konfade majordomo email-listor
  • Forward för Mailman listor till tapas
  • Forward för IMAP konton till imap
  • NFS export av /var/spool/mail för att vissa konton skall kunna läsa sin mail
  • Mailarkiv med MHonarc (wrapper-script med AFS hantering)
  • Mailarkiv direkt mot fil
  • Användarmail i /var/spool/mail
  • KPOP

Tapas

Tapas är den IBM maskin som hanterar våra Mailman email-listor.

Tjänsterna är:

  • Postfix SMTP MTA
  • Mailman listhantering
  • Webinterface till Mailman

Imap

Imap är den Ultra 1 maskin som hanterar vår IMAP tjänst.

Tjänsterna är:

  • Postfix SMTP
  • Courier IMAP

Stroganov

Stroganov är den Sun E250 maskin som var tänkt att ta över vår mail. Det projektet fastnade i kompileringsträsket.

Tjänsterna är:

  • LDAP uppdatering mot KTH - nu migrerad till vingummi

Stroganov kan nu pensioneras.

Ny infrastruktur

Vingummi

Vingummi är den DL380 maskin (4 GB RAM) med Debian som är tänkt att ta över alla våra mail-tjänster.

Tjänsterna är:

  • Postfix SMTP MTA

$SHELLMASKIN

Framtida shell-maskin kommer få innehålla personliga mailboxar i /var/spool-format. Den tjänsten kommer inte läggas på vingummi.

Grundprinciper

  • Mailforwardering skall inte bero direkt på AFS
    • när något i AFS strular så skall mail fungera för kommunikation
    • Det finns ingen anledning att göra sig direkt beroende på AFS
  • Mail-systemet kan indirekt använda sig av AFS
    • Cron-jobb kan regelbundet kopiera över filer från AFS till lokal disk
    • Cron-jobb kan regelbundet kopiera över filer från lokal disk till AFS
  • Minska antalet sätt att göra samma sak
    • Att ha många olika sätt att hantera mail-listor gör att systemet blir svåröverskådat
    • Att ha många olika sätt att göra aliases gör det svårt att hitta var det sker
    • Olika sätt är inte i sig fel, men man måste begränsa sig till några få som kompleterar varandra
  • Försök öka möjligheterna till självadministration
    • Enklare för vanliga användare att addressera aliases och mail-listor ger bättre kund-nöjdhet
    • Mindre detalj-pill för rötter
  • Integrera varsamt
    • Flytta gärna tjänster så att de fungerar effektivare ihop
    • Försök dock hålla filerna separat så att olika tjänster kan jobba oberoende av varandra
  • Städa
    • Många års floobydust att städa ur systemet
    • Se ovan, städa mer
    • Släng inte ut spädbarnet med badvattnet
  • Dokumentera mera
    • Bättre dokumentation gör systemet lättare att administrera för alla
    • Bättre dokumentation gör att man tvingas tänka igenom att man har med allt
    • Tydlig dokumentation gör tydligt vad man missat att tänka på (har redan kommit på saker jag glömt skriva om)
  • Testa
    • Egentligen borde testbänk finnas som verifierar de olika delarna av systemet
    • Messen is vissen
  • Städa så att postmaster blir läsbar
    • Minska mängden skrot som kommer
    • Pensionera majordomo som ger studsar när den svarar på spam som skickas in i gapet

Principbeslut

  • Mail migreras från brev till vingummi
  • Postfix körs istället för Sendmail
  • Ingen NFS export från nya mail-servern
    • Gärna skära bort NFS som ligger så långt ned i OSet av säkerhetsskäl
    • NFS export kan kanske få finnas från ny shell-server, men helst inte
  • Om vi skall ha /var/spool/mail access till mail-boxar, så skall det ske på lämplig(a) $SHELLMASKIN(er)
    • Inget mail-läsande direkt på mail-maskinen
  • Majordomo pensioneras på sikt (dvs efter att vingummi tagit över grund-hanteringen av mail)
    • I första integreringen får det leva kvar på brev
    • Listorna migreras sedan till Mailman
    • Svar på spam genererar studsar som matar postmaster med onödigt skrot
  • Mailman migreras från tapas till vingummi
    • tapas har ont i disken, så något behöver göras
    • Mailman fungerar bäst om den sitter direkt mot inkommnande Postfix maskinen
    • Det klister-hack jag gjort blir onödigt och kan äntligen tas bort
    • Skapandet av listor kan kraftigt förenklas
  • Imap migrerar från imap till vingummi
    • imap kommer behöver ersättas med tiden
    • enkelt att integrera utan att gröta till det
  • Ingen skript-körning i personliga .forward-filer tillåts

Migreringsplan

Fas 1

  • Postfix SMTP fungerar på vingummi - OK/Verified
  • LDAP uppdatering fungerar på vingummi - OK/Verified
  • Konfade aliases (aliases) - OK/Verified
  • Konfade aliases (mailing-lists.conf) migrerade till vingummi - OK/Verified
  • Konfade statistka mail-listor (mailing-lists.conf) migrerade till vingummi - OK/Verified
  • Konfade mail-listor med medlemmar i utpekad fil (mailing-lists.conf) (som ligger i AFS) - OK/Verified
  • Konfade majordomo listor (mailing-lists.conf) forwarderade till brev - OK/Verified
  • Inkommande omskrivningar (gen.data) - Ignore - innehåll inaktuellt
  • Utgående omskrivningar (gen.data) - Ignore - innehåll inaktuellt
  • Inkludera alla användare i /etc/passwd på vingummi - OK/Verified
  • Konto forward (cachead från AFS) - OK/Verified
  • Forward för Mailman listor till tapas - OK/Verfied
  • Forward för IMAP konton till imap - OK/Verified
  • Migrera mail-liste arkiv med Mhonarc (AFS publicering) till någon av lösningarna:
    • Arkiv mot lokal fil, regelbunden kopiering ut till AFS
      • Arkiv mot lokal fil - OK/Verified
      • Regelbunden kopiering ut till AFS - OK
    • Migrering till Mailman och dess web-arkiv.
  • Modernisera .forwards infrastrukturen
    • Synka kontons .forward med aktiva forwardingfiles
    • Skript för regelbunden hämntning av .forward från AFS-konton till /etc/stackenmail/forwardingfiles
  • Migrera mail-arkiv i /var/spool/mail-archive till vingummi - migrerat, fungerade men funkar inte
  • Inkommande SMTP - OK/Verified
  • Utgående SMTP - OK/Verified
  • Peka om mail till vingummi - OK/Verified

Fas 2 - Uppstädningen

  • Mail-arkiv i /var/spool/mail-archive fungerar inte som tänkt
    • Visade sig bero på att dumpning till fil hamnat i virtual som inte supportar det => separarera expansion och arkivering => arkivering via omskrivning in till archive
    • Introducerat keywordet archive i gen.mailinglist.pl som skriver om fil-skrivningen via al_-aliases - OK/Verified.
    • Introducerat keywordet archive i mailing-lists.conf för alla arkiv - OK/Verified.
  • Local delivery på taco behöver sättas upp
  • Forward-filer behöver skrivas för de som får local delivery på vingummi
  • Utkopiering till AFS för Mhonarc arkiv fungerar inte som tänkt - OK/Verified

Fas 3

  • Migrera Mailman till vingummi
    • Extrahera special-hack i Mailman och applicera de på nya Mailman
    • Exportera data från gamla installationen och importera i nya
    • Konfigurera Postfix på vingummi för att interaggera med Mailman
    • Ta bort gamla omskrivningsmagin från skriptar och Make-system
    • Skapa lists.* tilläggen för vingummi cert
    • Peka om DNS för lists.* till vingummi
  • Migrera IMAP till vingummi
    • Uppdatera .forward för aktiva imap-konton för att skapa lokal forward istället för mail-loop
  • Migrera mail-listor med medlemmar i utpekad fil (mailing-lists.conf) till någon av lösningarna:
    • Kopiera fil från AFS till lokal kopia med cron-jobb. - OK/Verified
    • Migrera hela listan till Mailman.
  • Konfade majordomo email-listor - ej på vingummi - migrering till mailman?
  • NFS export av /var/spool/mail för att vissa konton skall kunna läsa sin mail - ej på vingummi
    • Flytta /var/spool/mail till ny shell-server
    • Sätt upp en postfix för local delivery på nya shell-servern
    • Sätt .forward/forwardingfiles till att peka på den nya shell-servern
  • styckning av aliases och gen.data
    • kasta delar
    • migrera aliases och listor till mailing-lists.conf
    • migrera listor till Mailman
  • Städa floobydust ur
    • Majordomo-listor - ta bort listor
    • Mhonarc-arkiv - ta bort listor
    • mailing-lists.conf - ta bort listor och aliases
    • gen.data - ta bort omskrivningar som ej behövs
    • aliases - ta bort omskrivningar som ej behövs
    • /var/spool/mail - ta bort arkiv för länge avstängda konton

Progress

  • 2012-02-03 - Postfix SMTP fungerar på vingummi bekräftad /magda
  • 2012-02-03 - LDAP uppdatering mot KTH fungerar, men skriver inte allt. /kaj
  • 2012-02-04 - Konfade aliases (aliases) /magda
  • 2012-02-04 - LDAP uppdatering mot KTH fungerar /nsg
  • 2012-02-05 - Konfade aliases (mailing-lists.conf) migrerade till vingummi /magda
  • 2012-02-05 - Konfade statistka mail-listor (mailing-lists.conf) migrerade till vingummi /magda
  • 2012-02-05 - Konfade mail-listor med medlemmar i utpekad fil (mailing-lists.conf) (som ligger i AFS) /magda
  • 2012-02-05 - Forward för Mailman listor till tapas /magda
  • 2012-02-05 - Konfade majordomo listor (mailing-lists.conf) forwarderade till brev /magda
  • 2012-02-05 - Fixade ny virtual fil som är postfix kompatibel. Fixade även auto-hashning. /magda
  • 2012-02-05 - lokala användare har fungerande forwards (inkl. IMAP). /etc/passwd saknar användare för full funktion. /magda
  • 2012-02-12 - Konfade aliases (mailing-lists.conf) migrerade till vingummi /perixon,nsg,magda,blgl
  • 2012-02-12 - Inkludera alla användare i /etc/passwd på vingummi /nsg
  • 2012-02-12 - Konfade statistka mail-listor (mailing-lists.conf) migrerade till vingummi /magda
  • 2012-02-12 - Forward för Mailman listor till tapas /magda
  • 2012-02-12 - Konfade majordomo listor (mailing-lists.conf) forwarderade till brev /magda
  • 2012-02-13 - Konfade mail-listor med medlemmar i utpekad fil (mailing-lists.conf) (som ligger i AFS) - /magda,nsg
  • 2012-02-13 - Kopiera fil från AFS till lokal kopia med cron-jobb. /magda,nsg
  • 2012-02-18 - Migrera mail-liste arkiv med Mhonarc (AFS publicering) till lokal cache, utskrivning till AFS via cron - /magda
  • 2012-02-18 - Inkommande SMTP - /magda,nsg
  • 2012-02-18 - Utgående SMTP - /magda,nsg
  • 2012-02-18 - Ompekning av incoming-email från brev till vingummi - /nsg
  • 2012-02-19 - Skapan nya archive keywordet i mailing-lists.conf - /magda
  • 2012-02-19 - Fungerande /var/spool/mail-archive för mail-listor - /magda
  • 2012-03-01 - Lade till domän på filerna i vingummi:/etc/stackenmail/afsfiles så dom blir unika och inte skriver över varandra /Perixon med hjälp av Magda på lur.
  • 2012-03-03 - Utkopiering till AFS för Mhonarc arkiv fungerar inte som tänkt, visade sig att backup katalogen hade blivit inkopierad men annars fungerar det. AFS cachen uppvriden så att det skall fungera smidigare. /magda