Ubuntu 20.04
Sponsored Link

OpenStack Xena : Cinder バックアップサービス2021/10/07

 
Cinder が提供するブロックストレージのバックアップサービスを設定します。
当例ではバックアップ用ストレージのバックエンドとして NFS を利用します。
なお、NFS の他にも、GlusterFS や Ceph, Object Storage (Swift) 等もバックエンドに利用可能です。
+--------------+---------------------------+---------------------------+------------
|              |                           |                           |
|          eth0|10.0.0.30              eth0|10.0.0.50              eth0|10.0.0.51
|  +-----------+-----------+   +-----------+-----------+   +-----------+-----------+
|  |    [ 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 Volume     |   |   OVN Metadata Agent  |
|  |  Cinder API           |   |                       |   |     OVN-Controller    |
|  +-----------------------+   +-----------------------+   +-----------------------+
|
+--------------+----------------------------------------------------------------------
           eth0|10.0.0.35
    +----------+-----------+
    |   [  NFS Server  ]   |
    |                      |
    +----------------------+

[1]
こちらを参考にローカルネットワーク内に NFS サーバーを稼働させておきます
当例では [nfs.srv.world] 上の [/var/lib/cinder-backup] ディレクトリをバックアップ保管用ディレクトリとして設定します。
[2] Storage ノードの設定です。
root@storage:~#
apt -y install cinder-backup nfs-common
root@storage:~#
vi /etc/idmapd.conf
# 6行目 : コメント解除して自ドメイン名に変更

Domain =
srv.world
root@storage:~#
vi /etc/cinder/cinder.conf
# [DEFAULT] セクション内の任意の場所へ追記

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@storage:~#
systemctl restart cinder-backup

root@storage:~#
chown -R cinder. /var/lib/cinder/backup_nfs

[3] 任意のユーザーで自身が所有するボリュームのバックアップを取得します。作業場所はどこでもよいですが、当例では Control ノード上で行います。
ubuntu@dlp ~(keystone)$
openstack volume list

+--------------------------------------+----------+-----------+------+-------------+
| ID                                   | Name     | Status    | Size | Attached to |
+--------------------------------------+----------+-----------+------+-------------+
| 2d5a4120-853e-4c09-bd6a-d4d89cc454d7 | disk-nfs | available |   10 |             |
| 8a07e473-85ed-4735-a527-0306f1858a7d | disk-lvm | available |   10 |             |
+--------------------------------------+----------+-----------+------+-------------+

# [disk-nfs] のバックアップを [bk-disk-nfs] という名称で作成

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

+-------+--------------------------------------+
| Field | Value                                |
+-------+--------------------------------------+
| id    | d40c5e6c-99e1-42de-a826-fd82deeefd3f |
| name  | bk-disk-nfs                          |
+-------+--------------------------------------+

# 作成中は [Status] が [creating] 状態

ubuntu@dlp ~(keystone)$
openstack volume backup list

+--------------------------------------+-------------+-------------+----------+------+
| ID                                   | Name        | Description | Status   | Size |
+--------------------------------------+-------------+-------------+----------+------+
| d40c5e6c-99e1-42de-a826-fd82deeefd3f | bk-disk-nfs | None        | creating |   10 |
+--------------------------------------+-------------+-------------+----------+------+

# 作成完了すると [Status] が [available] となる

ubuntu@dlp ~(keystone)$
openstack volume backup list

+--------------------------------------+-------------+-------------+-----------+------+
| ID                                   | Name        | Description | Status    | Size |
+--------------------------------------+-------------+-------------+-----------+------+
| d40c5e6c-99e1-42de-a826-fd82deeefd3f | bk-disk-nfs | None        | available |   10 |
+--------------------------------------+-------------+-------------+-----------+------+
[4] バックアップ対象ボリュームのバックアップがすでに存在する場合、インクリメンタルバックアップが利用できます。
また、バックアップ対象のボリュームが特定のインスタンスにアタッチされている場合は、[--force] オプションを付加することでバックアップ実行可能です。
ubuntu@dlp ~(keystone)$
openstack volume backup list

+--------------------------------------+-------------+-------------+-----------+------+
| ID                                   | Name        | Description | Status    | Size |
+--------------------------------------+-------------+-------------+-----------+------+
| d40c5e6c-99e1-42de-a826-fd82deeefd3f | bk-disk-nfs | None        | available |   10 |
+--------------------------------------+-------------+-------------+-----------+------+

ubuntu@dlp ~(keystone)$
openstack volume list

+--------------------------------------+----------+-----------+------+-------------+
| ID                                   | Name     | Status    | Size | Attached to |
+--------------------------------------+----------+-----------+------+-------------+
| 2d5a4120-853e-4c09-bd6a-d4d89cc454d7 | disk-nfs | available |   10 |             |
| 8a07e473-85ed-4735-a527-0306f1858a7d | disk-lvm | available |   10 |             |
+--------------------------------------+----------+-----------+------+-------------+

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

+-------+--------------------------------------+
| Field | Value                                |
+-------+--------------------------------------+
| id    | 8b5600a4-90c0-480a-afd2-9cf7ebc59952 |
| name  | bk-disk-nfs-01                       |
+-------+--------------------------------------+

ubuntu@dlp ~(keystone)$
openstack volume backup list

+--------------------------------------+----------------+-------------+-----------+------+
| ID                                   | Name           | Description | Status    | Size |
+--------------------------------------+----------------+-------------+-----------+------+
| 8b5600a4-90c0-480a-afd2-9cf7ebc59952 | bk-disk-nfs-01 | None        | available |   10 |
| d40c5e6c-99e1-42de-a826-fd82deeefd3f | bk-disk-nfs    | None        | available |   10 |
+--------------------------------------+----------------+-------------+-----------+------+
[5] バックアップボリュームのリストアです。
リストア時はリストア対象ボリュームがインスタンスからデタッチされている必要があります。
ubuntu@dlp ~(keystone)$
openstack volume backup list

+--------------------------------------+----------------+-------------+-----------+------+
| ID                                   | Name           | Description | Status    | Size |
+--------------------------------------+----------------+-------------+-----------+------+
| 8b5600a4-90c0-480a-afd2-9cf7ebc59952 | bk-disk-nfs-01 | None        | available |   10 |
| d40c5e6c-99e1-42de-a826-fd82deeefd3f | bk-disk-nfs    | None        | available |   10 |
+--------------------------------------+----------------+-------------+-----------+------+

ubuntu@dlp ~(keystone)$
openstack volume list

+--------------------------------------+----------+-----------+------+-------------+
| ID                                   | Name     | Status    | Size | Attached to |
+--------------------------------------+----------+-----------+------+-------------+
| 2d5a4120-853e-4c09-bd6a-d4d89cc454d7 | disk-nfs | available |   10 |             |
| 8a07e473-85ed-4735-a527-0306f1858a7d | disk-lvm | available |   10 |             |
+--------------------------------------+----------+-----------+------+-------------+

# リストア実行

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

+-------------+--------------------------------------+
| Field       | Value                                |
+-------------+--------------------------------------+
| backup_id   | 8b5600a4-90c0-480a-afd2-9cf7ebc59952 |
| volume_id   | 2d5a4120-853e-4c09-bd6a-d4d89cc454d7 |
| volume_name | disk-nfs                             |
+-------------+--------------------------------------+

# リストア中は [restoring-backup] ステータス

ubuntu@dlp ~(keystone)$
openstack volume list

+--------------------------------------+----------+------------------+------+-------------+
| ID                                   | Name     | Status           | Size | Attached to |
+--------------------------------------+----------+------------------+------+-------------+
| 2d5a4120-853e-4c09-bd6a-d4d89cc454d7 | disk-nfs | restoring-backup |   10 |             |
| 8a07e473-85ed-4735-a527-0306f1858a7d | disk-lvm | available        |   10 |             |
+--------------------------------------+----------+------------------+------+-------------+

# リストア完了すると [available] ステータスになる

ubuntu@dlp ~(keystone)$
openstack volume list

+--------------------------------------+----------+-----------+------+-------------+
| ID                                   | Name     | Status    | Size | Attached to |
+--------------------------------------+----------+-----------+------+-------------+
| 2d5a4120-853e-4c09-bd6a-d4d89cc454d7 | disk-nfs | available |   10 |             |
| 8a07e473-85ed-4735-a527-0306f1858a7d | disk-lvm | available |   10 |             |
+--------------------------------------+----------+-----------+------+-------------+
関連コンテンツ