SlideShare uma empresa Scribd logo
1 de 145
Sonoma State’s
    Email
  SSU CS Colloquium, October 8, 2009
             Eric Eisenhart

      <eric.eisenhart@sonoma.edu>
http://eric.eisenhart.name/presentations/
Disclaimers
Disclaimers
•
My opinions
Disclaimers
•My opinions

•No Credit
Disclaimers
•My opinions

•No Credit

•Network == Air
Disclaimers
•My opinions

•No Credit

•Network == Air

•Life
Too Simple
Too Simple
    A




Mail Server
    #1
Too Simple
    A             B




Mail Server   Mail Server
    #1            #2
Big Picture
       Alice                                                             Bob




                                                                   Load Balancer #1


                               ns            authns                      mail                                  ldaps                  webmail




           ns cluster                                                            mail cluster                                                                          authns cluster

                                    moltar          zorak                                                                                blinky   snorky
ns-a           ns-b     ns-c                                chalmers    clancy        cletus      krusty        milhouse                                    authns-a     authns-b       authns-c




                                                                                                           NetApp Cluster
                                             mojo
ns3.csu.net                                                                                                                                       flanders
                                                                                                    heckle             jeckle




                                                                                                heckle-
                                                                                                                            jeckle-
                                                                                                shelf-1
                                                                                                                            shelf-1




                                                                                                heckle-                     jeckle-
                                                                                                shelf-2                     shelf-2
Big Picture                                                                                                         Chuck




                                                                                                                                           Red Condor #1     Red Condor #2


       Alice                                                             Bob                                                                                  Red Condor Offsite



                                                                   Load Balancer #1


                               ns            authns                      mail                                  ldaps                  webmail




           ns cluster                                                            mail cluster                                                                            authns cluster

                                    moltar          zorak                                                                                blinky   snorky
ns-a           ns-b     ns-c                                chalmers    clancy        cletus      krusty        milhouse                                      authns-a     authns-b       authns-c




                                                                                                           NetApp Cluster
                                             mojo
ns3.csu.net                                                                                                                                        flanders
                                                                                                    heckle             jeckle




                                                                                                heckle-
                                                                                                                            jeckle-
                                                                                                shelf-1
                                                                                                                            shelf-1




                                                                                                heckle-                     jeckle-
                                                                                                shelf-2                     shelf-2
Simpler Picture?
How Email
  Works
An Email
Return-path: <root@eisenhae>
Envelope-to: eisenhae@sonoma.edu
Delivery-date: Wed, 30 Sep 2009 09:57:52 -0700
Received: from exim by nelson with spam-scanned (Exim 4.63)

   (envelope-from <root@eisenhae>)

   id 1Mt2Ut-0007cJ-M2

   for eisenhae@sonoma.edu; Wed, 30 Sep 2009 09:57:52 -0700
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on nelson
X-Spam-Level: *
X-Spam-Status: No, score=1.6 required=5.0
  tests=MISSING_DATE,MISSING_HEADERS,

   MISSING_MID autolearn=no version=3.2.5
Received: from eisenhae ([1.2.3.4] helo=eisenhae)

   by nelson with esmtp (Exim 4.63)

   (envelope-from <root@eisenhae>)

   id 1Mt2Uf-0007cC-FN

   for eric.eisenhart@sonoma.edu; Wed, 30 Sep 2009 09:57:47 -0700
Subject: test message
Message-Id: <E1Mt2Ut-0007cJ-M2@nelson>
From: root@eisenhae
Date: Wed, 30 Sep 2009 09:57:52 -0700

just a test.
SMTP + MSP
(Simple Mail Transport Protocol +
    Mail Submission Protocol)
SMTP + MSP
               (Simple Mail Transport Protocol +
                   Mail Submission Protocol)
220 nelson ESMTP Exim Wed, 30 Sep 2009 09:55:40 -0700
SMTP + MSP
               (Simple Mail Transport Protocol +
                   Mail Submission Protocol)
220 nelson ESMTP Exim Wed, 30 Sep 2009 09:55:40 -0700
EHLO eisenhae
SMTP + MSP
               (Simple Mail Transport Protocol +
                   Mail Submission Protocol)
220 nelson ESMTP Exim Wed, 30 Sep 2009 09:55:40 -0700
EHLO eisenhae
250-nelson Hello eisenhae [1.2.3.4]
250-SIZE 20971520
250-PIPELINING
250-STARTTLS
250 HELP
SMTP + MSP
               (Simple Mail Transport Protocol +
                   Mail Submission Protocol)
220 nelson ESMTP Exim Wed, 30 Sep 2009 09:55:40 -0700
EHLO eisenhae
250-nelson Hello eisenhae [1.2.3.4]
250-SIZE 20971520
250-PIPELINING
250-STARTTLS
250 HELP
MAIL FROM:root@eisenhae.sonoma.edu
SMTP + MSP
               (Simple Mail Transport Protocol +
                   Mail Submission Protocol)
220 nelson ESMTP Exim Wed, 30 Sep 2009 09:55:40 -0700
EHLO eisenhae
250-nelson Hello eisenhae [1.2.3.4]
250-SIZE 20971520
250-PIPELINING
250-STARTTLS
250 HELP
MAIL FROM:root@eisenhae.sonoma.edu
250 OK
SMTP + MSP
               (Simple Mail Transport Protocol +
                   Mail Submission Protocol)
220 nelson ESMTP Exim Wed, 30 Sep 2009 09:55:40 -0700
EHLO eisenhae
250-nelson Hello eisenhae [1.2.3.4]
250-SIZE 20971520
250-PIPELINING
250-STARTTLS
250 HELP
MAIL FROM:root@eisenhae.sonoma.edu
250 OK
RCPT TO:eric.eisenhart@sonoma.edu
SMTP + MSP
               (Simple Mail Transport Protocol +
                   Mail Submission Protocol)
220 nelson ESMTP Exim Wed, 30 Sep 2009 09:55:40 -0700
EHLO eisenhae
250-nelson Hello eisenhae [1.2.3.4]
250-SIZE 20971520
250-PIPELINING
250-STARTTLS
250 HELP
MAIL FROM:root@eisenhae.sonoma.edu
250 OK
RCPT TO:eric.eisenhart@sonoma.edu
250 Accepted
SMTP + MSP
               (Simple Mail Transport Protocol +
                   Mail Submission Protocol)
220 nelson ESMTP Exim Wed, 30 Sep 2009 09:55:40 -0700
EHLO eisenhae
250-nelson Hello eisenhae [1.2.3.4]
250-SIZE 20971520
250-PIPELINING
250-STARTTLS
250 HELP
MAIL FROM:root@eisenhae.sonoma.edu
250 OK
RCPT TO:eric.eisenhart@sonoma.edu
250 Accepted
DATA
SMTP + MSP
               (Simple Mail Transport Protocol +
                   Mail Submission Protocol)
220 nelson ESMTP Exim Wed, 30 Sep 2009 09:55:40 -0700
EHLO eisenhae
250-nelson Hello eisenhae [1.2.3.4]
250-SIZE 20971520
250-PIPELINING
250-STARTTLS
250 HELP
MAIL FROM:root@eisenhae.sonoma.edu
250 OK
RCPT TO:eric.eisenhart@sonoma.edu
250 Accepted
DATA
354 Enter message, ending with "." on a line by itself
SMTP + MSP
               (Simple Mail Transport Protocol +
                   Mail Submission Protocol)
220 nelson ESMTP Exim Wed, 30 Sep 2009 09:55:40 -0700
EHLO eisenhae
250-nelson Hello eisenhae [1.2.3.4]
250-SIZE 20971520
250-PIPELINING
250-STARTTLS
250 HELP
MAIL FROM:root@eisenhae.sonoma.edu
250 OK
RCPT TO:eric.eisenhart@sonoma.edu
250 Accepted
DATA
354 Enter message, ending with "." on a line by itself
Subject: test message

just a test.
.
SMTP + MSP
               (Simple Mail Transport Protocol +
                   Mail Submission Protocol)
220 nelson ESMTP Exim Wed, 30 Sep 2009 09:55:40 -0700
EHLO eisenhae
250-nelson Hello eisenhae [1.2.3.4]
250-SIZE 20971520
250-PIPELINING
250-STARTTLS
250 HELP
MAIL FROM:root@eisenhae.sonoma.edu
250 OK
RCPT TO:eric.eisenhart@sonoma.edu
250 Accepted
DATA
354 Enter message, ending with "." on a line by itself
Subject: test message

just a test.
.
250 OK id=1Mt2Uf-0007cC-FN
SMTP + MSP
               (Simple Mail Transport Protocol +
                   Mail Submission Protocol)
