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

  1. 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

  2. Reload postgresql:

    # /etc/init.d/postgresql-9.1 reload
    
  3. Install PostgresODBC on Windows MN from here.

  4. Copy the migration script mn_migration_win.py to the Windows MN.
  5. 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
    
  6. 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.
  7. Copy the migration script mn_migration_lin.py to the Linux MN.
  8. Execute script mn_migration_lin.py on Linux MN to prepare the empty plesk_mig database for data migration:

    python mn_migration_lin.py --prepare
    
  9. Stop OA on both Windows MN and Linux MN.
  10. 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
    
  11. After the data transferred, restart postgresql:

    # /etc/init.d/postgresql-9.1 restart
    
  12. Execute the finalizing script on Linux MN:

    python mn_migration_lin.py --convert
    

Configuring Linux MN

  1. 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
    
  2. 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=....
      
  3. 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]
      
  4. Copy files from APS folders from Windows MN:

    certificates/ca.pem
    certificates/controller.pem
    certificates/poa.pem
    packages
    
  5. Fix permissions of the APS folder:

    chown pemuser:pemgroup /usr/local/pem/APS/packages -R
    
  6. Copy all files from directory:

    ui\WEB-INF\conf\includes
    

    Except for

    specific.properties
    
  7. 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

    1. Get hostname, IP addresses, and DNS settings of Windows MN.
    2. Rename Windows MN to OLD-[HOSTNAME] in OS.
    3. Rename Linux MN to [HOSTNAME] in OS.
    4. 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

Internal content