CentOS 7
Sponsored Link

OpenStack Rocky : Cinder バックアップサービスを利用する2018/09/04

 
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     | |        L2 Agent       | |     Nova Compute      | |
|  Keystone   Glance    | |        L3 Agent       | |      Open vSwitch     | |
|  Nova API             | |     Metadata Agent    | |        L2 Agent       | |
|  Neutron Server       | |     Cinder-Volume     | |                       | |
|  Metadata Agent       | |                       | |                       | |
|  Cinder API           | |                       | |                       | |
+-----------------------+ +-----------------------+ +-----------------------+ |
                                                                              |
------------+-----------------------------------------------------------------+
            |
        eth0|10.0.0.35
 +----------+-----------+
 |   [  NFS Server  ]   |
 |                      |
 +----------------------+

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

Domain =
srv.world
[root@storage ~]#
systemctl start rpcbind

[root@storage ~]#
systemctl enable rpcbind
[root@storage ~]#
vi /etc/cinder/cinder.conf
# [DEFAULT] セクション内の任意の場所へ追記

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

[root@storage ~]#
systemctl enable openstack-cinder-backup

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

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

+--------------------------------------+----------+-----------+------+-------------+
| ID                                   | Name     | Status    | Size | Attached to |
+--------------------------------------+----------+-----------+------+-------------+
| fa514009-7c5e-4a6e-81e1-442ec4547baf | disk_nfs | available |   10 |             |
| de2133b4-63e2-483f-8c67-dbdda2a294ad | disk_lvm | available |   10 |             |
+--------------------------------------+----------+-----------+------+-------------+

# [disk_lvm] のバックアップを [backup-disk_lvm] という名称で作成

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

+-------+--------------------------------------+
| Field | Value                                |
+-------+--------------------------------------+
| id    | 80c58f1d-e3a3-4796-b942-10786ba13172 |
| name  | backup-disk_lvm                      |
+-------+--------------------------------------+

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

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

+--------------------------------------+-----------------+-------------+----------+------+
| ID                                   | Name            | Description | Status   | Size |
+--------------------------------------+-----------------+-------------+----------+------+
| 80c58f1d-e3a3-4796-b942-10786ba13172 | backup-disk_lvm | None        | creating |   10 |
+--------------------------------------+-----------------+-------------+----------+------+

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

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

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

+--------------------------------------+-----------------+-------------+-----------+------+
| ID                                   | Name            | Description | Status    | Size |
+--------------------------------------+-----------------+-------------+-----------+------+
| 80c58f1d-e3a3-4796-b942-10786ba13172 | backup-disk_lvm | None        | available |   10 |
+--------------------------------------+-----------------+-------------+-----------+------+

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

+--------------------------------------+----------+-----------+------+-------------+
| ID                                   | Name     | Status    | Size | Attached to |
+--------------------------------------+----------+-----------+------+-------------+
| fa514009-7c5e-4a6e-81e1-442ec4547baf | disk_nfs | available |   10 |             |
| de2133b4-63e2-483f-8c67-dbdda2a294ad | disk_lvm | available |   10 |             |
+--------------------------------------+----------+-----------+------+-------------+

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

+-------+--------------------------------------+
| Field | Value                                |
+-------+--------------------------------------+
| id    | 4e178dc7-8819-466a-9e13-18b33b5dcea4 |
| name  | backup-disk_lvm-01                   |
+-------+--------------------------------------+

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

+--------------------------------------+--------------------+-------------+-----------+------+
| ID                                   | Name               | Description | Status    | Size |
+--------------------------------------+--------------------+-------------+-----------+------+
| 4e178dc7-8819-466a-9e13-18b33b5dcea4 | backup-disk_lvm-01 | None        | available |   10 |
| 80c58f1d-e3a3-4796-b942-10786ba13172 | backup-disk_lvm    | None        | available |   10 |
+--------------------------------------+--------------------+-------------+-----------+------+
[5] バックアップボリュームのリストアです。
リストア時はリストア対象ボリュームがインスタンスからデタッチされている必要があります。
[cent@dlp ~(keystone)]$
openstack volume backup list

+--------------------------------------+--------------------+-------------+-----------+------+
| ID                                   | Name               | Description | Status    | Size |
+--------------------------------------+--------------------+-------------+-----------+------+
| 4e178dc7-8819-466a-9e13-18b33b5dcea4 | backup-disk_lvm-01 | None        | available |   10 |
| 80c58f1d-e3a3-4796-b942-10786ba13172 | backup-disk_lvm    | None        | available |   10 |
+--------------------------------------+--------------------+-------------+-----------+------+

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

+--------------------------------------+----------+-----------+------+-------------+
| ID                                   | Name     | Status    | Size | Attached to |
+--------------------------------------+----------+-----------+------+-------------+
| fa514009-7c5e-4a6e-81e1-442ec4547baf | disk_nfs | available |   10 |             |
| de2133b4-63e2-483f-8c67-dbdda2a294ad | disk_lvm | available |   10 |             |
+--------------------------------------+----------+-----------+------+-------------+

# リストア実行

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

'VolumeBackupsRestore' object is not iterable
# リストア中は [restoring-backup] ステータス

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

+--------------------------------------+----------+------------------+------+-------------+
| ID                                   | Name     | Status           | Size | Attached to |
+--------------------------------------+----------+------------------+------+-------------+
| fa514009-7c5e-4a6e-81e1-442ec4547baf | disk_nfs | available        |   10 |             |
| de2133b4-63e2-483f-8c67-dbdda2a294ad | disk_lvm | restoring-backup |   10 |             |
+--------------------------------------+----------+------------------+------+-------------+

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

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

+--------------------------------------+----------+-----------+------+-------------+
| ID                                   | Name     | Status    | Size | Attached to |
+--------------------------------------+----------+-----------+------+-------------+
| fa514009-7c5e-4a6e-81e1-442ec4547baf | disk_nfs | available |   10 |             |
| de2133b4-63e2-483f-8c67-dbdda2a294ad | disk_lvm | available |   10 |             |
+--------------------------------------+----------+-----------+------+-------------+
関連コンテンツ