Docker LVM thinpool元数据大小调整

Docker LVM thinpool元数据大小调整,docker,metadata,lvm,Docker,Metadata,Lvm,我正在使用LVM thinpool进行docker存储(dm.thinpooldev),到目前为止,元数据池的空间已经用完了好几次。这很容易解决,因为我可以用大量元数据重新创建thinpool,但我只是猜测(可能是过度猜测)它有多大 有人对Docker元数据的相对大小有什么建议吗?看起来lvcreate中的默认值还不够: --poolmetadatasize MetadataVolumeSize[BBSSKMMGG] 设置池的元数据逻辑卷的大小。对于精简池,支持的值在2MiB到16GiB之间,

我正在使用LVM thinpool进行docker存储(dm.thinpooldev),到目前为止,元数据池的空间已经用完了好几次。这很容易解决,因为我可以用大量元数据重新创建thinpool,但我只是猜测(可能是过度猜测)它有多大

有人对Docker元数据的相对大小有什么建议吗?看起来lvcreate中的默认值还不够:

--poolmetadatasize MetadataVolumeSize[BBSSKMMGG] 设置池的元数据逻辑卷的大小。对于精简池,支持的值在2MiB到16GiB之间, 缓存池最高可达16GiB。 最小值是根据池的数据大小计算的。精简池的默认值为(池大小/池大小/块大小* (第64b段)。默认单位为 兆字节

我使用的基本命令有:

DISK=/dev/xvdf
VG=docker_vg
LV=docker_pool
pvcreate $DISK
vgcreate $VG $DISK
lvcreate -l 100%FREE --thinpool $LV $VG
或者替换任意大小的元数据

lvcreate -l 100%FREE --poolmetadatasize 200M --thinpool $LV $VG
[编辑] 嗯,没有回应,所以我现在只拿1%。到目前为止,这对我们是有效的,尽管可能仍然供应过剩

  DISK=/dev/xvdf
  VG=docker_vg
  LV=docker_pool
  DOCKER_POOL_METADATA_PERCENTAGE=1

  DISK_SIZE=$(blockdev --getsize64 ${DISK})
  META_DATA_SIZE=$(echo "scale=0;${DISK_SIZE}*${DOCKER_POOL_METADATA_PERCENTAGE}/100" | bc)
  pvcreate ${DISK}
  vgcreate ${DOCKER_VG} ${DISK}
  # This metadata sizing is in k because bytes doesn't seem to translate properly
  lvcreate -l 100%FREE --poolmetadatasize $((${META_DATA_SIZE}/1024))k --thinpool ${DOCKER_POOL} ${DOCKER_VG}

这是用于护航卷存储,而不是docker图像/容器,但这是我迄今为止找到的关于该主题的唯一信息: