Problem:

Symptome dazu gibt es verschiedene. Es kommt einfach drauf an, wo man mit der Suche beginnt.
Z.B. endet eine Migration im Plesk mit der Meldung:

Error: pmm utility 'migration_handler' raised an exception. Error code is: 1

Im dazugehörigen /usr/local/psa/PMM/logs/pmmcli.log finden sich auch folgende Zeilen:

11218: 2010-XX-XX hh:mm:ss,605 INFO Executing 
11218: 2010-XX-XX hh:mm:ss,774 INFO Subprocess raised ExecuteException: Subprocess  was finished with exit code 1
...
CRITICAL PMMUtility exception:
Subprocess  was finished with exit code 1
...
Runtime error in migration handler:
<class 'subproc.NonzeroExitException'>  was finished with exit code 2
Traceback (most recent call last):
...
File "/usr/local/psa/admin/share/pmmcli/pmmcli.py", line 1846, in main
    data_action_response, errcode_response, error_message = actions.get(sys.argv[1][2:])(parameters)

Da das Logfile als Traceback geschrieben wird, ist in dem Falle der erste Fehler der Ausschlaggebende:
.../migration-handler --migration-get-objects-list ... was finished with exit code 1

Diagnose

Erst wenn man die Schritte des PMM selber mit der Hand nachvollzieht, kommt man auf den Hintergrund. Daher machen wir das jetzt mal: (vom Zielhost aus!!!)

ssh root@ALTER-HOST mkdir temporary_migration_directory
scp -r /usr/local/psa/PMM/agents/shared/* /usr/local/psa/PMM/agents/PleskX/* root@ALTER-HOST:/temporary_migration_directory/

Wenn hier bereits Probleme auftreten, dann müssen die behoben werden. (Z.B. wenn kein direktes Login für root erlaubt ist.)

Nun wechseln wir auf den (alten) Quellhost und machen dort weiter:

cd /temporary_migration_directory
chmod 755 PleskX.pl
./PleskX.pl --dump-all --no-content

Hier kommt am Ende dann eine Fehlermeldung, die wirklich mal was Aussagt.
Häufigstes Problem: Auf der root-Partition ist zu wenig Speicherplatz.

Lösungen:

Im Falle von "zu wenig Speicherplatz" verschieben wir das temporary_migration_directory auf eine Partition mit ausreichend Kapazität und setzten einen Symlink auf den ursprünglichen Ort:

mv /temporary_migration_directory /var/.
ln -s /var/temporary_migration_directory /.

Da der PMM dieses Verzeichnis nach jedem Migrations(-Versuch) wieder löscht, muss dies jedes Mal wiederholt werden.

Allerdings kann man sich diese Mühe auch sparen. Denn mit einem erfolgreichen Durchlauf von:
./PleskX.pl --dump-all
erhält man alles was man braucht. Im Verzeichnis clients wird man fündig. Wir erstellen auf dem Zielhost ein neues Verzeichnis (z.B. /dumps) und kopieren alles nötige dort hin:

ssh root@NEUER-HOST mkdir /dumps
ssh root@NEUER-HOST mkdir /dumps/archives
scp dump.xml root@NEUER-HOST:/dumps/.
scp -r clients/* root@NEUER-HOST:/dumps/archives/.

Nun kann im Plesk-Panel neue Migration gestartet werden. Nur diesmal als "Datenimport". Als Verzeichnis wird /dumps/ angegeben.

Hinweis

Wer nur eine Domain übernehmen möchte, kann dies ebenfalls auf diese Weise machen. Als Parameter für PleskX reicht dann:

./PleskX.pl --dump-domains=DOMAIN.TLD

Kategorien:

Stichwörter:

Plesk · Migrations-Manager · Migration · PMM · host ·