2016-03-28 26 views
3

我的系統上的docke info命令輸出如下:Docker中爲什麼使用「數據空間」+「數據空間可用」!=「數據空間總量」?

# 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」= 「Data Space Total」?

+0

這是磁盤卷的?文件分配在整個頁面大小塊中:一個1字節的文件使用盡可能多的磁盤空間作爲一個10字節的文件。在添加個人大小時,您只能看到報告的11個字節,但磁盤空閒空間減少了2個整頁。 – usr2564301

回答

0

如果devicemapper使用loop-lvm配置,則使用「稀疏」存儲設備。您可以使用任意大小指定該設備的大小,但永遠不會使用比機器上實際可用的更多的存儲空間。

Data Space Total報告的大小是爲「稀疏」設備(在此例爲100 GB)中指定的大小。 「可用數據空間」顯示您系統上可用的空間量實際上可用。例如,下面,我在具有40GB實際存儲空間(使用-s devicemapper --storage-opt dm.loopdatasize=200G守護程序選項)的系統上創建了一個200GB的設備;

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(也可用於生產,使用直接LVM)的更多信息,請參閱https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/