VMmanager 6: Administrator guide

Migration from VMmanager 5 to VMmanager 6

ISPSystem

This article describes how to migrate virtual machines from VMmanager 5 to VMmanager 6.

VMmanager 6 does not support working with IPmanager 5. Therefore, you must export the address space to IPmanager 6 when migrating. This is an integral module of VMmanager 6, which supports IPmanager 5 API emulation mode. If your infrastructure has other software products that require integration with IPmanager 5, they can also be connected to VMmanager 6 (IPmanager 6). For example, DCImanager 5 and ISPmanager 5/ISPmanager 6.

Schematic representation of the infrastructure before and after migration


To transfer the VMmanager 5 control panel configuration to the VMmanager 6 platform:

  1. Install and perform bootstrapping of VMmanager 6.
  2. Export the address space information from IPmanager 5.
  3. Migrate virtual machines from VMmanager 5 to VMmanager 6.
  4. Change the billing system settings.

Installing and configuring VMmanager 6


  1. Make sure that the server for VMmanager 6 meets the system requirements.
  2. Install VMmanager 6 according to the manual.
  3. Perform bootstrapping of the platform.

Address space transfer


VMmanager uses the integral IPmanager 6 module to manage IP addresses. To transfer the settings of the address space used to this module:

  1. Make sure that IPmanager 5 is using the MySQL DBMS. If IPmanager 5 is using SQLite DBMS, switch to the use of MySQL DBMS. Read more in Usage of MySQL as a DBMS (database management system).
  2. Make sure that the MySQL server is accessible from VMmanager 6 — check if ports 3306/TCP, 3306/UDP are open in the firewall settings and if remote connection to the database is possible:
    1. Connect to the IPmanager 5 server via SSH.
    2. Check the current firewall settings:

      firewall-cmd --list-all
    3. Open ports 3306/TCP, 3306/UDP:

      firewall-cmd --permanent --add-port=3306/tcp
      firewall-cmd --permanent --add-port=3306/udp
    4. Restart the firewall service:

      service firewalld restart
    5. Open the MySQL configuration file /etc/my.cnf. Add the bind-address=xxx.xxx.xx.xx.x paramter to the [mysqld] section and mark as comment the line with the skip-networking parameter.

      xxx.xxx.xx.x — IP address of the server with IPmanager 5

    6. Connect to mysql service:

      mysql
    7. Allow the user to connect to MySQL remotely:

      GRANT ALL PRIVILEGES ON . TO user@'IP' IDENTIFIED BY 'UserPassword';

      user — the name of the user who is allowed to connect remotely

      IP — IP address of the server from which the remote connection will be made

      UserPassword — password of the user who is allowed to connect remotely

    8. Restart mysql service:

      service mysqld restart
  3. Import IP addresses. You can import all IP addresses of the IPmanager 5 database from the VMmanager 6 interface.
    1. Open VMmanager 6 Settings → Migration Import IP addresses from IPmanager5.
    2. Enter the connection details.

      • Address of the server with IPmanager — the IP address of the IPmanager 5 database;
      • Database name — the name of the IPmanager 5 database; the default value is ipmgr;
      • User login for integration — the login of the IPmanager 5 database user; the default value is root;
      • Password — the password of the IPmanager 5 database user.
    3. Press Import IP.

      Import IP 

      Example


      If you need to import only some IP addresses, you will need to create a user in IPmanager 5.

      1. Create a user on the server with IPmanager 5 for integration. All types of addresses to be migrated must be available to the user. Read more about address types in Manage the groups of IP addresses.
      2. Connect to the server with VMmanager 6 via SSH and run the command:

        docker exec -it vm_ipmgr_1 /opt/ispsystem/ipmgr/bin/mgr5import --dbhost <db_ip> --dbname <db_name> --dbuser <db_user> --dbpassword <db_pass> --user <ipmgr_user>

        <db_ip> — IP address of the IPmanager 5 database.

        <db_name> — IPmanager 5 database name. The default value is ipmgr.

        <db_user> — user name of the IPmanager 5 database user. The default value is root.

        <db_pass> — IPmanager 5 database user password.

        <ipmgr_user> — name of the IPmanager 5 user created for integration.

        Note:

        You do not have to use the --user parameter. In this case, VMmanager 6 will import the entire database of IPmanager 5 and create pools of IP addresses like USERNAME_GROUPNAME, where USERNAME is the name of the IPmanager user, GROUPNAME is the name of the group of IPmanager addresses.

        --noip — do not convert IP addresses.

        --nohistory — do not convert the history of IP addresses.

        --debug — command log output to stdout.

        You can check execution of the command in the log file /var/log/ipmgr5_import.log in the vm_ipmgr_1 container on the server with VMmanager.

        Example of command output

