1

Я добавил через vSphere 5.5 новый жесткий диск объемом 500 МБ на виртуальную машину, и сервер видит его как 524 МБ.

Есть идеи почему?

fdisk -l
>Disk /dev/sdg: 524 MB, 524288000 bytes
>64 heads, 32 sectors/track, 500 cylinders
>Units = cylinders of 2048 * 512 = 1048576 bytes
>Sector size (logical/physical): 512 bytes / 512 bytes
>I/O size (minimum/optimal): 512 bytes / 512 bytes
>Disk identifier: 0x00000000

1 ответ1

5

Метрический префикс Mega- имеет несколько разных последствий в разных областях ИТ, а с дисками это особенно запутывает. Традиционно метрические префиксы имеют степень 10, но в начале истории ИТ такие префиксы, как килограмм, мега и гига, использовались для представления приблизительных значений в степенях 2 при преобразовании в десятичную.

Производители дисков берут префикс буквально и измеряют КБ как 1000 (10 ^ 3) байтов, тогда как при фактическом использовании размер килобайта должен быть степенью 2 (поскольку он состоит из битов) и обычно принимается равным 1024 байта (2 ^ 10). МБ на диск производителей составляет 1000000 байт, тогда как для всех остальных это 1048576 (2 ^ 20), включая вашу ОС, поэтому, когда вы сохраняете файл размером 1 КБ, он занимает 1024 байта на диске. Однако одним исключением из-за его сильной связи с дисками является fdisk .

В прежние времена числа были настолько малы, что мы могли игнорировать дополнительные 24 байта на КБ, но по мере расширения емкости, чем больше метрических префиксов и двоичных префиксов расходилось, и разница стала незначительной. В масштабе Терабайт мы теряем около 70 ГБ в конвертации. По этой причине многие люди теперь используют бинарные префиксы явно, чтобы избежать путаницы. VMWare выбрал именно это.

Kilo => 10^3
Mega => 10^6
Giga => 10^9
Tera => 10^12

Kibi => 2^10 (1,024)
Mebi => 2^20 (1,048,576)
Gibi => 2^30 (1,073,741,824)
Tibi => 2^40 (1,099,511,627,776)

Таким образом, в этом случае у вас есть VMWare, использующая MiB, и FDisk, использующий MB, поэтому на рисунках будет несоответствие.

С точки зрения VMWare, вы просили 500 МБ, и он дал вам, но с точки зрения Fdisks это объем 524 МБ. Однако эти два значения абсолютно одинаковы.

Итак, для объема 500 МБ расчет размера:

500 * 1048576B = 524288000B => 500 MiB which equals 524MB

однако для диска объемом 500 МБ расчет будет следующим:

500 * 1000000B = 500000000B => 500MB which equals 476MiB поэтому вы не сможете хранить в нем 500 МБ фактических данных.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .