Microsoft storage spaces controller

Microsoft storage spaces controller

Как я писал в предыдущих публикациях, на самом деле Windows 8 есть что предложить пользователю кроме нового интерфейса Metro (а иногда и в противовес ему). У меня Windows 8 прочно обосновалась на настольном ПК благодаря одному только Hyper-V, но это, конечно, довольно специальное применение, востребованное далеко не каждым. В этой статье речь пойдет о еще одной важной новинке, которая также достаточно сложна в техническом плане, но, тем не менее, может претендовать на гораздо большую популярность.

Storage Spaces

В русскоязычной версии Windows 8 функция, с которой я хочу познакомить читателей, называется «Дисковые пространства».

Перевод совершенно неудачный, поскольку набирающие популярность SSD к дискам никакого отношения не имеют. По-английски же название звучит совершенно корректно — Storage Spaces, пространства хранения.

Если не вдаваться в глубокую теорию, то «Дисковые пространства» представляют собой программный RAID в составе всех редакций Windows 8. Вообще говоря, для Windows это не новость — похожую функциональность предоставляют динамические диски, а Drive Extender из Windows Home Server можно считать прямым прообразом нынешнего решения. Тем не менее «Дисковые пространства» имеют свою специфику, и можно предположить, что они умышленно вынесены на пользовательский уровень, чтобы привлечь к ним дополнительное внимание. Но прежде чем приступить к их изучению, напомним вкратце о самом

Эта аббревиатура расшифровывается как Redundant Array of Independent Disks, т. е. избыточный массив независимых дисков. Причем первоначально I означало Inexpensive, поскольку речь шла о применении недорогих дисков из мира ПК. По мере развития технологии, в частности с применением SCSI-дисков, это качество перестало ощущаться, что и привело к соответствующей замене в названии. Сейчас такая же участь, по-видимому, ожидает последнюю букву D, которую, ввиду все более широкого распространения SSD, следовало бы трактовать как Drives, накопители.

Наиболее принципиальное свойство RAID — избыточность (т. е. использование накопителей сверх минимально необходимого количества), которая в итоге трансформируется в другие полезные качества: отказоустойчивость и/или производительность. Существуют различные схемы работы RAID, каждая из которых имеет свои особенности.

К примеру, самый простой RAID 0 объединяет два или более накопителея в единое пространство суммарного объема, причем распараллеливание операций чтения/записи позволяет существенно повысить производительность. Ценой же будет, вообще говоря, снижение надежности, т. к. выход из строя одного накопителя разрушает весь массив из-за того, что запись ведется не файлами, а достаточно крупными блоками данных.

А RAID 1 представляет собой простейшее «зеркало», когда все операции на двух накопителях дублируются, т. е. они всегда представляют копии друг друга. Таким образом при отказе одного, вся информация остается доступной на другом. Это главное, но не единственное преимущество. RAID 1 также ускоряет чтение данных, распараллеливая операции, тогда как скорость записи остается примерно такой же, как и у одиночного накопителя. Здесь как раз хорошо видна та самая избыточность: ведь мы используем два накопителя, хотя с точки зрения объема данных хватило бы и одного.

Реализации RAID бывают аппаратные и программные. Первые представляют собой платы расширения, которые могут быть достаточно дороги, поскольку включают специализированный процессор, RAM для кэша, резервное питание (батарейку) для корректного завершения работы в случае пропадания внешнего питания и пр. Программные RAID, соответственно, реализуются средствами ПО и сегодня существуют для всех распространенных ОС. Они, таким образом, задействуют обычные вычислительные ресурсы компьютера, что и является их основным недостатком — под большой нагрузкой общая производительность системы может снижаться. С другой стороны, близость программных RAID к ОС позволяет обеспечить дополнительную гибкость, что мы и увидим на примере «Дисковых пространств».

Как это работает

Microsoft постаралась сделать «Дисковые пространства» максимально прозрачными для пользователя и гибкими в применении. Для этого будущее хранилище формируется на двух уровнях.

Прежде всего, необходимо создать так называемый пул хранения, т. е. логическое объединение нескольких накопителей. Примечательно, что при этом можно комбинировать устройства с разными объемами и интерфейсами — USB, SATA, SAS, SCSI и даже iSCSI. Количество накопителей, вообще говоря, также может быть совершенно произвольным, не считая минимальных ограничений для каждого типа пространств (см. ниже).

