Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Обзор
Тонкая подготовка — это метод управления хранилищем, который оптимизирует выделение физических ресурсов хранилища. Это позволяет администраторам выделять большие объемы виртуального хранилища приложениям, чем физически доступно, с ожиданием, что не все выделенное хранилище будет использоваться одновременно.
Тонкая подготовка — это комплексное решение для подготовки хранилища, которое предлагает JIT-выделение. Для этого требуется планирование развертывания и выполнения хранилища на узле и клиентском приложении.
Функции тонкой подготовки Windows Server служат интерфейсами между тонким хранилищем, поддерживающим подготовку, и сервером узла. К функциям тонкой подготовки относятся:
- Идентификация логического блока подготовки (LUN)
- Уведомление о пороговом значении
- Дескриптор для исчерпания ресурсов
- Восстановление пространства для предоставления высокодоступной и масштабируемой службы подготовки хранилища конечным пользователям
Идентификация LUN тонкой подготовки
Windows Server принял стандартную спецификацию T10 SCSI Block Command 3 (SBC3) для определения тонких логических единиц подготовки (LUN) начиная с Windows Server 2012.
Во время перечисления начального целевого устройства Windows Server собирает все параметры свойств с целевого устройства и определяет тип подготовки и функцию UNMAP и TRIM. Устройство хранения сообщает о своем типе подготовки и возможности UNMAP и TRIM в соответствии со спецификацией SBC3.
Если устройство хранилища точно не сообщает о его текущей возможности, могут возникнуть проблемы совместимости устройств. Например, если устройство хранения сообщает о том, что она поддерживает команду UNMAP, но не поддерживает команду UNMAP, может возникнуть проблема с форматом диска. Если сведения о типе подготовки точны, стек хранилища может обеспечить лучшую обработку операций ввода-вывода в соответствии с типом подготовки хранилища.
Изменение емкости LUN или типа подготовки во время выполнения
Администратор хранилища может изменить тип подготовки или емкость LUN. При изменении типа подготовки или емкости LUN массив хранилища вызывает условие unit ATTENTION, которое возвращает правильную информацию при запросе данных о смысле. Windows Server регистрирует системное событие, чтобы предупредить системного администратора об изменении емкости или типа подготовки или LUN.
Пороговые и дескриптор исчерпания ресурсов
Тонкий объем luN подготовки обычно создается с меньшим объемом физического дискового пространства, чем размер LUN. Пороговое уведомление — это необходимая функция для оповещения узла и клиентского приложения о состоянии потребления дискового пространства.
Большинство тонких массивов хранилища подготовки не сообщают о событии при достижении порогового значения. Эти тонкие решения по подготовке хранилища разрешают уведомление порогового значения с помощью собственной служебной программы управления хранилищем. Таким образом, для ведущего и клиентского приложения единственным событием, которое такое хранилище массивов отчетов является постоянным исчерпанием ресурсов. Устройство хранения тонкой подготовки может использовать любой из следующих дескрипторов для оповещения системных администраторов или клиентских приложений, когда потребление дискового пространства приближается к емкости:
- Дескриптор уведомления порогового значения.
- Временный дескриптор исчерпания ресурсов.
- Дескриптор постоянного исчерпания ресурсов
Уведомление о пороговом значении тонкой подготовки
Служебная программа управления хранилищем задает минимальное пороговое значение подготовки. Windows Server не переопределяет пороговое значение, заданное служебной программой управления хранилищем. Для тонкой подготовки LUN администратор хранилища должен указать пороговое значение в соответствии со средней скоростью потребления хранилища. Когда команда записи пересекает пороговое значение, заданное целевым устройством хранилища, целевое устройство завершает команду с помощью смысле данных и отправляет сообщение THIN PROVISIONING SOFT THRESHOLD. Когда Windows Server получает соответствующие данные о смысле, происходит следующее:
- Системное событие регистрируется для оповещения администратора узла о достижении порогового значения использования ресурса или доступности на устройстве LUN.
- Сведения об используемых и доступных сопоставленных ресурсах передаются в системном журнале событий на странице журнала целевого устройства. Для создания системного события массив хранилища должен поддерживать спецификацию страницы журнала для подготовки логического блока для создания системного события Windows Server.
- Выполнена повторная команда.
Команды записи, отправленные после ведения журнала этой ошибки, могут быть потеряны, если FILE_FLAG_WRITE_THROUGH не задано, так как они могут активировать постоянное условие исчерпания ресурсов.
Временное исчерпание ресурсов
Если массив хранилища включает функцию автоматического роста в LUN, администратор может использовать уведомление о временном исчерпании ресурсов, чтобы устройство хранилища может выделить больше места для LUN в течение четырех секунд. Если команда записи вызывает временное состояние исчерпания ресурсов, устройство хранилища завершает команду, которая запрашивает операцию с помощью смысле данных и возвращает сообщение SPACE ALLOCATION IN PROGRESS. Временное исчерпание ресурсов обрабатывается следующим образом:
- Повторите исходный запрос четыре раза с интервалом повтора, равным 1 секунде.
- Если все повторные попытки завершаются ошибкой, запрос возвращается в приложение.
- Если устройство хранения не обрабатывает временное исчерпание ресурсов, Windows Server ожидает, что устройство хранилища завершится ошибкой следующего запроса на запись, возвращая постоянное состояние исчерпания ресурсов.
Постоянное исчерпание ресурсов
Постоянное условие исчерпания ресурсов указывает на то, что длина luN тонкой подготовки достигла максимального предела места хранения. При постоянном исчерпании ресурсов во время команды записи устройство хранения завершает операцию с помощью смысле данных и отправляет сообщение "SPACE ALLOCATION FAILED WRITE PROTECT". Постоянное исчерпание обрабатывается следующим образом:
- Команда записи не выполняется обратно в приложение, если команда FILE_FLAG_WRITE_THROUGH задана.
- Приложение может получить ответ успешного выполнения без завершения запроса или сброса на физический носитель, если команда записи не имеет FILE_FLAG_WRITE_THROUGH набор.
- Системное событие регистрируется, включающее сообщение об ошибке "постоянное исчерпание ресурсов".
- Код ошибки передается диспетчеру секций, а LUN выполняется в автономном режиме.
Восстановление места в хранилище с помощью команды UNMAP
В следующих сценариях можно активировать восстановление пространства:
- Удаление файла.
- Обрезка уровня файловой системы.
- Операция оптимизации хранилища.
Обрезка уровня файловой системы включена для устройства хранилища, предназначенного для выполнения операции обрезки или отмены карты.
Операция восстановления пространства в стеке хранилища
Windows Server преобразует уведомления об удалении или обрезке файлов в соответствующий запрос UNMAP:
- При удалении большого файла из файловой системы.
- При активации обрезки уровня файловой системы.
Стек драйверов портов хранилища преобразует запрос UNMAP в команду SCSI UNMAP или команду ATA TRIM в соответствии с типом протокола устройства хранения. Во время перечисления устройств хранения стек хранилища Windows собирает сведения о том, поддерживает ли устройство хранения команды UNMAP или TRIM. Только запрос UNMAP отправляется на устройство хранения, если устройство имеет функцию SCSI UNMAP или ATA TRIM. Windows Server также предоставляет реализацию API для отмены балансировки нагрузки на целевом устройстве хранилища. Windows Server не принимает наборы команд T10 SCSI WRITE SAME.
Запросы UNMAP из гостевой операционной системы Hyper-V
Во время создания виртуальной машины узел Hyper-V отправляет запрос о том, находится ли устройство хранения, на котором находится виртуальный жесткий диск (VHD), поддерживает команды UNMAP или TRIM. При удалении большого файла из файловой системы гостевой ОС виртуальной машины гостевой ОС гостевая ОС отправляет запрос на удаление файла на виртуальный жесткий диск виртуальной машины (VHD) или VHDX-файл (или VHDX-файл). VHD-файл виртуальной машины или VHDX туннелирует запрос SCSI UNMAP к стеку драйверов классов узла Windows Hyper-V следующим образом:
- Если у виртуальной машины есть VHD-файл, виртуальный жесткий диск преобразует команды SCSI UNMAP или ATA TRIM в запрос trim кода управления набором данных управления набором данных, а затем отправляет запрос на устройство хранилища узла.
- Если у виртуальной машины есть VHDX-файл, файловая система VHD преобразует команды SCSI UNMAP или ATA TRIM в запросы на обрезку на уровне файловой системы, а затем отправляет запросы в операционную систему узла.
Windows Hyper-V также поддерживает вызовы IOCTL DSM TRIM из гостевой операционной системы.
Программа Windows Optimize Drive
Конечные пользователи или системные администраторы могут использовать служебную программу "Оптимизация дисков" для освобождения места либо путем создания ручного запроса или оптимизации конфигурации расписания. Если диск является тонким устройством подготовки LUN, тип носителя диска отображается как "Тонкий диск подготовки".
Системный администратор может запланировать консолидацию дискового пространства с помощью служебной программы Optimize Drive. Служебная программа также может уведомить системного администратора, если система пропустит три последовательных запланированных запуска.
Получение состояния сопоставления плиток
В тонкой подготовке LUN все логические блоки группируются в плиты (кластеры). Параметр OPTIMAL UNMAP GRANULARITY, который сообщает устройство хранения, задает размер плиты. Все плиты классифицируются в сопоставленные, освобожденные или привязанные состояния. Windows Server рассматривает как освобожденные, так и привязанные состояния как несопоставленные состояния. Windows Server предоставляет реализацию API или выделение DSM IOCTL для получения состояния подготовки LBA из тонких LUN подготовки для операции управления хранилищем. Приложение может вызвать подпрограмму выделения DSM IOCTL для отправки команды SCSI и получения сопоставленного или распакованного состояния каждой плиты в определенном диапазоне. Если возвращенное состояние подготовки LBA не описывает весь диапазон выделения, приложение отправляет другую команду SCSI, чтобы получить состояние подготовки оставшегося диапазона LBA.
Устройство хранения не требует обработки всего диапазона LBA в одном возврате. Если возвращен частичный диапазон LBA исходного запроса, другая команда отправляется для получения состояний сопоставления оставшегося диапазона LBA.