CentOS 7
Sponsored Link

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

[1]
こちらを参考に LAN 内に NFS サーバーを稼働させておきます。
なお、当例では [nfs.srv.world] 上の [/var/lib/cinder-backup] ディレクトリをバックアップ保管用ディレクトリとして設定します。
[2] Storage ノードの設定です。
[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 ノード上で行います。
[root@dlp ~(keystone)]#
openstack volume list

+--------------------------------------+--------+-----------+------+-------------+
| ID                                   | Name   | Status    | Size | Attached to |
+--------------------------------------+--------+-----------+------+-------------+
| 19ca6fa7-202a-4a66-8fb7-05cb42305595 | disk01 | available |   10 |             |
+--------------------------------------+--------+-----------+------+-------------+

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

[root@dlp ~(keystone)]#
openstack volume backup create --name backup-disk01 disk01

+-------+--------------------------------------+
| Field | Value                                |
+-------+--------------------------------------+
| id    | 5f7abc45-1e72-43d4-8615-9ec642ccf8bc |
| name  | backup-disk01                        |
+-------+--------------------------------------+

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

[root@dlp ~(keystone)]#
openstack volume backup list

+--------------------------------------+---------------+-------------+----------+------+
| ID                                   | Name          | Description | Status   | Size |
+--------------------------------------+---------------+-------------+----------+------+
| 5f7abc45-1e72-43d4-8615-9ec642ccf8bc | backup-disk01 | None        | creating |   10 |
+--------------------------------------+---------------+-------------+----------+------+

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

[root@dlp ~(keystone)]#
openstack volume backup list

+--------------------------------------+---------------+-------------+-----------+------+
| ID                                   | Name          | Description | Status    | Size |
+--------------------------------------+---------------+-------------+-----------+------+
| 5f7abc45-1e72-43d4-8615-9ec642ccf8bc | backup-disk01 | None        | available |   10 |
+--------------------------------------+---------------+-------------+-----------+------+
[4] バックアップ対象ボリュームのバックアップがすでに存在する場合、インクリメンタルバックアップが利用できます。
また、バックアップ対象のボリュームが特定のインスタンスにアタッチされている場合は、[--force] オプションを付加することでバックアップ実行可能です。
[root@dlp ~(keystone)]#
openstack volume backup list

+--------------------------------------+---------------+-------------+-----------+------+
| ID                                   | Name          | Description | Status    | Size |
+--------------------------------------+---------------+-------------+-----------+------+
| 5f7abc45-1e72-43d4-8615-9ec642ccf8bc | backup-disk01 | None        | available |   10 |
+--------------------------------------+---------------+-------------+-----------+------+

[root@dlp ~(keystone)]#
openstack volume list

+--------------------------------------+--------+--------+------+-----------------------------------+
| ID                                   | Name   | Status | Size | Attached to                       |
+--------------------------------------+--------+--------+------+-----------------------------------+
| 19ca6fa7-202a-4a66-8fb7-05cb42305595 | disk01 | in-use |   10 | Attached to CentOS_7 on /dev/vdb  |
+--------------------------------------+--------+--------+------+-----------------------------------+

[root@dlp ~(keystone)]#
openstack volume backup create --name backup-disk01-01 --incremental --force disk01

+-------+--------------------------------------+
| Field | Value                                |
+-------+--------------------------------------+
| id    | 92a629ef-c637-48cf-8b9c-8f58790927d9 |
| name  | backup-disk01-01                     |
+-------+--------------------------------------+

[root@dlp ~(keystone)]#
openstack volume backup list

+--------------------------------------+------------------+-------------+-----------+------+
| ID                                   | Name             | Description | Status    | Size |
+--------------------------------------+------------------+-------------+-----------+------+
| 92a629ef-c637-48cf-8b9c-8f58790927d9 | backup-disk01-01 | None        | available |   10 |
| 5f7abc45-1e72-43d4-8615-9ec642ccf8bc | backup-disk01    | None        | available |   10 |
+--------------------------------------+------------------+-------------+-----------+------+
[5] バックアップボリュームのリストアです。
リストア時はリストア対象ボリュームがインスタンスからデタッチされている必要があります。
[root@dlp ~(keystone)]#
openstack volume backup list

+--------------------------------------+------------------+-------------+-----------+------+
| ID                                   | Name             | Description | Status    | Size |
+--------------------------------------+------------------+-------------+-----------+------+
| 92a629ef-c637-48cf-8b9c-8f58790927d9 | backup-disk01-01 | None        | available |   10 |
| 5f7abc45-1e72-43d4-8615-9ec642ccf8bc | backup-disk01    | None        | available |   10 |
+--------------------------------------+------------------+-------------+-----------+------+

[root@dlp ~(keystone)]#
openstack volume list

+--------------------------------------+--------+-----------+------+-------------+
| ID                                   | Name   | Status    | Size | Attached to |
+--------------------------------------+--------+-----------+------+-------------+
| 19ca6fa7-202a-4a66-8fb7-05cb42305595 | disk01 | available |   10 |             |
+--------------------------------------+--------+-----------+------+-------------+

# リストア実行

[root@dlp ~(keystone)]#
openstack volume backup restore backup-disk01-01 disk01

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

[root@dlp ~(keystone)]#
openstack volume list

+--------------------------------------+--------+------------------+------+-------------+
| ID                                   | Name   | Status           | Size | Attached to |
+--------------------------------------+--------+------------------+------+-------------+
| 19ca6fa7-202a-4a66-8fb7-05cb42305595 | disk01 | restoring-backup |   10 |             |
+--------------------------------------+--------+------------------+------+-------------+

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

[root@dlp ~(keystone)]#
openstack volume list

+--------------------------------------+--------+-----------+------+-------------+
| ID                                   | Name   | Status    | Size | Attached to |
+--------------------------------------+--------+-----------+------+-------------+
| 19ca6fa7-202a-4a66-8fb7-05cb42305595 | disk01 | available |   10 |             |
+--------------------------------------+--------+-----------+------+-------------+
 
Tweet