第 12 章 在目标卷中重新声明空间
删除的文件或零数据块有时会在 Ceph 集群中占用存储空间,从而导致可用存储空间不准确报告。重新声明空间操作通过对目标卷执行以下操作来删除这种差异:
- 
					fstrim- 此操作用于处于Filesystem模式的卷,且仅在执行重新声明空间操作时挂载到 pod 时才使用。
- 
					RBD sparsify- 当卷没有附加到任何 pod 时,使用 RBD sparsify,并回收由 4M 大小零数据的块占用的空间。
注意
- 只有 Ceph RBD 卷支持重新声明空间操作。
- 回收空间操作涉及执行时的性能损失。
您可以使用以下任一方法重新声明空间:
12.1. 通过注解 PersistentVolumeClaim 来启用重新声明空间操作
复制链接链接已复制到粘贴板!
使用这个流程自动调用重新声明空间操作,以根据给定的调度注解持久性卷声明(PVC)。
注意
- 
							schedule 值的格式与 Kubernetes CronJob 相同,它设定 重复操作请求的和/或间隔。
- 
							推荐的调度间隔为 @weekly。如果调度间隔值为空或无效格式,则默认调度值设为@weekly。不要调度多个ReclaimSpace操作@weekly或同时。
- 
							每个调度操作之间的最小支持间隔至少为 24 小时。例如,@daily(每天的At 00:00)或0 3 * *(每天的At 3:00)。
- 
							在非高峰、维护窗口或工作负载 输入/输出低时调度ReclaimSpace操作。
- 
							当修改调度时,ReclaimSpaceCronJob 会被重新创建。当注解被删除时,它会被自动删除。
流程
- 获取 PVC 详情。 - oc get pvc data-pvc - $ oc get pvc data-pvc- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE data-pvc Bound pvc-f37b8582-4b04-4676-88dd-e1b95c6abf74 1Gi RWO ocs-storagecluster-ceph-rbd 20h - NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE data-pvc Bound pvc-f37b8582-4b04-4676-88dd-e1b95c6abf74 1Gi RWO ocs-storagecluster-ceph-rbd 20h- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 将注解 - reclaimspace.csiaddons.openshift.io/schedule=@monthly添加到 PVC 以创建- reclaimspacecronjob。- oc annotate pvc data-pvc "reclaimspace.csiaddons.openshift.io/schedule=@monthly" - $ oc annotate pvc data-pvc "reclaimspace.csiaddons.openshift.io/schedule=@monthly"- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - persistentvolumeclaim/data-pvc annotated - persistentvolumeclaim/data-pvc annotated- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 验证 - reclaimspacecronjob是否已创建格式为 "<- pvc-name>-xxxxxxx"。- oc get reclaimspacecronjobs.csiaddons.openshift.io - $ oc get reclaimspacecronjobs.csiaddons.openshift.io- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - NAME SCHEDULE SUSPEND ACTIVE LASTSCHEDULE AGE data-pvc-1642663516 @monthly 3s - NAME SCHEDULE SUSPEND ACTIVE LASTSCHEDULE AGE data-pvc-1642663516 @monthly 3s- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 修改计划,使其自动运行此任务。 - oc annotate pvc data-pvc "reclaimspace.csiaddons.openshift.io/schedule=@weekly" --overwrite=true - $ oc annotate pvc data-pvc "reclaimspace.csiaddons.openshift.io/schedule=@weekly" --overwrite=true- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - persistentvolumeclaim/data-pvc annotated - persistentvolumeclaim/data-pvc annotated- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 验证 - reclaimspacecronjob的调度是否已修改。- oc get reclaimspacecronjobs.csiaddons.openshift.io - $ oc get reclaimspacecronjobs.csiaddons.openshift.io- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - NAME SCHEDULE SUSPEND ACTIVE LASTSCHEDULE AGE data-pvc-1642664617 @weekly 3s - NAME SCHEDULE SUSPEND ACTIVE LASTSCHEDULE AGE data-pvc-1642664617 @weekly 3s- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow