10.4. 低级对象操作故障排除
作为存储管理员,您可以使用 ceph-objectstore-tool
实用程序来执行低级对象操作。ceph-objectstore-tool
实用程序支持以下低级别对象操作:
- 操作对象的内容
- 删除对象
- 列出对象映射(OMAP)
- 操作 OMAP 标头
- 操作 OMAP 密钥
- 列出对象的属性
- 操作对象的属性键
操作对象可能会导致无法恢复的数据丢失。在使用 ceph-objectstore-tool
实用程序前,请联络红帽支持。
10.4.1. 先决条件 复制链接链接已复制到粘贴板!
- 对 Ceph OSD 节点的根级别访问权限.
10.4.2. 操作对象的内容 复制链接链接已复制到粘贴板!
使用 ceph-objectstore-tool
实用程序时,您可以在对象上获取或设置字节。
在对象上设置字节可能会导致无法恢复的数据丢失。要防止数据丢失,请为对象制作备份副本。
先决条件
- Ceph OSD 节点的根级别访问权限.
-
停止
ceph-osd
守护进程.
流程
验证适当的 OSD 是否停机:
systemctl status ceph-osd@$OSD_NUMBER
[root@osd ~]# systemctl status ceph-osd@$OSD_NUMBER
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
systemctl status ceph-osd@1
[root@osd ~]# systemctl status ceph-osd@1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于容器化部署,要访问 bluestore 工具,请按照以下步骤执行:
在集群中设置
noout
标志。示例
ceph osd set noout
[root@mon ~]# ceph osd set noout
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 登录托管 OSD 容器的节点。
将
/etc/systemd/system/ceph-osd@.service
单元文件备份到/root
目录。示例
cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.backup
[root@osd ~]# cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.backup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
/run/ceph-osd@OSD_ID.service-cid
文件移到/root
。示例
mv /run/ceph-osd@0.service-cid /root
[root@osd ~]# mv /run/ceph-osd@0.service-cid /root
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
/etc/systemd/system/ceph-osd@.service
单元文件,并在 podman 命令中添加-it --entrypoint /bin/bash
选项。示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新加载
systemd
管理器配置。示例
systemctl daemon-reload
[root@osd ~]# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新启动与
OSD_ID
关联的 OSD 服务。语法
systemctl restart ceph-osd@OSD_ID.service
systemctl restart ceph-osd@OSD_ID.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
OSD_ID
替换为 OSD 的 ID。示例
systemctl restart ceph-osd@0.service
[root@osd ~]# systemctl restart ceph-osd@0.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 登录与
OSD_ID
关联的容器。语法
podman exec -it ceph-osd-OSD_ID /bin/bash
podman exec -it ceph-osd-OSD_ID /bin/bash
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
podman exec -it ceph-osd-0 /bin/bash
[root@osd ~]# podman exec -it ceph-osd-0 /bin/bash
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 获取
osd fsid
并激活 OSD 以挂载 OSD 的逻辑卷(LV)。语法
ceph-volume lvm list |grep -A15 "osd\.OSD_ID"|grep "osd fsid" ceph-volume lvm activate --bluestore OSD_ID OSD_FSID
ceph-volume lvm list |grep -A15 "osd\.OSD_ID"|grep "osd fsid" ceph-volume lvm activate --bluestore OSD_ID OSD_FSID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 通过列出 OSD 或 PG(PG)的对象来查找对象。
在对象中设置字节前,请进行备份和对象的工作副本:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 编辑工作复制对象文件,并相应地修改对象内容。
设置对象的字节:
ceph-objectstore-tool --data-path PATH_TO_OSD --pgid PG_ID \ OBJECT \ set-bytes < OBJECT_FILE_NAME
[root@osd ~]# ceph-objectstore-tool --data-path PATH_TO_OSD --pgid PG_ID \ OBJECT \ set-bytes < OBJECT_FILE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
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
[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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于容器化部署,要恢复更改,请按照以下步骤执行:
退出容器后,从
/root
目录中复制/etc/systemd/system/ceph-osd@.service
单元文件。示例
cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.modified cp /root/ceph-osd@.service.backup /etc/systemd/system/ceph-osd@.service
[root@osd ~]# cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.modified [root@osd ~]# cp /root/ceph-osd@.service.backup /etc/systemd/system/ceph-osd@.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新加载
systemd
管理器配置。示例
systemctl daemon-reload
[root@osd ~]# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
/run/ceph-osd@OSD_ID.service-cid
文件移到/tmp
。示例
mv /run/ceph-osd@0.service-cid /tmp
[root@osd ~]# mv /run/ceph-osd@0.service-cid /tmp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新启动与
OSD_ID
关联的 OSD 服务。语法
systemctl restart ceph-osd@OSD_ID.service
[root@osd ~]# systemctl restart ceph-osd@OSD_ID.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
systemctl restart ceph-osd@0.service
[root@osd ~]# systemctl restart ceph-osd@0.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.4.3. 删除对象 复制链接链接已复制到粘贴板!
使用 ceph-objectstore-tool
实用程序删除对象。通过移除对象,其内容和引用将从放置组(PG)中删除。
对象被删除后,您就无法重新创建对象。
先决条件
- Ceph OSD 节点的根级别访问权限.
-
停止
ceph-osd
守护进程.
流程
验证适当的 OSD 是否停机:
systemctl status ceph-osd@$OSD_NUMBER
[root@osd ~]# systemctl status ceph-osd@$OSD_NUMBER
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
systemctl status ceph-osd@1
[root@osd ~]# systemctl status ceph-osd@1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于容器化部署,要访问 bluestore 工具,请按照以下步骤执行:
在集群中设置
noout
标志。示例
ceph osd set noout
[root@mon ~]# ceph osd set noout
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 登录托管 OSD 容器的节点。
将
/etc/systemd/system/ceph-osd@.service
单元文件备份到/root
目录。示例
cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.backup
[root@osd ~]# cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.backup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
/run/ceph-osd@OSD_ID.service-cid
文件移到/root
。示例
mv /run/ceph-osd@0.service-cid /root
[root@osd ~]# mv /run/ceph-osd@0.service-cid /root
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
/etc/systemd/system/ceph-osd@.service
单元文件,并在 podman 命令中添加-it --entrypoint /bin/bash
选项。示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新加载
systemd
管理器配置。示例
systemctl daemon-reload
[root@osd ~]# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新启动与
OSD_ID
关联的 OSD 服务。语法
systemctl restart ceph-osd@OSD_ID.service
systemctl restart ceph-osd@OSD_ID.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
OSD_ID
替换为 OSD 的 ID。示例
systemctl restart ceph-osd@0.service
[root@osd ~]# systemctl restart ceph-osd@0.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 登录与
OSD_ID
关联的容器。语法
podman exec -it ceph-osd-OSD_ID /bin/bash
podman exec -it ceph-osd-OSD_ID /bin/bash
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
podman exec -it ceph-osd-0 /bin/bash
[root@osd ~]# podman exec -it ceph-osd-0 /bin/bash
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 获取
osd fsid
并激活 OSD 以挂载 OSD 的逻辑卷(LV)。语法
ceph-volume lvm list |grep -A15 "osd\.OSD_ID"|grep "osd fsid" ceph-volume lvm activate --bluestore OSD_ID OSD_FSID
ceph-volume lvm list |grep -A15 "osd\.OSD_ID"|grep "osd fsid" ceph-volume lvm activate --bluestore OSD_ID OSD_FSID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
删除对象:
语法
ceph-objectstore-tool --data-path PATH_TO_OSD --pgid PG_ID \ OBJECT \ remove
ceph-objectstore-tool --data-path PATH_TO_OSD --pgid PG_ID \ OBJECT \ remove
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
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":""}' \ remove
[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":""}' \ remove
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于容器化部署,要恢复更改,请按照以下步骤执行:
退出容器后,从
/root
目录中复制/etc/systemd/system/ceph-osd@.service
单元文件。示例
cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.modified cp /root/ceph-osd@.service.backup /etc/systemd/system/ceph-osd@.service
[root@osd ~]# cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.modified [root@osd ~]# cp /root/ceph-osd@.service.backup /etc/systemd/system/ceph-osd@.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新加载
systemd
管理器配置。示例
systemctl daemon-reload
[root@osd ~]# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
/run/ceph-osd@OSD_ID.service-cid
文件移到/tmp
。示例
mv /run/ceph-osd@0.service-cid /tmp
[root@osd ~]# mv /run/ceph-osd@0.service-cid /tmp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新启动与
OSD_ID
关联的 OSD 服务。语法
systemctl restart ceph-osd@OSD_ID.service
[root@osd ~]# systemctl restart ceph-osd@OSD_ID.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
systemctl restart ceph-osd@0.service
[root@osd ~]# systemctl restart ceph-osd@0.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.4.4. 列出对象映射 复制链接链接已复制到粘贴板!
使用 ceph-objectstore-tool
实用程序列出对象映射(OMAP)的内容。输出为您提供了键列表。
先决条件
- Ceph OSD 节点的根级别访问权限.
-
停止
ceph-osd
守护进程.
流程
验证适当的 OSD 是否停机:
systemctl status ceph-osd@OSD_NUMBER
[root@osd ~]# systemctl status ceph-osd@OSD_NUMBER
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
systemctl status ceph-osd@1
[root@osd ~]# systemctl status ceph-osd@1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于容器化部署,要访问 bluestore 工具,请按照以下步骤执行:
在集群中设置
noout
标志。示例
ceph osd set noout
[root@mon ~]# ceph osd set noout
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 登录托管 OSD 容器的节点。
将
/etc/systemd/system/ceph-osd@.service
单元文件备份到/root
目录。示例
cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.backup
[root@osd ~]# cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.backup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
/run/ceph-osd@OSD_ID.service-cid
文件移到/root
。示例
mv /run/ceph-osd@0.service-cid /root
[root@osd ~]# mv /run/ceph-osd@0.service-cid /root
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
/etc/systemd/system/ceph-osd@.service
单元文件,并在 podman 命令中添加-it --entrypoint /bin/bash
选项。示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新加载
systemd
管理器配置。示例
systemctl daemon-reload
[root@osd ~]# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新启动与
OSD_ID
关联的 OSD 服务。语法
systemctl restart ceph-osd@OSD_ID.service
systemctl restart ceph-osd@OSD_ID.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
OSD_ID
替换为 OSD 的 ID。示例
systemctl restart ceph-osd@0.service
[root@osd ~]# systemctl restart ceph-osd@0.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 登录与
OSD_ID
关联的容器。语法
podman exec -it ceph-osd-OSD_ID /bin/bash
podman exec -it ceph-osd-OSD_ID /bin/bash
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
podman exec -it ceph-osd-0 /bin/bash
[root@osd ~]# podman exec -it ceph-osd-0 /bin/bash
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 获取
osd fsid
并激活 OSD 以挂载 OSD 的逻辑卷(LV)。语法
ceph-volume lvm list |grep -A15 "osd\.OSD_ID"|grep "osd fsid" ceph-volume lvm activate --bluestore OSD_ID OSD_FSID
ceph-volume lvm list |grep -A15 "osd\.OSD_ID"|grep "osd fsid" ceph-volume lvm activate --bluestore OSD_ID OSD_FSID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
列出对象映射:
ceph-objectstore-tool --data-path PATH_TO_OSD --pgid PG_ID \ OBJECT \ list-omap
[root@osd ~]# ceph-objectstore-tool --data-path PATH_TO_OSD --pgid PG_ID \ OBJECT \ list-omap
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
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":""}' \ list-omap
[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":""}' \ list-omap
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于容器化部署,要恢复更改,请按照以下步骤执行:
退出容器后,从
/root
目录中复制/etc/systemd/system/ceph-osd@.service
单元文件。示例
cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.modified cp /root/ceph-osd@.service.backup /etc/systemd/system/ceph-osd@.service
[root@osd ~]# cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.modified [root@osd ~]# cp /root/ceph-osd@.service.backup /etc/systemd/system/ceph-osd@.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新加载
systemd
管理器配置。示例
systemctl daemon-reload
[root@osd ~]# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
/run/ceph-osd@OSD_ID.service-cid
文件移到/tmp
。示例
mv /run/ceph-osd@0.service-cid /tmp
[root@osd ~]# mv /run/ceph-osd@0.service-cid /tmp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新启动与
OSD_ID
关联的 OSD 服务。语法
systemctl restart ceph-osd@OSD_ID.service
[root@osd ~]# systemctl restart ceph-osd@OSD_ID.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
systemctl restart ceph-osd@0.service
[root@osd ~]# systemctl restart ceph-osd@0.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.4.5. 操作对象映射标头 复制链接链接已复制到粘贴板!
ceph-objectstore-tool
实用程序将输出对象映射(OMAP)标头,以及与对象的键关联的值。
先决条件
- Ceph OSD 节点的根级别访问权限.
-
停止
ceph-osd
守护进程.
流程
对于容器化部署,要访问 bluestore 工具,请按照以下步骤执行:
在集群中设置
noout
标志。示例
ceph osd set noout
[root@mon ~]# ceph osd set noout
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 登录托管 OSD 容器的节点。
将
/etc/systemd/system/ceph-osd@.service
单元文件备份到/root
目录。示例
cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.backup
[root@osd ~]# cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.backup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
/run/ceph-osd@OSD_ID.service-cid
文件移到/root
。示例
mv /run/ceph-osd@0.service-cid /root
[root@osd ~]# mv /run/ceph-osd@0.service-cid /root
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
/etc/systemd/system/ceph-osd@.service
单元文件,并在 podman 命令中添加-it --entrypoint /bin/bash
选项。示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新加载
systemd
管理器配置。示例
systemctl daemon-reload
[root@osd ~]# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新启动与
OSD_ID
关联的 OSD 服务。语法
systemctl restart ceph-osd@OSD_ID.service
systemctl restart ceph-osd@OSD_ID.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
OSD_ID
替换为 OSD 的 ID。示例
systemctl restart ceph-osd@0.service
[root@osd ~]# systemctl restart ceph-osd@0.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 登录与
OSD_ID
关联的容器。语法
podman exec -it ceph-osd-OSD_ID /bin/bash
podman exec -it ceph-osd-OSD_ID /bin/bash
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
podman exec -it ceph-osd-0 /bin/bash
[root@osd ~]# podman exec -it ceph-osd-0 /bin/bash
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 获取
osd fsid
并激活 OSD 以挂载 OSD 的逻辑卷(LV)。语法
ceph-volume lvm list |grep -A15 "osd\.OSD_ID"|grep "osd fsid" ceph-volume lvm activate --bluestore OSD_ID OSD_FSID
ceph-volume lvm list |grep -A15 "osd\.OSD_ID"|grep "osd fsid" ceph-volume lvm activate --bluestore OSD_ID OSD_FSID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证适当的 OSD 是否停机:
语法
systemctl status ceph-osd@OSD_NUMBER
systemctl status ceph-osd@OSD_NUMBER
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
systemctl status ceph-osd@1
[root@osd ~]# systemctl status ceph-osd@1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 获取对象映射标头:
语法
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ get-omaphdr > OBJECT_MAP_FILE_NAME
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ get-omaphdr > OBJECT_MAP_FILE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
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-omaphdr > zone_info.default.omaphdr.txt
[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-omaphdr > zone_info.default.omaphdr.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 设置对象映射标头:
语法
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ get-omaphdr < OBJECT_MAP_FILE_NAME
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ get-omaphdr < OBJECT_MAP_FILE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
su - ceph -c '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-omaphdr < zone_info.default.omaphdr.txt
[root@osd ~]# su - ceph -c '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-omaphdr < zone_info.default.omaphdr.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于容器化部署,要恢复更改,请按照以下步骤执行:
退出容器后,从
/root
目录中复制/etc/systemd/system/ceph-osd@.service
单元文件。示例
cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.modified cp /root/ceph-osd@.service.backup /etc/systemd/system/ceph-osd@.service
[root@osd ~]# cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.modified [root@osd ~]# cp /root/ceph-osd@.service.backup /etc/systemd/system/ceph-osd@.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新加载
systemd
管理器配置。示例
systemctl daemon-reload
[root@osd ~]# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
/run/ceph-osd@OSD_ID.service-cid
文件移到/tmp
。示例
mv /run/ceph-osd@0.service-cid /tmp
[root@osd ~]# mv /run/ceph-osd@0.service-cid /tmp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新启动与
OSD_ID
关联的 OSD 服务。语法
systemctl restart ceph-osd@OSD_ID.service
[root@osd ~]# systemctl restart ceph-osd@OSD_ID.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
systemctl restart ceph-osd@0.service
[root@osd ~]# systemctl restart ceph-osd@0.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.4.6. 操作对象映射密钥 复制链接链接已复制到粘贴板!
使用 ceph-objectstore-tool
实用程序更改对象映射(OMAP)密钥。您需要提供数据路径、放置组标识符(PG ID)、对象和 OMAP 中的密钥。
先决条件
- Ceph OSD 节点的根级别访问权限.
-
停止
ceph-osd
守护进程.
流程
对于容器化部署,要访问 bluestore 工具,请按照以下步骤执行:
在集群中设置
noout
标志。示例
ceph osd set noout
[root@mon ~]# ceph osd set noout
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 登录托管 OSD 容器的节点。
将
/etc/systemd/system/ceph-osd@.service
单元文件备份到/root
目录。示例
cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.backup
[root@osd ~]# cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.backup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
/run/ceph-osd@OSD_ID.service-cid
文件移到/root
。示例
mv /run/ceph-osd@0.service-cid /root
[root@osd ~]# mv /run/ceph-osd@0.service-cid /root
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
/etc/systemd/system/ceph-osd@.service
单元文件,并在 podman 命令中添加-it --entrypoint /bin/bash
选项。示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新加载
systemd
管理器配置。示例
systemctl daemon-reload
[root@osd ~]# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新启动与
OSD_ID
关联的 OSD 服务。语法
systemctl restart ceph-osd@OSD_ID.service
systemctl restart ceph-osd@OSD_ID.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
OSD_ID
替换为 OSD 的 ID。示例
systemctl restart ceph-osd@0.service
[root@osd ~]# systemctl restart ceph-osd@0.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 登录与
OSD_ID
关联的容器。语法
podman exec -it ceph-osd-OSD_ID /bin/bash
podman exec -it ceph-osd-OSD_ID /bin/bash
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
podman exec -it ceph-osd-0 /bin/bash
[root@osd ~]# podman exec -it ceph-osd-0 /bin/bash
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 获取
osd fsid
并激活 OSD 以挂载 OSD 的逻辑卷(LV)。语法
ceph-volume lvm list |grep -A15 "osd\.OSD_ID"|grep "osd fsid" ceph-volume lvm activate --bluestore OSD_ID OSD_FSID
ceph-volume lvm list |grep -A15 "osd\.OSD_ID"|grep "osd fsid" ceph-volume lvm activate --bluestore OSD_ID OSD_FSID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
获取对象映射键:
语法
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ get-omap KEY > OBJECT_MAP_FILE_NAME
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ get-omap KEY > OBJECT_MAP_FILE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
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-omap "" > zone_info.default.omap.txt
[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-omap "" > zone_info.default.omap.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 设置对象映射键:
语法
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ set-omap KEY < OBJECT_MAP_FILE_NAME
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ set-omap KEY < OBJECT_MAP_FILE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
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-omap "" < zone_info.default.omap.txt
[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-omap "" < zone_info.default.omap.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除对象映射键:
语法
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ rm-omap KEY
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ rm-omap KEY
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
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":""}' \ rm-omap ""
[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":""}' \ rm-omap ""
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
对于容器化部署,要恢复更改,请按照以下步骤执行:
退出容器后,从
/root
目录中复制/etc/systemd/system/ceph-osd@.service
单元文件。示例
cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.modified cp /root/ceph-osd@.service.backup /etc/systemd/system/ceph-osd@.service
[root@osd ~]# cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.modified [root@osd ~]# cp /root/ceph-osd@.service.backup /etc/systemd/system/ceph-osd@.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新加载
systemd
管理器配置。示例
systemctl daemon-reload
[root@osd ~]# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
/run/ceph-osd@OSD_ID.service-cid
文件移到/tmp
。示例
mv /run/ceph-osd@0.service-cid /tmp
[root@osd ~]# mv /run/ceph-osd@0.service-cid /tmp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新启动与
OSD_ID
关联的 OSD 服务。语法
systemctl restart ceph-osd@OSD_ID.service
[root@osd ~]# systemctl restart ceph-osd@OSD_ID.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
systemctl restart ceph-osd@0.service
[root@osd ~]# systemctl restart ceph-osd@0.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.4.7. 列出对象的属性 复制链接链接已复制到粘贴板!
使用 ceph-objectstore-tool
实用程序列出对象的属性。输出为您提供对象的键和值。
先决条件
- Ceph OSD 节点的根级别访问权限.
-
停止
ceph-osd
守护进程.
流程
验证适当的 OSD 是否停机:
systemctl status ceph-osd@OSD_NUMBER
[root@osd ~]# systemctl status ceph-osd@OSD_NUMBER
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
systemctl status ceph-osd@1
[root@osd ~]# systemctl status ceph-osd@1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于容器化部署,要访问 bluestore 工具,请按照以下步骤执行:
在集群中设置
noout
标志。示例
ceph osd set noout
[root@mon ~]# ceph osd set noout
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 登录托管 OSD 容器的节点。
将
/etc/systemd/system/ceph-osd@.service
单元文件备份到/root
目录。示例
cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.backup
[root@osd ~]# cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.backup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
/run/ceph-osd@OSD_ID.service-cid
文件移到/root
。示例
mv /run/ceph-osd@0.service-cid /root
[root@osd ~]# mv /run/ceph-osd@0.service-cid /root
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
/etc/systemd/system/ceph-osd@.service
单元文件,并在 podman 命令中添加-it --entrypoint /bin/bash
选项。示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新加载
systemd
管理器配置。示例
systemctl daemon-reload
[root@osd ~]# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新启动与
OSD_ID
关联的 OSD 服务。语法
systemctl restart ceph-osd@OSD_ID.service
systemctl restart ceph-osd@OSD_ID.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
OSD_ID
替换为 OSD 的 ID。示例
systemctl restart ceph-osd@0.service
[root@osd ~]# systemctl restart ceph-osd@0.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 登录与
OSD_ID
关联的容器。语法
podman exec -it ceph-osd-OSD_ID /bin/bash
podman exec -it ceph-osd-OSD_ID /bin/bash
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
podman exec -it ceph-osd-0 /bin/bash
[root@osd ~]# podman exec -it ceph-osd-0 /bin/bash
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 获取
osd fsid
并激活 OSD 以挂载 OSD 的逻辑卷(LV)。语法
ceph-volume lvm list |grep -A15 "osd\.OSD_ID"|grep "osd fsid" ceph-volume lvm activate --bluestore OSD_ID OSD_FSID
ceph-volume lvm list |grep -A15 "osd\.OSD_ID"|grep "osd fsid" ceph-volume lvm activate --bluestore OSD_ID OSD_FSID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
列出对象的属性:
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ list-attrs
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ list-attrs
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
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":""}' \ list-attrs
[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":""}' \ list-attrs
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于容器化部署,要恢复更改,请按照以下步骤执行:
退出容器后,从
/root
目录中复制/etc/systemd/system/ceph-osd@.service
单元文件。示例
cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.modified cp /root/ceph-osd@.service.backup /etc/systemd/system/ceph-osd@.service
[root@osd ~]# cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.modified [root@osd ~]# cp /root/ceph-osd@.service.backup /etc/systemd/system/ceph-osd@.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新加载
systemd
管理器配置。示例
systemctl daemon-reload
[root@osd ~]# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
/run/ceph-osd@OSD_ID.service-cid
文件移到/tmp
。示例
mv /run/ceph-osd@0.service-cid /tmp
[root@osd ~]# mv /run/ceph-osd@0.service-cid /tmp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新启动与
OSD_ID
关联的 OSD 服务。语法
systemctl restart ceph-osd@OSD_ID.service
[root@osd ~]# systemctl restart ceph-osd@OSD_ID.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
systemctl restart ceph-osd@0.service
[root@osd ~]# systemctl restart ceph-osd@0.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
10.4.8. 操作对象属性键 复制链接链接已复制到粘贴板!
使用 ceph-objectstore-tool
实用程序更改对象的属性。若要操作对象的属性,您需要数据和日志路径、放置组标识符(PG ID)、对象以及对象属性中的密钥。
先决条件
- Ceph OSD 节点的根级别访问权限.
-
停止
ceph-osd
守护进程.
流程
验证适当的 OSD 是否停机:
systemctl status ceph-osd@$OSD_NUMBER
[root@osd ~]# systemctl status ceph-osd@$OSD_NUMBER
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
systemctl status ceph-osd@1
[root@osd ~]# systemctl status ceph-osd@1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于容器化部署,要访问 bluestore 工具,请按照以下步骤执行:
在集群中设置
noout
标志。示例
ceph osd set noout
[root@mon ~]# ceph osd set noout
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 登录托管 OSD 容器的节点。
将
/etc/systemd/system/ceph-osd@.service
单元文件备份到/root
目录。示例
cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.backup
[root@osd ~]# cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.backup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
/run/ceph-osd@OSD_ID.service-cid
文件移到/root
。示例
mv /run/ceph-osd@0.service-cid /root
[root@osd ~]# mv /run/ceph-osd@0.service-cid /root
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑
/etc/systemd/system/ceph-osd@.service
单元文件,并在 podman 命令中添加-it --entrypoint /bin/bash
选项。示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新加载
systemd
管理器配置。示例
systemctl daemon-reload
[root@osd ~]# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新启动与
OSD_ID
关联的 OSD 服务。语法
systemctl restart ceph-osd@OSD_ID.service
systemctl restart ceph-osd@OSD_ID.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
OSD_ID
替换为 OSD 的 ID。示例
systemctl restart ceph-osd@0.service
[root@osd ~]# systemctl restart ceph-osd@0.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 登录与
OSD_ID
关联的容器。语法
podman exec -it ceph-osd-OSD_ID /bin/bash
podman exec -it ceph-osd-OSD_ID /bin/bash
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
podman exec -it ceph-osd-0 /bin/bash
[root@osd ~]# podman exec -it ceph-osd-0 /bin/bash
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 获取
osd fsid
并激活 OSD 以挂载 OSD 的逻辑卷(LV)。语法
ceph-volume lvm list |grep -A15 "osd\.OSD_ID"|grep "osd fsid" ceph-volume lvm activate --bluestore OSD_ID OSD_FSID
ceph-volume lvm list |grep -A15 "osd\.OSD_ID"|grep "osd fsid" ceph-volume lvm activate --bluestore OSD_ID OSD_FSID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
获取对象的属性:
语法
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ get-attrs KEY > OBJECT_ATTRS_FILE_NAME
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ get-attrs KEY > OBJECT_ATTRS_FILE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
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-attrs "oid" > zone_info.default.attr.txt
[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-attrs "oid" > zone_info.default.attr.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 设置对象的属性:
语法
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ set-attrs KEY < OBJECT_ATTRS_FILE_NAME
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ set-attrs KEY < OBJECT_ATTRS_FILE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
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-attrs "oid" < zone_info.default.attr.txt
[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-attrs "oid" < zone_info.default.attr.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除对象的属性:
语法
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ rm-attrs KEY
ceph-objectstore-tool --data-path PATH_TO_OSD \ --pgid PG_ID OBJECT \ rm-attrs KEY
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
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":""}' \ rm-attrs "oid"
[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":""}' \ rm-attrs "oid"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 对于容器化部署,要恢复更改,请按照以下步骤执行:
退出容器后,从
/root
目录中复制/etc/systemd/system/ceph-osd@.service
单元文件。示例
cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.modified cp /root/ceph-osd@.service.backup /etc/systemd/system/ceph-osd@.service
[root@osd ~]# cp /etc/systemd/system/ceph-osd@.service /root/ceph-osd@.service.modified [root@osd ~]# cp /root/ceph-osd@.service.backup /etc/systemd/system/ceph-osd@.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新加载
systemd
管理器配置。示例
systemctl daemon-reload
[root@osd ~]# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
/run/ceph-osd@OSD_ID.service-cid
文件移到/tmp
。示例
mv /run/ceph-osd@0.service-cid /tmp
[root@osd ~]# mv /run/ceph-osd@0.service-cid /tmp
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重新启动与
OSD_ID
关联的 OSD 服务。语法
systemctl restart ceph-osd@OSD_ID.service
[root@osd ~]# systemctl restart ceph-osd@OSD_ID.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 示例
systemctl restart ceph-osd@0.service
[root@osd ~]# systemctl restart ceph-osd@0.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow