CentOS Stream 9
Sponsored Link

OpenStack Yoga : Configure Cinder Backup Service2022/06/10

 
Configure Cinder Backup Service for Cinder block storages.
This example shows to configure NFS backend for backup storage.
For other backends, It's possible to confugire GlusterFS, Ceph, Object Storage(Swift), and others.
------------+-----------------------------+-----------------------------+--------------+
            |                             |                             |              |
        eth0|10.0.0.30                eth0|10.0.0.50                eth0|10.0.0.51     |
+-----------+-----------+     +-----------+-----------+     +-----------+-----------+  |
|   [ dlp.srv.world ]   |     | [ network.srv.world ] |     |  [ node01.srv.world ] |  |
|     (Control Node)    |     |     (Storage Node)    |     |     (Compute Node)    |  |
|                       |     |                       |     |                       |  |
|  MariaDB    RabbitMQ  |     |      Open vSwitch     |     |        Libvirt        |  |
|  Memcached  httpd     |     |     Neutron Server    |     |      Nova Compute     |  |
|  Keystone   Glance    |     |      OVN-Northd       |     |      Open vSwitch     |  |
|  Nova API  Cinder API |     |     Cinder Volume     |     |   OVN Metadata Agent  |  |
|                       |     |     Cinder Backup     |     |     OVN-Controller    |  |
+-----------------------+     +-----------------------+     +-----------------------+  |
                                                                                       |
-----------+---------------------------------------------------------------------------+
       eth0|10.0.0.35
+----------+-----------+
|   [ nfs.srv.world ]  |
|       NFS Server     |
+----------------------+

[1]
NFS server is required to be running on your local network, refer to here.
On this example, configure [/var/lib/cinder-backup] directory on [nfs.srv.world] as a backup directory.
[2] Configure Storage Node.
[root@network ~]#
dnf -y install nfs-utils
[root@network ~]#
vi /etc/idmapd.conf
# line 5 : uncomment and change to own domain name

Domain =
srv.world
[root@node01 ~]#
vi /etc/iscsi/initiatorname.iscsi
# create new
# set any InitiatorName you like

InitiatorName=iqn.2022-06.world.srv:network.initiator01
[root@network ~]#
vi /etc/cinder/cinder.conf
# add follows into [DEFAULT] section

backup_driver = cinder.backup.drivers.nfs.NFSBackupDriver
backup_mount_point_base = $state_path/backup_nfs
backup_share = nfs.srv.world:/var/lib/cinder-backup
[root@network ~]#
systemctl enable --now openstack-cinder-backup

[root@network ~]#
chown -R cinder. /var/lib/cinder/backup_nfs
# if Firewalld is running, allow service

[root@network ~]#
firewall-cmd --add-service=nfs

[root@network ~]#
firewall-cmd --runtime-to-permanent

[3] Get Backup for Cinder Volumes of yours. It's OK to work on any node. (example below is on Control Node)
[cent@dlp ~(keystone)]$
openstack volume list

+--------------------------------------+----------+-----------+------+-------------+
| ID                                   | Name     | Status    | Size | Attached to |
+--------------------------------------+----------+-----------+------+-------------+
| 1ac677e6-4b7c-4ce4-8362-910826916010 | disk-nfs | available |   10 |             |
| 1797fbef-8e97-4757-9b31-bfbe01099254 | disk-lvm | available |   10 |             |
+--------------------------------------+----------+-----------+------+-------------+

# create a backup for [disk-nfs] as the new name [bk-disk-nfs]

[cent@dlp ~(keystone)]$
openstack volume backup create --name bk-disk-nfs disk-nfs

+-------+--------------------------------------+
| Field | Value                                |
+-------+--------------------------------------+
| id    | 20e4b06d-fd7d-433a-9c5e-9ab6c8fa0bb3 |
| name  | bk-disk-nfs                          |
+-------+--------------------------------------+

# during creation, [Status] is [creating]

[cent@dlp ~(keystone)]$
openstack volume backup list

+--------------------------------------+-------------+-------------+----------+------+
| ID                                   | Name        | Description | Status   | Size |
+--------------------------------------+-------------+-------------+----------+------+
| 20e4b06d-fd7d-433a-9c5e-9ab6c8fa0bb3 | bk-disk-nfs | None        | creating |   10 |
+--------------------------------------+-------------+-------------+----------+------+

# after finishing creation, [Status] tunrs to [available]

[cent@dlp ~(keystone)]$
openstack volume backup list

+--------------------------------------+-------------+-------------+-----------+------+
| ID                                   | Name        | Description | Status    | Size |
+--------------------------------------+-------------+-------------+-----------+------+
| 20e4b06d-fd7d-433a-9c5e-9ab6c8fa0bb3 | bk-disk-nfs | None        | available |   10 |
+--------------------------------------+-------------+-------------+-----------+------+
[4] If there is a backup file of target storage you'd like to get backup,
it's possible to get incremental backup. Furthermore,
if target storage you'd like to get backup is now attaching on an Instance, specify [--force] option to get backup forcely.
[cent@dlp ~(keystone)]$
openstack volume backup list

