что такое nvme raid mode в биосе
На полной скорости: руководство по оптимальной настройке SSD-накопителей
Благодаря оптимальным настройкам твердотельные накопители способны достичь максимальной производительности. В RAID-массиве они даже могут ставить новые рекорды.
Твердотельные накопители победно шествуют по миру. У дисков на основе флеш-памяти много достоинств, а теперь к ним добавилась еще и доступность больших накопителей емкостью до 1 Тбайт. Кроме того, устройства средней и высшей категории долговечны, о чем свидетельствует большая гарантия, указываемая производителями. И, казалось бы, остается только купить модуль, установить и перенести ОС. Однако не все так просто, как хотелось бы. Оптимальной производительности и большого срока службы накопитель может достигнуть только с правильными настройками. В первой части статьи рассказываем о параметрах наиболее популярных типов твердотельных накопителей.
Тип устройства энергонезависимой памяти определяется протоколом, обеспечивающим передачу данных. На первый взгляд разница может быть практически незаметной. С использованием обычного механизма AHCI скорость обмена данными достигает 550 Мбайт/с, а новой спецификации NVMe — до 4000, причем с более коротким откликом и улучшенным параллельным доступом. Накопители с поддержкой этих протоколов существуют в различных форм-факторах. Для AHCI это традиционный корпус форм-фактора 2,5 дюйма с разъемом SATA и модуль M.2 с так называемым ключом B. Для NVMe наиболее популярен форм-фактор M.2 с ключом M.
Во второй части статьи мы расскажем о возможностях твердотельных накопителей. Для этого мы создали массив RAID 0 из двух высокоскоростных носителей. Однако прежде чем пытаться ставить рекорды, стоит попробовать добиться оптимальной производительности на обычном твердотельном диске.
Подключаем правильно
Первый порт M.2 (выделен желтым) разделяет ресурсы по полосе пропускания с портами SATA 5-6. Если второй порт M.2 (выделен красным) задействовать под накопитель AHCI, он использует полосу пропускания портов SATA 1-2 — вместе с накопителем NVMe в разъеме M.2
Оптимальное использование твердотельных накопителей M.2
Накопители формата M.2, будучи высокоскоростными и компактными (22×80 мм), идеально подходят для мобильных компьютеров. Правда, модули M.2 умещаются не во все компьютеры, кроме того, NVMe и AHCI — это два разных протокола. Если вы последовательно будете выполнять рекомендации, то быстро найдете накопитель, который оптимально подойдет именно для вашего ПК.
В руководстве пользователя или в технических характеристиках на сайте производителя материнской платы десктопа вы найдете информацию о возможности и условиях установки накопителя форм-фактора M.2.
Настройка
Накопители NVMe лучше всего работают с драйверами производителя. Кроме того, нужно установить эту галочку в настройках накопителя (в диспетчере устройств)
Слот M.2 предусмотрен на платах для процессоров поколений Haswell/Broadwell (разъем LGA 1150) и выше, но, как правило, передача данных на старых платах в нем ведется только по двум линиям PCIe 2.0, из-за чего скорость не может превышать одного гигабайта в секунду. Кроме того, нередко обнаруживается, что в UEFI нет поддержки устройств NVMe или нет драйверов для них, поэтому, скорее всего, нужно будет приобрести модуль M.2 с AHCI или обычный накопитель SATA.
Начиная со Skylake чипсет материнской платы поддерживает четыре линии PCIe 3.0, которые в сумме обеспечивают скорость до 4 Гбайт/с. Если при этом на компьютер установлена Windows 10, ничего не мешает поместить модуль M.2 с поддержкой NVMe. В установщике и ОС Windows 7 и 8 отсутствуют драйверы USB для платформы Skylake, а также для накопителей NVMe, что вдвойне усложняет установку. Перед монтажом модуля обратите внимание, с какими интерфейсами слот M.2 разделяет ресурсы по полосе пропускания: разъемы SATA могут быть недоступны при подключении накопителя M.2 AHCI, а накопитель M.2 NVMe может использовать полосу пропускания одного из слотов PCIe. Сверьтесь по руководству пользователя и в случае необходимости подключите другие накопители или видеокарты в свободные слоты.
Windows 10 достигает оптимальной скорости загрузки только в случае, если загрузка компьютера происходит в режиме UEFI и активирована опция Fast Boot
У ноутбука выявить совместимость с накопителем M.2 и его протоколом бывает сложнее, поскольку производители не публикуют такие данные. Поэтому часто приходится рыскать по Интернету, забив в поиск маркировку компьютера и «M.2». Если найдете ноутбук этой же линейки, оснащенный накопителем M.2, это можно считать признаком совместимости. Но все же модуль M.2 стоит покупать только после того, как вы разберете ноутбук и изучите слот M.2. По нему можно определить длину подходящего модуля (42, 60, 80 или 110 мм — форм-факторы обозначаются «M.2 2242», «M.2 2260» и т. д.). Если сомневаетесь, берите для вашего ноутбука модуль M.2 на AHCI. Такую память можно определить по тому, что она выпускается и в форм-факторе 2,5 дюйма с SATA, например, Samsung 850 Evo, Crucial MX300 или SanDisk X400.
Оптимизация ОС под NVMe
Для новых накопителей, которые работают на NVMe, при любом раскладе нужен соответствующий драйвер. В Windows 10 он есть по умолчанию, так что с установкой и настройкой SSD проблем возникнуть не должно. Для наилучшей скорости загрузки и максимальной производительности нужно установить Windows 10 в чистом режиме UEFI. В меню загрузки выберите установочный носитель в режиме UEFI (вместо «USB» или «SATA»). Во время создания логических разделов системного накопителя проследите за тем, чтобы установщик создал таблицу разделов GUID. Так в настройках UEFI Boot будут доступны опции Fast Boot или Ultra Boot, позволяющие сократить время запуска до экрана приветствия до нескольких секунд.
Накопители NVMe работают с драйверами Windows 10, но по-настоящему разгоняются только с драйверами от своего производителя, поэтому такой накопитель лучше выбирать от крупного производителя с хорошей поддержкой ПО (Samsung, Intel, Toshiba, OCZ) и установить их самые свежие драйвера. Для Windows 7 и 8 установите драйвера от производителя во время переустановки.
SSD и материнские платы с портами SATA 3 Гбит/с
SSD с интерфейсом SATA может ощутимо ускорить работу ПК, даже если тот оснащен только устаревшими портами SATA 3 Гбит/с. Нужно учесть только следующие моменты:
> Скорости более 300 Мбайт/с не достигнет ни один накопитель, подключенный по SATA 3 Гбит/с. Новые накопители с разъемом SATA 6 Гбит/с обратно совместимы со старыми портами, но скорость будет ограничена до 3 Гбит/с минус накладные расходы.
> В BIOS Setup нужно активировать режим AHCI. Часто оказывающийся предустановленным на старых компьютерах режим IDE отнимает у твердотельного накопителя немало быстродействия. Во время запуска системы откройте BIOS Setup и поищите нужный параметр, например, в разделе «Peripherals…SATA Controller».
> Очень старые твердотельные накопители (например, Intel X25-E и более ранние, Samsung до 470) не поддерживают команду TRIM, поэтому диск не может физически удалить ненужные данные, что в результате интенсивного использования приводит к значительной потере производительности. Чтобы привести такой накопитель в чувство, можно создать резервную копию данных, затем при помощи Live-дистрибутива Linux откатить его на заводские настройки и перенести бэкап обратно.
Переход на накопитель NVMe
Если вы хотите перенести свою систему Windows 7 или 8 на новый компьютер с накопителем NVMe, сначала подключите старый жесткий диск как системный диск SATA к новому компьютеру, загрузитесь с него и установите отсутствующие драйвера (для чипсета, сетевых адаптеров, контроллеров USB и т. д.). Если Windows запросит повторной активации, пока не выполняйте ее.
Сначала вставьте накопитель NVMe и установите драйвера для него с сайта производителя. Затем перенесите вашу операционную систему на накопитель NVMe при помощи специальных средств переноса, предложенных производителем, или программ для создания образов. Внимательно проверьте выравнивание разделов относительно размеров блоков (см. скриншот слева), чтобы гарантировать максимальную производительность накопителя и срок его службы. И только когда компьютер без проблем запустится с накопителя NVMe, активируйте Windows.
Повышаем скорость
После переноса Windows на твердотельный накопитель все должно работать быстрее, если только система не используется уже давно или не установлено слишком много программ. Если быстродействие системы не увеличилось даже на твердотельном накопителе, возможно, некоторые программы попали в автозагрузку и системные службы и тормозят работу ОС.
Чтобы почистить их, откройте в Windows приложение «Конфигурация системы». На вкладке «Службы» активируйте опцию «Не отображать службы Microsoft», затем уберите флажки из чекбоксов всех служб, не относящихся к вашему антивирусу или устройствам, без которых вы не сможете работать. То же самое проделайте на вкладке «Автозагрузка». В Windows 10 автозагрузка перенаправляет в диспетчер задач, где программы отключаются из контекстного меню правой кнопки мыши.
Диагностика накопителя с помощью утилит от производителя помогает определить его состояние
Владельцам накопителей SATA, особенно не новых, рекомендуется проверить состояние устройства при помощи инструментов производителя (например, Samsung Magician, Crucial Storage Executive, Intel SSD Toolbox) или посредством утилиты Tool SSD Life. Программы не только оценивают состояние диска, но и предсказывают время выхода его из строя, выводя на экран значение SMART. Особенно важен атрибут под названием Reallocated Sector Count (или аналогичный), отражающий число операций переназначения секторов, содержащих ошибку.
Результаты рассчитываются с учетом увеличения износа по шкале от максимального значения (100 или 255) до порога (например, 10 или 0), на котором накопитель перестает работать. Но это только предсказания и теория, поскольку в действительности неожиданно могут отказать даже накопители, чьи значения SMART были в пределах нормы, и наоборот — диски с критическими значениями (более 20-30% износа против изначальных значений) могут проработать еще очень долго.
Тем не менее следует принимать во внимание вероятность сбоя дисков и регулярно создавать резервные копии. Полезно к тому же проводить тестирование (например, посредством AS SSD Benchmark) и сравнивать результаты с данными таких же накопителей, поискав обзоры в Интернете: если ваш диск оказался значительно медленнее или система в целом работает нестабильно, возможно, накопитель нужно заменить.
В погоне за рекордами скорости
Быстрее, чем NVMe SSD, работает массив RAID 0 из двух накопителей, когда система записывает и считывает информацию одновременно с двух дисков. Если возьметесь за конфигурацию аппаратных RAID-массивов в BIOS/UEFI и пройдете через установку Windows, то на двух доступных накопителях SATA можете получить такую же скорость передачи данных, как на накопителе NVMe начального уровня. Мы же хотим объединить таким образом два высокоскоростных накопителя NVMe и побить рекорды скорости.
Создание RAID-массива
Первый барьер в погоне за RAID-массивом из накопителей NVMe — аппаратное обеспечение. На материнской плате должны быть два слота NVMe, а также возможность объединить их при помощи функции RAID чипсета Intel. К тому же система после этой процедуры должна еще и загрузиться. В принципе, справиться с этой задачей могут топовые материнские платы с чипсетами Intel Z170 и новейшим Z270 (для процессоров Kaby Lake).
На материнскую плату Gigabyte Z270X Gaming 7 мы установили два твердотельных накопителя Samsung 960 Pro. Затем нам нужно было настроить аппаратный RAID в UEFI. В ранней версии прошивки материнской платы попутно пришлось выполнить еще и небольшую задачу: нужно было сначала активировать режим RAID контроллера SATA, и только потом в пункте меню «Peripheral | EZ Raid» мы смогли объединить оба диска NVMe в массив RAID 0, который получил в два раза больше емкости, чем один накопитель.
RAID-массив был готов за несколько кликов. Для установки Windows 10 мы скопировали программу Intel Rapid Storage с прилагающегося к материнской плате диска на USB-флешку. Когда во время установки нужно было выбрать системный диск, мы загрузили драйвер, нажав соответствующую кнопку, после чего массив, связанный с контроллером Intel, определился как диск назначения.
Во время запущенного нами процесса установки UEFI система автоматически загружается из RAID-массива, который используется даже в текущем режиме работы как самый обычный накопитель. Но из-за того, что теперь операционная система обменивается данными только с контроллером Intel для RAID, а не напрямую с накопителями, мы не смогли задействовать драйвер Samsung для NVMe, благодаря которому потенциал 960 Pro мог бы полностью проявить себя, и это немного отразилось на скорости.
RAID 0: преимущества и бенчмарки
На правильных настройках UEFI наша тестовая система загружается менее чем за десять секунд. Полная установка LibreOffice вместе с записью 7000 файлов заняла 21 секунду. Бенчмарки (см. вверху) отражают в цифрах быстродействие RAID-массива, а также его предел. Предел — потому что вместо теоретического увеличения скорости на 100% по сравнению с отдельным диском мы получили только 20% прироста в скорости чтения и 32% — при записи.
Большей скорости мы смогли достичь, применив довольно бесполезный на практике метод: при помощи адаптера подключили второй твердотельный накопитель в слот PCIe для видеокарт, затем загрузились с третьего твердотельного накопителя SATA и объединили оба носителя NVMe с драйверами Samsung в Windows в один программный
Адаптер M.2/PCIe
При необходимости твердотельный накопитель форм-фактора M.2 можно подключить в слот PCIe x4 через переходник
RAID-массив. Такой массив (он, впрочем, не подходит для использования в качестве диска для загрузки системы) обогнал отдельно взятый накопитель на 43% по чтению и целых 82% по записи.
Результаты простого, но довольно быстрого тестирования ATTO Disk Benchmark показали, что скорость даже такой комбинации не превысит 4 Гбайт/с. Это максимальная пропускная способность шины DMI, соединяющей процессор и чипсет. Intel должна принимать срочные решения по изменению структуры платформы, чтобы она могла поддерживать огромные скорости передачи данных NVMe-совместимых накопителей.
Высокоскоростные твердотельные накопители
Еще год назад Samsung выпустила для конечных пользователей первые твердотельные накопители формата M.2 с поддержкой NVMe — модель 950 Pro. Следующее устройство — 960 Pro — по сравнению с первым значительно прибавило в скорости. С точки зрения цены за гигабайт интерес представляет накопитель 960 Evo, который почти не отстает от модели Pro.
ФОТО: CHIP Studios; компании-производители
RAID-массивы на NVMe
В данной статье мы расскажем про разные способы организации RAID-массивов, а также покажем один из первых аппаратных RAID-контроллеров с поддержкой NVMe.
Все разнообразие применений технологии RAID встречается в серверном сегменте. В клиентском сегменте чаще всего используется исключительно программный RAID0 или RAID1 на два диска.
В этой статье будет краткий обзор технологии RAID, небольшая инструкция по созданию RAID-массивов с помощью трех разных инструментов и сравнение производительности виртуальных дисков при использовании каждого из способов.
Что такое RAID?
Википедия дает исчерпывающее определение технологии RAID:
RAID (англ. Redundant Array of Independent Disks — избыточный массив независимых (самостоятельных) дисков) — технология виртуализации данных для объединения нескольких физических дисковых устройств в логический модуль для повышения отказоустойчивости и производительности.
Конфигурация дисковых массивов и используемые при этом технологии зависят от выбранного уровня RAID (RAID level). Уровни RAID стандартизированы в спецификации Common RAID Disk Data Format. Она описывает множество уровней RAID, однако самыми распространенными принято считать RAID0, RAID1, RAID5 и RAID6.
RAID0, или Stripes, — это уровень RAID, который объединяет два или более физических диска в один логический. Объем логического диска при этом равен сумме объемов физических дисков, входящих в массив. На этом уровне RAID отсутствует избыточность, а выход из строя одного диска может привести к потере всех данных в виртуальном диске.
Уровень RAID1, или Mirror, создает идентичные копии данных на двух и более дисках. Объем виртуального диска при этом не превышает объема минимального из физических дисков. Данные на виртуальном диске RAID1 будут доступны, пока хотя бы один физический диск из массива работает. Использование RAID1 добавляет избыточности, но является достаточно дорогим решением, так как в массивах из двух и более дисков доступен объем только одного.
Уровень RAID5 решает проблему дороговизны. Для создания массива с уровнем RAID5 необходимо как минимум 3 диска, при этом массив устойчив к выходу из строя одного диска. Данные в RAID5 хранятся блоками с контрольными суммами. Нет строгого деления на диски с данными и диски с контрольными суммами. Контрольные суммы в RAID5 — это результат операции XOR, примененной к N-1 блокам, каждый из которых взят со своего диска.
Хотя RAID-массивы повышают избыточность и предоставляют резервирование, они не подходят для хранения резервных копий.
После краткого экскурса по видам RAID-массивов можно переходить к устройствам и программам, которые позволяют собирать и использовать дисковые массивы.
Виды RAID-контроллеров
Существует два способа создать и использовать RAID-массивы: аппаратный и программный. Мы рассмотрим следующие решения:
Отметим, что решение Intel® работает на чипсете, из-за чего возникает вопрос, аппаратное это решение или программное. Так, например, гипервизор VMWare ESXi считает VROC программным и не поддерживает официально.
Linux Software RAID
Программные RAID-массивы в семействе ОС Linux — достаточно распространенное решение как в клиентском сегменте, так и в серверном. Все, что нужно для создания массива, — утилита mdadm и несколько блочных устройств. Единственное требование, которое предъявляет Linux Software RAID к используемым накопителям, — быть блочным устройством, доступным системе.
Отсутствие затрат на оборудование и программное обеспечение — очевидное преимущество данного способа. Linux Software RAID организует дисковые массивы ценой процессорного времени. Список поддерживаемых уровней RAID и состояние текущих дисковых массивов можно посмотреть в файле mdstat, который находится в корне procfs:
Поддержка уровней RAID добавляется подключением соответствующего модуля ядра, например:
Все операции с дисковыми массивами производятся через утилиту командной строки mdadm. Сборка дискового массива производится в одну команду:
После выполнения этой команды в системе появится блочное устройство /dev/md0, которое представляет из тебя виртуальный диск.
Intel® Virtual RAID On CPU
Intel® Virtual RAID On CPU (VROC) — это программно-аппаратная технология для создания RAID-массивов на базе чипсетов Intel®. Данная технология доступна в основном для материнских плат с поддержкой процессоров Intel® Xeon® Scalable. По умолчанию VROC недоступен. Для его активации необходимо установить аппаратный лицензионный ключ VROC.
Стандартная лицензия VROC позволяет создавать дисковые массивы с 0, 1 и 10 уровнями RAID. Премиальная версия расширяет этот список поддержкой RAID5.
Технология Intel® VROC в современных материнских платах работает совместно с Intel® Volume Management Device (VMD), которая обеспечивает возможность горячей замены для накопителей с интерфейсов NVMe.
Настройка массивов производится через Setup Utility при загрузке сервера. На вкладке Advanced появляется пункт Intel® Virtual RAID on CPU, в котором можно настроить дисковые массивы.
Технология Intel® VROC имеет свои «козыри в рукаве». Дисковые массивы, собранные с помощью VROC, совместимы с Linux Software RAID. Это означает, что состояние массивов можно отслеживать в /proc/mdstat, а администрировать — через mdadm. Эта «особенность» официально поддерживается Intel. После сборки RAID1 в Setup Utility можно наблюдать синхронизацию накопителей в ОС:
Отметим, что через mdadm нельзя собирать массивы на VROC (собранные массивы будут Linux SW RAID), но можно менять в них диски и разбирать массивы.
LSI MegaRAID 9460-8i
RAID-контроллер является самостоятельным аппаратным решением. Контроллер работает только с накопителями, подключенными непосредственно к нему. Данный RAID-контроллер поддерживает до 24 накопителей с интерфейсом NVMe. Именно поддержка NVMe выделяет этот контроллер из множества других.
При использовании режима UEFI настройки контроллера интегрируются в Setup Utility. В сравнении с VROC меню аппаратного контроллера выглядит значительно сложнее.
Создание RAID1 на двух дисках
Объяснение настройки дисковых массивов на аппаратном контроллере является достаточно тонкой темой и может стать поводом для полноценной статьи. Здесь же мы просто ограничимся созданием RAID0 и RAID1 с настройками по умолчанию.
Диски, подключенные в аппаратный контроллер, не видны операционной системе. Вместо этого контроллер «маскирует» все RAID-массивы под SAS-накопители. Накопители, подключенные в контроллер, но не входящие в состав дискового массива, не будут доступны ОС.
Несмотря на маскировку под SAS-накопители, массивы с NVMe будут работать на скорости PCIe. Однако такая особенность позволяет загружаться с NVMe в Legacy.
Тестовый стенд
Каждый из способов организации дисковых массивов имеет свои физические плюсы и минусы. Но есть ли разница в производительности при работе с дисковыми массивами?
Для достижения максимальной справедливости все тесты будут проведены на одном и том же сервере. Его конфигурация:
Тестируемыми выступают P4510, из которых одна половина подключена к материнской плате, а вторая — к RAID-контроллеру. На M.2 установлена операционная система Ubuntu 20.04, а тесты будут выполняться при помощи fio версии 3.16.
Тестирование
В первую очередь проверим задержки при работе с диском. Тест выполняется в один поток, размер блока 4 КБ. Каждый тест длится 5 минут. Перед началом для соответствующего блочного устройства выставляется none в качестве планировщика I/O. Команда fio выглядит следующим образом:
Из результатов fio мы берем clat 99.00%. Результаты приведены в таблице ниже.
Случайное чтение, мкс | Случайная запись, мкс | |
---|---|---|
Диск | 112 | 78 |
Linux SW RAID, RAID0 | 113 | 45 |
VROC, RAID0 | 112 | 46 |
LSI, RAID0 | 122 | 63 |
Linux SW RAID, RAID1 | 113 | 48 |
VROC, RAID1 | 113 | 45 |
LSI, RAID1 | 128 | 89 |
Помимо задержек при обращении к данным, хочется увидеть производительность виртуальных накопителей и сравнить с производительностью физического диска. Команда для запуска fio:
Случайное чтение 1 поток, IOPS | Случайная запись 1 поток, IOPS | Случайное чтение 128 потоков, IOPS | Случайная запись 128 потоков, IOPS | |
---|---|---|---|---|
Диск | 11300 | 40700 | 453000 | 105000 |
Linux SW RAID, RAID0 | 11200 | 52000 | 429000 | 232000 |
VROC, RAID0 | 11200 | 52300 | 441000 | 162000 |
LSI, RAID0 | 10900 | 44200 | 311000 | 160000 |
Linux SW RAID, RAID1 | 10000 | 48600 | 395000 | 147000 |
VROC, RAID1 | 10000 | 54400 | 378000 | 244000 |
LSI, RAID1 | 11000 | 34300 | 229000 | 248000 |
Заключение
Использование аппаратных решений для создания дисковых массивов из двух дисков выглядит нерационально. Тем не менее, существуют задачи, где использование RAID-контроллеров оправдано. С появлением контроллеров с поддержкой интерфейса NVMe у пользователей появляется возможность использовать более быстрые SSD в своих проектах.