Red Hat Training

A Red Hat training course is available for Red Hat Ceph Storage

8.3.2. 操作对象的内容

使用 ceph-objectstore-tool 工具,您可以在对象中获取或设置字节。

重要

在对象上设置字节可能会导致无法恢复的数据丢失。要防止数据丢失,请为对象制作备份副本。

先决条件

  • 对 Ceph OSD 节点具有 root 访问权限.
  • 停止 ceph-osd 守护进程。

流程

  1. 验证适当的 OSD 是否停机:

    语法

    systemctl status ceph-osd@$OSD_NUMBER

    示例

    [root@osd ~]# systemctl status ceph-osd@1

  2. 通过列出 OSD 或 PG(PG)的对象来查找对象。
  3. 在对象中设置字节前,请进行备份和对象的工作副本:

    语法

    ceph-objectstore-tool --data-path $PATH_TO_OSD --pgid $PG_ID \
    $OBJECT \
    get-bytes > $OBJECT_FILE_NAME
    
    ceph-objectstore-tool --data-path $PATH_TO_OSD --pgid $PG_ID \
    $OBJECT \
    get-bytes > $OBJECT_FILE_NAME

    示例

    [root@osd ~]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --pgid 0.1c \
    '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}'  \
    get-bytes > zone_info.default.backup
    
    [root@osd ~]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --pgid 0.1c \
    '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}'  \
    get-bytes > zone_info.default.working-copy

  4. 编辑工作复制对象文件,并相应地修改对象内容。
  5. 设置对象的字节:

    语法

    ceph-objectstore-tool --data-path $PATH_TO_OSD --pgid $PG_ID \
    $OBJECT \
    set-bytes < $OBJECT_FILE_NAME

    示例

    [root@osd ~]# ceph-objectstore-tool --data-path /var/lib/ceph/osd/ceph-0 --pgid 0.1c \
    '{"oid":"zone_info.default","key":"","snapid":-2,"hash":235010478,"max":0,"pool":11,"namespace":""}' \
    set-bytes < zone_info.default.working-copy

其它资源