Если вы еще не экспериментировали с данной функцией, то, запустив аплет «Дисковые пространства», увидите приглашение выполнить первичную настройку:

Дальше будут автоматически найдены все физические накопители, которые можно объединить в пул — отдельно пустые и содержащие данные или отформатированные. Имейте в виду, что старые данные будут безвозвратно удалены. Кроме того, для RA >

Как уже говорилось, нет никаких препятствий для объединения в один пул накопителей различных типов и объемов, как, к примеру, на иллюстрации ниже — объединены внутренний SATA- и внешний USB-диски:

На протяжении всего процесса настройки Windows не выдает никаких рекомендации или предупреждений о возможных нюансах — скажем, с производительностью. Между тем, чрезмерные вольности, безусловно, могут приводить к негативным эффектам. Именно поэтому перед использованием «Дисковых пространств» следует разобраться с ними.

Затем на основе пула хранения создаются уже собственно пространства, которые на системном уровне будут выглядеть как обычные логические диски, хотя их природа, как понятно из описания, достаточно виртуальна. Поскольку в моем примере пул объединяет два физических накопителя, то Windows довольно логично предлагает организовать двухстороннее зеркало:

Однако доступны и другие варианты:

Тип пространства Минимальное число дисков в пуле Допустимое число отказавших дисков Аналог RAID
Простое 1
Двухсторонее зеркало 2 1 1
Трехсторонее зеркало 5 2 1E (?)
Четность 3 1 5

Остановимся чуть подробнее на каждом из них.

Простое пространство, которое является аналогом RAID 0, не улучшает надежности и может использоваться для ускорения работы с некритичными данными или с файлами огромных размеров. Более того, можно считать, что на самом деле в данном случае надежность как раз ухудшается. Дело в том, что данные на дисковые пространства (любых типов) записываются не файлами, а довольно большими блоками и считаны они могут быть только с функционирующего пространства. Но простое дисковое пространство разрушается, если в пуле выйдет из строя хотя бы один накопитель — при этом никаких аварийных инструментов пока нет, хотя блоки, вероятно, могут хранить какие-то файлы целиком. Такая же проблема касается и всех прочих типов — при отказе числа накопителей свыше допустимого. Некоторые сторонние разработчики заявили о намерении создать соответствующие утилиты, но, насколько мне известно, реально пока ничего не показали. Хотя правильней было бы, чтобы этим вопросом озаботилась сама Microsoft.

В двухстороннем зеркале каждая операция записи осуществляется одновременно на два накопителя. Соответственно, при отказе любого одного накопителя пространство остается работоспособным. Однако, если в пуле более двух дисков то задействоваться они могут все и алгоритм такого «размазывания» от пользователя скрыт.

Трехстороннее зеркало подразумевает параллельную запись на три накопителя, что, соответственно, защищает от отказа любых двух. Для соответствующего пространства, однако, требуется целых пять дисков, хотя в бета-версии Windows 8 достаточно было именно трех. Вероятно, схема RAID видоизменилась уже в последний момент и в доступной сегодня документации четко не описана. Скорее всего, это нечто вроде RAID 1E, где каждый блок действительно записывается трижды, но каждая следующая операция выполняется со сдвигом на один накопитель, т. е. заведомо равномерно «размазывается» по всему пулу. Обычно это делается для улучшения производительности (за счет большего распараллеливания), но будет ли это справедливо в данном случае — вопрос открытый. Некоторые обозреватели также предположили, что речь может идти о RAID 6, однако это достаточно медленная схема (из-за необходимости расчета двух типов контрольных сумм), чего по тестам не видно. В любом случае, для «Дисковых пространств» трехсторонне зеркало — единственный способ добиться максимально надежного хранения критичных данных.

Читайте также:  Gigabyte gtx 560 ti 2gb

Наконец, пространство с контролем четности (видимо, для краткости оно называется просто четность) в точности соответствует RAID 5. В нем одновременно может задействоваться от 3 до 8 накопителей (хотя пул, как обычно, может содержать и больше). Схема работает следующим образом: на все накопители кроме одного записываются блоки с полезными данными, а на последний — блок контрольных сумм, представляющих собой результат операции XOR. Соответственно, при отказе одного из накопителей, недостающие данные могут быть буквально вычислены. C точки зрения надежности пространство с контролем четности аналогично двухстороннему зеркалу, однако в остальном они отличаются заметно. Так, избыточные данные в первом случае составляют 1/N от общего объема, где N — от 3 до 8 (т. е. равно количеству накопителей, на которые одновременно ведется запись), а во втором — всегда 1/2. Однако из-за необходимости расчета контрольных сумм, пространства с контролем четности ощутимо медленнее на запись, вследствие чего их рекомендуют для хранения больших объемов редко изменяемых данных, к примеру, видео.