220 nelson ESMTP Exim Wed, 30 Sep 2009 09:55:40 -0700
EHLO eisenhae
250-nelson Hello eisenhae [1.2.3.4]
250-SIZE 20971520
250-PIPELINING
250-STARTTLS
250 HELP
MAIL FROM:root@eisenhae.sonoma.edu
250 OK
RCPT TO:eric.eisenhart@sonoma.edu
250 Accepted
DATA
354 Enter message, ending with "." on a line by itself
Subject: test message

just a test.
.
250 OK id=1Mt2Uf-0007cC-FN
QUIT
SMTP + MSP
                (Simple Mail Transport Protocol +
                    Mail Submission Protocol)
220 nelson ESMTP Exim Wed, 30 Sep 2009 09:55:40 -0700
EHLO eisenhae
250-nelson Hello eisenhae [1.2.3.4]
250-SIZE 20971520
250-PIPELINING
250-STARTTLS
250 HELP
MAIL FROM:root@eisenhae.sonoma.edu
250 OK
RCPT TO:eric.eisenhart@sonoma.edu
250 Accepted
DATA
354 Enter message, ending with "." on a line by itself
Subject: test message

just a test.
.
250 OK id=1Mt2Uf-0007cC-FN
QUIT
221 nelson.sonoma.edu closing connection
POP3
(Post Office Protocol)
POP3
                  (Post Office Protocol)
+OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
POP3
                  (Post Office Protocol)
+OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
USER mrose
POP3
                  (Post Office Protocol)
+OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
USER mrose
+OK User accepted
POP3
                  (Post Office Protocol)
+OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
USER mrose
+OK User accepted
PASS mrosepass
POP3
                  (Post Office Protocol)
+OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
USER mrose
+OK User accepted
PASS mrosepass
+OK Pass accepted
POP3
                  (Post Office Protocol)
+OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
USER mrose
+OK User accepted
PASS mrosepass
+OK Pass accepted
STAT
POP3
                  (Post Office Protocol)
+OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
USER mrose
+OK User accepted
PASS mrosepass
+OK Pass accepted
STAT
+OK 2 320
POP3
                  (Post Office Protocol)
+OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
USER mrose
+OK User accepted
PASS mrosepass
+OK Pass accepted
STAT
+OK 2 320
LIST
POP3
                  (Post Office Protocol)
+OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
USER mrose
+OK User accepted
PASS mrosepass
+OK Pass accepted
STAT
+OK 2 320
LIST
+OK 2 messages (320 octets)
POP3
                  (Post Office Protocol)
+OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
USER mrose
+OK User accepted
PASS mrosepass
+OK Pass accepted
STAT
+OK 2 320
LIST
+OK 2 messages (320 octets)
1 120
POP3
                  (Post Office Protocol)
+OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
USER mrose
+OK User accepted
PASS mrosepass
+OK Pass accepted
STAT
+OK 2 320
LIST
+OK 2 messages (320 octets)
1 120
2 200
POP3
                  (Post Office Protocol)
+OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
USER mrose
+OK User accepted
PASS mrosepass
+OK Pass accepted
STAT
+OK 2 320
LIST
+OK 2 messages (320 octets)
1 120
2 200
.
POP3
                  (Post Office Protocol)
+OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
USER mrose
+OK User accepted
PASS mrosepass
+OK Pass accepted
STAT
+OK 2 320
LIST
+OK 2 messages (320 octets)
1 120
2 200
.
RETR 1
POP3
                  (Post Office Protocol)
+OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
USER mrose
+OK User accepted
PASS mrosepass
+OK Pass accepted
STAT
+OK 2 320
LIST
+OK 2 messages (320 octets)
1 120
2 200
.
RETR 1
+OK 120 octets
POP3
                  (Post Office Protocol)
+OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
USER mrose
+OK User accepted
PASS mrosepass
+OK Pass accepted
STAT
+OK 2 320
LIST
+OK 2 messages (320 octets)
1 120
2 200
.
RETR 1
+OK 120 octets
<the POP3 server sends message 1>
POP3
                  (Post Office Protocol)
+OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
USER mrose
+OK User accepted
PASS mrosepass
+OK Pass accepted
STAT
+OK 2 320
LIST
+OK 2 messages (320 octets)
1 120
2 200
.
RETR 1
+OK 120 octets
<the POP3 server sends message 1>
.
POP3
                  (Post Office Protocol)
+OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
USER mrose
+OK User accepted
PASS mrosepass
+OK Pass accepted
STAT
+OK 2 320
LIST
+OK 2 messages (320 octets)
1 120
2 200
.
RETR 1
+OK 120 octets
<the POP3 server sends message 1>
.
DELE 1
POP3
                  (Post Office Protocol)
+OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
USER mrose
+OK User accepted
PASS mrosepass
+OK Pass accepted
STAT
+OK 2 320
LIST
+OK 2 messages (320 octets)
1 120
2 200
.
RETR 1
+OK 120 octets
<the POP3 server sends message 1>
.
DELE 1
+OK message 1 deleted
POP3
                  (Post Office Protocol)
+OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
USER mrose
+OK User accepted
PASS mrosepass
+OK Pass accepted
STAT
+OK 2 320
LIST
+OK 2 messages (320 octets)
1 120
2 200
.
RETR 1
+OK 120 octets
<the POP3 server sends message 1>
.
DELE 1
+OK message 1 deleted
QUIT
POP3
                  (Post Office Protocol)
+OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
USER mrose
+OK User accepted
PASS mrosepass
+OK Pass accepted
STAT
+OK 2 320
LIST
+OK 2 messages (320 octets)
1 120
2 200
.
RETR 1
+OK 120 octets
<the POP3 server sends message 1>
.
DELE 1
+OK message 1 deleted
QUIT
+OK dewey POP3 server signing off (maildrop empty)
IMAP
(Internet Message Access Protocol)
IMAP
       (Internet Message Access Protocol)
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT
THREAD=REFERENCES SORT QUOTA IDLE AUTH=PLAIN] Courier-IMAP ready. Copyright
1998-2008 Double Precision, Inc. See COPYING for distribution information.
IMAP
       (Internet Message Access Protocol)
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT
THREAD=REFERENCES SORT QUOTA IDLE AUTH=PLAIN] Courier-IMAP ready. Copyright
1998-2008 Double Precision, Inc. See COPYING for distribution information.
1 AUTHENTICATE PLAIN abcdefghiBASE64jklmnop=
IMAP
       (Internet Message Access Protocol)
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT
THREAD=REFERENCES SORT QUOTA IDLE AUTH=PLAIN] Courier-IMAP ready. Copyright
1998-2008 Double Precision, Inc. See COPYING for distribution information.
1 AUTHENTICATE PLAIN abcdefghiBASE64jklmnop=
1 OK LOGIN Ok.
IMAP
       (Internet Message Access Protocol)
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT
THREAD=REFERENCES SORT QUOTA IDLE AUTH=PLAIN] Courier-IMAP ready. Copyright
1998-2008 Double Precision, Inc. See COPYING for distribution information.
1 AUTHENTICATE PLAIN abcdefghiBASE64jklmnop=
1 OK LOGIN Ok.
2 SELECT INBOX
IMAP
       (Internet Message Access Protocol)
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT
THREAD=REFERENCES SORT QUOTA IDLE AUTH=PLAIN] Courier-IMAP ready. Copyright
1998-2008 Double Precision, Inc. See COPYING for distribution information.
1 AUTHENTICATE PLAIN abcdefghiBASE64jklmnop=
1 OK LOGIN Ok.
2 SELECT INBOX
* FLAGS (Draft Answered Flagged Deleted Seen Recent)
* OK [PERMANENTFLAGS (Draft Answered Flagged Deleted Seen)] Limited
* 751 EXISTS
* 1 RECENT
* OK [UIDVALIDITY 1201564895] Ok
* OK [MYRIGHTS "acdilrsw"] ACL
2 OK [READ-WRITE] Ok
IMAP
       (Internet Message Access Protocol)
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT
THREAD=REFERENCES SORT QUOTA IDLE AUTH=PLAIN] Courier-IMAP ready. Copyright
1998-2008 Double Precision, Inc. See COPYING for distribution information.
1 AUTHENTICATE PLAIN abcdefghiBASE64jklmnop=
1 OK LOGIN Ok.
2 SELECT INBOX
* FLAGS (Draft Answered Flagged Deleted Seen Recent)
* OK [PERMANENTFLAGS (Draft Answered Flagged Deleted Seen)] Limited
* 751 EXISTS
* 1 RECENT
* OK [UIDVALIDITY 1201564895] Ok
* OK [MYRIGHTS "acdilrsw"] ACL
2 OK [READ-WRITE] Ok
3 FETCH 1 BODY[]
IMAP
       (Internet Message Access Protocol)
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT
THREAD=REFERENCES SORT QUOTA IDLE AUTH=PLAIN] Courier-IMAP ready. Copyright
1998-2008 Double Precision, Inc. See COPYING for distribution information.
1 AUTHENTICATE PLAIN abcdefghiBASE64jklmnop=
1 OK LOGIN Ok.
2 SELECT INBOX
* FLAGS (Draft Answered Flagged Deleted Seen Recent)
* OK [PERMANENTFLAGS (Draft Answered Flagged Deleted Seen)] Limited
* 751 EXISTS
* 1 RECENT
* OK [UIDVALIDITY 1201564895] Ok
* OK [MYRIGHTS "acdilrsw"] ACL
2 OK [READ-WRITE] Ok
3 FETCH 1 BODY[]
* 1 FETCH (BODY[] {2390}
<server sends full message with headers>
3 OK FETCH completed.
IMAP
       (Internet Message Access Protocol)
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT
THREAD=REFERENCES SORT QUOTA IDLE AUTH=PLAIN] Courier-IMAP ready. Copyright
1998-2008 Double Precision, Inc. See COPYING for distribution information.
1 AUTHENTICATE PLAIN abcdefghiBASE64jklmnop=
1 OK LOGIN Ok.
2 SELECT INBOX
* FLAGS (Draft Answered Flagged Deleted Seen Recent)
* OK [PERMANENTFLAGS (Draft Answered Flagged Deleted Seen)] Limited
* 751 EXISTS
* 1 RECENT
* OK [UIDVALIDITY 1201564895] Ok
* OK [MYRIGHTS "acdilrsw"] ACL
2 OK [READ-WRITE] Ok
3 FETCH 1 BODY[]
* 1 FETCH (BODY[] {2390}
<server sends full message with headers>
3 OK FETCH completed.
4 LOGOUT
IMAP
       (Internet Message Access Protocol)
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT
THREAD=REFERENCES SORT QUOTA IDLE AUTH=PLAIN] Courier-IMAP ready. Copyright
1998-2008 Double Precision, Inc. See COPYING for distribution information.
1 AUTHENTICATE PLAIN abcdefghiBASE64jklmnop=
1 OK LOGIN Ok.
2 SELECT INBOX
* FLAGS (Draft Answered Flagged Deleted Seen Recent)
* OK [PERMANENTFLAGS (Draft Answered Flagged Deleted Seen)] Limited
* 751 EXISTS
* 1 RECENT
* OK [UIDVALIDITY 1201564895] Ok
* OK [MYRIGHTS "acdilrsw"] ACL
2 OK [READ-WRITE] Ok
3 FETCH 1 BODY[]
* 1 FETCH (BODY[] {2390}
<server sends full message with headers>
3 OK FETCH completed.
4 LOGOUT
* BYE Courier-IMAP server shutting down
4 OK LOGOUT completed
LDAP
    (Lightweight Directory Access Protocol)
dn: uid=eisenhae,ou=people,o=sonoma,o=edu

uid: eisenhae

ssuMailHomeDirectory: /nfs/jeckle/maildirs/92/eisenhae

ssuMailLocalAddress: eisenhae@sonoma.edu
ssuMailLocalAddress: eric.eisenhart@sonoma.edu

ssuMailRoutingAddress: eisenhae@smtp-vip.sonoma.edu

ssuMailSpamAssassinPrefs: required_hits 5
ssuMailSpamAssassinPrefs: whitelist_from *@example.com

ssuMailDiskQuota: 1024M
Maildir (++)
    /nfs/jeckle/maildirs/92/eisenhae/
courierimapsubscribed
courierimapuiddb
tmp/
new/
new/1254971281.H995082P22240.cletus.sonoma.edu,S=3593
cur/
cur/1251296264.H25153P29370.krusty.sonoma.edu,S=3045:2,RS
.GrayMai/cur/
.GrayMail/new/
.GrayMail/tmp/
.Lists/
.Lists.puppet/
The
aka: requirements
Email ==
 “Sonoma State University
  will employ these email
   accounts for official
         University
   communications to
     students effective
        immediately.”
http://www.sonoma.edu/it/get_connected/
          provost_letter.shtml
Reliance
Reliance
Assumed
Reliance
Assumed
Addicted
Growth
Population
1500



     1125
GB




      750



      375



       0
       2004     2005   2006   2007   2008   2009
       ~300G                  700G          1.35T




               Storage Usage
SPA
SPA
Traffic
 2006-08 to now-
Peak Traffic
    2006-08 to now-
Moore’s Law:
Friend or Foe?
The
aka: what we did
Limits
Limits


•
Money
Limits


•Money

•Time / Staff
Goals
Goals
•
Reliable
Goals
•Reliable

•Minimal Update Costs
Goals
•Reliable

•Minimal Update Costs

•Concurrency
Goals
•Reliable

•Minimal Update Costs

•Concurrency

•Asynchronous
What We Run
What we Run
 Hardware
What we Run
          Hardware
• MAIL: 5 + test. 8GB, 2 dual-core 2.4GHz AMD
What we Run
          Hardware
• MAIL: 5 + test. 8GB, 2 dual-core 2.4GHz AMD
• LDAP: 2 + master + standby. 2GB, 2 Intel
  3GHz
What we Run
          Hardware
• MAIL: 5 + test. 8GB, 2 dual-core 2.4GHz AMD
• LDAP: 2 + master + standby. 2GB, 2 Intel
  3GHz

• webmail: 2 VMs. 2GB
What we Run
          Hardware
• MAIL: 5 + test. 8GB, 2 dual-core 2.4GHz AMD
• LDAP: 2 + master + standby. 2GB, 2 Intel
  3GHz

• webmail: 2 VMs. 2GB
• lists: 1 VM. 1GB
What we Run
          Hardware
• MAIL: 5 + test. 8GB, 2 dual-core 2.4GHz AMD
• LDAP: 2 + master + standby. 2GB, 2 Intel
  3GHz

• webmail: 2 VMs. 2GB
• lists: 1 VM. 1GB
• MySQL: 1 VM. 1GB.
What we Run
          Hardware
• MAIL: 5 + test. 8GB, 2 dual-core 2.4GHz AMD
• LDAP: 2 + master + standby. 2GB, 2 Intel
  3GHz

• webmail: 2 VMs. 2GB
• lists: 1 VM. 1GB
• MySQL: 1 VM. 1GB.
• storage: NetApp FAS 3070c cluster; 30*136GB
  15k
Virtual Machines?
What we Run
  “MAIL”
What we Run
     “MAIL”
•exim
What we Run
      “MAIL”
•exim
•clamav
What we Run
      “MAIL”
•exim
•clamav
•SpamAssassin
What we Run
      “MAIL”
•exim
•clamav
•SpamAssassin
•courier-auth
What we Run
      “MAIL”
•exim
•clamav
•SpamAssassin
•courier-auth
•courier-imap
What we Run
  Storage
What we Run
      Storage
•2 * NetApp FAS 3070s in
 active-active cluster
What we Run
      Storage
•2 * NetApp FAS 3070s in
 active-active cluster

 •10 shelves of 15 disks
What we Run
      Storage
•2 * NetApp FAS 3070s in
 active-active cluster

 •10 shelves of 15 disks
•EMC NAS (going, going, gone)
What we Run
 “webmail”
What we Run
     “webmail”
•apache httpd
What we Run
     “webmail”
•apache httpd
•php
What we Run
     “webmail”
•apache httpd
•php
•squirrelmail + plugins
What we Run
     “webmail”
•apache httpd
•php
•squirrelmail + plugins
•up-imapproxy
What we Run
  “ldaps”
What we Run
      “ldaps”

•apache httpd
What we Run
      “ldaps”

•apache httpd
•OpenLDAP (slapd)
What we Run
      “ldaps”

•apache httpd
•OpenLDAP (slapd)
•Lots of custom code
What we Run
 “flanders”
What we Run
    “flanders”


•mysqld
What we Run
  “lists”
What we Run
      “lists”


•apache httpd
What we Run
      “lists”


•apache httpd
•mailman
What we Run
Secret Sauces
What we Run
   Secret Sauces

•Tsunami
What we Run
   Secret Sauces

•Tsunami
•puppet
What we Run
   Secret Sauces

•Tsunami
•puppet
•Registry
SPAM
SPAM


•
SpamAssassin
SPAM


•SpamAssassin

•Red Condor
Changes (so far)
• storage backend (wiggum; otto;
  bruno; heckle+jeckle)

• Directory layout (f/foo -> ac/foo)
• Red Condor
• IMAP + SMTP + SPAM + clamav
  (same servers now)

• SPAM prefs from MySQL to LDAP
• Virtualization
The Past
The Past

• My First: one box
The Past

• My First: one box
• VAX; cluster
The Past

• My First: one box
• VAX; cluster
• 2003: VAX + student server
The Past

• My First: one box
• VAX; cluster
• 2003: VAX + student server
• Later 2003: wiggum -> otto
The Past

• My First: one box
• VAX; cluster
• 2003: VAX + student server
• Later 2003: wiggum -> otto
• Summer 2005: performance?
Failures
aka: what went wrong
Spring 2006
Fall 2007-Spring
      2008
Problems
Problems
•
Cache
Problems
•Cache

•SPAM accuracy
Problems
•Cache

•SPAM accuracy

•Local SPAM
Problems
•Cache

•SPAM accuracy

•Local SPAM

•Quotas
Alternatives /
         Future
• Smarter Load Balancers
• IMAP server with local caching
• Shared block storage (mini
  clusters?)

• Exchange
• Outsourced (Google)
Building your own?


• Plan for Growth
• Understand how to scale everything
  O(1) > O(log(n)) > O(n)
Questions!

Mais conteúdo relacionado

Último

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 

Último (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 

Destaque

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Destaque (20)

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 

SSU Email Infrastructure

  • 1. Sonoma State’s Email SSU CS Colloquium, October 8, 2009 Eric Eisenhart <eric.eisenhart@sonoma.edu> http://eric.eisenhart.name/presentations/
  • 8. Too Simple A Mail Server #1
  • 9. Too Simple A B Mail Server Mail Server #1 #2
  • 10. Big Picture Alice Bob Load Balancer #1 ns authns mail ldaps webmail ns cluster mail cluster authns cluster moltar zorak blinky snorky ns-a ns-b ns-c chalmers clancy cletus krusty milhouse authns-a authns-b authns-c NetApp Cluster mojo ns3.csu.net flanders heckle jeckle heckle- jeckle- shelf-1 shelf-1 heckle- jeckle- shelf-2 shelf-2
  • 11. Big Picture Chuck Red Condor #1 Red Condor #2 Alice Bob Red Condor Offsite Load Balancer #1 ns authns mail ldaps webmail ns cluster mail cluster authns cluster moltar zorak blinky snorky ns-a ns-b ns-c chalmers clancy cletus krusty milhouse authns-a authns-b authns-c NetApp Cluster mojo ns3.csu.net flanders heckle jeckle heckle- jeckle- shelf-1 shelf-1 heckle- jeckle- shelf-2 shelf-2
  • 13. How Email Works
  • 14. An Email Return-path: <root@eisenhae> Envelope-to: eisenhae@sonoma.edu Delivery-date: Wed, 30 Sep 2009 09:57:52 -0700 Received: from exim by nelson with spam-scanned (Exim 4.63) (envelope-from <root@eisenhae>) id 1Mt2Ut-0007cJ-M2 for eisenhae@sonoma.edu; Wed, 30 Sep 2009 09:57:52 -0700 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on nelson X-Spam-Level: * X-Spam-Status: No, score=1.6 required=5.0 tests=MISSING_DATE,MISSING_HEADERS, MISSING_MID autolearn=no version=3.2.5 Received: from eisenhae ([1.2.3.4] helo=eisenhae) by nelson with esmtp (Exim 4.63) (envelope-from <root@eisenhae>) id 1Mt2Uf-0007cC-FN for eric.eisenhart@sonoma.edu; Wed, 30 Sep 2009 09:57:47 -0700 Subject: test message Message-Id: <E1Mt2Ut-0007cJ-M2@nelson> From: root@eisenhae Date: Wed, 30 Sep 2009 09:57:52 -0700 just a test.
  • 15. SMTP + MSP (Simple Mail Transport Protocol + Mail Submission Protocol)
  • 16. SMTP + MSP (Simple Mail Transport Protocol + Mail Submission Protocol) 220 nelson ESMTP Exim Wed, 30 Sep 2009 09:55:40 -0700
  • 17. SMTP + MSP (Simple Mail Transport Protocol + Mail Submission Protocol) 220 nelson ESMTP Exim Wed, 30 Sep 2009 09:55:40 -0700 EHLO eisenhae
  • 18. SMTP + MSP (Simple Mail Transport Protocol + Mail Submission Protocol) 220 nelson ESMTP Exim Wed, 30 Sep 2009 09:55:40 -0700 EHLO eisenhae 250-nelson Hello eisenhae [1.2.3.4] 250-SIZE 20971520 250-PIPELINING 250-STARTTLS 250 HELP
  • 19. SMTP + MSP (Simple Mail Transport Protocol + Mail Submission Protocol) 220 nelson ESMTP Exim Wed, 30 Sep 2009 09:55:40 -0700 EHLO eisenhae 250-nelson Hello eisenhae [1.2.3.4] 250-SIZE 20971520 250-PIPELINING 250-STARTTLS 250 HELP MAIL FROM:root@eisenhae.sonoma.edu
  • 20. SMTP + MSP (Simple Mail Transport Protocol + Mail Submission Protocol) 220 nelson ESMTP Exim Wed, 30 Sep 2009 09:55:40 -0700 EHLO eisenhae 250-nelson Hello eisenhae [1.2.3.4] 250-SIZE 20971520 250-PIPELINING 250-STARTTLS 250 HELP MAIL FROM:root@eisenhae.sonoma.edu 250 OK
  • 21. SMTP + MSP (Simple Mail Transport Protocol + Mail Submission Protocol) 220 nelson ESMTP Exim Wed, 30 Sep 2009 09:55:40 -0700 EHLO eisenhae 250-nelson Hello eisenhae [1.2.3.4] 250-SIZE 20971520 250-PIPELINING 250-STARTTLS 250 HELP MAIL FROM:root@eisenhae.sonoma.edu 250 OK RCPT TO:eric.eisenhart@sonoma.edu
  • 22. SMTP + MSP (Simple Mail Transport Protocol + Mail Submission Protocol) 220 nelson ESMTP Exim Wed, 30 Sep 2009 09:55:40 -0700 EHLO eisenhae 250-nelson Hello eisenhae [1.2.3.4] 250-SIZE 20971520 250-PIPELINING 250-STARTTLS 250 HELP MAIL FROM:root@eisenhae.sonoma.edu 250 OK RCPT TO:eric.eisenhart@sonoma.edu 250 Accepted
  • 23. SMTP + MSP (Simple Mail Transport Protocol + Mail Submission Protocol) 220 nelson ESMTP Exim Wed, 30 Sep 2009 09:55:40 -0700 EHLO eisenhae 250-nelson Hello eisenhae [1.2.3.4] 250-SIZE 20971520 250-PIPELINING 250-STARTTLS 250 HELP MAIL FROM:root@eisenhae.sonoma.edu 250 OK RCPT TO:eric.eisenhart@sonoma.edu 250 Accepted DATA
  • 24. SMTP + MSP (Simple Mail Transport Protocol + Mail Submission Protocol) 220 nelson ESMTP Exim Wed, 30 Sep 2009 09:55:40 -0700 EHLO eisenhae 250-nelson Hello eisenhae [1.2.3.4] 250-SIZE 20971520 250-PIPELINING 250-STARTTLS 250 HELP MAIL FROM:root@eisenhae.sonoma.edu 250 OK RCPT TO:eric.eisenhart@sonoma.edu 250 Accepted DATA 354 Enter message, ending with "." on a line by itself
  • 25. SMTP + MSP (Simple Mail Transport Protocol + Mail Submission Protocol) 220 nelson ESMTP Exim Wed, 30 Sep 2009 09:55:40 -0700 EHLO eisenhae 250-nelson Hello eisenhae [1.2.3.4] 250-SIZE 20971520 250-PIPELINING 250-STARTTLS 250 HELP MAIL FROM:root@eisenhae.sonoma.edu 250 OK RCPT TO:eric.eisenhart@sonoma.edu 250 Accepted DATA 354 Enter message, ending with "." on a line by itself Subject: test message just a test. .
  • 26. SMTP + MSP (Simple Mail Transport Protocol + Mail Submission Protocol) 220 nelson ESMTP Exim Wed, 30 Sep 2009 09:55:40 -0700 EHLO eisenhae 250-nelson Hello eisenhae [1.2.3.4] 250-SIZE 20971520 250-PIPELINING 250-STARTTLS 250 HELP MAIL FROM:root@eisenhae.sonoma.edu 250 OK RCPT TO:eric.eisenhart@sonoma.edu 250 Accepted DATA 354 Enter message, ending with "." on a line by itself Subject: test message just a test. . 250 OK id=1Mt2Uf-0007cC-FN
  • 27. SMTP + MSP (Simple Mail Transport Protocol + Mail Submission Protocol) 220 nelson ESMTP Exim Wed, 30 Sep 2009 09:55:40 -0700 EHLO eisenhae 250-nelson Hello eisenhae [1.2.3.4] 250-SIZE 20971520 250-PIPELINING 250-STARTTLS 250 HELP MAIL FROM:root@eisenhae.sonoma.edu 250 OK RCPT TO:eric.eisenhart@sonoma.edu 250 Accepted DATA 354 Enter message, ending with "." on a line by itself Subject: test message just a test. . 250 OK id=1Mt2Uf-0007cC-FN QUIT
  • 28. SMTP + MSP (Simple Mail Transport Protocol + Mail Submission Protocol) 220 nelson ESMTP Exim Wed, 30 Sep 2009 09:55:40 -0700 EHLO eisenhae 250-nelson Hello eisenhae [1.2.3.4] 250-SIZE 20971520 250-PIPELINING 250-STARTTLS 250 HELP MAIL FROM:root@eisenhae.sonoma.edu 250 OK RCPT TO:eric.eisenhart@sonoma.edu 250 Accepted DATA 354 Enter message, ending with "." on a line by itself Subject: test message just a test. . 250 OK id=1Mt2Uf-0007cC-FN QUIT 221 nelson.sonoma.edu closing connection
  • 30. POP3 (Post Office Protocol) +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us>
  • 31. POP3 (Post Office Protocol) +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us> USER mrose
  • 32. POP3 (Post Office Protocol) +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us> USER mrose +OK User accepted
  • 33. POP3 (Post Office Protocol) +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us> USER mrose +OK User accepted PASS mrosepass
  • 34. POP3 (Post Office Protocol) +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us> USER mrose +OK User accepted PASS mrosepass +OK Pass accepted
  • 35. POP3 (Post Office Protocol) +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us> USER mrose +OK User accepted PASS mrosepass +OK Pass accepted STAT
  • 36. POP3 (Post Office Protocol) +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us> USER mrose +OK User accepted PASS mrosepass +OK Pass accepted STAT +OK 2 320
  • 37. POP3 (Post Office Protocol) +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us> USER mrose +OK User accepted PASS mrosepass +OK Pass accepted STAT +OK 2 320 LIST
  • 38. POP3 (Post Office Protocol) +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us> USER mrose +OK User accepted PASS mrosepass +OK Pass accepted STAT +OK 2 320 LIST +OK 2 messages (320 octets)
  • 39. POP3 (Post Office Protocol) +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us> USER mrose +OK User accepted PASS mrosepass +OK Pass accepted STAT +OK 2 320 LIST +OK 2 messages (320 octets) 1 120
  • 40. POP3 (Post Office Protocol) +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us> USER mrose +OK User accepted PASS mrosepass +OK Pass accepted STAT +OK 2 320 LIST +OK 2 messages (320 octets) 1 120 2 200
  • 41. POP3 (Post Office Protocol) +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us> USER mrose +OK User accepted PASS mrosepass +OK Pass accepted STAT +OK 2 320 LIST +OK 2 messages (320 octets) 1 120 2 200 .
  • 42. POP3 (Post Office Protocol) +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us> USER mrose +OK User accepted PASS mrosepass +OK Pass accepted STAT +OK 2 320 LIST +OK 2 messages (320 octets) 1 120 2 200 . RETR 1
  • 43. POP3 (Post Office Protocol) +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us> USER mrose +OK User accepted PASS mrosepass +OK Pass accepted STAT +OK 2 320 LIST +OK 2 messages (320 octets) 1 120 2 200 . RETR 1 +OK 120 octets
  • 44. POP3 (Post Office Protocol) +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us> USER mrose +OK User accepted PASS mrosepass +OK Pass accepted STAT +OK 2 320 LIST +OK 2 messages (320 octets) 1 120 2 200 . RETR 1 +OK 120 octets <the POP3 server sends message 1>
  • 45. POP3 (Post Office Protocol) +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us> USER mrose +OK User accepted PASS mrosepass +OK Pass accepted STAT +OK 2 320 LIST +OK 2 messages (320 octets) 1 120 2 200 . RETR 1 +OK 120 octets <the POP3 server sends message 1> .
  • 46. POP3 (Post Office Protocol) +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us> USER mrose +OK User accepted PASS mrosepass +OK Pass accepted STAT +OK 2 320 LIST +OK 2 messages (320 octets) 1 120 2 200 . RETR 1 +OK 120 octets <the POP3 server sends message 1> . DELE 1
  • 47. POP3 (Post Office Protocol) +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us> USER mrose +OK User accepted PASS mrosepass +OK Pass accepted STAT +OK 2 320 LIST +OK 2 messages (320 octets) 1 120 2 200 . RETR 1 +OK 120 octets <the POP3 server sends message 1> . DELE 1 +OK message 1 deleted
  • 48. POP3 (Post Office Protocol) +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us> USER mrose +OK User accepted PASS mrosepass +OK Pass accepted STAT +OK 2 320 LIST +OK 2 messages (320 octets) 1 120 2 200 . RETR 1 +OK 120 octets <the POP3 server sends message 1> . DELE 1 +OK message 1 deleted QUIT
  • 49. POP3 (Post Office Protocol) +OK POP3 server ready <1896.697170952@dbc.mtview.ca.us> USER mrose +OK User accepted PASS mrosepass +OK Pass accepted STAT +OK 2 320 LIST +OK 2 messages (320 octets) 1 120 2 200 . RETR 1 +OK 120 octets <the POP3 server sends message 1> . DELE 1 +OK message 1 deleted QUIT +OK dewey POP3 server signing off (maildrop empty)
  • 51. IMAP (Internet Message Access Protocol) * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE AUTH=PLAIN] Courier-IMAP ready. Copyright 1998-2008 Double Precision, Inc. See COPYING for distribution information.
  • 52. IMAP (Internet Message Access Protocol) * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE AUTH=PLAIN] Courier-IMAP ready. Copyright 1998-2008 Double Precision, Inc. See COPYING for distribution information. 1 AUTHENTICATE PLAIN abcdefghiBASE64jklmnop=
  • 53. IMAP (Internet Message Access Protocol) * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE AUTH=PLAIN] Courier-IMAP ready. Copyright 1998-2008 Double Precision, Inc. See COPYING for distribution information. 1 AUTHENTICATE PLAIN abcdefghiBASE64jklmnop= 1 OK LOGIN Ok.
  • 54. IMAP (Internet Message Access Protocol) * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE AUTH=PLAIN] Courier-IMAP ready. Copyright 1998-2008 Double Precision, Inc. See COPYING for distribution information. 1 AUTHENTICATE PLAIN abcdefghiBASE64jklmnop= 1 OK LOGIN Ok. 2 SELECT INBOX
  • 55. IMAP (Internet Message Access Protocol) * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE AUTH=PLAIN] Courier-IMAP ready. Copyright 1998-2008 Double Precision, Inc. See COPYING for distribution information. 1 AUTHENTICATE PLAIN abcdefghiBASE64jklmnop= 1 OK LOGIN Ok. 2 SELECT INBOX * FLAGS (Draft Answered Flagged Deleted Seen Recent) * OK [PERMANENTFLAGS (Draft Answered Flagged Deleted Seen)] Limited * 751 EXISTS * 1 RECENT * OK [UIDVALIDITY 1201564895] Ok * OK [MYRIGHTS "acdilrsw"] ACL 2 OK [READ-WRITE] Ok
  • 56. IMAP (Internet Message Access Protocol) * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE AUTH=PLAIN] Courier-IMAP ready. Copyright 1998-2008 Double Precision, Inc. See COPYING for distribution information. 1 AUTHENTICATE PLAIN abcdefghiBASE64jklmnop= 1 OK LOGIN Ok. 2 SELECT INBOX * FLAGS (Draft Answered Flagged Deleted Seen Recent) * OK [PERMANENTFLAGS (Draft Answered Flagged Deleted Seen)] Limited * 751 EXISTS * 1 RECENT * OK [UIDVALIDITY 1201564895] Ok * OK [MYRIGHTS "acdilrsw"] ACL 2 OK [READ-WRITE] Ok 3 FETCH 1 BODY[]
  • 57. IMAP (Internet Message Access Protocol) * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE AUTH=PLAIN] Courier-IMAP ready. Copyright 1998-2008 Double Precision, Inc. See COPYING for distribution information. 1 AUTHENTICATE PLAIN abcdefghiBASE64jklmnop= 1 OK LOGIN Ok. 2 SELECT INBOX * FLAGS (Draft Answered Flagged Deleted Seen Recent) * OK [PERMANENTFLAGS (Draft Answered Flagged Deleted Seen)] Limited * 751 EXISTS * 1 RECENT * OK [UIDVALIDITY 1201564895] Ok * OK [MYRIGHTS "acdilrsw"] ACL 2 OK [READ-WRITE] Ok 3 FETCH 1 BODY[] * 1 FETCH (BODY[] {2390} <server sends full message with headers> 3 OK FETCH completed.
  • 58. IMAP (Internet Message Access Protocol) * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE AUTH=PLAIN] Courier-IMAP ready. Copyright 1998-2008 Double Precision, Inc. See COPYING for distribution information. 1 AUTHENTICATE PLAIN abcdefghiBASE64jklmnop= 1 OK LOGIN Ok. 2 SELECT INBOX * FLAGS (Draft Answered Flagged Deleted Seen Recent) * OK [PERMANENTFLAGS (Draft Answered Flagged Deleted Seen)] Limited * 751 EXISTS * 1 RECENT * OK [UIDVALIDITY 1201564895] Ok * OK [MYRIGHTS "acdilrsw"] ACL 2 OK [READ-WRITE] Ok 3 FETCH 1 BODY[] * 1 FETCH (BODY[] {2390} <server sends full message with headers> 3 OK FETCH completed. 4 LOGOUT
  • 59. IMAP (Internet Message Access Protocol) * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE AUTH=PLAIN] Courier-IMAP ready. Copyright 1998-2008 Double Precision, Inc. See COPYING for distribution information. 1 AUTHENTICATE PLAIN abcdefghiBASE64jklmnop= 1 OK LOGIN Ok. 2 SELECT INBOX * FLAGS (Draft Answered Flagged Deleted Seen Recent) * OK [PERMANENTFLAGS (Draft Answered Flagged Deleted Seen)] Limited * 751 EXISTS * 1 RECENT * OK [UIDVALIDITY 1201564895] Ok * OK [MYRIGHTS "acdilrsw"] ACL 2 OK [READ-WRITE] Ok 3 FETCH 1 BODY[] * 1 FETCH (BODY[] {2390} <server sends full message with headers> 3 OK FETCH completed. 4 LOGOUT * BYE Courier-IMAP server shutting down 4 OK LOGOUT completed
  • 60. LDAP (Lightweight Directory Access Protocol) dn: uid=eisenhae,ou=people,o=sonoma,o=edu uid: eisenhae ssuMailHomeDirectory: /nfs/jeckle/maildirs/92/eisenhae ssuMailLocalAddress: eisenhae@sonoma.edu ssuMailLocalAddress: eric.eisenhart@sonoma.edu ssuMailRoutingAddress: eisenhae@smtp-vip.sonoma.edu ssuMailSpamAssassinPrefs: required_hits 5 ssuMailSpamAssassinPrefs: whitelist_from *@example.com ssuMailDiskQuota: 1024M
  • 61. Maildir (++) /nfs/jeckle/maildirs/92/eisenhae/ courierimapsubscribed courierimapuiddb tmp/ new/ new/1254971281.H995082P22240.cletus.sonoma.edu,S=3593 cur/ cur/1251296264.H25153P29370.krusty.sonoma.edu,S=3045:2,RS .GrayMai/cur/ .GrayMail/new/ .GrayMail/tmp/ .Lists/ .Lists.puppet/
  • 63. Email == “Sonoma State University will employ these email accounts for official University communications to students effective immediately.” http://www.sonoma.edu/it/get_connected/ provost_letter.shtml
  • 69. 1500 1125 GB 750 375 0 2004 2005 2006 2007 2008 2009 ~300G 700G 1.35T Storage Usage
  • 70. SPA
  • 71. SPA
  • 73. Peak Traffic 2006-08 to now-
  • 75.
  • 76.
  • 77.
  • 78.
  • 83. Goals
  • 89. What we Run Hardware
  • 90. What we Run Hardware • MAIL: 5 + test. 8GB, 2 dual-core 2.4GHz AMD
  • 91. What we Run Hardware • MAIL: 5 + test. 8GB, 2 dual-core 2.4GHz AMD • LDAP: 2 + master + standby. 2GB, 2 Intel 3GHz
  • 92. What we Run Hardware • MAIL: 5 + test. 8GB, 2 dual-core 2.4GHz AMD • LDAP: 2 + master + standby. 2GB, 2 Intel 3GHz • webmail: 2 VMs. 2GB
  • 93. What we Run Hardware • MAIL: 5 + test. 8GB, 2 dual-core 2.4GHz AMD • LDAP: 2 + master + standby. 2GB, 2 Intel 3GHz • webmail: 2 VMs. 2GB • lists: 1 VM. 1GB
  • 94. What we Run Hardware • MAIL: 5 + test. 8GB, 2 dual-core 2.4GHz AMD • LDAP: 2 + master + standby. 2GB, 2 Intel 3GHz • webmail: 2 VMs. 2GB • lists: 1 VM. 1GB • MySQL: 1 VM. 1GB.
  • 95. What we Run Hardware • MAIL: 5 + test. 8GB, 2 dual-core 2.4GHz AMD • LDAP: 2 + master + standby. 2GB, 2 Intel 3GHz • webmail: 2 VMs. 2GB • lists: 1 VM. 1GB • MySQL: 1 VM. 1GB. • storage: NetApp FAS 3070c cluster; 30*136GB 15k
  • 97. What we Run “MAIL”
  • 98. What we Run “MAIL” •exim
  • 99. What we Run “MAIL” •exim •clamav
  • 100. What we Run “MAIL” •exim •clamav •SpamAssassin
  • 101. What we Run “MAIL” •exim •clamav •SpamAssassin •courier-auth
  • 102. What we Run “MAIL” •exim •clamav •SpamAssassin •courier-auth •courier-imap
  • 103. What we Run Storage
  • 104. What we Run Storage •2 * NetApp FAS 3070s in active-active cluster
  • 105. What we Run Storage •2 * NetApp FAS 3070s in active-active cluster •10 shelves of 15 disks
  • 106. What we Run Storage •2 * NetApp FAS 3070s in active-active cluster •10 shelves of 15 disks •EMC NAS (going, going, gone)
  • 107. What we Run “webmail”
  • 108. What we Run “webmail” •apache httpd
  • 109. What we Run “webmail” •apache httpd •php
  • 110. What we Run “webmail” •apache httpd •php •squirrelmail + plugins
  • 111. What we Run “webmail” •apache httpd •php •squirrelmail + plugins •up-imapproxy
  • 112. What we Run “ldaps”
  • 113. What we Run “ldaps” •apache httpd
  • 114. What we Run “ldaps” •apache httpd •OpenLDAP (slapd)
  • 115. What we Run “ldaps” •apache httpd •OpenLDAP (slapd) •Lots of custom code
  • 116. What we Run “flanders”
  • 117. What we Run “flanders” •mysqld
  • 118. What we Run “lists”
  • 119. What we Run “lists” •apache httpd
  • 120. What we Run “lists” •apache httpd •mailman
  • 122. What we Run Secret Sauces •Tsunami
  • 123. What we Run Secret Sauces •Tsunami •puppet
  • 124. What we Run Secret Sauces •Tsunami •puppet •Registry
  • 125. SPAM
  • 128. Changes (so far) • storage backend (wiggum; otto; bruno; heckle+jeckle) • Directory layout (f/foo -> ac/foo) • Red Condor • IMAP + SMTP + SPAM + clamav (same servers now) • SPAM prefs from MySQL to LDAP • Virtualization
  • 130. The Past • My First: one box
  • 131. The Past • My First: one box • VAX; cluster
  • 132. The Past • My First: one box • VAX; cluster • 2003: VAX + student server
  • 133. The Past • My First: one box • VAX; cluster • 2003: VAX + student server • Later 2003: wiggum -> otto
  • 134. The Past • My First: one box • VAX; cluster • 2003: VAX + student server • Later 2003: wiggum -> otto • Summer 2005: performance?
  • 143. Alternatives / Future • Smarter Load Balancers • IMAP server with local caching • Shared block storage (mini clusters?) • Exchange • Outsourced (Google)
  • 144. Building your own? • Plan for Growth • Understand how to scale everything O(1) > O(log(n)) > O(n)

Notas do Editor

  1. First a couple disclaimers: * It&amp;#x2019;s all my own opinions. Definitely nothing here represents an official university statement of any kind * Many people have been involved with the design and operation of this system, which has evolved over time. I&amp;#x2019;m making no attempt to give credit; assume any bad ideas were mine and any good ideas were somebody else&amp;#x2019;s. * I&amp;#x2019;m a Linux Server guy. The network is essential, but I&amp;#x2019;m ignoring it. * I have a life. And furloughs. I originally signed up for this a year ago, and in the meantime, life got complicated.
  2. First a couple disclaimers: * It&amp;#x2019;s all my own opinions. Definitely nothing here represents an official university statement of any kind * Many people have been involved with the design and operation of this system, which has evolved over time. I&amp;#x2019;m making no attempt to give credit; assume any bad ideas were mine and any good ideas were somebody else&amp;#x2019;s. * I&amp;#x2019;m a Linux Server guy. The network is essential, but I&amp;#x2019;m ignoring it. * I have a life. And furloughs. I originally signed up for this a year ago, and in the meantime, life got complicated.
  3. First a couple disclaimers: * It&amp;#x2019;s all my own opinions. Definitely nothing here represents an official university statement of any kind * Many people have been involved with the design and operation of this system, which has evolved over time. I&amp;#x2019;m making no attempt to give credit; assume any bad ideas were mine and any good ideas were somebody else&amp;#x2019;s. * I&amp;#x2019;m a Linux Server guy. The network is essential, but I&amp;#x2019;m ignoring it. * I have a life. And furloughs. I originally signed up for this a year ago, and in the meantime, life got complicated.
  4. First a couple disclaimers: * It&amp;#x2019;s all my own opinions. Definitely nothing here represents an official university statement of any kind * Many people have been involved with the design and operation of this system, which has evolved over time. I&amp;#x2019;m making no attempt to give credit; assume any bad ideas were mine and any good ideas were somebody else&amp;#x2019;s. * I&amp;#x2019;m a Linux Server guy. The network is essential, but I&amp;#x2019;m ignoring it. * I have a life. And furloughs. I originally signed up for this a year ago, and in the meantime, life got complicated.
  5. It&amp;#x2019;s Magic!
  6. It&amp;#x2019;s Magic!
  7. It&amp;#x2019;s Magic!
  8. Too complicated
  9. Still too complicated, and still missing some details
  10. RFC 821; SMTP; August 1982 (port 25) RFC 1869; ESMTP; November 1995; revised RFC 1870; ESMTP SIZE; November 1995 RFC 2476; MSP (mail submission); December 1998 (port 587) RFC 2920; ESMTP PIPELINING; September 2000 RFC 3207; ESMTP STARTTLS; February 2002 RFC 5321; SMTP rewritten; October 2008 (consolidates; updates; clarifies; doesn&amp;#x2019;t change)
  11. RFC 821; SMTP; August 1982 (port 25) RFC 1869; ESMTP; November 1995; revised RFC 1870; ESMTP SIZE; November 1995 RFC 2476; MSP (mail submission); December 1998 (port 587) RFC 2920; ESMTP PIPELINING; September 2000 RFC 3207; ESMTP STARTTLS; February 2002 RFC 5321; SMTP rewritten; October 2008 (consolidates; updates; clarifies; doesn&amp;#x2019;t change)
  12. RFC 821; SMTP; August 1982 (port 25) RFC 1869; ESMTP; November 1995; revised RFC 1870; ESMTP SIZE; November 1995 RFC 2476; MSP (mail submission); December 1998 (port 587) RFC 2920; ESMTP PIPELINING; September 2000 RFC 3207; ESMTP STARTTLS; February 2002 RFC 5321; SMTP rewritten; October 2008 (consolidates; updates; clarifies; doesn&amp;#x2019;t change)
  13. RFC 821; SMTP; August 1982 (port 25) RFC 1869; ESMTP; November 1995; revised RFC 1870; ESMTP SIZE; November 1995 RFC 2476; MSP (mail submission); December 1998 (port 587) RFC 2920; ESMTP PIPELINING; September 2000 RFC 3207; ESMTP STARTTLS; February 2002 RFC 5321; SMTP rewritten; October 2008 (consolidates; updates; clarifies; doesn&amp;#x2019;t change)
  14. RFC 821; SMTP; August 1982 (port 25) RFC 1869; ESMTP; November 1995; revised RFC 1870; ESMTP SIZE; November 1995 RFC 2476; MSP (mail submission); December 1998 (port 587) RFC 2920; ESMTP PIPELINING; September 2000 RFC 3207; ESMTP STARTTLS; February 2002 RFC 5321; SMTP rewritten; October 2008 (consolidates; updates; clarifies; doesn&amp;#x2019;t change)
  15. RFC 821; SMTP; August 1982 (port 25) RFC 1869; ESMTP; November 1995; revised RFC 1870; ESMTP SIZE; November 1995 RFC 2476; MSP (mail submission); December 1998 (port 587) RFC 2920; ESMTP PIPELINING; September 2000 RFC 3207; ESMTP STARTTLS; February 2002 RFC 5321; SMTP rewritten; October 2008 (consolidates; updates; clarifies; doesn&amp;#x2019;t change)
  16. RFC 821; SMTP; August 1982 (port 25) RFC 1869; ESMTP; November 1995; revised RFC 1870; ESMTP SIZE; November 1995 RFC 2476; MSP (mail submission); December 1998 (port 587) RFC 2920; ESMTP PIPELINING; September 2000 RFC 3207; ESMTP STARTTLS; February 2002 RFC 5321; SMTP rewritten; October 2008 (consolidates; updates; clarifies; doesn&amp;#x2019;t change)
  17. RFC 821; SMTP; August 1982 (port 25) RFC 1869; ESMTP; November 1995; revised RFC 1870; ESMTP SIZE; November 1995 RFC 2476; MSP (mail submission); December 1998 (port 587) RFC 2920; ESMTP PIPELINING; September 2000 RFC 3207; ESMTP STARTTLS; February 2002 RFC 5321; SMTP rewritten; October 2008 (consolidates; updates; clarifies; doesn&amp;#x2019;t change)
  18. RFC 821; SMTP; August 1982 (port 25) RFC 1869; ESMTP; November 1995; revised RFC 1870; ESMTP SIZE; November 1995 RFC 2476; MSP (mail submission); December 1998 (port 587) RFC 2920; ESMTP PIPELINING; September 2000 RFC 3207; ESMTP STARTTLS; February 2002 RFC 5321; SMTP rewritten; October 2008 (consolidates; updates; clarifies; doesn&amp;#x2019;t change)
  19. RFC 821; SMTP; August 1982 (port 25) RFC 1869; ESMTP; November 1995; revised RFC 1870; ESMTP SIZE; November 1995 RFC 2476; MSP (mail submission); December 1998 (port 587) RFC 2920; ESMTP PIPELINING; September 2000 RFC 3207; ESMTP STARTTLS; February 2002 RFC 5321; SMTP rewritten; October 2008 (consolidates; updates; clarifies; doesn&amp;#x2019;t change)
  20. RFC 821; SMTP; August 1982 (port 25) RFC 1869; ESMTP; November 1995; revised RFC 1870; ESMTP SIZE; November 1995 RFC 2476; MSP (mail submission); December 1998 (port 587) RFC 2920; ESMTP PIPELINING; September 2000 RFC 3207; ESMTP STARTTLS; February 2002 RFC 5321; SMTP rewritten; October 2008 (consolidates; updates; clarifies; doesn&amp;#x2019;t change)
  21. RFC 821; SMTP; August 1982 (port 25) RFC 1869; ESMTP; November 1995; revised RFC 1870; ESMTP SIZE; November 1995 RFC 2476; MSP (mail submission); December 1998 (port 587) RFC 2920; ESMTP PIPELINING; September 2000 RFC 3207; ESMTP STARTTLS; February 2002 RFC 5321; SMTP rewritten; October 2008 (consolidates; updates; clarifies; doesn&amp;#x2019;t change)
  22. RFC 821; SMTP; August 1982 (port 25) RFC 1869; ESMTP; November 1995; revised RFC 1870; ESMTP SIZE; November 1995 RFC 2476; MSP (mail submission); December 1998 (port 587) RFC 2920; ESMTP PIPELINING; September 2000 RFC 3207; ESMTP STARTTLS; February 2002 RFC 5321; SMTP rewritten; October 2008 (consolidates; updates; clarifies; doesn&amp;#x2019;t change)
  23. RFC 821; SMTP; August 1982 (port 25) RFC 1869; ESMTP; November 1995; revised RFC 1870; ESMTP SIZE; November 1995 RFC 2476; MSP (mail submission); December 1998 (port 587) RFC 2920; ESMTP PIPELINING; September 2000 RFC 3207; ESMTP STARTTLS; February 2002 RFC 5321; SMTP rewritten; October 2008 (consolidates; updates; clarifies; doesn&amp;#x2019;t change)
  24. RFC 821; SMTP; August 1982 (port 25) RFC 1869; ESMTP; November 1995; revised RFC 1870; ESMTP SIZE; November 1995 RFC 2476; MSP (mail submission); December 1998 (port 587) RFC 2920; ESMTP PIPELINING; September 2000 RFC 3207; ESMTP STARTTLS; February 2002 RFC 5321; SMTP rewritten; October 2008 (consolidates; updates; clarifies; doesn&amp;#x2019;t change)
  25. RFC 821; SMTP; August 1982 (port 25) RFC 1869; ESMTP; November 1995; revised RFC 1870; ESMTP SIZE; November 1995 RFC 2476; MSP (mail submission); December 1998 (port 587) RFC 2920; ESMTP PIPELINING; September 2000 RFC 3207; ESMTP STARTTLS; February 2002 RFC 5321; SMTP rewritten; October 2008 (consolidates; updates; clarifies; doesn&amp;#x2019;t change)
  26. RFC 821; SMTP; August 1982 (port 25) RFC 1869; ESMTP; November 1995; revised RFC 1870; ESMTP SIZE; November 1995 RFC 2476; MSP (mail submission); December 1998 (port 587) RFC 2920; ESMTP PIPELINING; September 2000 RFC 3207; ESMTP STARTTLS; February 2002 RFC 5321; SMTP rewritten; October 2008 (consolidates; updates; clarifies; doesn&amp;#x2019;t change)
  27. RFC 821; SMTP; August 1982 (port 25) RFC 1869; ESMTP; November 1995; revised RFC 1870; ESMTP SIZE; November 1995 RFC 2476; MSP (mail submission); December 1998 (port 587) RFC 2920; ESMTP PIPELINING; September 2000 RFC 3207; ESMTP STARTTLS; February 2002 RFC 5321; SMTP rewritten; October 2008 (consolidates; updates; clarifies; doesn&amp;#x2019;t change)
  28. RFC 821; SMTP; August 1982 (port 25) RFC 1869; ESMTP; November 1995; revised RFC 1870; ESMTP SIZE; November 1995 RFC 2476; MSP (mail submission); December 1998 (port 587) RFC 2920; ESMTP PIPELINING; September 2000 RFC 3207; ESMTP STARTTLS; February 2002 RFC 5321; SMTP rewritten; October 2008 (consolidates; updates; clarifies; doesn&amp;#x2019;t change)
  29. RFC 821; SMTP; August 1982 (port 25) RFC 1869; ESMTP; November 1995; revised RFC 1870; ESMTP SIZE; November 1995 RFC 2476; MSP (mail submission); December 1998 (port 587) RFC 2920; ESMTP PIPELINING; September 2000 RFC 3207; ESMTP STARTTLS; February 2002 RFC 5321; SMTP rewritten; October 2008 (consolidates; updates; clarifies; doesn&amp;#x2019;t change)
  30. Example blatantly stolen from http://en.wikipedia.org/wiki/Post_Office_Protocol
  31. Example blatantly stolen from http://en.wikipedia.org/wiki/Post_Office_Protocol
  32. Example blatantly stolen from http://en.wikipedia.org/wiki/Post_Office_Protocol
  33. Example blatantly stolen from http://en.wikipedia.org/wiki/Post_Office_Protocol
  34. Example blatantly stolen from http://en.wikipedia.org/wiki/Post_Office_Protocol
  35. Example blatantly stolen from http://en.wikipedia.org/wiki/Post_Office_Protocol
  36. Example blatantly stolen from http://en.wikipedia.org/wiki/Post_Office_Protocol
  37. Example blatantly stolen from http://en.wikipedia.org/wiki/Post_Office_Protocol
  38. Example blatantly stolen from http://en.wikipedia.org/wiki/Post_Office_Protocol
  39. Example blatantly stolen from http://en.wikipedia.org/wiki/Post_Office_Protocol
  40. Example blatantly stolen from http://en.wikipedia.org/wiki/Post_Office_Protocol
  41. Example blatantly stolen from http://en.wikipedia.org/wiki/Post_Office_Protocol
  42. Example blatantly stolen from http://en.wikipedia.org/wiki/Post_Office_Protocol
  43. Example blatantly stolen from http://en.wikipedia.org/wiki/Post_Office_Protocol
  44. Example blatantly stolen from http://en.wikipedia.org/wiki/Post_Office_Protocol
  45. Example blatantly stolen from http://en.wikipedia.org/wiki/Post_Office_Protocol
  46. Example blatantly stolen from http://en.wikipedia.org/wiki/Post_Office_Protocol
  47. Example blatantly stolen from http://en.wikipedia.org/wiki/Post_Office_Protocol
  48. Example blatantly stolen from http://en.wikipedia.org/wiki/Post_Office_Protocol
  49. Example blatantly stolen from http://en.wikipedia.org/wiki/Post_Office_Protocol
  50. How email works *here* Note ssuMailHomeDirectory
  51. No Locking time.pseudorandom.hostname,flags psuedorandom(P=pid, H=microseconds)
  52. Sent January 21, 2004 Guaranteed Delivery
  53. 2003/11 (approx): 300G 2007/05: 700G 2009/01: 1.05T
  54. What&amp;#x2019;s our current peak? Back in 2007 I said &amp;#x201C;12 per second&amp;#x201D;. What is it now? https://groundwork.sonoma.edu/cacti/graph_image.php?local_graph_id=271&amp;rra_id=0&amp;view_type=tree&amp;graph_start=1154415600&amp;graph_nolegend=true&amp;graph_height=300&amp;graph_width=900 https://groundwork.sonoma.edu/cacti/graph_image.php?local_graph_id=4407&amp;rra_id=0&amp;view_type=tree&amp;graph_start=1154415600&amp;graph_nolegend=true&amp;graph_height=300&amp;graph_width=1200
  55. What&amp;#x2019;s our current peak? Back in 2007 I said &amp;#x201C;12 per second&amp;#x201D;. What is it now? https://groundwork.sonoma.edu/cacti/graph_image.php?local_graph_id=271&amp;rra_id=0&amp;view_type=tree&amp;graph_start=1154415600&amp;graph_nolegend=true&amp;graph_height=300&amp;graph_width=900 https://groundwork.sonoma.edu/cacti/graph_image.php?local_graph_id=4407&amp;rra_id=0&amp;view_type=tree&amp;graph_start=1154415600&amp;graph_nolegend=true&amp;graph_height=300&amp;graph_width=1200
  56. Note logarithmic scale Moore&amp;#x2019;s Law: chip density doubles every 18 months related: chip speed, memory sizes, transfer speeds
  57. Kryder&amp;#x2019;s Law: magnetic disk areal storage density doubles annually
  58. Diagram drive now Disk access/seek time: time to move head + time to rotate drive rotational speed is key Big jump soon with SSD? Still too expensive.
  59. History
  60. &amp;#x201C;No Layoff&amp;#x201D; unofficial policy at SSU relates to things/stuff being easier to buy than people. (stuff is up front; people are long term commitment) The amount of money isn&amp;#x2019;t the only limit, but the nature of how it flows in relation to the project. Large (capital) amounts are always special request. Email == cost center (not money maker)
  61. &amp;#x201C;No Layoff&amp;#x201D; unofficial policy at SSU relates to things/stuff being easier to buy than people. (stuff is up front; people are long term commitment) The amount of money isn&amp;#x2019;t the only limit, but the nature of how it flows in relation to the project. Large (capital) amounts are always special request. Email == cost center (not money maker)
  62. * Reliable - Highly Available, Fault Tolerant, Redundant components (just enough), no staff available outside 6:30am-6pm * Cost: prefer to spend money once, not every year * Concurrent: lots of users all at once. Locks = Evil
  63. * Reliable - Highly Available, Fault Tolerant, Redundant components (just enough), no staff available outside 6:30am-6pm * Cost: prefer to spend money once, not every year * Concurrent: lots of users all at once. Locks = Evil
  64. * Reliable - Highly Available, Fault Tolerant, Redundant components (just enough), no staff available outside 6:30am-6pm * Cost: prefer to spend money once, not every year * Concurrent: lots of users all at once. Locks = Evil
  65. * Reliable - Highly Available, Fault Tolerant, Redundant components (just enough), no staff available outside 6:30am-6pm * Cost: prefer to spend money once, not every year * Concurrent: lots of users all at once. Locks = Evil
  66. Diagram VM infrastructure 5 hosts; NetApp + EMC storage VMotion
  67. beginnings: wiggum, dir1-&gt;dir2, 2*IMAP, 2*exim, 2*spam
  68. beginnings: wiggum, dir1-&gt;dir2, 2*IMAP, 2*exim, 2*spam
  69. beginnings: wiggum, dir1-&gt;dir2, 2*IMAP, 2*exim, 2*spam
  70. beginnings: wiggum, dir1-&gt;dir2, 2*IMAP, 2*exim, 2*spam
  71. beginnings: wiggum, dir1-&gt;dir2, 2*IMAP, 2*exim, 2*spam
  72. Summer 2005; draw pegged graph Major error: didn&amp;#x2019;t get metrics going
  73. Fall 2007; talk about EMC
  74. diagram multiple shared block storage configs
  75. Growth: not just &amp;#x201C;infinite&amp;#x201D;, but have any idea how much, how fast, etc...