Ceph RBD 在线调整大小

laurentbarbe

使用 libvirt 和 XFS 扩展 rbd 驱动

首先,在物理主机上调整设备大小。

获取当前大小

1
$ qemu-img info -f rbd "rbd:rbd/myrbd"

小心,您必须指定更大的大小,缩小卷对文件系统来说是破坏性的。

1
$ qemu-img resize -f rbd "rbd:rbd/myrbd" 600G

列出 myVM 的设备定义

1
$ virsh domblklist myVM

调整 libvirt blockdevice

1
2
$ virsh blockresize --domain myVM --path vdb --size 600G
$ rbd info rbd/myrb

在客户机上扩展 xfs

1
$ xfs_growfs /mnt/rbd/myrbd

使用内核模块扩展 rbd

要在 ceph 客户端上支持调整大小,您至少需要内核 3.10。对于早期版本,请参阅 http://dachary.org/?p=2179

获取当前大小

1
$ rbd info rbd/myrbd

只需执行

1
2
$ rbd resize rbd/myrbd --size 600000
$ xfs_growfs /mnt/rbd/myrbd

此外,从 cuttlefish 开始,您无法在不指定其他选项(–allow-shrink)的情况下缩小块设备