Overview
- Migration procedure is not applicable for migration of management node hosted on Windows Server 2003. Use KB to migraet management node to Windows Server 2012 R2.
- Migrate DB from MSSQL to PostgreSQL
- Modify DB for Linux environment
- Adopt OSA configuration files on new Linux MN
- Move IP address and hostname from old MN to the new node
- Post migration configuration
Migrating Database
On Linux OA MN allow connection from Windows OA MN: in the
/var/lib/pgsql/9.1/data/pg_hba.conf
file add the following line:host all all XX.XX.XX.XX/32 trust
where XX.XX.XX.XX – IP address of Windows OA MN
Reload postgresql:
# /etc/init.d/postgresql-9.1 reload
Install PostgresODBC on Windows MN from here.
- Copy the migration script
mn_migration_win.py
to the Windows MN. Run the script on Windows MN to validate the destination node before data migration:
C:\Python27\python mn_migration_win.py --check --lin-database-host=LINUX_MN [--lin-dsn-login=LOGIN] [--lin-dsn-passwd=PASSWD]
where:
--lin-database-host=LINUX_MN – Destination Linux MN --lin-dsn-login=LOGIN – Database login on Linux MN (plesk by default) --lin-dsn-passwd=PASSWD – Database password on Linux MN
For example:
C:\Python27\python mn_migration_win.py --check --lin-database-host=10.30.111.12 --lin-dsn-login=plesk --lin-dsn-passwd=1q2w3e
- After the checks are passed successfully, go to the next step. If not, you should install missing packages on Linux MN, or remove excessive packages from Windows MN.
- Copy the migration script
mn_migration_lin.py
to the Linux MN. Execute script
mn_migration_lin.py
on Linux MN to prepare the emptyplesk_mig
database for data migration:python mn_migration_lin.py --prepare
- Stop OA on both Windows MN and Linux MN.
Run data migration script on Windows MN:
C:\Python27\python mn_migration_win.py --transfer --lin-database-host=LINUX_MN [--lin-dsn-login=LOGIN] [--lin-dsn-passwd=PASSWD]
where:
--lin-database-host=LINUX_MN – Destination Linux MN --lin-dsn-login=LOGIN – Database login on Linux MN (plesk by default) --lin-dsn-passwd=PASSWD – Database password on Linux MN
After the data transferred, restart postgresql:
# /etc/init.d/postgresql-9.1 restart
Execute the finalizing script on Linux MN:
python mn_migration_lin.py --convert
Configuring Linux MN
Copy files without modifications from Windows MN to the Linux:
credentials\keystore.jks credentials\truststore.jks etc\keys\sn_private_key.pem var\tmp\paunaming.ser
Modify lines in files on Linux MN using the values from Windows MN:
jboss-eap-6.2\bin\tune-jboss-run.cli
/interface=unsecure/:write-attribute(name=inet-address,value="${jboss.bind.address.unsecure:NN.NN.NN.NN}") /system-property=com.parallels.kernelPubKey:add(value="...") /system-property=com.parallels.kernelPrivKey:add(value=".....") /system-property=com.parallels.encryptionKey:add(value="...")
jboss-eap-6.2\standalone\configuration\standalone-full.xml
<property name="com.parallels.kernelPubKey" value="..."/> <property name="com.parallels.kernelPrivKey" value="..."/> <property name="com.parallels.encryptionKey" value="..."/> <interface name="unsecure"> <inet-address value="${jboss.bind.address.unsecure:NN.NN.NN.NN}"/> </interface>
etc\Kernel.conf
kernel_priv_key=...
etc\pleskd.props
kernel_resolver_ior=corbaloc:iiop:NN.NN.NN.NN:8354/ObjectResolver orb.endpoint.addresses=NN.NN.NN.NN communication.ip=NN.NN.NN.NN kernel_pub_key=... encryption_key=... passwd=....
Replace Linux hostname to Windows in configuration files:
jboss-eap-6.2\standalone\configuration\standalone-full.xml
<connection-url>jdbc:postgresql://[WINHOSTNAME]/plesk</connection-url>
jboss-eap-6.2/bin/ds-run.cli
data-source add .....--connection-url=jdbc:postgresql://[WINHOSTANME]/plesk....
etc/odbc.ini
Servername = [WINHOSTNAME]
Copy files from APS folders from Windows MN:
certificates/ca.pem certificates/controller.pem certificates/poa.pem packages
Fix permissions of the APS folder:
chown pemuser:pemgroup /usr/local/pem/APS/packages -R
Copy all files from directory:
ui\WEB-INF\conf\includes
Except for
specific.properties
Copy all files from directory:
ui\pem\images\applications
Moving Network configuration from old MN to new node
The following network parameters should be assigned to the Linux MN:
- hostname
- IP address
DNS settings
- Get hostname, IP addresses, and DNS settings of Windows MN.
- Rename Windows MN to OLD-[HOSTNAME] in OS.
- Rename Linux MN to [HOSTNAME] in OS.
- Contact system admins to change IPs and DNS settings.
Post-migration configuration
Update the installed modules according to the section 'Installing and Updating Hosting Module' of guide