ceph rbd resize以后文件系统的调节

###ceph的rbd是能够进行调节大小的,可是调节须要进行一些操做,不然你看不到调节以后的效果,等于没调节,由于rbd就至关一块硬盘,可是文件系统一经初始化,分派的总容量大小、块大小 inode数量就定了,再去调节,势必要对sb分区进行从新才能够。 ###固然调节的方法要看具体的文件系统才能判断使用相应的工具node

# rbd create --size 10000 test
# rbd map test
# mkfs.ext4 -q /dev/rbd1
# mount /dev/rbd1 /mnt
# df -h /mnt
Filesystem      Size  Used Avail Use% Mounted on
/dev/rbd1       9.5G   22M  9.0G   1% /mnt
# blockdev --getsize64 /dev/rbd1
10485760000
# rbd resize --size 20000 test
Resizing image: 100% complete...done.
# blockdev --getsize64 /dev/rbd1
20971520000
# resize2fs /dev/rbd1
resize2fs 1.42 (29-Nov-2011)
Filesystem at /dev/rbd1 is mounted on /mnt; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/rbd1 is now 5120000 blocks long.
# df -h /mnt
Filesystem      Size  Used Avail Use% Mounted on
/dev/rbd1        20G   27M   19G   1% /mnt
$ qemu-img info -f rbd "rbd:rbd/myrbd"
$ qemu-img resize -f rbd "rbd:rbd/myrbd" 600G
$ virsh domblklist myVM
$ virsh blockresize --domain myVM --path vdb --size 600G
$ rbd info rbd/myrb
$ xfs_growfs /mnt/rbd/myrbd

遇到的问题dom

  1. resize2fs不生效 有两个点能够致使这个问题
  • 若是rbd 客户端的状态上已经不存在客户端会话,那这块的resize以后,blockdev就没法再去获取最新的size,进而没法再去调整,解决的办法是从新作一次mount,让客户端会话从新生成,rbd status xxx不为空就能够了
  • 若是ext4文件系统存在inode损坏的状况,这种通常须要先修复文件系统再进行下一步的操做,参加其余的文档
相关文章
相关标签/搜索