We moved this page to our Documentation Portal. You can find the latest updates here. |
This article describes a solution how to migrate (upgrade) the KVM CloudBoot Operation System to CentOS 7 without stopping the VMs. This article aims to be used to by a skilled technician. This procedure was tested several times on our lab hardware on OnApp 5.8. We recommend to test whether your hardware is compatible with CentOS 7 Cloudboot images. Perform at your own risk.
In case you are not confident in your skills, please follow the cold migration guide by the link below.
CentOS 7 KVM CloudBoot Compute Resource Migration Guide
- Backup your Control Panel Database.
- Integrated Storage users only. Ensure that Integrated Storage is in a healthy state, all Vdisks are redundant and no degraded Vdisks are present. If not, please repair all of them. Skipping this step can cause data loss and integrity issues after a reboot is performed.
- Hot or Cold migrate all VSs from the Compute Resource that will be rebooted.
- Login to the Control Panel Database and change the "cloud_boot_os" parameter to centos7 for all Compute Resources that you want to upgrade. It is recommended to change this for the whole Compute Zone at once.
- Go to Control Panel -> Dashboard -> Settings -> Configuration. Press “Save Configuration”. Wait for the “UpdateStorageConfig” transactions to finish.
- Reboot the target Compute Resource.
- Integrated Storage users only. After the Compute Resource is rebooted, wait for 5-10 minutes so that new changes are applied and Integrated Storage nodes are initialized.
- Login to the target Compute Resource and check if all network interfaces are up and if all Control Panel NFS shares are mounted correctly. For example, the data folder should be mounted on /onapp/tools/recovery.
- Integrated Storage users only. Perform a Network Diagnostics. Please check if all previous nodes appear online and are healthy.
- Integrated Storage users only. All Vdisk replicas that were located on the target Compute Resource are degraded now. You can start the repairing procedure. Skipping this step can cause data loss and integrity issues after a reboot is performed.
- Hot or Cold migrate VSs to the target Compute Resource that is already upgraded.
- Repeat steps 2-10 for each Cloudboot Compute Resource in the Compute Zone.
Migration should be finished at this point.
We don't recommend leaving a mixed zone. Therefore, please perform the upgrade so that all the Compute Resources are upgraded inside one Compute Zone.
Example how to change the Cloudboot OS parameter
Find the database password:
cat /onapp/interface/config/database.yml |grep password |
Open the onapp database in MySQL:
mysql -p mysql> use onapp; Select the CentOS 6 KVM Hypervisors: mysql> select id,label,ip_address,hypervisor_group_id,hypervisor_type,cloud_boot_os from hypervisors where hypervisor_type = "kvm"; +----+--------------------+--------------+---------------------+-----------------+---------------+ | id | label | ip_address | hypervisor_group_id | hypervisor_type | cloud_boot_os | +----+--------------------+--------------+---------------------+-----------------+---------------+ | 2 | LVIS-KVM-HV1-f0-30 | 192.168.1.30 | 48 | kvm | centos6 | | 4 | LVIS-KVM-HV2-84-31 | 192.168.1.31 | 48 | kvm | centos6 | +----+--------------------+--------------+---------------------+-----------------+---------------+ 2 rows in set (0.00 sec) Update the CloudBoot OS on the Selected Hypervisors in the Compute Resource Zone: mysql> update hypervisors set cloud_boot_os="centos7" where hypervisor_type = "kvm" and hypervisor_group_id = 48; (where 48 is you Compute Resource Zone ID) Query OK, 2 rows affected (0.03 sec) Rows matched: 2 Changed: 2 Warnings: 0 Check the result: mysql> select id,label,ip_address,hypervisor_group_id,hypervisor_type,cloud_boot_os from hypervisors where hypervisor_type = "kvm"; +----+--------------------+--------------+---------------------+-----------------+---------------+ | id | label | ip_address | hypervisor_group_id | hypervisor_type | cloud_boot_os | +----+--------------------+--------------+---------------------+-----------------+---------------+ | 2 | LVIS-KVM-HV1-f0-30 | 192.168.1.30 | 48 | kvm | centos7 | | 4 | LVIS-KVM-HV2-84-31 | 192.168.1.31 | 48 | kvm | centos7 | +----+--------------------+--------------+---------------------+-----------------+---------------+ 2 rows in set (0.00 sec) |
In case the nodes don't come up online, perform the following for each hypervisor:
-
Go to Settings -> Compute Resources -> Hypervisor -> Manage Devices -> Edit Configuration.
-
Assign the new SCSI identifier (drives) to Integrated Storage.
-
Reboot the hypervisor.
-
Wait for the hypervisors to come online and check if all previous nodes appear online and are healthy.
-
Check the Diagnostic UI for possible degraded Vdisks and nodes. Repair all issues that you encounter in the Diagnostic UI.