[Kubernetes] 容器挂载 ceph rbd 卷的平滑扩容方法

一、 背景介绍

        在之前的博客已经介绍了 Kubernetes 集成 ceph 分布式存储实现数据持久化的技术;

        本篇介绍如何对已经挂载到容器的rbd卷进行空间扩(缩)容!

二、 操作步骤

2.1   定位容器所使用的 ceph rbd 卷名称

       访问 kubernetes dashboard,进入“持久化存储卷索取”菜单,

       根据命名规则 “volumeClaimTemplates name - container name" 搜索,如 ceph-rbd-hadoop-m-0

       

       拷贝“存储卷”名称 pvc-xxxx,然后切到“持久化存储卷”菜单,搜索该 pvc

       

       点击 pvc 名称链接,进入详情页,可以看到该 pvc 实际使用的 rbd 名称

       

       拷贝镜像名称 kubernetes-dynamic-pvc-xxx,

2.2   扩容 rbd 卷

       登陆 ceph 集群控制机(ceph 任意控制节点),执行如下命令

# rbd resize --size 40960 kube/kubernetes-dynamic-pvc-b3de96b5-0019-11e8-ae98-0ae09837d988
       其中,40960 为扩容后大小,单位为MB,40960 即为 40GB 磁盘空间,

       kube 为 ceph rbd 所在存储池名称,可以在 “存储类”详情标签里找到,如下图

       

       

2.3   找到容器使用 rbd 卷的设备名称

        进入容器 shell,执行如下命令   

# df -h
        

        不难发现,/dev/rbd4 即为容器使用 rbd 的设备名称

2.4   定位容器运行所在宿主机

       可以通过“容器组”菜单下,目标容器的详情页查看容器运行所在物理节点

       

 2.5   进入该节点 shell,执行如下命令,更新 rbd 容量信息

# blockdev --getsize64 /dev/rbd4
# resize2fs /dev/rbd4
         

2.6   更新 pvc 容量显示信息

        因为 kubernetes 并不会感知到 rbd 的变化,因此需要手动修正 rbd 大小的显示信息

       来到“持久化存储卷”菜单,编辑已经修改过大小的 pvc,将其容量信息改为正确值,并执行更新

       

        来到“持久化存储卷索取”菜单,我们会发现绑定的存储卷大小已经自动修正为正确大小了

        

2.7   验证容器挂载的磁盘空间是否变大了

        进入容器 shell,执行 df -h 命令

        

       我们发现,/dev/rbd4 块设备已经从原来的 20G 扩大到 40G 了,而且进入挂载目录,会发现数据未丢失,实现了平滑扩容

       

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值