Migration einzelner Verträge (Web/DB) innerhalb LiveConfig-Cluster

  • Hallo zusammen,


    was ist zu tun, um Webseiten und Datenbanken eines Vertrags auf einen anderen LC-Webserver in einem Cluster umzuziehen? Mailaccounts bleiben wo sie sind.


    Wir nutzen einen LC-Master mit einer MySQL-Datenbank. Mich interessiert vor allem, welche Änderungen wir in der Datenbank durchführen müssen. Die reine Änderung der Server-Ids in der HOSTINGCONTRACTS scheint nicht zu reichen. Was muss ich tun, um auch die Apache-Vhosts und MySQL-User / Datenbankeinstellungen (abgesehen vom Dumpimport) sowie FTP-Accounts/SFTP-Accounts etc. zu migrieren?


    Hat irgendwer dafür ein Script geschrieben?


    Viele Grüße
    Sebastian

  • Ist ja die Frage wie oft du das machen musst. Im Einzelfall würde ich es in der Datenbank ändern.
    Zusätzlich zu der Hostingcontracts aber noch die AC_SERVERID in der ACCOUNTS Tabelle.


    Allerdings vorher erstmal alles löschen also Datenbanken, SSL Certs und FTP Accounts.


    Dann nen User anlegen auf dem neuen Server, die Daten einspielen und alles wieder neu anlegen (MYSQLDB,SSL Certs und FTP Accounts)


    Die Vhost legt sich selbst wieder an wenn du irgendwas in den Domaineinstellungen änderst und speicherst. Das musst du allerdings bei jeder Domain machen da sonst die alte IP weiterhin benutzt wird.



    Allerdings waren das nur Versuche von mir und ob das alles hundertprozentig korrekt ist weiss ich auch nicht.


    Ein Script oder gar eine integrierte Funktion dafür würden mich auch interessieren.

  • Das hat kk mir am 11.07.2018 gesendet:


    Fragestellung war
    Kunde hat zwei Verträge. Jeweils Mail auf Master-Server sowie vHosts + DB auf anderem Server. Diese sollen nun auf den Master umgezogen werden.


    Kurzanleitung Webspace-Umzug:


    - legen Sie manuell den Systemaccount des Vertrags auf dem neuen Webserver an:
    addgroup <Vertrag>
    adduser --home /var/www/<Vertrag> --ingroup <Vertrag> <Vertrag>
    - kopieren Sie via rsync das komplette Verzeichnis /var/www/<Vertrag>
    vom alten auf den neuen Server (damit die ganzen Berechtigungen der
    Konfigurationsverzeichnisse auch stimmen)
    (rsync -av ...)
    - führen Sie in der LiveConfig-Datenbank folgende Befehle aus:
    - finden Sie die Server-ID des "neuen" Servers heraus, indem Sie das hier
    mit irgendeinem Vertragsnamen des *neuen* Servers (z.B. "webNEU") ausführen:
    SELECT HC_SERVERID FROM HOSTINGCONTRACTS WHERE HC_NAME="webNEU";
    - aktualisieren Sie damit die Einstellung des umzuziehenden Vertrags:
    UPDATE HOSTINGCONTRACTS SET HC_SERVERID=<s.o.> WHERE HC_NAME="<Vertrag>";


    - finden Sie dann die IP-Gruppen irgendeines Vertrags auf dem neuen Server heraus:
    SELECT DISTINCT SD_WEBSERVERID, SD_IPGROUPID
    FROM SUBDOMAINS, DOMAINS, HOSTINGCONTRACTS
    WHERE SD_DOMAINID=D_ID AND D_CONTRACTID=HC_ID AND HC_NAME="webNEU";


    - diese Werte tragen Sie dann entsprechend ein:
    UPDATE SUBDOMAINS SET SD_WEBSERVERID=<s.o.>, SD_IPGROUPID=<s.o.>,
    SD_PHPVERSIONID=NULL
    WHERE SD_DOMAINID IN (SELECT D_ID FROM DOMAINS, HOSTINGCONTRACTS
    WHERE D_CONTRACTID=HC_ID AND HC_NAME="<Vertrag>");


    - analog auch die AC_SERVERID in der Tabelle ACCOUNTS anpassen:
    - zuerst AC_SERVERID anhand eines Vertrags auf dem neuen Server suchen:
    SELECT AC_SERVERID FROM ACCOUNTS WHERE AC_LOGIN="webNEU";
    - dann umziehenden Account aktualisieren:
    UPDATE ACCOUNTS SET AC_SERVERID=<s.o.> WHERE AC_LOGIN="<Vertrag>";
    (ggf. mit Sub-FTP-Benutzern wiederholen)


    Zum Schluss melden Sie sich bitte im LiveConfig an und bearbeiten dort irgendeine Domain des Vertrags. Das sollte dann alle entsprechenden Konfigurationsdateien neu erzeugen.
    Ggf. müssen Sie die PHP-Versionen der einzelnen (Sub)Domains erneut einstellen - das zu übernehmen wäre auch etwas aufwendiger.


    Läuft DNS für die betroffenen Domains auch via LiveConfig? Wenn ja, geben Sie bitte kurz Bescheid, damit wir klären wie Sie die Aktualisierung der A-Records anstoßen können. Bei einer kleinen Anzahl an Domains wäre es tatsächlich am einfachsten, diese kurzzeitig mal auf "externer DNS" und dann wieder zurück auf den LiveConfig-DNS zu stellen.


    Umzug Datenbanken:
    - suchen Sie die HC_DBSERVERID und DB_SERVERID anhand eines Vertrages des neuen Servers heraus (das können durchaus zwei verschiedene IDs sein!)
    SELECT HC_DBSERVERID, DB_SERVERID FROM HOSTINGCONTRACTS, DBS
    WHERE HC_NAME="webNEU" and HC_CONTRACTID=DB_CONTRACTID;
    - UPDATE HOSTINGCONTRACTS SET HC_DBSERVERID=<s.o.> WHERE HC_NAME="<Vertrag>";
    - UPDATE DBS SET DB_SERVERID=<s.o.> WHERE DB_NAME="<Datenbankname>";

    # Das Gras wächst nicht schneller wenn man daran zieht # Bitte keine inflationären Vollzitate #

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!