CentOS Stream 8
Sponsored Link

OpenStack Yoga : Cinder バックアップサービスを利用
2022/06/01
 
Cinder が提供するブロックストレージのバックアップサービスを設定します。
当例ではバックアップ用ストレージのバックエンドとして NFS を利用します。
なお、NFS の他にも、GlusterFS や Ceph, Object Storage (Swift) 等もバックエンドに利用可能です。
------------+-----------------------------+-----------------------------+--------------+
            |                             |                             |              |
        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 サーバーを稼働させておきます
なお、当例では [nfs.srv.world] 上の [/var/lib/cinder-backup] ディレクトリをバックアップ保管用ディレクトリとして設定します。
[2] Storage ノードの設定です。
[root@network ~]#
dnf -y install nfs-utils
[root@network ~]#
vi /etc/idmapd.conf
# 5行目 : コメント解除して自ドメイン名に変更

Domain =
srv.world
[root@network ~]#
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@network ~]#
systemctl enable --now openstack-cinder-backup

[root@network ~]#
chown -R cinder. /var/lib/cinder/backup_nfs
# Firewalld 稼働中の場合はサービス許可

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

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

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

+--------------------------------------+----------+-----------+------+-------------+
| ID                                   | Name     | Status    | Size | Attached to |
+--------------------------------------+----------+-----------+------+-------------+
| 8fc98493-3435-46c3-82d4-486171c3de0a | disk-nfs | available |   10 |             |
| 70f982ec-0f43-4291-921e-2f830678c829 | disk-lvm | available |   10 |             |
+--------------------------------------+----------+-----------+------+-------------+

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

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

+-------+--------------------------------------+
| Field | Value                                |
+-------+--------------------------------------+
| id    | fb3bf3a4-7c8a-417b-a458-30ca2a83939d |
| name  | bk-disk-nfs                          |
+-------+--------------------------------------+

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

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

+--------------------------------------+-------------+-------------+----------+------+
| ID                                   | Name        | Description | Status   | Size |
+--------------------------------------+-------------+-------------+----------+------+
| fb3bf3a4-7c8a-417b-a458-30ca2a83939d | bk-disk-nfs | None        | creating |   10 |
+--------------------------------------+-------------+-------------+----------+------+

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

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

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

+--------------------------------------+-------------+-------------+-----------+------+
| ID                                   | Name        | Description | Status    | Size |
+--------------------------------------+-------------+-------------+-----------+------+
| fb3bf3a4-7c8a-417b-a458-30ca2a83939d | bk-disk-nfs | None        | available |   10 |
+--------------------------------------+-------------+-------------+-----------+------+

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

+--------------------------------------+----------+-----------+------+-------------+
| ID                                   | Name     | Status    | Size | Attached to |
+--------------------------------------+----------+-----------+------+-------------+
| 8fc98493-3435-46c3-82d4-486171c3de0a | disk-nfs | available |   10 |             |
| 70f982ec-0f43-4291-921e-2f830678c829 | disk-lvm | available |   10 |             |
+--------------------------------------+----------+-----------+------+-------------+

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

+-------+--------------------------------------+
| Field | Value                                |
+-------+--------------------------------------+
| id    | 7ac5f61a-00b8-422f-849f-953eb65a4188 |
| name  | bk-disk-nfs-01                       |
+-------+--------------------------------------+

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

+--------------------------------------+----------------+-------------+-----------+------+
| ID                                   | Name           | Description | Status    | Size |
+--------------------------------------+----------------+-------------+-----------+------+
| 7ac5f61a-00b8-422f-849f-953eb65a4188 | bk-disk-nfs-01 | None        | available |   10 |
| fb3bf3a4-7c8a-417b-a458-30ca2a83939d | bk-disk-nfs    | None        | available |   10 |
+--------------------------------------+----------------+-------------+-----------+------+
[5] バックアップボリュームのリストアです。
リストア時はリストア対象ボリュームがインスタンスからデタッチされている必要があります。
[cent@dlp ~(keystone)]$
openstack volume backup list

+--------------------------------------+----------------+-------------+-----------+------+
| ID                                   | Name           | Description | Status    | Size |
+--------------------------------------+----------------+-------------+-----------+------+
| 7ac5f61a-00b8-422f-849f-953eb65a4188 | bk-disk-nfs-01 | None        | available |   10 |
| fb3bf3a4-7c8a-417b-a458-30ca2a83939d | bk-disk-nfs    | None        | available |   10 |
+--------------------------------------+----------------+-------------+-----------+------+

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

+--------------------------------------+----------+-----------+------+-------------+
| ID                                   | Name     | Status    | Size | Attached to |
+--------------------------------------+----------+-----------+------+-------------+
| 8fc98493-3435-46c3-82d4-486171c3de0a | disk-nfs | available |   10 |             |
| 70f982ec-0f43-4291-921e-2f830678c829 | disk-lvm | available |   10 |             |
+--------------------------------------+----------+-----------+------+-------------+

# リストア実行

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

+-------------+--------------------------------------+
| Field       | Value                                |
+-------------+--------------------------------------+
| backup_id   | 7ac5f61a-00b8-422f-849f-953eb65a4188 |
| volume_id   | 8fc98493-3435-46c3-82d4-486171c3de0a |
| volume_name | disk-nfs                             |
+-------------+--------------------------------------+

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

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

+--------------------------------------+----------+------------------+------+-------------+
| ID                                   | Name     | Status           | Size | Attached to |
+--------------------------------------+----------+------------------+------+-------------+
| 8fc98493-3435-46c3-82d4-486171c3de0a | disk-nfs | restoring-backup |   10 |             |
| 70f982ec-0f43-4291-921e-2f830678c829 | disk-lvm | available        |   10 |             |
+--------------------------------------+----------+------------------+------+-------------+

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

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

+--------------------------------------+----------+-----------+------+-------------+
| ID                                   | Name     | Status    | Size | Attached to |
+--------------------------------------+----------+-----------+------+-------------+
| 8fc98493-3435-46c3-82d4-486171c3de0a | disk-nfs | available |   10 |             |
| 70f982ec-0f43-4291-921e-2f830678c829 | disk-lvm | available |   10 |             |
+--------------------------------------+----------+-----------+------+-------------+
関連コンテンツ