Стандартный размер сектора 512 байт утвердился еще во времена первых жестких дисков и мэйнфреймов. В редакторе разделов диска он выглядит так, как показано на экране 1. Этот размер оставался практически неизменным до недавнего прошлого, когда два года назад на рынке появились накопители с новым размером сектора: 4096 байт, именуемые накопителями с сектором 4K или просто 4K-накопителями. В отрасли для их обозначения был выбран термин «расширенный формат». С момента появления новых накопителей индустрия хранения стоит на пороге фундаментального изменения.

 

512-байтовый сектор 0 (ноль) на физическом диске 0 (ноль) в редакторе Disk Probe
Экран 1. 512-байтовый сектор 0 (ноль) на физическом диске 0 (ноль) в редакторе Disk Probe

Причины изменения

Существует две причины увеличения размера сектора. Вторая по важности причина — размер накопителя. Сегодня все более широкое распространение получают жесткие диски размером 2 Тбайт. 512-байтовый сектор начинает ограничивать возможный размер единичного накопителя, если применяется старая схема разбиения на разделы с использованием главной загрузочной записи, MBR. Однако эта проблема не столь велика, поскольку в отрасли наблюдается тенденция применения дисков с таблицей глобальных идентификаторов GUID разделов (GPT) вместо дисков, форматируемых по схеме с MBR. Более подробный сравнительный анализ GPT и MBR приведен в моем блоге: «Двухтерабайтный предел хранилищ Windows» (blogs.technet.com/askcore/archive/2010/02/18/understanding-the-2-tb-limit-in-windowsstorage.aspx) и «GPT в Windows» (blogs.technet.com/b/askcore/archive/2010/10/08/gpt-in-windows.aspx).

Однако, как уже говорилось выше, размер диска — второстепенная причина. Основная проблема обусловлена необходимостью баланса между плотностью размещения, кодом с исправлением ошибок (ECC) и отношением «сигнал-шум» (SNR).

  • Плотность размещения (также именуемая плотностью разрядов) — это число данных, которые могут быть записаны на единице площади диска. Чем больше данных хранится, тем выше плотность размещения. Обратной стороной повышения плотности размещения является уменьшение соотношения «сигнал-шум» SNR.
  • ECC — это специальный код, сохраняемый на носителе и существующий за пределами секторов, предназначенных для хранения файлов.
  • SNR — это соотношение между полезным сигналом и шумом. Чем оно ниже, тем больше дискового пространства необходимо выделять для ECC.

Таким образом, если производители дисков увеличивают плотность размещения, то соотношение SNR уменьшается, вследствие чего требуется больше места для ECC, чтобы поддерживать приемлемую частоту возникновения ошибок, что снижает эффективность пространства на носителе. В конце концов, наступает момент, когда любой выигрыш в плотности размещения практически теряется из-за необходимости выделения дополнительного пространства под ECC.

Переходите на накопители 4K

На старых дисках с 512-байтовым сектором много пространства теряется именно из-за необходимости хранения ECC для каждого индивидуального сектора. Сектор большего размера позволяет оптимизировать ECC и за счет этого значительно сократить объем пространства, используемого для исправления ошибок, а также одновременно повысить способность диска обнаруживать ошибки в каждом отдельном секторе. Освободившееся пространство можно использовать для хранения файлов. Переход на диски с 4K-сектором позволит увеличить плотность размещения. Для единичного 4-килобайтового сектора код ECC значительно меньше, чем он был бы для восьми 512-байтовых секторов. А чем меньше пространства используется для ECC, тем больше освобождается места для хранения файлов.

Два типа накопителей 4K

Существует два типа накопителей с сектором 4K. Первый и самый распространенный тип — диск с эмуляцией 512-байтового сектора (512e). Фактически являясь накопителем с сектором 4K, он эмулирует диск с 512-байтовым сектором, представляя операционной системе два размера сектора: 512-байтовый логический блок, используемый как единица адресации, и сектор 4K в качестве физической элементарной единицы.

