共享快照

共享文件系统服务提供了一种快照机制,帮助用户通过运行 manila snapshot-create 命令来恢复数据。

要导出快照,请从快照创建共享,然后将新的共享挂载到实例。将文件从附加的共享复制到存档中。

要导入快照,请创建一个具有适当大小的新共享,将其附加到实例,然后将文件从存档复制到附加的文件系统。

注意

如果共享具有已保存的依赖快照,则无法删除该共享。

从共享创建快照

$ manila snapshot-create Share1 --name Snapshot1 --description "Snapshot of Share1"
+-------------+--------------------------------------+
| Property    | Value                                |
+-------------+--------------------------------------+
| status      | creating                             |
| share_id    | aca648eb-8c03-4394-a5cc-755066b7eb66 |
| user_id     | 5c7bdb6eb0504d54a619acf8375c08ce     |
| description | Snapshot of Share1                   |
| created_at  | 2015-09-25T05:27:38.000000           |
| size        | 1                                    |
| share_proto | NFS                                  |
| id          | 962e8126-35c3-47bb-8c00-f0ee37f42ddd |
| project_id  | cadd7139bc3148b8973df097c0911016     |
| share_size  | 1                                    |
| name        | Snapshot1                            |
+-------------+--------------------------------------+

如果需要,更新快照名称或描述

$ manila snapshot-rename Snapshot1 Snapshot_1 --description "Snapshot of Share1. Updated."

检查快照的状态是否为 available

$ manila snapshot-show Snapshot1
+-------------+--------------------------------------+
| Property    | Value                                |
+-------------+--------------------------------------+
| status      | available                            |
| share_id    | aca648eb-8c03-4394-a5cc-755066b7eb66 |
| user_id     | 5c7bdb6eb0504d54a619acf8375c08ce     |
| name        | Snapshot1                            |
| created_at  | 2015-09-25T05:27:38.000000           |
| share_proto | NFS                                  |
| id          | 962e8126-35c3-47bb-8c00-f0ee37f42ddd |
| project_id  | cadd7139bc3148b8973df097c0911016     |
| size        | 1                                    |
| share_size  | 1                                    |
| description | Snapshot of Share1                   |
+-------------+--------------------------------------+

要从快照创建数据的副本,请使用 manila create 命令,并使用 key --snapshot-id。这将从现有快照创建新的共享。从快照创建共享并检查它是否可用

$ manila create nfs 1 --name Share2 --metadata source=snapshot --description "Share from a snapshot." --snapshot-id 962e8126-35c3-47bb-8c00-f0ee37f42ddd
+-----------------------------+--------------------------------------+
| Property                    | Value                                |
+-----------------------------+--------------------------------------+
| status                      | None                                 |
| share_type_name             | default                              |
| description                 | Share from a snapshot.               |
| availability_zone           | None                                 |
| share_network_id            | None                                 |
| export_locations            | []                                   |
| share_server_id             | None                                 |
| share_group_id              | None                                 |
| host                        | None                                 |
| snapshot_id                 | 962e8126-35c3-47bb-8c00-f0ee37f42ddd |
| is_public                   | False                                |
| task_state                  | None                                 |
| snapshot_support            | True                                 |
| id                          | b6b0617c-ea51-4450-848e-e7cff69238c7 |
| size                        | 1                                    |
| name                        | Share2                               |
| share_type                  | c0086582-30a6-4060-b096-a42ec9d66b86 |
| created_at                  | 2015-09-25T06:25:50.240417           |
| export_location             | None                                 |
| share_proto                 | NFS                                  |
| project_id                  | 20787a7ba11946adad976463b57d8a2f     |
| metadata                    | {u'source': u'snapshot'}             |
+-----------------------------+--------------------------------------+

$ manila show Share2
+-----------------------------+-------------------------------------------+
| Property                    | Value                                     |
+-----------------------------+-------------------------------------------+
| status                      | available                                 |
| share_type_name             | default                                   |
| description                 | Share from a snapshot.                    |
| availability_zone           | nova                                      |
| share_network_id            | 5c3cbabb-f4da-465f-bc7f-fadbe047b85a      |
| export_locations            | 10.254.0.3:/shares/share-1dc2a471-3d47-...|
| share_server_id             | 41b7829d-7f6b-4c96-aea5-d106c2959961      |
| share_group_id              | None                                      |
| host                        | manila@generic1#GENERIC1                  |
| snapshot_id                 | 962e8126-35c3-47bb-8c00-f0ee37f42ddd      |
| is_public                   | False                                     |
| task_state                  | None                                      |
| snapshot_support            | True                                      |
| id                          | b6b0617c-ea51-4450-848e-e7cff69238c7      |
| size                        | 1                                         |
| name                        | Share2                                    |
| share_type                  | c0086582-30a6-4060-b096-a42ec9d66b86      |
| created_at                  | 2015-09-25T06:25:50.000000                |
| share_proto                 | NFS                                       |
| project_id                  | 20787a7ba11946adad976463b57d8a2f          |
| metadata                    | {u'source': u'snapshot'}                  |
+-----------------------------+-------------------------------------------+

默认情况下,共享文件系统服务会将新的共享放置在源共享的池中,除非用户使用 key --availability-zone 提供不同的目标可用区。

从 Ussuri 版本开始,为了增强从快照创建共享时目标池的选择,调度器添加了一个新的过滤器和称重器。支持跨后端创建快照的驱动程序还需要指定后端配置选项 replication_domain。此选项可以是任意字符串。作为管理员,您需要确定哪些后端可以相互复制数据。确定这些后端后,将 replication_domain 配置在各自的配置部分中,设置为相同的字符串。请参阅 功能支持映射,以识别哪些后端支持此功能。必须使用配置标志 [DEFAULT]/use_scheduler_creating_share_from_snapshot 启用从快照创建共享时使用调度器。默认情况下,此选项已禁用。

注意

当同时使用 --snapshot-id--availability-zone key 时,需要确保配置标志 [DEFAULT]/use_scheduler_creating_share_from_snapshot 已启用,否则,如果源和目标可用区不同,操作将被拒绝。

您可以使用 manila snapshot-delete <snapshot_name_or_ID> 软删除快照。如果快照处于繁忙状态,并且在删除过程中出现 error_deleting 状态,管理员可以强制删除它或显式重置状态。

使用 snapshot-reset-state [--state <state>] <snapshot> 显式更新快照的状态。状态的有效值包括 availableerrorcreatingdeletingerror_deleting。如果未提供状态,将使用 available 状态。

使用 manila snapshot-force-delete <snapshot> 强制删除任何状态下的指定共享快照。