Docker LVM瘦池元数据大小调整

时间:2016-01-18 21:33:22

标签: docker metadata lvm

我使用LVM thinpool进行docker存储(dm.thinpooldev),到目前为止我已经在元数据池上用完了几次空间。它很容易打击,因为我可以重新创建具有大型元数据的精简池,但我只是猜测(并且可能过度猜测)它有多大。

有没有人对Docker的元数据的相对大小有任何建议?看起来lvcreate中的默认值不够:

  

- poolmetadatasize MetadataVolumeSize [bBsSkKmMgG]                 设置池的元数据逻辑卷的大小。对于精简池,支持的值介于2MiB和16GiB之间,   和高达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

或替换任意元数据大小

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}

0 个答案:

没有答案