Второй тип накопителя — 4K Native, который значительно менее распространен, но встречается у некоторых жестких дисков с USB-интерфейсом объемом свыше 2 Tбайт. Вероятно, производители аппаратных средств выжидают момента большей готовности отрасли к появлению таких накопителей: нет смысла производить новый продукт, если лишь немногие могут его использовать. Накопители 4K Native не применяют эмуляцию 512-байтового сектора, и их логический и физический секторы имеют размер 4K.

Чтобы проверить тип используемого накопителя, сделайте следующее.

1. Установите соответствующие обновления (см. пункт «Вопросы поддержки»).

2. В окне командной строки с повышенными привилегиями введите следующую команду (где x — проверяемый диск):

fsutil fsinfo ntfsinfo x:

3. По значениям, приведенным в таблице в столбцах «Размер сектора» и «Размер физического сектора», определите тип накопителя.

 

Таблица. Определение типа используемого накопителя
Определение типа используемого накопителя

Существует другой способ проверить наличие накопителя 4K, но он лишь позволяет определить, относится ли данный накопитель к типу 4K Native или 512 Native. В меню «Пуск» выберите «Выполнить» и введите команду msinfo32. Разверните пункт «Компоненты» и выберите «Запоминающие устройства», затем «Диски». В строке «Байт/Сектор» вы увидите 4096 (экран 2).

 

Проверка наличия накопителя 4K
Экран 2. Проверка наличия накопителя 4K

Влияние на NTFS

Новый размер сектора 4K на уровне физического диска соответствует организации работы NTFS. Элементарный блок, с которым работает NTFS, именуется кластером или единицей размещения. По умолчанию для NTFS размер кластера составляет 4 Kбайт. Так что большинство существующих томов уже используют размер кластера, равный новому размеру сектора жесткого диска. Индексный блок, используемый NTFS, также имеет размер 4 Kбайт.

Когда накопители 4K Native получат большее распространение, NTFS от этого значительно выиграет. На сегодня в NTFS размер записи файла составляет 1 Kбайт. На дисках 4K Native размер записи файла будет составлять 4 Kбайт. Это означает, что для более сложных (фрагментированных) файлов значительно снизится вероятность достижения определенных ограничений файловой системы — например, предела фрагментации или ограничений на размер сжатого или разреженного файла. Подробнее о влиянии накопителей расширенного формата на NTFS см. заметку «NTFS и диски 4K» (blogs.msdn.com/b/ntdebugging/archive/2011/06/28/ntfs-and-4K-disks.aspx).

Вопросы поддержки

Хотя наступили замечательные времена для всех, кого интересуют технологии хранения, перейти на новый формат без проблем не получится. Размер сектора так долго оставался неизменным, что индустрия программного обеспечения попала в прочную зависимость от этой величины. Программисты на протяжении десятилетий работали в расчете на постоянный размер сектора. В отношении Windows существует ряд особых моментов, о которых необходимо знать, прежде чем переходить на накопители 4K. Заметим, что исправления, перечисленные ниже, применимы только в отношении накопителей 512e. В настоящее время ни одна из выпущенных версий Windows не предусматривает поддержки накопителей 4K Native для систем нижнего уровня.

Windows XP/2003/2003 R2. Microsoft не поддерживает накопители расширенного формата для Windows XP, Windows 2003 и Windows 2003 R2. Таким образом, поддержку должен предусматривать производитель диска. Было решено не тратить усилия на старые версии, выпущенные до появления новых накопителей.

Windows Vista/Server 2008. Для Windows Vista и Windows Server 2008 существуют проблемы, уже выявленные и исправленные. Эти исправления включены в состав пакета исправлений «Пакет исправлений для улучшения совместимости Windows Vista и Windows Server 2008 с накопителями расширенного формата» (support.microsoft.com/kb/2553708).

Windows 7/Server 2008 R2. Для Windows 7 и Server 2008 R2 также требуется установка исправлений для оптимизации работы с накопителями расширенного формата (см. «Обновление для улучшения совместимости Windows 7 и Windows Server 2008 R2 с накопителями расширенного формата» (support.microsoft.com/kb/982018)).

