Docker LVM thinpool元数据大小

我正在使用LVM thinpool作为Docker存储(dm.thinpooldev),到目前为止,我已经在元数据池中耗尽了空间。 这很容易打击,因为我可以重新创build具有大型元数据的thinpool,但我只是猜测(可能猜测)有多大。

有没有人对Docker的元数据的相对大小有任何build议? 它看起来像lvcreate默认是不够的:

–poolmetadatasize MetadataVolumeSize [bBsSkKmMgG]设置池的元数据逻辑卷的大小。 对于精简池,支持的值范围介于2MiB和16GiB之间,对于caching池,支持的值介于16GiB之间。 最小值是从池的数据大小计算的。 精简池的默认值是(Pool_LV_size / Pool_LV_chunk_size * 64b)。 默认单位是兆字节。

我使用的基本命令是:

DISK=/dev/xvdf VG=docker_vg LV=docker_pool pvcreate $DISK vgcreate $VG $DISK lvcreate -l 100%FREE --thinpool $LV $VG 

或者replace一个任意的元数据大小

 lvcreate -l 100%FREE --poolmetadatasize 200M --thinpool $LV $VG 

[编辑]好吧,没有回应,所以我现在只用1%。 到目前为止,这对我们是有效的,尽pipe可能仍然过度configuration。

  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}