На предыдущей иллюстрации видно, что одной из немногочисленных настроек пространства является его размер. В данном случае он вроде бы логично для двухстороннего зеркала установлен в половину от общего доступного объема. Однако же использованные накопители вовсе не равны. Более того, на самом деле можно установить любой размер — на функционировании пространства это никак не скажется. В частности, как только будет заполнен меньший накопитель, пространство демонтируется и восстановить его функционирование можно будет добавлением в соответствующий пул новых накопителей. Подобный принцип работы обеспечивается так называемой тонкой инициализацией (thin provisioning), когда, несмотря на заявленные показатели, физическое пространство реально выделяется только под конкретные запросы системы.

Отсюда, в частности, вытекают еще несколько особенностей «Дисковых пространств». Во-первых, в отличие от аппаратных реализаций RA >

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

Специфика функционирования

Надеюсь, предыдущий раздел дал общее представление о гибкости «Дисковых пространств», однако, как и всегда, это качество достигается за счет ряда компромиссов. Часть из них, как то: блочная запись и объединение накопителей различных типов — уже затрагивались. Но есть и другие, которые также необходимо иметь в виду.

Пространства и пулы вполне переносимы, но только в пределах Windows 8, так как в других ОС технология не поддерживается. Сам этот процесс совершенно прост, поскольку вся информация о конфигурации, а также достаточно подробные журналы операций хранятся на самих накопителях. Понадобится лишь вручную смонтировать пространство через аплет в Панели управления, т. к. автоматически это не делается.

Протоколирование работы с пространствами имеет ряд преимуществ. К примеру, при добавлении нового диска в пул пространства не будут перестаиваться, что, с одной стороны может снижать эффективность их работы, но с другой — минимизирует дополнительную нагрузку на компьютер. При замене дефектного накопителя в сохранившем работоспособность пространстве заполнение его необходимой информацией будет выполнено автоматически, причем в фоновом режиме. При отключении и повторном подключении накопителя все данные на нем сохранятся, будут лишь добавлены новые, связанные с пропущенными операциями записи. Обо всех проблемах в работе пулов и пространств выдаются краткие системные оповещения с приглашением заглянуть в аплет «Дисковые пространства»:

А вот реакция Windows на заполнение пространства достаточно своеобразна. Начиная с 70% пользователю будут выдаваться соответствующие оповещения, а при полном исчерпании места пространство автоматически демонтируется — подключить его обратно можно вручную через аплет «Дисковые пространства». Хотя кажется более логичным, чтобы пространство просто переводилось в режим только для чтения.

Производительность

Вполне закономерно, что это один из самых неоднозначных вопросов, относящихся к «Дисковым пространствам». Комбинирование накопителей с разными интерфейсами может приводить к самым различным эффектам. Особенно это касается USB, где не всегда даже понятно, как порты распределяются между контроллерами и, конечно, дело не только в пропускной способности интерфейса (т. е. USB 3.0 не решит всех проблем). К сожалению, никаких предупреждений при формировании пулов и пространств пользователь не получает — хотя некоторые неудачные конфигурации вычисляются довольно легко.

Вот как выглядит производительность дисковых пространств из примеров этой статьи.

А вот, для сравнения, производительность использованных физических накопителей.

Видно, что запись на зеркало определяется худшими показателями для двух накопителей, а чтение, как и все операции с простым пространством — усредненными. В данном случае результаты, пожалуй, было несложно предсказать, исходя из принципов работы схем RAID. Однако если бы накопителей в пуле было больше, арифметика была бы не столь проста.

К сожалению, для проведения полновесного тестирования под рукой не оказалось необходимого оборудования, но в общем можно утверждать, что в тех случаях, когда удается распределить одинаковые накопители по независимым каналам, результаты примерно соответствуют общим представлениям о RAID, хотя и с несколько худшим уровнем масштабируемости:

  • простое пространство увеличит производительность и чтения, и записи пропорционально количеству накопителей;
  • при зеркалировании производительность записи примерно соответствует показателям отдельного накопителя (хотя в некоторых случаях может и замедляться), скорость чтения повышается;
  • пространство с контролем четности также улучшает производительность чтения, но замедляет запись в разы (типично — вчетверо).

Выводы

Благодаря различным компромиссам и ухищрениям «Дисковые пространства» реализованы таким образом, чтобы среднестатистическому пользователю не пришлось даже задумываться о подробностях конфигурирования и обслуживания RAID. C помощью этой возможности, к примеру, можно совершенно просто задействовать старые, разрозненные накопители, которые уже рискованно использовать поодиночке. Да, это приведет к каким-то негативным эффектам, но работать все будет исправно и совершенно автоматически. Для более опытных пользователей и администраторов небольших серверов имеется возможность и тонкой настройки посредством PowerShell. Конечно, сегодня появляется все больше бюджетных NAS, однако они все-таки служат несколько иным целям, требуют дополнительных затрат и не обладают гибкостью «Дисковых пространств». В любом случае, хорошо иметь выбор. Наконец, само появление «Дисковых пространств» в Windows 8 говорит о том, что Microsoft пока не собирается сбрасывать со счетов рынок традиционных ПК.

  • Тип драйвера: SCSI and RA >Производитель: Microsoft
  • Версия: 6.9.12.400 (08 май 2018)
  • Файл *.inf: cht4sx64.inf
Читайте также:  Epson l800 общая ошибка

Драйверы для Microsoft Storage Spaces Controller собраны с официальных сайтов компаний-производителей и других проверенных источников. Официальные пакеты драйверов помогут исправить ошибки и неполадки в работе Microsoft Storage Spaces Controller (контроллеры). Скачать последние версии драйверов на Microsoft Storage Spaces Controller для компьютеров и ноутбуков на Windows.

Storage Spaces в Windows Server 2012 R2

Как устроен Storage Spaces

Storage Spaces — технология виртуализации дискового пространства, которая впервые появилась в Microsoft Windows Server 2012. Storage Spaces является дальнейшим развитием механизма управления динамическими дисками в Windows. Основой является широко применяемая в решениях различных вендоров концепция дисковых пулов: отдельные физические диски сервера объединяются в один или несколько пулов, на базе которых создаются тома с различными уровнями производительности и отказоустойчивости. Использование Storage Spaces вместо аппаратного RAID-контроллера имеет ряд преимуществ и недостатков, которые будут подробно рассмотрены ниже.

