10.3. 为 Ceph 文件系统子卷添加快照调度
要管理 Ceph 文件系统(CephFS)子卷快照的保留策略,您可以为单个路径有不同的调度。
如果计划重复的时间间隔和开始时间不同,则计划会被视为不同的。
为尚不存在的 CephFS 文件路径添加快照调度。CephFS 路径只能具有一个保留策略,但保留策略可以有多个计数期限对。
启用调度程序模块后,运行 ceph fs snap-schedule
命令将显示可用的子命令及其用法格式。
先决条件
- 部署的 Ceph 文件系统(CephFS)正常工作的 Red Hat Ceph Storage 集群。
- 至少对 Ceph 监控器具有读取访问权限。
- Ceph 管理器节点上的读写功能。
- 已创建 CephFS 子卷和子卷组。
您可以为以下方法创建快照调度:
- 子卷中的目录。
- 默认组中的子卷。
- 非默认组中的子卷。
但是,命令不同。
流程
为子卷中的目录创建快照调度:
获取存在目录的子卷的绝对路径:
语法
ceph fs subvolume getpath VOLUME_NAME SUBVOLUME_NAME SUBVOLUME_GROUP_NAME
Example
[ceph: root@host02 /]# ceph fs subvolume getpath cephfs subvol_1 subvolgroup_1
将快照调度添加到子卷中的目录中:
语法
ceph fs snap-schedule add SUBVOLUME_DIR_PATH SNAP_SCHEDULE [START_TIME] --fs CEPH_FILE_SYSTEM_NAME --subvol SUBVOLUME_NAME
注意snap-schedule 命令中的路径将是 <absolute_path_of_ subvolume>/<relative_path_of_test_dir>,请参阅 子卷的 absolute_path。
Example
[ceph: root@host02 /]# ceph fs snap-schedule add /cephfs_kernelf739cwtus2/pmo9axbwsi 1h 2022-06-27T21:50:00 --fs cephfs --subvol subvol_1 Schedule set for path /..
注意START_TIME 以 ISO 8601 格式表示。
本例为子卷路径创建一个快照调度,每小时快照,并在 2022 年 6 月 27 日 9:50 PM 开始。
要为默认组中的子卷创建快照调度,请运行以下命令:
语法
ceph fs snap-schedule add /.. SNAP_SCHEDULE [START_TIME] --fs CEPH_FILE_SYSTEM_NAME --subvol _SUBVOLUME_NAME
Example
[ceph: root@host02 /]# ceph fs snap-schedule add - 2M --subvol sv_non_def_1
注意该路径必须定义且无法留空。不依赖于路径字符串值,您可以将其定义为
/
,-'
或/.
。要在非默认组中为子卷创建快照调度,请运行以下命令:
语法
ceph fs snap-schedule add /.. SNAP_SCHEDULE [START_TIME] --fs CEPH_FILE_SYSTEM_NAME --subvol _SUBVOLUME_NAME --group NON_DEFAULT_SUBVOLGROUP_NAME
Example
[ceph: root@host02 /]# ceph fs snap-schedule add - 2M --fs cephfs --subvol sv_non_def_1 --group svg1
注意该路径必须定义且无法留空。不依赖于路径字符串值,您可以将其定义为
/
,-'
或/.
。
10.3.1. 为 CephFS 卷路径的快照调度添加保留策略
要定义任何时间要保留在卷路径中的快照数量,您必须在创建快照调度后添加保留策略。
您可以为子卷组中的目录、默认组中的子卷以及非默认组的子卷创建保留策略。
先决条件
- 一个正在运行的、健康的 IBM Storage Ceph 集群,部署了 Ceph 文件系统(CephFS)。
- 至少对 Ceph 监控器具有读取访问权限。
- Ceph 管理器节点上的读写功能。
- 已创建 CephFS 子卷和子卷组。
- 快照计划。
流程
在 CephFS 子卷的目录中为快照调度添加新的保留策略:
语法
ceph fs snap-schedule retention add SUBVOLUME_DIR_PATH [COUNT_TIME_PERIOD_PAIR] TIME_PERIOD COUNT
示例
[ceph: root@host02 /]# ceph fs snap-schedule retention add /volumes/_nogroup/subvol_1/85a615da-e8fa-46c1-afc3-0eb8ae64a954/.. h 14 1 [ceph: root@host02 /]# ceph fs snap-schedule retention add /volumes/_nogroup/subvol_1/85a615da-e8fa-46c1-afc3-0eb8ae64a954/.. d 4 2 [ceph: root@host02 /]# ceph fs snap-schedule retention add /volumes/_nogroup/subvol_1/85a615da-e8fa-46c1-afc3-0eb8ae64a954/.. 14h4w 3 Retention added to path /volumes/_nogroup/subvol_1/85a615da-e8fa-46c1-afc3-0eb8ae64a954/..
将保留策略添加到默认组中为子卷创建的快照调度中:
语法
ceph fs snap-schedule retention add / [COUNT_TIME_PERIOD_PAIR] TIME_PERIOD_COUNT --fs CEPH_FILE_SYSTEM_NAME --subvol SUBVOLUME_NAME
Example
[ceph: root@host02 /]# ceph fs snap-schedule retention add / 5h --fs cephfs --subvol sv_sched Retention added to path /volumes/sv_sched/e704342a-ff07-4763-bb0b-a46d9dda6f27/..
重要必须定义路径(/),且无法留空。不依赖于路径字符串值,您可以将其定义为 /、- 或 /…
将保留策略添加到非默认组中为子卷组创建的快照调度中:
语法
ceph fs snap-schedule retention add / [COUNT_TIME_PERIOD_PAIR] TIME_PERIOD_COUNT --fs CEPH_FILE_SYSTEM_NAME --subvol SUBVOLUME_NAME --group NON_DEFAULT_SUBVOLGROUP_NAME
Example
[ceph: root@host02 /]# ceph fs snap-schedule retention add / 5h --fs cephfs --subvol sv_sched --group subvolgroup_cg Retention added to path /volumes/subvolgroup_cg/sv_sched/e704342a-ff07-4763-bb0b-a54j0dda7f16/..
重要必须定义路径(/),且无法留空。不依赖于路径字符串值,您可以将其定义为 /、- 或 /…
10.3.2. 列出 CephFS 快照调度
通过列出和遵循快照计划,您可以确保强大的数据保护和高效管理。
先决条件
- 一个正在运行的、健康的 IBM Storage Ceph 集群,部署了 Ceph 文件系统(CephFS)。
- 至少对 Ceph 监控器具有读取访问权限。
- Ceph 管理器节点上的读写功能。
- 已创建 CephFS 子卷和子卷组。
- 快照计划。
流程
列出快照计划:
语法
ceph fs snap-schedule list SUBVOLUME_VOLUME_PATH [--format=plain|json] [--recursive=true]
示例
[ceph: root@host02 /]# ceph fs snap-schedule list / --recursive=true /volumes/_nogroup/subv1/85a615da-e8fa-46c1-afc3-0eb8ae64a954/.. 4h
这个示例列出了目录树中的所有计划。
10.3.3. 检查 CephFS 快照调度的状态
您可以在子卷的目录中创建的快照中使用 命令检查快照调度的状态,适用于默认子卷组中的子卷,以及非默认组中创建的子卷。
先决条件
- 一个正在运行的、健康的 IBM Storage Ceph 集群,部署了 Ceph 文件系统(CephFS)。
- 至少对 Ceph 监控器具有读取访问权限。
- Ceph 管理器节点上的读写功能。
- 已创建 CephFS 子卷和子卷组。
- 快照计划。
流程
检查为子卷中的目录创建的快照调度状态:
语法
ceph fs snap-schedule status SUBVOLUME_DIR_PATH [--format=plain|json]
示例
[ceph: root@host02 /]# ceph fs snap-schedule status /volumes/_nogroup/subv1/85a615da-e8fa-46c1-afc3-0eb8ae64a954/.. --format=json {"fs": "cephfs", "subvol": "subvol_1", "path": "/volumes/_nogroup/subvol_1/85a615da-e8fa-46c1-afc3-0eb8ae64a954/..", "rel_path": "/..", "schedule": "4h", "retention": {"h": 14}, "start": "2022-05-16T14:00:00", "created": "2023-03-20T08:47:18", "first": null, "last": null, "last_pruned": null, "created_count": 0, "pruned_count": 0, "active": true}
本例以 JSON 格式显示
/volumes/_nogroup/subv1/85a615da-e8fa-46c1-afc3-0eb8ae64a954/..
路径的快照调度状态。如果没有指定默认格式为纯文本。检查为 default 组中为子卷创建的快照调度的状态:
语法
ceph fs snap-schedule status --fs CEPH_FILE_SYSTEM_NAME --subvol SUBVOLUME_NAME
Example
[ceph: root@host02 /]# ceph fs snap-schedule status --fs cephfs --subvol sv_sched {"fs": "cephfs", "subvol": "sv_sched", "group": "subvolgroup_cg", "path": "/volumes/subvolgroup_cg/sv_sched/e704342a-ff07-4763-bb0b-a46d9dda6f27/..", "rel_path": "/volumes/subvolgroup_cg/sv_sched/e704342a-ff07-4763-bb0b-a46d9dda6f27/..", "schedule": "1h", "retention": {"h": 5}, "start": "2024-05-21T00:00:00", "created": "2024-05-21T09:18:58", "first": null, "last": null, "last_pruned": null, "created_count": 0, "pruned_count": 0, "active": true}
重要必须定义路径(/),且无法留空。不依赖于路径字符串值,您可以将其定义为 /、- 或 /…
- 检查在非默认组中为子卷创建的快照调度状态:.Syntax
ceph fs snap-schedule status --fs _CEPH_FILE_SYSTEM_NAME_ --subvol _SUBVOLUME_NAME_ --group _NON-DEFAULT_SUBVOLGROUP_NAME_
Example
[ceph: root@host02 /]# ceph fs snap-schedule status --fs cephfs --subvol sv_sched --group subvolgroup_cg {"fs": "cephfs", "subvol": "sv_sched", "group": "subvolgroup_cg", "path": "/volumes/subvolgroup_cg/sv_sched/e564329a-kj87-4763-gh0y-b56c8sev7t23/..", "rel_path": "/volumes/subvolgroup_cg/sv_sched/e704342a-ff07-4763-bb0b-a46d9dda6f27/..", "schedule": "1h", "retention": {"h": 5}, "start": "2024-05-21T00:00:00", "created": "2024-05-21T09:18:58", "first": null, "last": null, "last_pruned": null, "created_count": 0, "pruned_count": 0, "active": true}
+ 重要信息:必须定义路径(/),且无法留空。不依赖于路径字符串值,您可以将其定义为 /、- 或 /…