Hyper-V при размещении VHD. 512-байтовые операции записи, используемые с файлами VHD, могут привести к снижению производительности при размещении файлов VHD на дисках 512e. Это связано с избыточным количеством операций ввода-вывода в ходе процесса «Чтение-Изменение-Запись». Дело в том, что для каждого 512-байтового сектора, изменяемого гостевой системой, базовая система вынуждена считывать данные в 4 096-байтовый сектор, включающий в себя изменяемый 512-байтовый сектор, после чего внести изменение и записать 4 096-байтовый сектор обратно на диск. Если гостевой системе требуется внести 10 изменений, то этот процесс будет выполняться 10 раз. В такой ситуации Hyper-V абсолютно несовместим с накопителями 4K Native (см. статью Microsoft «Использование Hyper-V с накопителями с большим размером сектора в Windows Server 2008 и Windows Server 2008 R2» по адресу support.microsoft.com/kb/2515143).

Microsoft SQL Server. SQL Server будет запрашивать о размере сектора накопителя. В случае накопителя 512e ответ будет таков, что размер сектора составляет 512 байт. Поэтому SQL Server будет выполнять все свои операции ввода-вывода в 512-байтовом формате. Это приведет к инициированию аналогичного процесса «Чтение-Изменение-Запись». Более подробно об этом рассказано в статье «SQL Server — новые накопители с размером сектора 4K» (blogs.msdn.com/b/psssql/archive/2011/01/13/sql-server-newdrives-use-4 K-sector-size.aspx).

Windows Home Server. Самая последняя версия Windows Home Server поддерживает диски 512e, но более старые версии этой поддержки не имеют. Как отмечают специалисты Microsoft, важно иметь в виду, что некоторые изготовители жестких дисков выпускают накопители расширенного формата с использованием тех же базовых моделей, что и традиционные диски с 512-байтовым сектором. Если вы используете Windows Home Server v1, обязательно убедитесь, что приобретаемый вами диск не является накопителем расширенного формата. К сожалению, не всегда легко определить, является ли диск накопителем расширенного формата, пока вы его не купите. Поэтому полезно провести предварительное исследование.

Microsoft Exchange Server. Exchange также имеет особые правила в отношении использования накопителей 4K. Например, если планируется переход на накопители 4K, то это должна быть позиция «все или ничего». Либо все базы данных будут находиться на накопителях 4K, либо никакие. Комбинации не допускаются. Использование накопителей 4K Native не поддерживается. Поддерживаются только накопители 512e, и то только для версий начиная с Exchange 2010 SP1. Полный список требований для Exchange приводится в статье TechNet «О настройке хранилищ: Exchange 2010 SP1» (technet.microsoft.com/en-us/library/ee832792.aspx#Phys).

Возможности обеспечения поддержки

Позиция Microsoft в отношении обеспечения поддержки подробно описана в статье «Информация о политике поддержки Microsoft для накопителей с большим сектором в Windows» (support.microsoft.com/kb/2510009). В ней не только описаны возможности обеспечения поддержки накопителей 512e, но и приводится более подробная информация о некоторых выявленных проблемах, а также даются ссылки на обходные пути и исправления. По мере выявления новых проблем Microsoft будет дополнять эту статью.

Следует иметь в виду, что даже после установки обновления Windows для обеспечения поддержки накопителей 512e вам все равно придется использовать аппаратное обеспечение, поддерживающее их применение. В противном случае можно не увидеть диск правильно. Если используемый контроллер не распознает новое оборудование, то макет дисков будет передаваться неверно.

Резонанс

. Определить, наступило ли время перехода на диски расширенного формата, вам поможет предварительный анализ.

Дополнительную информацию о взаимодействии новых накопителей с продуктами Microsoft можно получить, ознакомившись со следующими материалами: «Обновление для обеспечения совместимости с диском с эмуляцией 512-байтового сектора (512e)» (msdn.microsoft.com/en-us/library/hh182553.aspx) и «Влияние накопителя с большим сектором (для ИТ-специалистов)» (technet.microsoft.com/en-us/library/hh147334(WS.10).aspx). Последняя из указанных статей содержит краткие справочные таблицы и подробное описание упомянутого процесса «Чтение-Изменение-Запись».

Роберт Митчелл (robtm@microsoft.com) — старший инженер службы поддержки в подразделении Windows Commercial Technical Support в Microsoft, специализируется на проблемах хранения данных