+--------------------------------------+-------------+-------------+-----------+------+
| ID                                   | Name        | Description | Status    | Size |
+--------------------------------------+-------------+-------------+-----------+------+
| 20e4b06d-fd7d-433a-9c5e-9ab6c8fa0bb3 | bk-disk-nfs | None        | available |   10 |
+--------------------------------------+-------------+-------------+-----------+------+

[cent@dlp ~(keystone)]$
openstack volume list

+--------------------------------------+----------+-----------+------+-------------+
| ID                                   | Name     | Status    | Size | Attached to |
+--------------------------------------+----------+-----------+------+-------------+
| 1ac677e6-4b7c-4ce4-8362-910826916010 | disk-nfs | available |   10 |             |
| 1797fbef-8e97-4757-9b31-bfbe01099254 | disk-lvm | available |   10 |             |
+--------------------------------------+----------+-----------+------+-------------+

[cent@dlp ~(keystone)]$
openstack volume backup create --name bk-disk-nfs-01 --incremental --force disk-nfs

+-------+--------------------------------------+
| Field | Value                                |
+-------+--------------------------------------+
| id    | cda17fef-9bbe-4735-affb-6acf8ed1652b |
| name  | bk-disk-nfs-01                       |
+-------+--------------------------------------+

[cent@dlp ~(keystone)]$
openstack volume backup list

+--------------------------------------+----------------+-------------+-----------+------+
| ID                                   | Name           | Description | Status    | Size |
+--------------------------------------+----------------+-------------+-----------+------+
| cda17fef-9bbe-4735-affb-6acf8ed1652b | bk-disk-nfs-01 | None        | available |   10 |
| 20e4b06d-fd7d-433a-9c5e-9ab6c8fa0bb3 | bk-disk-nfs    | None        | available |   10 |
+--------------------------------------+----------------+-------------+-----------+------+
[5] For restoring from Backups, run commands like follows.
For restoring, target volume must be detached from any instances.
[cent@dlp ~(keystone)]$
openstack volume backup list

+--------------------------------------+----------------+-------------+-----------+------+
| ID                                   | Name           | Description | Status    | Size |
+--------------------------------------+----------------+-------------+-----------+------+
| cda17fef-9bbe-4735-affb-6acf8ed1652b | bk-disk-nfs-01 | None        | available |   10 |
| 20e4b06d-fd7d-433a-9c5e-9ab6c8fa0bb3 | bk-disk-nfs    | None        | available |   10 |
+--------------------------------------+----------------+-------------+-----------+------+

[cent@dlp ~(keystone)]$
openstack volume list

+--------------------------------------+----------+-----------+------+-------------+
| ID                                   | Name     | Status    | Size | Attached to |
+--------------------------------------+----------+-----------+------+-------------+
| 1ac677e6-4b7c-4ce4-8362-910826916010 | disk-nfs | available |   10 |             |
| 1797fbef-8e97-4757-9b31-bfbe01099254 | disk-lvm | available |   10 |             |
+--------------------------------------+----------+-----------+------+-------------+

# run restore

[cent@dlp ~(keystone)]$
openstack volume backup restore bk-disk-nfs-01 disk-nfs

+-------------+--------------------------------------+
| Field       | Value                                |
+-------------+--------------------------------------+
| backup_id   | cda17fef-9bbe-4735-affb-6acf8ed1652b |
| volume_id   | 1ac677e6-4b7c-4ce4-8362-910826916010 |
| volume_name | disk-nfs                             |
+-------------+--------------------------------------+

# during restore, status is [restoring-backup]

[cent@dlp ~(keystone)]$
openstack volume list

+--------------------------------------+----------+------------------+------+-------------+
| ID                                   | Name     | Status           | Size | Attached to |
+--------------------------------------+----------+------------------+------+-------------+
| 1ac677e6-4b7c-4ce4-8362-910826916010 | disk-nfs | restoring-backup |   10 |             |
| 1797fbef-8e97-4757-9b31-bfbe01099254 | disk-lvm | available        |   10 |             |
+--------------------------------------+----------+------------------+------+-------------+

# after finishing restore, status turns to [available]

[cent@dlp ~(keystone)]$
openstack volume list

+--------------------------------------+----------+-----------+------+-------------+
| ID                                   | Name     | Status    | Size | Attached to |
+--------------------------------------+----------+-----------+------+-------------+
| 1ac677e6-4b7c-4ce4-8362-910826916010 | disk-nfs | available |   10 |             |
| 1797fbef-8e97-4757-9b31-bfbe01099254 | disk-lvm | available |   10 |             |
+--------------------------------------+----------+-----------+------+-------------+
Matched Content