ISPConfig3 Server High Availability Configuration

Discussion in 'General' started by dpicella, Mar 17, 2010.

  1. dpicella

    dpicella New Member

    Would it be possible to use ISPConfig on an HA system of 2 servers?
  2. till

    till Super Moderator Staff Member ISPConfig Developer

    Yes, this should be possible.

    You have to use a central high availability storage for /var/www and /var/vmail for both servers. Maybe a nfs system, a san or a cluster filesystem.

    Then install the first ispconfig server as master and the second one as slave. Then login into ispconfig on the master server, go to system > server services, select the settings of the slave server and there select the master server in the setting field "is slave of" so that ispconfig will mirror all configuration changes to the salve server automatically.

    This will result in a HA setup for all configured services, the only thing that will not be available on both systems is the ispconfig control panel interface.
  3. alzuin

    alzuin New Member

    Hello Till: I'm just working in a setup like this putting a load balancer in front of 4 server in mirror.
    As I understood from this and other post, I have a "master" server with all and X "slave" servers updated from the master. Data for /var/www and /var/vmail must be in a shared systen (I like to use NFS) and the configuration are replicated directly by ISPconfig: the web interface write configurations on mysql database dbispconfig and a cronjob extract it in every server. Cool!
    The question is about mysql databases of websites: I think MySQL website databases isn't replicated by ISPConfig and then I have to use another method. A master-master replication between all databases excluding mysql and dbispconfig is a correct approch?
  4. till

    till Super Moderator Staff Member ISPConfig Developer

  5. alzuin

    alzuin New Member

    Hello Till,
    In past I considered native MySQL cluster: I tried it, it's wonderful and better and solid than master-master replica... but there is a "small" limit: the engine of table must be mdb, myisam and innodb aren't supported in cluster mode but only in "local".
    I have to migrate an old ISP infrastructure and I tried to convert (for test) some joomla database from myisam to mdb and it fault 'cause the mbd can't do text index.
    Anyway, thanks for the reply: now I known where I have to go!
  6. HellMind

    HellMind New Member

    What for having a load balaced solution?

    I understand that there will be no performance boos if we use drdb/nfs ("raid1").

    Since this is active/pasive type.

    But having load balaced mysql will bost mysql access ?
    Also,it is posible to run on both machines apache and mail runing using the shared filesystem ?
    Will be there a boost of performance?
  7. alzuin

    alzuin New Member

    Ok, i tried many scenarios because for me the speed is a necessity.
    There is a big difference between web/mail data which is simple files and mysql data.
    For the first (mail and web), using a shared filesystem is ok but you have to consider the speed of a cluster filesystem. In fact, a shared filesystem (expecially the the lock mechanism) is slower than a direct access filesystem. I tried OpenAIX, GlusterFS (very cool), GFS and OCFS2. Only the last one has good performance (expecially if you use it in a DRBD8 active-active scenario - but in this case you are limited to 2 servers) but you lose quota support.
    For the second (mysql), using a shared fylesystem is not ok: in fact you have to use external-locking mechanism in mysql which is (very, very) slower than internal-locking. In this case an active-active replica setup is faster, expecially if used in combination with mysql-proxy and mysql-mmm.
    At last: I found a big speedup using apache-itk instead of suphp and noticed a better CPU usage using a simpler web server like lighthttp to proxy static content outside apache... but for this there isn't a ready module for ispconfig and I'm writing this piece of software to do this.

Share This Page