With v10, Zerto has opted to move away from the Windows based ZVM service in favour of utilising a Linux based appliance. Zerto have developed a migration tool to assist users in migrating from their existing Windows ZVM’s to the Linux Appliance (ZVMA). The below instructions include links to Zerto documentation as well as tips to help smooth the migration of your own environment.

Important notes before you begin

Zerto 10.0 will not install on the Hyper-V hypervisor and will not include a Windows-based ZVM deployment option. Users will not be able to use Zerto 10.0 to protect virtual machines on the Hyper-V hypervisor, but can continue protecting Hyper-V using Zerto 9.7. Legacy ZVM VMs can be migrated to the new appliances during the upgrade to Zerto 10.0 As with traditional Zerto upgrade policies, only the latest Zerto 9.7 version can be upgraded to Zerto 10.0.

Minimum Requirements

Compatibility

Please be sure to check the Zerto compatibility matrix to ensure all components are compatible prior to initiating the migration: https://www.zerto.com/myzerto/support/interoperability-matrix/

Linux Appliance Deployment

Zerto have included guides on their website for the deployment and configuration of the Linux Appliance (ZVMA).

ZVM Appliance Deployment

Appliance Manager Menu

Tips:

Keycloak (Optional)

The Linux Appliance utilises an internal Keycloak server for authentication going forward. If you have multiple users or do not want to use the default admin login, You’ll need to setup users within Keycloak in order to log into the ZVM going forward. This can be done prior to the migration.

You can access the Keycloak instance via https://<ZVMA IP>/auth

Zerto Guides:

Creating and Managing Users in Keycloak

ZVM Appliance Roles and Permissions

User Federation LDAP Provider

Note: It is possible to configure LDAP for Keycloak however Zettagrid will be unable to provide support for the setup of User Federation

Tips:

Migration Tool

The migration tool can be downloaded from downloaded from our support page here: https://zettagrid.atlassian.net/servicedesk/customer/portal/9/article/124912482

Prerequisites

Zerto Guide:

Migration Wizard

Tips:

Post-Migration

Zerto Guides:

Post-migration Guide

Tips:

Post Migration - ZORG not found in storage

As part of the migration from 9.7 to 10. A Known issue occurs where a table in the ZVM database is filled with incorrect data. On 10 U2 this does not present itself but upon upgrading to 10 U4, you may see an error on VPGs to the effect of ‘ZORG not found in storage’. To clear this error, please refer to the two sets of instructions below. One for customers with Internal Databases and one for External Databases

Internal Database

  1. Run the following command to stop the ZVM service: kubectl scale deployment zvm-service --replicas=0

  2. Run "k get pods" to check the status of the service shutdown. This will be complete when the 'zvm-service' disappears from the list

  3. Snapshot the ZVMA

  4. Run the following command to clear the table: kubectl exec -it $(kubectl get pods | awk '{print $1}' | grep zvm-db) -- /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P "zvmapp-5T^d#ak*Y6" -Q "use zvm_db; delete CloudConfigurationIdentifierStorageObject;"
    You should receive a message advising '1 rows affected'

  5. Run the following command to restart the ZVM service: kubectl scale deployment zvm-service --replicas=1

External Database

  1. Run the following command to stop the ZVM service: kubectl scale deployment zvm-service --replicas=0

  2. Run "k get pods" to check the status of the service shutdown. This will be complete when the 'zvm-service' disappears from the list

  3. Snapshot the ZVMA

  4. Connect to External SQL database and manually backup DB

  5. Identify the table CloudConfigurationIdentifierStorageObject (should be 1 line) and run a truncate command to delete all contents but leave the table itself.

  6. Run the following command to restart the ZVM service: kubectl scale deployment zvm-service --replicas=1

SSL Update

If you use an internal SSL certificate for your ZVM portal, you can use the below instructions to update the SSL certificate.

Certs are located /var/data/zerto/zappliance/ingress/certs
Ensure you have SSH enabled on the Appliance for this process

  1. Perform a backup on the existing SSL Certs
    cp /var/data/zerto/zappliance/ingress/certs/tls.key /var/data/zerto/zappliance/ingress/certs/tls.key.bak

    cp /var/data/zerto/zappliance/ingress/certs/tls.crt /var/data/zerto/zappliance/ingress/certs/tls.crt.bak

  2. Transfer the new certificates to the Appliance

  3. Copy files to directory
    cp tls.crt /var/data/zerto/zappliance/ingress/certs/tls.crt
    cp tls.key /var/data/zerto/zappliance/ingress/certs/tls.key

  4. Replace the SSL Certificate
    kubectl delete secret ingress-cert-secret

    kubectl create secret tls ingress-cert-secret --key /var/data/zerto/zappliance/ingress/certs/tls.key --cert /var/data/zerto/zappliance/ingress/certs/tls.crt

No reboot or service refresh is required