To enable VMmanager 5 to work with IPmanager 6, configure the connection in the control panel:

Note:

To allow VMmanager 5 to access only a certain pool of IP addresses, create a pool in VMmanager 6 with the suffix public. For example, VM5_public.

  1. Create an administrator account named ipmgr5@example.com in VMmanager 6. 

    Note

    ipmgr5@example.com is not an example, but the exact name that you need to specify when creating an account.


  2. In VMmanager 5:
    1. Enter IntegrationIPmanager.
    2. Specify the settings for integration:
      1. URL https://domain.com/ipmgr5/v3/ipmgr.

        domain.com — domain name or IP address of the server with VMmanager. 

      2. Username:

        • to allow the control panel to access only a certain pool of IP addresses, specify pool_XXX;

          XXX — pool prefix in VMmanager. For example, for the VM5_public pool, specify the username pool_VM5. 

        • to allow the control panel to access the entire address space, specify an arbitrary user name.
      3. Password — password of the ipmgr5@example.com user.
    3. Press Ok.

If VMmanager 6 has integration with PowerDNS, you need to synchronize PTR records with the DNS-server after the address space is created. To do this:

  1. Delete the PowerDNS Integration module: SettingsModulesIntegration with PowerDNSDelete the moduleDelete the module.
  2. Reinstall and configure the integration module. Read more in Integration with PowerDNS.

You can check the success of synchronization in the /var/log/dns_proxy_integration.log file in the vm_dns_proxy_1 container on the server with VMmanager.

Migrating virtual machines


Note:

If you use BILLmanager to sell virtual machines, configure the billing system before the migration: disable the corresponding services, switch the service processing module for them and then enable them in BILLmanager again after the migration. For more details see the Configuring the billing system section below.

You can migrate virtual machines from multiple VMmanager 5 instances to a single VMmanager 6 instance. In VMmanager 6, these virtual machines can be placed in different clusters. For migration, in VMmanager 6 you need to create the required number of clusters and virtual machines inside them. After that, manually copy virtual machine disks from VMmanager 5 to the VMmanager 6 cluster node for the corresponding created VM. See the instructions for VM migration below for details.

Migrating VMs from multiple VMmanager 5 instances to VMmanager 6 clusters


If you are using VMmanager 5 KVM, migrate the VMs according to the instructions in the article How to import a VM to VMmanager?

If you are using VMmanager 5 OVZ, migrate the VMs according to the instructions in the article How to move an OVZ container to LXD cluster?

Configuring the billing system


If you use BILLmanager as your billing system:

  1. Edit the IPmanager integration settings. To do this:
    1. Enter IntegrationIPmanagerEdit button.
    2. Specify the settings for integration:
      1. URLIP address of the server with VMmanager 6.
      2. Usernamethe VMmanager 6 administrator account ipmgr5@example.com.
      3. Passwordpassword for the VMmanager 6 administrator account.
    3. Press OK.
  2. Create users in VMmanager 6, whose virtual machines you want to migrate. The user's email is taken from BILLmanager.
  3. Connect the VMmanager 6 service processing module for VMmanager 5 tariff plans:
    1. Enter ProductsTariff plans → select the tariff plan from which the virtual server service for VMmanager 5 was sold → Modules button.
    2. Enable the VMmanager 6 processing module.
  4. Power the virtual machines off from BILLmanager:
    1. Enter Products/Services Virtual private servers → select all VMmanager 5 virtual server services (press CTRL) → Edit button.
    2. Press the Disable button.
    3. Confirm powering off with the Ok button.
  5. Migrate virtual server services to tariff plans with the VMmanager 6 processing module:
    1. Enter Products/ServicesVirtual private servers → select all VMmanager 5 virtual server services (press CTRL) → Edit button.
    2. Specify the VMmanager 6 service processing module in the Processing module field.
    3. Press Ok.
  6. Follow the instructions in the section above to migrate the virtual machines: Migrating virtual machines.
  7. Specify the username and service ID from VMmanager 6 for each virtual server.
  8. Enable the services in BILLmanager.
Thank you for your feedback!
Was the article useful?
Tell us why not:

it does not match the title

it was hard to understand

I didn't find the answer

recommendations from the article did not help

other

Tell us what you didn't like in the article: