Synchronization between master and slave servers

Discussion in 'Installation/Configuration' started by Eagle, Jul 12, 2022.

  1. Eagle

    Eagle New Member

    I have a multiserver installation of ISPconfig. Yesterday, my innodb database on the master server got corrupted and the mariadb server could not be started. I restored the two weeks old database from the backup and now I have a problem with synchronization of the client server. The client server has the mailserver role. Whatever I do on the master server will not transfer to the client server. I tried updating ispconfig on both servers, everything went fine. I can access the database from both servers. I also manually ran /usr/local/ispconfig/server/server.sh in debug mode on both servers and got no errors. The firewall is fine, the manual connection of the client to the master server is functional. I also ran Tools -> Resync.
    But I have been still seeing the message "The following changes are not yet populated to all servers" for two days in the ISPConfig environment. Where could be the error?
     
  2. till

    till Super Moderator Staff Member ISPConfig Developer

    You must set the 'updated' column in the 'server' table of the dbispconfig MySQL database on both servers for the mail node record in that table to the datalog_id value where it shall start processing the new datalog entries.
     
  3. Eagle

    Eagle New Member

    On the master server is value of the "updated" entry 5402 and on the slave (mail) server is 8127. Pending actions are 1951. Should I set the value to 3451 on both servers?
     
  4. till

    till Super Moderator Staff Member ISPConfig Developer

    This would probably work, but it might be that some tasks get reprocessed. The safest way would be to look into the SQL backup file that you used for the restore to see which max. datalog_id is in there and use that.

    Just for the understanding, what the mail node is doing is this: he 'asks' the master for all config transactions from sys_datalog where datalog_id is higher than what is stored in the 'updated' column. Due to the restore of an older database, the highest datalog_id is currently way lower than the value in the updated column and that's why the slave 'thinks' that he is up to date and does not receive changes.
     
  5. Eagle

    Eagle New Member

    Yes, now i understand how does it work. I'll try decrease the value to 5402 on the slave server and make Resync in the ISPConfig environment. Could it work that way?
     
  6. till

    till Super Moderator Staff Member ISPConfig Developer

    Yes. But you must adjust the updated column on master and slave in the record of the slave (it exists twice, once on master and once on the slave node).
     
  7. Eagle

    Eagle New Member

    Solved. Big thanks, Till.
    Work like a charm.
     

Share This Page