所选语种没有对应资源,请选择:

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

提示

尊敬的用户,您的IE浏览器版本过低,为获取更好的浏览体验,请升级您的IE浏览器。

升级

FusionCloud 6.3.1 故障处理 06

评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
docker thinpool空间不足

docker thinpool空间不足

现象描述

健康巡检docker thinpool空间检查报错

10.109.67.113:
Process exited with status 10.109.67.113:
Process exited with status 1

可能原因

docker thinpool空间不足

处理方法

  1. pass用户登录到异常节点,然后使用如下命令切到root用户

    su - root

  2. 判断有无新磁盘。

    fdisk -l 查看是否有新磁盘,如果没有则单独外挂一块磁盘上去。

    假设新增的磁盘是/dev/sdh1

  3. 关闭docker服务:

    systemctl stop docker

  4. 查看用来扩容的新磁盘名称。

    fdisk -l

  5. 执行vgdisplay命令查询docker卷组名称(VG Name)。

    vgdisplay

      --- Volume group ---
      VG Name               opt_vg
      System ID
      Format                lvm2
      Metadata Areas        1
      Metadata Sequence No  2
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                1
      Open LV               1
      Max PV                0
      Cur PV                1
      Act PV                1
      VG Size               100.00 GiB
      PE Size               4.00 MiB
      Total PE              25599
      Alloc PE / Size       25575 / 99.90 GiB
      Free  PE / Size       24 / 96.00 MiB
      VG UUID               P9SWQ3-5Jmr-QFo7-4R38-llLC-J85n-gMYxuD
      --- Volume group ---
      VG Name               vg-docker
      System ID
      Format                lvm2
      Metadata Areas        1
      Metadata Sequence No  6
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                1
      Open LV               1
      Max PV                0
      Cur PV                1
      Act PV                1
      VG Size               100.00 GiB
      PE Size               4.00 MiB
      Total PE              25599
      Alloc PE / Size       24757 / 96.71 GiB
      Free  PE / Size       842 / 3.29 GiB
      VG UUID               vT44E3-INMa-Kl26-dT5t-Z0cW-aEy4-miKd61

    记录有“docker”关键字的VG Name,此处以“vg-docker”进行举例描述。

  6. 扩容volume group(vg):

    vgextend vg-docker /dev/sdh1

    vg-docker”是步骤 5查询到的VG Name。

    “/dev/sdh1”是步骤 4中查询到的新磁盘,根据实际情况修改。

  7. 扩容逻辑卷(lv)。

    lvextend -l+100%FREE -n vg-docker/data

    vg-docker”是查询到的VG Name。

    这里直接把100%的free空间给docker/data了,可以调节。

    也可以指定扩容的大小,如下:

    lvextend -L+16M -n vg-docker/data

    查看docker卷信息如下图所示。

    上图中提示“Logical volume data not found in volume group docker”可以忽略,对最终的操作结果没有影响。

  8. 重新启动dm thin pool。

    1. 获取docker thin pool的name:

      dmsetup status | grep pool

      docker-253:1-219956224-pool: 0 31457280 thin-pool 48 435/524288 17593/245760 - rw discard_passdown queue_if_no_space

      “docker-253:1-219956224-pool”为docker thin pool的name。

    2. 获取thin pool table:

      dmsetup table docker-253:1-219956224-pool

      0 31457280 thin-pool 253:3 253:2 128 32768 1 skip_block_zeroing

      “docker-253:17-1835016-pool ”为8.a中获取的docker thin pool的name。

      “31457280”是指有多少个sector。

      “thin-pool 253:3 253:2 128 32768 1 skip_block_zeroing”是thin pool table。

    3. 计算新增盘大小。

      我们对thin pool table的改动仅限于大小,也就是第二个字段(上面的31457280)。该字段是指有多少个sector。

      至于一个sector有多大,可以通过以下命令获取。

      lvs

      LV       VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
        thinpool docker twi-aot--- 94.90g             22.35  2.33                     
        vol_opt  opt_vg -wi-ao---- 99.90g       

      “thinpool”是LV名字。“docker”是VG名字。

      blockdev --getpbsz /dev/VG名字/LV名字

      512

      然后用 “增加的磁盘(bytes)/512” 就是增加的sector数。用新的值(新增加的sector数加上旧sector数之和)替换老的值,做下一步,更新thin pool的table。

    4. 重启dm thin pool。

      dmsetup suspend docker-253:17-1835016-pool

      “docker-253:17-1835016-pool ”为8.a中获取的docker thin pool的name。

      dmsetup reload docker-253:17-1835016-pool --table '0 62914560 thin-pool 253:3 253:2 128 32768 1 skip_block_zeroing'

      “thin-pool 253:3 253:2 128 32768 1 skip_block_zeroing”为8.b中获取thin pool table。

      62914560”是修改后的sector数量。

      dmsetup resume docker-253:17-1835016-pool

      这里只修改了sector的数量。这样thin pool resize就已经完成了。剩下的就是重启docker了。

    5. 查看docker thinpool的VG Size是否扩容成功。

      vgdisplay

      如下所示,VG Size增加的值为用户扩容的磁盘大小,即扩容成功。

       --- Volume group ---
        VG Name               vg-docker
        System ID
        Format                lvm2
        Metadata Areas        2
        Metadata Sequence No  7
        VG Access             read/write
        VG Status             resizable
        MAX LV                0
        Cur LV                1
        Open LV               1
        Max PV                0
        Cur PV                2
        Act PV                2
        VG Size               124.99 GiB
        PE Size               4.00 MiB
        Total PE              31998
        Alloc PE / Size       24757 / 96.71 GiB
        Free  PE / Size       7241 / 28.29 GiB
        VG UUID               EU72rf-mP1G-VO99-7X5h-DsfI-VfzG-O1Z8q3

  9. 重启docker。

    systemctl restart docker

    操作结束。

  10. 如果服务器没有新的磁盘,但是lvm本身还有空间,也可以对dm进行扩容,只需要跳过步骤 6,直接对逻辑卷(lv)扩容即可(执行步骤 3步骤 7步骤 8步骤 9)。
翻译
下载文档
更新时间:2019-08-19

文档编号:EDOC1100043088

浏览量:18463

下载量:439

平均得分:
本文档适用于这些产品
相关版本
相关文档
Share
上一页 下一页