Недавно я отформатировал новый диск (точку монтирования) и хотел проверить правильный размер блока в Windows Server 2012 R2. Используя PowerShell, я проверил счетчики WMI
gwmi win32_volume | select name,blocksize
дал:
М: \ Объем2 \ 65536
Я хотел проверить начальное смещение, поэтому проверил раздел:
gwmi win32_diskpartition | select name,startingoffset,blocksize
что дало:
Диск 5, раздел 0 1048576 512
Таким образом, размер блока раздела равен 512, а объем - 64 КБ. Может ли кто-нибудь помочь мне понять разницу между этими двумя «размерами блока»?
На самом базовом уровне я понимаю разницу между разделом и объемом, но я ищу последствия измерений и, возможно, различия в том, что они на самом деле измеряют, если таковые имеются.
Размер блока тома также можно рассматривать как «размер логического блока» - это размер блока, установленный для файловой системы, которую вы устанавливаете на жесткий диск.
Размер блока раздела - это, по сути, размер, при котором оборудование, записывающее биты на жесткий диск, может записывать (a / k / a «Физический размер блока»). На нижних контроллерах и контроллерах настольных компьютеров это обычно фиксируется (обычно в диапазоне от 8 до 64k), на более высоких контроллерах это настраивается до некоторого максимума, установленного производителем.
Итак, почему так важны размеры блоков? Ну, это немного более длинный ответ. но в зависимости от вашего приложения и размера файлов, которые оно читает и записывает. Обычно у вас есть два места, на которые нужно обратить внимание:
Размер файла:
Каждый файл занимает как минимум один блок, как правило, намного больше. В один и тот же блок нельзя записать несколько файлов. В случае большого количества небольших файлов вы начнете терять значительную часть доступного дискового пространства. Например: у меня есть диск размером 1024 МБ с размером блока 64 КБ, всего 16000 блоков на диске, однако я пишу только файлы размером 2 КБ, что означает, что на каждые 2 КБ данных, которые я пишу, я занимают 64к места на диске. Это потеряло бы мне ~ 62 КБ дискового пространства на одну запись.
Производительность:
Размер блока играет важную роль в производительности, так это то, что вы хотите, чтобы размер вашего логического блока был согласован с размером вашего физического блока, чтобы при чтении или записи на диск вам не приходилось извлекать из контроллера больше блоков, чем вы на самом деле. необходимость. Например, скажем, ваши блоки не выровнены. Они оба по 64 КБ, а вы читаете файл размером 59 КБ. Теперь, когда вы идете читать этот файл с диска, вашему контроллеру нужно выйти и захватить два блока, в общей сложности 128 КБ, протянутых через контроллер, просто чтобы захватить данные, содержащиеся в одном блоке данных в логическом разделе.
С другой стороны, если вы читаете или записываете большие файлы с диска, более эффективно использовать больший размер блока, чтобы контроллер и файловая система могли захватить больше данных за один проход, чем при меньшем размере блока.