This is an automated email from the ASF dual-hosted git repository. rohit pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/cloudstack-documentation.git
The following commit(s) were added to refs/heads/main by this push: new 4416ec3 NAS B&R docs (#429) 4416ec3 is described below commit 4416ec3ce113740abbd5a2ca6cacdc445864260d Author: Rohit Yadav <rohit.ya...@shapeblue.com> AuthorDate: Fri Sep 6 15:41:46 2024 +0530 NAS B&R docs (#429) * NAS B&R docs Signed-off-by: Rohit Yadav <rohit.ya...@shapeblue.com> * Update source/adminguide/backup_and_recovery.rst * Update nas_plugin.rst * Update nas_plugin.rst --------- Signed-off-by: Rohit Yadav <rohit.ya...@shapeblue.com> --- source/adminguide/backup_and_recovery.rst | 6 ++- source/adminguide/nas_plugin.rst | 86 +++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+), 1 deletion(-) diff --git a/source/adminguide/backup_and_recovery.rst b/source/adminguide/backup_and_recovery.rst index 2fc82d1..bf657b8 100644 --- a/source/adminguide/backup_and_recovery.rst +++ b/source/adminguide/backup_and_recovery.rst @@ -28,6 +28,7 @@ The following providers are currently supported: - VMware with Veeam Backup and Recovery - KVM with DELL EMC Networker +- KVM with NAS B&R Plugin (4.20 onwards) See the Veeam Backup and Recovery plugin documentation for plugin specific information. :ref:`Veeam Backup and Recovery Plugin` @@ -35,6 +36,9 @@ See the Veeam Backup and Recovery plugin documentation for plugin specific infor See the DELL EMC Networker Backup and Recovery plugin documentation for plugin specific information. :ref:`DELL EMC Networker Backup and Recovery Plugin` +See the NAS Backup and Recovery plugin documentation for plugin specific information. +:ref:`NAS Backup and Recovery Plugin` + Backup and Recovery Concepts ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -73,7 +77,7 @@ the Global Settings area of the CloudStack UI. Configuration Description ================================= ======================== backup.framework.enabled Setting to enable or disable the feature. Default: false. -backup.framework.provider.plugin The backup provider (plugin) name. For example: 'dummy', 'veeam' and 'networker'. This is a zone specific setting. Default: dummy. +backup.framework.provider.plugin The backup provider (plugin) name. For example: 'dummy', 'veeam', 'networker' and 'nas'. This is a zone specific setting. Default: dummy. backup.framework.sync.interval Background sync task internal in seconds that performs metrics/usage stats collection, backup reconciliation and backup scheduling. Default: 300. ================================= ======================== diff --git a/source/adminguide/nas_plugin.rst b/source/adminguide/nas_plugin.rst new file mode 100644 index 0000000..9c17802 --- /dev/null +++ b/source/adminguide/nas_plugin.rst @@ -0,0 +1,86 @@ +.. Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information# + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +.. _NAS Backup and Recovery Plugin: + +NAS Backup and Recovery Plugin +============================== + +About the NAS Backup and Recovery Plugin +---------------------------------------- + +The NAS Backup and Recovery Plugin provider simple B&R operations for KVM +instances to any shared storage (NAS). It is based on `libvirt push backup mode +<https://libvirt.org/kbase/live_full_disk_backup.html>`_ +to take full instance backups (qcow2) and requires libvirt-7.2.0 and QEMU-4.2, +or high versions on the KVM hosts. + +The NAS B&R plugin requires admin to first add backup repositories which are +network-attached storage (shared storage). Currently it supports NFS, and may +support other shared storage such as CephFS and CIFS/Samba in future. + +When initiating B&R operations on KVM instance, the assigned backup offering +is used to infer backup repository (NAS) details which are then used to mount +the shared storage temporarily on the KVM host to peform instance backup/restore +disks operations. This also requires that admin installs NAS-storage specific +utilities on the KVM hosts such as nfs-utils/nfs-common (ceph-common, cifs-utils). + +Consider the following mount, typically performed on a KVM/Linux host to mount storage: + + mount -t <nas/storage type> -o <mount options> <address> <mount point> + +Some examples for variety of shared storage can be: + + mount -t nfs 10.10.1.10:/export /target -o vers=4.2,defaults + + mount -t ceph 10.10.1.10,10.10.1.11,10.10.1.12:/ /target -o name=user,secret=xyz,defaults + +The backup repository is designed to accept these parameters (type, address and +mount options) as configurations to be used to execute mount operations such as +illustrated above. + +With 'nas' B&R plugin enabled, after a backup repositories are added, root +admins can create new backup offerings by selecting the zone and the backup +repository. These backup offerings are then assigned and used with KVM instances +to perform support B&R actions and operations. + +Support Information and Limitation +---------------------------------- + +The NAS B&R plugin has been tested with EL8, EL9, Ubuntu 22.04 and 24.04. Older +KVM distros such as EL7, Ubuntu 20.04 etc may not work due to libvirt/qemu +version requirements. Other supported KVM-distros are not tested but may work +such as OpenSUSE 15, Debian 11 and Debian 12. + +Instance backups are full disk backups and limited by libvirt's ability to +initiate and handle backup. All such backups are exported and stored in qcow2 +format. Due to this, restore operation are supported for volumes of type qcow2 +and limited to NFS and local storage based primary storage pools. + +For running instances, their disks (of any format/storage type) are backed up by +libvirtd's push based efficient-backup mechanism exported as qcow2 disks on the +backup repository. + +For stopped instances, `qemu-img` is used to convert and export full-disk backup +in qcow2 format to the backup repository. + +For restore operations, the KVM instance must be stopped in CloudStack. +Currently, only volume(s) restoration is supported only to NFS and local storage +based primary storage pools, and restored volumes are fully baked disks (i.e. +not using any backing template file). + +Restoring fully expunged and unmanaged instances are not supported. Backup and +restore operations are not fully supported for CKS cluster instances and should +be avoided.