为什么“数据空间使用”+“数据空间可用”!=“数据空间总计”在docker中?

时间:2016-03-28 10:18:21

标签: docker

我系统上的docke info命令输出如下:

# docker info
Containers: 0
Images: 0
Storage Driver: devicemapper
 .....
 Data Space Used: 1.821 GB
 Data Space Total: 107.4 GB
 Data Space Available: 32.92 GB
 Metadata Space Used: 1.479 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.146 GB
......

Metadata Space Used”+“Metadata Space Available”= Metadata Space Total,但为什么“Data Space Used”+“Data Space Available”!=“{{1} }“?

1 个答案:

答案 0 :(得分:0)

如果devicemapper配置了loop-lvm,那么它使用"稀疏"储存设备。您可以使用任何所需的大小指定该设备的大小,但是您永远不能使用比计算机上实际可用的存储空间更多的存储空间。

报告为Data Space Total的大小是为"稀疏"指定的大小。设备(在这种情况下为100 GB)。 "数据空间可用"显示系统上实际可用的空间量。

例如,下面,我在具有40GB实际存储空间的系统上创建了一个200GB的设备(使用-s devicemapper --storage-opt dm.loopdatasize=200G守护程序选项);

Storage Driver: devicemapper
 Pool Name: docker-253:1-138480-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 10.74 GB
 Backing Filesystem: ext4
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 305.7 MB
 Data Space Total: 214.7 GB
 Data Space Available: 39.79 GB
 Metadata Space Used: 1.147 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.146 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0

您可以看到它报告Data Space Total: 214.7 GB(200GB),但显示39.79 GB可用(系统上可用的物理空间)

请注意,当物理空间不足时,您将受到数据损坏,并且您可能无法从中恢复,因此值得监控您有多少空间离开了。

有关配置devicemapper(也适用于生产,使用direct-lvm)的更多信息,请参阅https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/