====== Requirements ======
----
{{INLINETOC}} \\
===== CloudBacko Pro =====
----
==== Use the Latest Version ====
----
The latest version of CloudBacko Pro must be installed on the Hyper-V server. For Hyper-V Cluster environment the latest version of CloudBacko Pro must be installed on all Cluster nodes.
==== Modules ====
----
CloudBacko Pro must have sufficient Hyper-V add-on modules (per CPU socket) purchased. Hyper-V Cluster backup sets will require one CloudBacko Pro and Hyper-V module licenses per node.
==== Sufficient Storage ====
----
Hyper-V guest virtual machines contain three types of virtual disks:
* Fixed Hard Disk.
* Dynamic Hard Disk.
* Differencing Hard Disk.
When CloudBacko Pro backs up a Hyper-V guest virtual machines for an initial or subsequent full backup jobs:
* Using fixed Hard Disks it will back up the provisioned size, e.g. for a 500GB fixed virtual hard disk 500GB will be backed up to the storage designation.
* Using Dynamic Hard Disk or Differencing Hard Disk it will back up the used size, e.g. for a 500GB fixed virtual hard disk, 20GB will backed up to the storage designation if only 20GB are used.
==== Proper Java heap size configured ====
----
The default Java heap size setting on CloudBacko Pro is 2048MB, for Hyper-V backups it is highly recommended to increase the Java heap size setting to improve backup and restore performance. (The actual heap size is dependent on amount of free memory available on your Hyper-V server).
Delta generation of large VHD files is a memory intensive process; therefore, it is recommended that the Java heap size to be at least 2048MB - 4096MB. The actual required Java heap size is subject to various factors including files size, delta mode, backup frequency, etc.
Refer to this forum thread for [[https://forum.cloudbacko.com/viewtopic.php?f=2&t=1670&p=8457&hilit=java+heap#p7937|how to configure Java heap size]] on your CloudBacko Pro.
==== Temporary directory ====
----
For stand-alone Hyper-V server, CloudBacko Pro uses the temporary folder for storing backup set index files and any incremental or differential delta files generated during a backup job. To ensure optimal backup / restore performance, it should be located on a local drive with plenty of free disk space. It should not be on the Windows system C:\ drive.
For Hyper-V server in Failover Cluster environment, the temporary folder must be set to a network shared path accessible to all cluster nodes, or a Cluster Shared Volume.
==== CloudBacko Pro UI during Run Direct restore or migration ====
----
CloudBacko Pro UI must be running when a guest virtual machine is started using Run Direct Restore or when migration process is running.
==== NFS server ====
----
Make sure NFS service has started for Run Direct to operate. If the backup destination is located on network drive, the logon account must have sufficient permission to access the network resources.
{{public:cloudbacko_module_hyper-v_requirement_2.jpg?800}}
==== Administrator permission ====
----
The operating system account for setting up the Hyper-V / Hyper-V Cluster backup set must have administrator permission (e.g. administrative to access the cluster storage).
==== Windows User Account Control ====
----
For Granular Restore, Windows User Account Control (UAC) must be disabled.
==== Compression ====
----
For local, mapped drive, or removable drive storage destinations with Run Direct enabled, the compression type will always be set to No Compression and data encryption is disabled to ensure optimal backup and restore performance. The backup set compression type and data encryption settings will only be applied to CBS, SFTP/FTP, or Cloud storage destinations.
==== Backup whole VM ====
----
For ease of restore it is recommended to back up the whole guest machine (all the virtual disks) rather than individual virtual disks.
\\
===== Hyper-V Server =====
----
==== Hyper-V management tools ====
----
The Hyper-V management tools are installed on the server. For Hyper-V Cluster environments Hyper-V management tools is installed on all Cluster nodes.
{{public:cloudbacko_module_hyper-v_requirement_3.jpg?800}}
==== Hyper-V services ====
----
The Hyper-V services are started on the server. For Hyper-V Cluster environments the Hyper-V services are started on all Cluster nodes.
Example: Windows 2008 R2 Hyper-V
{{public:cloudbacko_module_hyper-v_requirement_4.jpg?800}}
==== Hyper-V VSS Writer ====
----
The Microsoft Hyper-V VSS Writer is installed and running on the Hyper-V server and the writer state is Stable. This can be verified by running the vssadmin list writers command.
Example:
C:\Users\Administrator>vssadmin list writers
vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool
(C) Copyright 2001-2005 Microsoft Corp.
Writer name: 'Task Scheduler Writer'
Writer Id: {d61d61c8-d73a-4eee-8cdd-f6f9786b7124}
Writer Instance Id: {1bddd48e-5052-49db-9b07-b96f96727e6b}
State: [1] Stable
Last error: No error
Writer name: 'VSS Metadata Store Writer'
Writer Id: {75dfb225-e2e4-4d39-9ac9-ffaff65ddf06}
Writer Instance Id: {088e7a7d-09a8-4cc6-a609-ad90e75ddc93}
State: [1] Stable
Last error: No error
Writer name: 'Performance Counters Writer'
Writer Id: {0bada1de-01a9-4625-8278-69e735f39dd2}
Writer Instance Id: {f0086dda-9efc-47c5-8eb6-a944c3d09381}
State: [1] Stable
Last error: No error
Writer name: 'System Writer'
Writer Id: {e8132975-6f93-4464-a53e-1050253ae220}
Writer Instance Id: {8de7ed2b-8d69-43dd-beec-5bfb79b9691c}
State: [1] Stable
Last error: No error
Writer name: 'SqlServerWriter'
Writer Id: {a65faa63-5ea8-4ebc-9dbd-a0c4db26912a}
Writer Instance Id: {1f668bf9-38d6-48e8-81c4-2df60a3fab57}
State: [1] Stable
Last error: No error
Writer name: 'ASR Writer'
Writer Id: {be000cbe-11fe-4426-9c58-531aa6355fc4}
Writer Instance Id: {01499d55-61da-45bc-9a1e-76161065630f}
State: [1] Stable
Last error: No error
Writer name: 'Microsoft Hyper-V VSS Writer'
Writer Id: {66841cd4-6ded-4f4b-8f17-fd23f8ddc3de}
Writer Instance Id: {a51919e3-0256-4ecf-8530-2f600de6ea68}
State: [1] Stable
Last error: No error
Writer name: 'COM+ REGDB Writer'
Writer Id: {542da469-d3e1-473c-9f4f-7847f01fc64f}
Writer Instance Id: {7303813b-b22e-4967-87a3-4c6a42f861c4}
State: [1] Stable
Last error: No error
Writer name: 'Shadow Copy Optimization Writer'
Writer Id: {4dc3bdd4-ab48-4d07-adb0-3bee2926fd7f}
Writer Instance Id: {d3199397-ec58-4e57-ad04-e0df345b5e68}
State: [1] Stable
Last error: No error
Writer name: 'Registry Writer'
Writer Id: {afbab4a2-367d-4d15-a586-71dbb18f8485}
Writer Instance Id: {25428453-2ded-4204-800f-e87204f2508a}
State: [1] Stable
Last error: No error
Writer name: 'BITS Writer'
Writer Id: {4969d978-be47-48b0-b100-f328f07ac1e0}
Writer Instance Id: {78fa3f1e-d706-4982-a826-32523ec9a305}
State: [1] Stable
Last error: No error
Writer name: 'WMI Writer'
Writer Id: {a6ad56c2-b509-4e6c-bb19-49d8f43532f0}
Writer Instance Id: {3efcf721-d590-4e50-9a37-845939ca51e0}
State: [1] Stable
Last error: No error
==== Integration Service ====
----
* If Integration services is not installed / updated on a guest virtual machine or the guest operating system is not supported by Integration Services, the corresponding virtual machine will be paused or go into a saved state during the snapshot process for both backup and restore, and resume when the snapshot is completed. Furthermore, the corresponding virtual machine uptime will also be reset to 00:00:00 in the Hyper-V Manager.
* Installing or updating Integration Services guest virtual machine(s) may require a restart of the guest virtual machine to complete the installation. \\
* To install Integration Services
* In Hyper-V Manager connect to the guest virtual machine and select Action > Insert Integration Services Setup disk \\ Example: Windows 7 Enterprise guest \\ {{public:cloudbacko_module_hyper-v_requirement_5.png?400}}
* If the guest operating system supports live virtual machine backup the Backup (volume snapshot) is enabled. \\ {{public:cloudbacko_module_hyper-v_requirement_6.png?800}}
* The related Integration Services are running on the guest virtual machine: \\ Example: Windows 7 Enterprise guest \\ {{public:cloudbacko_module_hyper-v_requirement_7.png?800}} \\ Example: CentOS 6.4 Linux guest \\ To check if Linux Integration Services is running on the Linux guest: \\ # lsmod | grep hv
hv_netvsc 23667 0
hv_utils 7012 0
hv_storvsc 10022 2
hv_vmbus 91567 4 hv_netvsc,hv_utils,hid_hyperv,hv_storvsc
# ps -ef|grep hv
root 267 2 0 18:07 ? 00:00:00 [hv_vmbus_con/0]
root 268 2 0 18:07 ? 00:00:00 [hv_vmbus_ctl/0]
root 269 2 0 18:07 ? 00:00:00 [hv_vmbus_ctl/0]
root 270 2 0 18:07 ? 00:00:00 [hv_vmbus_ctl/0]
root 271 2 0 18:07 ? 00:00:00 [hv_vmbus_ctl/0]
root 272 2 0 18:07 ? 00:00:00 [hv_vmbus_ctl/0]
root 273 2 0 18:07 ? 00:00:00 [hv_vmbus_ctl/0]
root 274 2 0 18:07 ? 00:00:00 [hv_vmbus_ctl/0]
root 275 2 0 18:07 ? 00:00:00 [hv_vmbus_ctl/0]
root 276 2 0 18:07 ? 00:00:00 [hv_vmbus_ctl/0]
root 277 2 0 18:07 ? 00:00:00 [hv_vmbus_ctl/0]
root 1174 1 0 18:07 ? 00:00:00 /usr/sbin/hv_kvp_daemon
root 1185 1 0 18:07 ? 00:00:00 /usr/sbin/hv_vss_daemon
root 1332 1316 0 18:11 pts/0 00:00:00 grep hv
* Please refer to the following articles for further details on:
* Considerations for backing up and restoring virtual machines \\ [[https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/dn798286(v=ws.11)]]
* Supported Windows Guest Operating Systems for Hyper-V in Windows Server 2012 \\ [[https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/dn792028(v=ws.11)]]
* Supported Windows Guest Operating Systems for Hyper-V in Windows Server 2012 R2 \\ [[https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/dn792027(v=ws.11)]]
* Supported Linux and FreeBSD virtual machines for Hyper-V on Windows \\ [[https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/Supported-Linux-and-FreeBSD-virtual-machines-for-Hyper-V-on-Windows]]
* Supported CentOS and Red Hat Enterprise Linux virtual machines on Hyper-V \\ [[https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/supported-centos-and-red-hat-enterprise-linux-virtual-machines-on-hyper-v]]
* Supported Ubuntu virtual machines on Hyper-V \\ [[https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/supported-ubuntu-virtual-machines-on-hyper-v]]
* Linux Integration Services Version 4.0 for Hyper-V \\ [[https://rlevchenko.com/2015/08/18/linux-integration-services-version-4-0-for-hyper-v/]]
* Managing Hyper-V Integration Services \\ [[https://msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/user_guide/managing_ics]]
* Hyper-V on Window Server \\ [[https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/hyper-v-on-windows-server]]
==== Hyper-V 2008 R2 ====
----
For Hyper-V 2008 R2 server in order to use Run Direct restore feature the "Microsoft Security Advisory 3033929" security update must be installed.
Please refer to the following KB article from Microsoft for further details: [[https://support.microsoft.com/en-us/kb/3033929]]
==== Run Direct Hyper-V Cluster ====
----
For Run Direct Hyper-V Cluster backup sets the storage destination must be accessible by all Hyper-V nodes.
==== Hyper-V Cluster ====
----
For Hyper-V Cluster backup sets the guest virtual machines must be created and managed by the Failover Cluster Manager.
----
===== Changed Block Tracking (CBT) =====
----
CBT Cluster Services (CloudBacko Pro) is installed and enabled upon installation / upgrade to version latest version.
{{public:module:hyper-v:cloudbacko_module_hyper-v_requirement_8.png?640}}
1. CBT (Changed Block Tracking) is used to optimize incremental backups of virtual machines by keeping a log of the blocks of data that have changed since the previous snapshot making incremental backups much faster. When CloudBacko Pro performs a backup, CBT feature can request transmissions of only the blocks that changed since the last backup, or the blocks in use.
CBT service is supported on all the backup destinations for CloudBacko Pro.
2. CBT cluster service is only installed on Windows x64 machine.
3. Check if CBTFilter is enabled.
Example:
i. This can be verified by running the net start CBTFilter command.
C:\Users\Administrator>net start CBTFilter
The requested service has already been started.
More help is available by typing NET HELPMSG 2182.
ii. **Note:** For Windows Server 2008 R2, if the following error is displayed
C:\Users\Administrator>net start CBTFilter
System error 577 has occurred.
Windows cannot verify the digital signature for this file. A recent hardware or software change might have installed a file that is signed incorrect or damaged, or that might be malicious software from an unknown source.
The issue may be related to the availability of SHA-2 code signing support for Windows Server 2008 R2 ([[https://technet.microsoft.com/en-us/library/security/3033929]]).
To resolve the issue, install the following patch from Microsoft
[[https://www.microsoft.com/en-us/download/confirmation.aspx?id=46083]]
Restart the affected server afterward for CloudBacko Pro to operate properly.
4. CBT Cluster Service and CBTFilter will NOT be installed on Windows Server 2016 where a built-in system called Resilient Change Tracking (RCT) will be used instead. For details of RCT, please refer to Windows Server 2016 and 2019 RCT Requirement.
==== Windows Server 2016 RCT ====
----
=== RCT ===
----
1. CloudBacko Pro would not install CBT Cluster Services (CloudBacko Pro) but use the native built-in RCT (Resilient Change Tracking) feature of Windows server 2016 instead.
2. The guest virtual machine version in Hyper-V must be 8.0 or above.
Example:
i. This can be verified by using Windows PowerShell.
get–VM | format–table name, version
{{public:module:hyper-v:cloudbacko_module_hyper-v_requirement_9.png?640}}
ii. If the version is not 8.0 or above, then need to upgrade the virtual machine configuration version.
Update-VMversion
{{public:module:hyper-v:cloudbacko_module_hyper-v_requirement_10.png?640}}
Please refer to the following link of Microsoft for details about virtual machine version: [[https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/deploy/Upgrade-virtual-machine-version-in-Hyper-V-on-Windows-or-Windows-Server]]
=== Guest VM Dependencies ===
----
To get full use of Hyper-V, install the appropriate linux-tools and linux-cloud-tools packages to install tools and daemons, e.g. VSS Snapshot Daemon, for use with virtual machines. Please refer to the following link for the details of requirements for Ubuntu relating to Hyper-V daemons: [[https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/supported-ubuntu-virtual-machines-on-hyper-v]]
\\
===== Granular Restore =====
----
==== Supported Backup Modules ====
----
Granular Restore is supported on Hyper-V backup sets created and backed up using CloudBacko Pro installed on a Windows platform with the Granular Restore feature enabled on the backup set.
==== Backup Quota Storage ====
----
As compression is not enabled for Granular backup sets, to optimize restore performance, the storage quota required will be higher than non-Granular backup sets. Contact your backup service provider for details.
==== Operating System ====
----
CloudBacko Pro must be installed on a 64 bit Windows machine as libraries for Granular only supports 64 bit Windows operating system. CloudBacko Pro must be installed on the following Windows Operating Systems:
| Windows 2012 | Windows 2012 R2 | Windows 2016 |
| Windows 8 | Windows 8.1 | Windows 10 |
==== Temporary Directory ====
----
For Hyper-V 2008 and 2012 in both Non-Cluster and Cluster environment, the temporary directory __must be__ set to a local drive.
For Hyper-V 2016 or above in a Non-Cluster environment, the temporary directory can be set to a local drive, network drive or a cluster storage.
For Hyper-V 2016 or above in a Cluster environment, the temporary directory must be set to a network drive or cluster storage accessible to all cluster members.
The temporary directory should have at least the same available size as the guest VM to be restored.
==== Available Spare Drive Letter ====
----
One spare drive letter must be available on the Windows machine for the Granular Restore process, as the VHD virtual disk is mounted on Windows as a logical drive. CloudBacko Pro will automatically take the next available drive letter in alphabetical order for the mounted virtual disk.
1. The Windows drive letters A, B, and C are not used by Granular Restore. \\
2. The Granular Restore assigned drive letter(s) will be released once you exit from CloudBacko Pro UI.
==== Network ====
----
Recommended minimum network speed is at least 100Mbps download speed.
The network bandwidth requirements will increase in proportion to the size of the guest VM and or the incremental delta chain length to ensure optimal performance. Working with limited network bandwidth may severely affect the Granular Restore performance.
You can use an online network speed test website (e.g. www.speedtest.net) to get an idea of the actual bandwidth of the machine.
==== Other Dependencies ====
----
The following dependencies are required for restore and therefore they are verified by CloudBacko Pro only when a Granular Restore is performed. Absence of these dependencies will not affect the backup job but would cause the Granular Restore to fail.
* Microsoft Visual C++ 2015 Redistributable (x86) / (x64) \\ [[https://www.microsoft.com/en-us/download/details.aspx?id=48145]]
* Update for Universal C Runtime in Windows \\ [[https://support.microsoft.com/en-us/help/2999226/update-for-universal-c-runtime-in-windows]]
==== Permissions ====
----
The Windows login account used for installation and operation of the CloudBacko Pro client machine requires Administrator privileges.
**Recommendation** - It is recommended that a local destination is added to the backup set for faster Granular Restore. Since Granular Restore of large guest VM from cloud storage over the internet can be slow depending on network bandwidth and CBS server load.
\\