Open-Xchange Server High availability 2010-11-06 Daniel Halbe, Holger Achtziger
Agenda Open-Xchange High availability» Overview» Load Balancing and Web Service» Open-Xchange Server» Filestore» Database» Mail System» Cluster Frameworks 2
Load Balancing and Web Service OX Cluster External Infrastructure Load Balancer Apache SMTP Mail System (MTA) AJPv13 OX Application Server IMAP Mail Store OX Data Store Backends Auth Sync Provisioning Database Filestore 3
Session stability needed» Open-Xchange needs Session stability» How can apache help? Proxy Mod_proxy_ajp AJP route JsessionID cookie Load Balancing Session Stability File delivery OX GUI Plugins» Other Loadbalancing Keepalived Hardware (BigIPf5,...) Linux Virtual Server (LVS) Pound... 4
Open-Xchange Service OX Cluster External Infrastructure Load Balancer Apache SMTP Mail System (MTA) AJPv13 OX Application Server IMAP Mail Store OX Data Store Backends Auth Sync Provisioning Database Filestore 5
Configuration Static Dynamic per multicast» Filesystem /opt/open-xchange/etc/ Propertie fiels Configdb access Templates Exception: AJP route» Database (configdb) User Databse(s) Filestore Context detail information» Push» Caches (invalidation) user context Folder...» Session cache(transfer) 6
Howto Dynamic Configuration in a Cluste Port 6781 Port 6780 OX1 OX2 OX3 Admin Admin Admin Groupware Groupware Groupware Mail Mail Mail Session Session Session Cache.cff Cache.cff Cache.cff Cache.cff Cache.cff Cache.cff TCP listen 7
Filestore OX Cluster External Infrastructure Load Balancer Apache SMTP Mail System (MTA) AJPv13 OX Application Server IMAP Mail Store OX Data Store Backends Auth Sync Provisioning Database Filestore 8
Filestore» Open-Xchange Requirements Just a directory No special file locking Read/Write on all nodes» Possible Solutions NFS GFS OCFS (not yet in production)» Hardware Local disks Raid SAN NAS Everything goes 9
Database OX Cluster External Infrastructure Load Balancer Apache SMTP Mail System (MTA) AJPv13 OX Application Server IMAP Mail Store OX Data Store Backends Auth Sync Provisioning Database Filestore 10
Database Read Write Separation Open-Xchange Service Open-Xchange Database Master Company A Company B Open-Xchange Open-Xchange Database Database Slave Database Slave Slave Company Company A Company A A Company Company B Company B B» MySQLMaster-Slave Replication» Multiple Slaves behind Loadbalancer possible» Multiple Master-Slave clusters possible» Hot stand by Master using DRBD 11
Physical Database Partitioning Open-Xchange Service Open-Xchange Database Cluster 1 Open-Xchange Database Cluster 2 Open-Xchange Config-DB Cluster Company A Company C Company B 12
Mail System OX Cluster External Infrastructure Load Balancer Apache SMTP Mail System (MTA) AJPv13 OX Application Server IMAP Mail Store OX Data Store Backends Auth Sync Provisioning Database Filestore 13
Supported Mail Servers, proven in Production Dovecot IMAP» Easy Clustering with NFS Storage» High Performance, Caching,» SIEVE Support» Maildir based Storage» Recommended for scaling environments Courier IMAP» Easy Clustering with NFS Storage» Maildir based Storage» ACL Support» Scaling well, not as good as Dovecot Cyrus IMAP» Enhanced ACL Support» Shared Folders» Clustering very complex» Very good SIEVE Support» No NFS Storage possible (locking)» Storage via Cluster File System possible» Own, proprietary index format» Recommendedfor small to medium Enterprises Postfix SMTP» Fast, easy to administer, secure 14
Services Done OX Cluster External Infrastructure Load Balancer Apache SMTP Mail System (MTA) AJPv13 OX Application Server IMAP Mail Store OX Data Store Backends Auth Sync Provisioning Database Filestore 15
The big Picture Keepalived Master/Slave Cluster nodes run: Apache OX Dovecot Postfix Keepalived Master/Slave Mysql Master Hot stand by Mysql Slaves NFS Cluster for: Mailstore Infostore 16
Further Information OXPedia: The technical resource platform: http://oxpedia.org/» Documentation» Software packages» Discussion Forum» Programming Examples 17