获取映像列表
要挂载块设备映像,先罗列出所有的映像。
rbd list
映射块设备
用 rbd 把映像名映射为内核模块。必须指定映像名、存储池名、和用户名。若 RBD 内核模块尚未加载, rbd 命令会自动加载。
sudo rbd map {pool-name}/{image-name} --id {user-name}
例如:
sudo rbd map rbd/myimage --id admin
如果你启用了 cephx 认证,还必须提供密钥,可以用密钥环或密钥文件指定密钥。
sudo rbd map rbd/myimage --id admin --keyring /path/to/keyring
sudo rbd map rbd/myimage --id admin --keyfile /path/to/file
取消块设备映射
要取消块设备映射,用 rbd 命令、指定 unmap 选项和设备名(即为方便起见使用的同名块设备映像)。
sudo rbd unmap /dev/rbd/{poolname}/{imagename}
例如:
sudo rbd unmap /dev/rbd/rbd/foo
创建块设备映像
要想把块设备加入某节点,你得先在 Ceph 存储集群中创建一个映像,使用下列命令:
rbd create --size {megabytes} {pool-name}/{image-name}
例如,要在 swimmingpool 这个存储池中创建一个名为 bar 、大小为 1GB 的映像,执行:
rbd create --size 1024 swimmingpool/bar
如果创建映像时不指定存储池,它将使用默认的 rbd 存储池。例如,下面的命令将默认在 rbd 存储池中创建一个大小为 1GB 、名为 foo 的映像:
rbd create --size 1024 foo
Note
指定此存储池前必须先创建它,详情见存储池。
罗列块设备映像
要列出 rbd 存储池中的块设备,可以用下列命令(即 rbd 是默认存储池名字):
rbd ls
用下列命令罗列某个特定存储池中的块设备,用存储池的名字替换 {poolname} :
rbd ls {poolname}
例如:
rbd ls swimmingpool
检索映像信息
用下列命令检索某个特定映像的信息,用映像名字替换 {image-name} :
rbd info {image-name}
例如:
rbd info foo
用下列命令检索某存储池内的映像的信息,用映像名字替换 {image-name} 、用存储池名字替换 {pool-name} :
rbd info {pool-name}/{image-name}
例如:
rbd info swimmingpool/bar
调整块设备映像大小
Ceph 块设备映像是精简配置,只有在你开始写入数据时它们才会占用物理空间。然而,它们都有最大容量,就是你设置的 --size 选项。如果你想增加(或减小) Ceph 块设备映像的最大尺寸,执行下列命令:
rbd resize --size 2048 foo (to increase)
rbd resize --size 2048 foo --allow-shrink (to decrease)
删除块设备映像
可用下列命令删除块设备,用映像名字替换 {image-name} :
rbd rm {image-name}
例如:
rbd rm foo
用下列命令从某存储池中删除一个块设备,用要删除的映像名字替换 {image-name} 、用存储池名字替换 {pool-name} :
rbd rm {pool-name}/{image-name}
例如:
rbd rm swimmingpool/bar
调整RBD镜像大小
在上面的映射完块设备格式化挂载后,使用resize命令调整RBD,然后用XFS在线调整特性扩容文件系统。