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損壞的狀況,這種通常須要先修復文件系統再進行下一步的操做,參加其餘的文檔
相關文章
相關標籤/搜索