1.首先找到需要扩容的pod对应的pv地址

kubectl -n test get pv pvc-229a097b-b8a8-11eb-940a-20040ff83e99 -o yaml
image: kubernetes-dynamic-pvc-229c7b0b-b8a8-11eb-ae55-20040ff83e99

找到用到的地址,然后在ceph集群对应机器上查看寻找该地址所在的rbd空间

rbd showmapped|grep kubernetes-dynamic-pvc-229c7b0b-b8a8-11eb-ae55-20040ff83e99
18 rbd  kubernetes-dynamic-pvc-229c7b0b-b8a8-11eb-ae55-20040ff83e99 -    **/dev/rbd18** 

查看对应空间使用情况

df -h|grep  "/dev/rbd18"
/dev/rbd18      4.8G   20M  4.8G   1% /var/lib/kubelet/plugins/kubernetes.io/rbd/mounts/rbd-image-kubernetes-dynamic-pvc-229c7b0b-b8a8-11eb-ae55-20040ff83e99

扩容用到的语句:
rbd showmapped #显示挂载的设备文件
rbd resize [pool]/[image] --size [new size] #单位为MB
resize2fs /dev/rbd0 #将扩容容量添加到对应的rbd上

=备注==:需要找到要扩容的pod,在那一台机器上,然后在进行扩容操作。
查看是否存在RBD空间使用情况
[root@paas3 ~]# df -h |grep rbd
/dev/rbd0 9.8G 104M 9.7G 2% /var/lib/kubelet/plugins/kubernetes.io/rbd/mounts/rbd-image-kubernetes-dynamic-pvc-c82ef18c-240a-11eb-8e3b-542bde0aeb0c
[root@paas3 ~]#
或查看k8s磁盘压力
kubectl describe nodes 10.10.10.24

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   #20480为扩容后大小,单位为MB,20480即为20GB磁盘空间
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 ~]# re
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
最后修改日期: 2021年11月17日

作者

留言

撰写回覆或留言

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