Термины

  • Storage pool (пул хранения) — набор физических дисков. В одном пуле могут находится диски, отличающиеся по объёму, производительности и интерфейсу подключения.
  • Virtual disk (виртуальный диск) — термин для определения логический том в Storage Spaces. Для создания виртуального диска используется ёмкость выбранного дискового пула. При этом доступны несколько вариантов отказоустойчивости (их можно комбинировать в пределах одного пула), большинство из которых являются аналогами традиционных RAID-массивов различных уровней.
  • Simple (простой) — аналог RAID-0. Поток данных разбивается на страйпы (по умолчанию размером в 256КиБ), которые распределяются по дискам в пуле. Виртуальный диск simple обеспечивает оптимальное использование ёмкости дисков и является самым производительным, но не предполагает никакой отказоустойчивости.
  • Mirror (зеркальный): для каждого страйпа в зеркальном виртуальном диске записывается дополнительно одна (двойное зеркало, 2-way mirror) или две (тройное зеркало, 3-way mirror) копии. Аналогом в плане использования ёмкости дисков для двойного зеркала является RAID-10 (или 1E для нечётного числа дисков). Зеркальный ВД защищён от потери одного или двух дисков соответственно.
  • Parity (виртуальный диск с контролем чётности): запись страйпов на диски чередуется с записью контрольной суммы. В Windows Server 2012 R2 появились диски с двойной чётностью (dual parity), в которых дополнительно пишется вторая контрольная сумма. Как и аналогичные RAID-5 и RAID-6 ВД с контролем чётности допускают потерю одного или двух дисков соответственно и обеспечивают минимальную потерю дискового пространства (-1 или -2 диска соответственно). Традиционным недостатком любых реализаций томов с контрольными суммами является низкая производительность на запись из-за необходимости модификации всего полного страйпа вместе с контрольными суммами. Отсутствие фиксированного размещения страйпов в Storage Spaces и RAM-кэша на контроллере (используются обычные HBA) усугубляет данную проблему, сравнение производительности ВД single parity и dual parity с RAID-5 и RAID-6 будет ниже.
  • В Windows Server 2012 R2 появился функционал enclosure awareness: при размещении страйпов учитывается размещение дисков по различным дисковым полкам (SAS JBOD’ам) для получения отказоустойчивости на уровне дисковых полок. Например, ВД с двойным зеркалированием (2-way mirror), размещенный на трёх дисковых полках, допускает потерю одной дисковой полки целиком.
  • Параллельность распределения страйпов в виртуальном диске определяется числом т.н. столбцов (columns). Для получения максимальной производительности число столбцов для виртуальных дисков с уровнем отказоустойчивости simple и parity должно соответствовать количеству физических дисков, но в настройках по умолчанию максимальное число столбцов, например, для simple равно 8. Это связано с особенностями механизма расширения ёмкости пула: для оптимального использования ёмкости число добавляемых дисков должно соответствовать максимальному числу столбцов, которое используется виртуальными дисками, а для зеркальных дисков — числу столбцов * числу копий страйпа (2 для 2-way mirror, 3 для 3-way mirror).
  • Storage tiers (ярусное хранение данных). В Windows Server 2012 R2 появилась поддержка 2-ярусного (SSD и HDD) размещения данных на виртуальных дисках Storage Spaces. Приоретизация доступа к быстрому ярусу из SSD возможна путём управления ёмкостью (при создании ВД указываются комбинация объёмов SSD и HDD ярусов) либо на файловом уровне: необходимый файл можно привязать к SSD-ярусу для обеспечения гарантированной производительнности.
  • Write-back cache (кэш на запись). Для компенсации низкой производительности на случайную запись небольшая часть SSD в пуле используется для кэширования записи. При этом оставшаяся часть ёмкости SSD может быть использована для ярусного хранения.
  • Ограничения

    Количество дисков и ёмкость:

    • До 240 дисков одном пуле (в Windows Server 2012R2, ранее — до 160-ти), но пулов может быть несколько.
    • До 80-ти дисков в кластеризованном пуле, до 4-х пулов на кластер.
    • До 64-х виртуальных дисков в одном пуле.
    • Общая ёмкость пула — до 480ТиБ.

    Столбцы и количество дисков в ВД:

    Тип ВД Минимальное число столбцов Соотношение столбцы/диски Минимальное число дисков Максимальное число столбцов
    Simple (простой) 1 1:1 1
    Two-way mirror (двойное зеркало) 1 1:2 2
    Three-way mirror (тройное зеркало) 1 1:3 5
    Single parity (одиночная чётность) 3 1:1 3 8
    Dual parity (двойная чётность) 7 1:1 7 17

    Прочее

    • Виртуальный диск Storage Spaces не может использоваться в качестве загрузочного.
    • Для Storage Spaces можно использовать только диски с интерфейсами SAS, SATA и USB. Тома, презентуемые RAID-контроллерами; тома iSCSI, FC и прочие не поддерживаются.

    Требования при использовании в кластере

    • Нельзя использовать "тонкие" диски, допускается только фиксированное выделение ёмкости (fixed provisioning).
    • Минимальное количество дисков для двойного зеркала — 3, для тройного зеркала — 5.
    • В кластере можно использовать ВД с Parity, но только начиная с Windows Storage Server 2012 R2
    • Используемые диски — только SAS с поддержкой SPC (SCSI persistent reservation). Многие ранние SAS-диски не поддердивают SPC. Аналогичное требование существует и для LSI Syncro CS.

    Storage Spaces в кластерах

    Одна из самых востребованных возможностей Storage Spaces — использование в failover-кластере Windows. Архитектура решения предельно проста: требуются диски SAS (см. дополнительные требования к дискам и организации томов), SAS JBOD (дисковая полка) с двумя SAS-экспандерами и минимум двумя разъемами для подключения к каждому из экспандеров (для двухузлового кластера). На серверах в качестве контроллеров используются обычные SAS HBA. Мы рекомендуем LSI (любые SAS2 и SAS3 HBA с внешними портами, например LSI 9207-8e), но можно использовать и Adaptec серий 6H и 7H.

    Минимальной конфигурация выглядит так: два сервера, в каждом из них двухпортовый SAS HBA с подключением к 2-экспандерному SAS JBOD’у на базе корпуса Supermicro и SAS диски.

    Для использования в качестве SAS JBOD’а можно использовать любой корпус Supermicro с двумя экспандерами (E26 или E2C в наименовании для SAS2 и SAS3 соответственно). Каждый экспандер в корпусах Supermicro имеет минимум два разъема x4 SAS (SFF-8087 или SFF-8643), которые можно использовать в качестве входов. При наличии третьего разъема его можно использовать для каскадирования (подключения дополнительных дисковых полок) или для построения топологии с тремя узлами в кластере.

    Читайте также:  Ssd для ps4 slim

    Существуют варианты в одном корпусе, т.н. Cluster-in-a-box (CiB): готовые комплекты SSG-6037B-CIB032 и SSG-2027B-CIB020H на базе Supermicro Storage Br >

    Производительность

    Решение на базе Storage Spaces может масштабироваться до более чем миллиона IOPS при использовании SSD и зеркальных томов. Но производительность на запись в Parity и Dual Parity по-прежнему оставляет желать лучшего, и такие конфигурации без write-back кэша на SSD подходят лишь для узкого круга задач с преимущественной нагрузкой на чтение.

    Всестороннее исследование производительности Storage Spaces в разных конфигурациях было проведено компанией Fujitsu. В нашей тестовой лаборатории мы повторили некоторые из этих тестов, дополнив измерение IOPS и пропускной способности значениями средней и максимальной задержек.

    Условия тестирования

    • Два процессора E5640
    • 8GB RAM
    • Системная плата Supermicro X8DTL-iF
    • Контроллер Adaptec 6805 (тесты с аппаратным RAID), кэш на чтение включен, кэш на запись включен
    • Контроллер LSI 9211-8i (тесты со Storage Spaces, прошивка P19 IT
    • Диски HGST HUA723030ALA640 (3ТБ 7200об/мин SATA3): 12шт для тестов RAID-10 vs Storage Spaces 2-way mirror и 13шт для тестов RAID-6 vs Storage Spaces dual parity
    • 2шт SSD Intel 710 100ГБ для тестов с tiering’ом и write-back кэшом
    • Microsoft Windows Server 2012 R2 Standard
    • Для генерации нагрузки применялся FIO версии 2.1.12

    Для тестирования использовался скрипт, реализующий серию 60-секундных раундов нагрузки с различными шаблонами и варьированием глубины очереди. Для определения окна установившегося состояния используется та же методика, что и в нашем пакете для тестирования SSD, разработанного в соответсвии со спецификацией SNIA Solid State Storage Performance Test Specification Enterprise v1.1. Для всех замеров использовался тестовый файл объёмом 100ГиБ, кроме тестов с ярусным хранением, где использовался файл объёмом 32ГиБ.

    Для наглядности использовались шаблоны аналогичные использованным в тестах от Fujitsu:

    Шаблон Доступ Чтение Запись Размер блока, КиБ
    File copy случайный 50% 50% 64
    File server случайный 67% 33% 64
    Database случайный 67% 33% 8
    Streaming последовательный 100% 0% 64
    Restore последовательный 0% 100% 64

    Результаты

    RAID-10 vs Storage Spaces 2-way mirror

    Шаблоны Database (IOPS), File copy, File Server (пропускная способность). Для шаблона Database используется логарифмическая шкала. По графикам видно, что 2-way mirror заметно уступает в производительности традиционному аппаратному RA >

    RAID-6 vs Storage Spaces dual parity

    Шаблоны Database (IOPS), File copy, File Server (пропускная способность). Storage Spaces с Dual Parity существенно отстаёт от аппаратного RA >

    Преимущества и недостатки Storage Spaces

    Преимущества

    • Снижение затрат на оборудование.

    Для простых проектов с одиночным сервером: SAS HBA или чипсетный контроллер вместо аппаратного RAID-контроллера; возможность использовать недорогие диски SATA, формально не совместимые с аппаратными RAID (например, WD Red) вместо дисков nearline класса.

    Для проектов с одиночной неотказоустойчивой СХД и большими требованиями к плотности размщениния дисков можно использовать такие платформы (72 диска в 4U, до 432ТБ сырой ёмкости при использовании 6ТБ дисков):

    Для кластерных решений: простые дисковые полки (SAS JBOD’ы) вместо дорогостоящих СХД.

    Высокая производительность. Решение на базе Storage Spaces и SSD легко масштабируется по пропускной способности и IOPS путём добавления дисковых полок и HBA вплоть до нескольких миллионов IOPS и десятков ГБ/с. Сравнительно невысокая производительность обычных HDD может быть компенсирована применением ярусного хранения с размещением "горячих" данных на SSD и/или использованием SSD для кэширования операций записи.

    Использование tiering’а (ярусного хранения) в сочетании с кэширование записи на SSD в Storage Spaces в большинстве случаев работает эффективнее, обходится дешевле и имеет большие пределы масштабирования в сравнении с реализацией SSD кэша на аппаратных RAID-контроллерах (например, LSI CacheCade или Adaptec MaxCache).

    Гибкое использование дискового пространства. В Storage Spaces можно комбинировать на одной дисковой группе (в одном пуле) тома с любым уровнем отказоустойчивости, при добавлении в пул SSD — с любым соотношением ёмкости между HDD- и SSD-ярусами и/или ёмкостью write-back кэша.

    Для всех видов томов, за исключением использования в кластере, томов с ярусным хранением и томов Dual Parity поддерживается Thin Provisiong (тонкое выделение ресурсов) — это позволяет выделять ёмкость только по мере реального использования.

    Недостатки

    • Низкая производительность на запись при использовании обычных HDD, особенно в Parity и Dual Parity

    Определенный тип нагрузки на запись (случайный доступ небольшими блоками, сосредоточенный в определённой области) может быть легко компенсирован добавлением SSD в качестве быстрого яруса и кэша на запись. Но продолжительную линейную нагрузку на запись компенсировать не получится, так что рекомендовать использование Storage Spaces, например, для видеонаоблюдения нельзя.

    Для бюджетных кластерных решений под Windows (с похожей архитектурой на базе SAS JBOD) с высокой нагрузкой на запись мы советуем использовать вместо Storage Spaces специальные RAID-контроллеры LSI Syncro CS.

  • Ограниченное масштабирование кластера. Для использования Storage Spaces в кластере необходим совместный доступ к дискам через дисковую полку с двумя SAS-экспандерами (SAS JBOD). SAS JBOD не является отдельной самостоятельной СХД, поэтому кластер с использованием Storage Spaces может состоять максимум из 4-х узлов (необходим специальный SAS JBOD с 4-мя входами на каждый экспандер), а в типовых конфигурациях с SAS JBOD Supermicro — максимом из 3-х узлов (или 2-х при необходимости подключать дополнительные JBOD’ы каскадом).
  • Советы по оптимальному использованию Storage Spaces

    • При использовании в кластере используйте только SAS HDD и SSD, избегайте использования SATA дисков с дополнительными интерпозерами.
    • При создании виртульных дисков учитывайте число т.н. столбцов. Данный параметр может очень сильно влиять на производительность. Нестандартное число столбцов можно задать только при использовании PowerShell. Использование большего числа столбцов повышает производительность, но накладывает ограничение на добавление дисков в пул.

    Пример (виртуальный диск Dual Parity, 13 столбцов, 1000ГиБ, Fixed Provisioning):

    New-VirtualDisk -StoragePoolFriendlyName Pool1 -FriendlyName VD02 -ResiliencySettingName Parity -NumberOfColumns 13 -PhysicalDiskRedundancy 2 -Size 1000GB -ProvisioningType Fixed

  • Избегайте использования виртуальных дисков Parity и Dual Parity при наличии большой нагрузки на запись и/или случайного доступа малыми блоками.
  • Одним из самых востребованных на сегодня решений является небольшой 2-узловой кластер для Hyper-V. Из-за конкурентного обращения нескольких ВМ достаточно высокий процент нагрузки на дисковую подсистему будет состоять из случайного доступа. При расчёте дисковой подсистемы планируйте использование зеркальных виртуальных дисков (2-way mirror — стандартное двойное зеркалирование, для особых сценариев можно использовать тройное), производительность Parity и Dual Parity будет достаточно только для архивных данных. Планируйте использование минимум двух SSD для tiering’а и кэширования записи.
  • Избегайте добавления дисков с разной производительностью (например, HDD 7200 и 10000 об/мин) в общий пул либо создавайте виртуальные диски только из HDD с одинаковой производительностью, выбирая их вручную в GUI или через параметр -PhysicalDisksToUse при создании через PowerShell. Диски SSD должны быть либо вынесены в отдельный пул, либо использоваться совместно с HDD только в качестве быстрого яруса и/или write-back кэша.
  • Ссылка на основную публикацию
    Adblock detector