今天在搞一个项目的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的时候,卷的卸载过程和上面正好相反
留言