Ceph集群管理之块存储(RBD)参数、选项及应用示例

本文介绍一下Ceph RBD命令中涉及到的选项,参数及一些具体的示例。


选项

-c ceph.conf, –conf=ceph.conf

使用给定的配置文件代替默认配置路径下(/etc/ceph)的配置文件,命令启动时用于确定monitor的地址。

-m monaddress[:port]

连接该参数指定的monitor地址,忽略配置文件中的地址。

-p pool, –pool pool

要操作的存储池对象,很多命令都需要该选项。

    –no-progress

不再输出处理信息。

参数

    –image-format format

        定义对象的放置方式,默认是1。

        · format  1 – 在创建新的RBD镜像时使用原始的格式。改格式能够与所有的librbd版本和内核rbd模块兼容,但是不支持诸如克隆等特性。

        · format 2 – 使用第二版rbd格式,改格式可以被3.11以上的内核版本支持(除了条带化)。该版本支持克隆及更多扩展性的特性。

    –size size-in-mb

定义rbd镜像的大小,单位是MB

    –order bits

以数字位的方式定义对象的大小,也即对象的大小为1 << order。默认为22(4MB)。

    –stripe-unit size-in-bytes

以字节为单位定义条带单元的大小。具体请参考4.4.5。

    –stripe-count num

定义条带跨越的对象的数量。具体请参考4.4.5。

    –snap snap

定义某些操作的快照名称。

    –id username

指定map相关命令的用户名(非client前缀)。

    –keyfile filename

在进行map相关命令操作时,指定一个包含秘钥的文件。如果未指定则client.admin做为缺省值使用。

    –keyring filename

在进行map相关命令操作时,指定包含秘钥的一个秘钥环文件。如果没有指定则从默认位置搜索。

    –shared tag

命令lock add的选项,使用该选项允许多个客户端锁同一个镜像,但必须使用相同的tag。tag是一个任意的字符串。该选项通常用在多个客户端需要同时访问同一个镜像的情况下,例如虚拟机在线迁移,集群文件系统等。

    –format format

定义输出格式(缺省: plain, json, xml)

    –pretty-format

使用json或者xml格式而非可读模式作为输出。

    -o map-options, –options map-options

    在映射镜像时指定映射选项。映射选项是逗号分隔的字符串(类似mount(8)的挂在选项)。参考映射选项相关章节。

    –read-only

将镜像映射为只读模式,等价于-o ro。

    –image-features features

创建一个镜像时,指定RBD格式2的那些特性可以工作。包含如下特性:

    +1: layering support +2: striping v2 support +4: exclusive locking support +8: object map support

    –image-shared

指定被多个客户端公用的镜像的名称。这将禁用该镜像独占相关所有的特性。

应用示例

  1. 创建100GB的镜像

        rbd -p mypool create myimage –size 102400

       或者另外一种方式:

       rbd create mypool/myimage –size 102400

       使用非默认对象大小

        rbd create mypool/myimage –size 102400 –order 23

  1. 删除一个镜像

      rbd rm mypool/myimage

  1. 创建一个新的快照

      rbd snap create mypool/myimage@mysnap

  1. 创建一个被保护快照的COW克隆

       rbd clone mypool/myimage@mysnap otherpool/cloneimage

  1. 查看快照下的克隆

      rbd children mypool/myimage@mysnap

  1. 删除一个快照

      rbd snap rm mypool/myimage@mysnap

  1. 映射一个镜像为块设备

            rbd map mypool/myimage –id admin –keyfile secretfile

  1. 取消块设备的映射

           rbd unmap /dev/rbd0

  1. 创建一个镜像,并创建其克隆

          rbd import –image-format 2 image mypool/parent

          rbd snap create –snap snapname mypool/parent

          rbd snap protect mypool/parent@snap

          rbd clone mypool/parent@snap otherpool/child

 

  1. 创建一个比较小的stripe_unit的镜像

适配写IO比较小的负载情况,提高性能。

          rbd -p mypool create myimage –size 102400 –stripe-unit 65536 –stripe-count 16

  1. 将镜像从一个格式改为另一种

首先导出该存储池,然后以期望的存储池格式导入。

         rbd export mypool/myimage@snap /tmp/img

         rbd import –image-format 2 /tmp/img mypool/myimage2

  1. 为了独占使用,锁住一个镜像

         rbd lock add mypool/myimage mylockid

  1. 释放镜像锁

         rbd lock remove mypool/myimage mylockid client.2485

如果引用本站的原创文章,请注明原文链接:,本站保留追究责任的权利!

发表评论