今天在搞一个项目的k8s集群,遇到ceph的一个rbd空间满了,扩容后显示空间不变的问题。
扩容:
找到对应的pv地址:
1、查看当前image大小

[root@ceph-client ~]# rbd showmapped
id pool image snap device   
0  rbd  foo   -    /dev/rbd0

[root@ceph-client ~]# rbd info foo
rbd image 'foo':
    size 15360 MB in 3840 objects
    order 22 (4096 kB objects)
    block_name_prefix: rb.0.1026.238e1f29
    format: 1

[root@ceph-client ~]# df -Th
Filesystem            Type      Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root xfs        29G  3.8G   25G  14% /
devtmpfs              devtmpfs  2.0G     0  2.0G   0% /dev
tmpfs                 tmpfs     2.0G   88K  2.0G   1% /dev/shm
tmpfs                 tmpfs     2.0G  8.8M  2.0G   1% /run
tmpfs                 tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/sda1             xfs       497M  106M  392M  22% /boot
/dev/rbd0             ext4       15G  1.1G   13G   8% /mnt

可以看出当前大小为15G

2、扩容到20G

[root@ceph-client ~]# rbd resize --size 20480 foo
Resizing image: 100% complete...done.

[root@ceph-client ~]# df -Th
Filesystem            Type      Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root xfs        29G  3.8G   25G  14% /
devtmpfs              devtmpfs  2.0G     0  2.0G   0% /dev
tmpfs                 tmpfs     2.0G   88K  2.0G   1% /dev/shm
tmpfs                 tmpfs     2.0G  8.8M  2.0G   1% /run
tmpfs                 tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/sda1             xfs       497M  106M  392M  22% /boot
/dev/rbd0             ext4       15G  1.1G   13G   8% /mnt

此时文件系统还未增大

[root@ceph-client ~]# blockdev --getsize64 /dev/rbd0
21474836480

[root@ceph-client ~]# resize2fs /dev/rbd0
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/rbd0 is mounted on /mnt; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 3
The filesystem on /dev/rbd0 is now 5242880 blocks long.

[root@ceph-client ~]# df -Th
Filesystem            Type      Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root xfs        29G  3.8G   25G  14% /
devtmpfs              devtmpfs  2.0G     0  2.0G   0% /dev
tmpfs                 tmpfs     2.0G   88K  2.0G   1% /dev/shm
tmpfs                 tmpfs     2.0G  8.8M  2.0G   1% /run
tmpfs                 tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/sda1             xfs       497M  106M  392M  22% /boot
/dev/rbd0             ext4       20G  1.1G   18G   6% /mnt

此方法只对格式化为EXT4文件系统的块设备有效。对于XFS,要在 resize之后执行
# xfs_growfs /mnt

注意:此时发现空间并没增加,还是处于100%状态,后边考虑是否为如下所说特殊kvm虚机,因云主机提供商周末不好联系,只能在不关机器各种尝试
后搜按如下信息,尝试也不能解决

***如果rbd用于kvm虚机,扩容后vm容量不会自动扩展////
1、先关闭虚拟机

2、unmap再map
[root@ceph-client ~]# rbd unmap /dev/rbd0
[root@ceph-client ~]# rbd showmapped
[root@ceph-client ~]# rbd map foo
/dev/rbd0

3、启动虚机

后重启了这台服务器,发现对应pv绑定的rbd转移到另一台机上,重新对另外一台机器进行扩容成功。这个最终原因仍然不清楚是何种原因,如果是特殊类型云主机问题,但是另外一台也是一样类型的云主机。
也可能扩容失败的云主机上有什么文件系统异常情况,待后续探索
附: pod申请空间流程

卷的整个流程如下:
(1)第一步是先创建卷 (2)第二步在节点上挂载卷 (3)将卷映射到Pod中
在删除Pod的时候,卷的卸载过程和上面正好相反
最后修改日期: 2022年6月8日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。