Как сделать зеркальный raid
Программный RAID1 (зеркало) для загрузочного GPT диска в Windows 10/ Server 2016
В этой статье мы рассмотрим, как создать программное зеркало (RAID1) из двух GPT дисков в Windows Server 2016/Windows 10, установленных на UEFI системе. Мы рассмотрим полноценную конфигурацию BCD загрузчика, позволяющую обеспечить корректную загрузку Windows и защитить данные от выхода из строя любого диска.
Итак, у нас имеется простой компьютер UEFI-архитектуры без встроенного RAID контроллера с двумя идентичными дисками размерами по 50 Гб. Наша задача — установить на первый GPT диск ОС (Windows Server 2016, Windows 10 или бесплатного сервер Hyper-V), а затем собрать из двух дисков программное зеркало (RAID1 – Mirroring).
Запишите установочный образ Windows на DVD/ USB флешку, загрузите компьютер) с этого загрузочного устройства (в режиме UEFI, не Legacy) и запустите установку Windows Server 2016.
Подготовка таблицы разделов для зеркала на 2 диске
Откройте командную строку с правами администратора и выполните команду diskpart. Наберите:
Как вы видите, в системе имеется два диска:
На всякий случай еще раз очистим второй диск и конвертируем его в GPT:
Введите список разделов на втором диске:
Если найдется хотя бы один раздел (в моем примере это Partition 1 – Reserved – Size 128 Mb), удалите его:
Delete partition override
Выведите список разделов на 1 диске (disk 0). Далее вам нужно создать такие же разделы на Disk 1.
Создаем такие же разделы на Disk 1:
Create partition primary size=450
format quick fs=ntfs label=»WinRE»
create partition efi size=99
create partition msr size=16
Преобразования дисков в динамические, создание зеркала
Теперь оба диска нужно преобразовать в динамические:
Создадим зеркало для системного диска (диск C:). Нужно выбрать раздел на первом диске и создать для него зеркало на 2 диске:
Select volume c
Add disk=1
Должно появится сообщение:
Откройте консоль управления дисками, и убедитесь, что запустилась синхронизуя раздела C на (Recynching). Дождитесь ее окончания (может занять до нескольких часов в значимости от размера раздела C: ).
При загрузке Windows теперь будет появляться меню Windows Boot Manager с предложение выбрать с какого диска загружаться. Если не выбрать диск вручную, система через 30 секунд попытается загрузиться с первого диска:
Однако проблема в том, что сейчас у вас конфигурация загрузчика хранится только на 1 диске, и при его потере, вы не сможете загрузить ОС со второго без дополнительных действий. По сути вы защитили данные ( но не загрузчик Windows) только от сбоя второго диска.
Программный RAID Windows не получится использовать для создания нормального зеркала EFI раздела. Т.к. на EFI разделе хранятся файлы, необходимые для загрузки ОС, то при выходе их строя первого диска, вы не сможете загрузить компьютер со второго диска без ручного восстановления загрузчика EFI на нем в среде восстановления. Эти операции довольно сложно сделать неподготовленному администратору, а также потребует дополнительного времени (которого может не быть, если у вас за спиной стоит толпа разгневанных пользователей).
Далее мы покажем, как скопировать EFI раздел на второй диск и изменить конфигурацию загрузчика BCD, чтобы вы могли загрузить Windows как с первого, так и со второго диска.
Подготовка EFI раздела на втором диске в зеркале
Теперь нужно подготовить EFI раздел на втором диске в зеркале, чтобы компьютер мог использовать этот раздел для загрузки Windows. Назначим EFI разделу на Disk 1 букву S и отформатируем его в файловой системе FAT32:
format fs=FAT32 quick
Теперь назначим букву диска P: для EFI раздела на Disk 0:
select partition 2
Копирование конфигурации EFI и BCD на второй диск
Выведите текущую конфигурацию загрузчика BCD с помощью команды:
При создании зеркала, служба VDS автоматически добавила в конфигурацию BCD запись для второго зеркального диска (с меткой Windows Server 2016 – secondary plex).
Чтобы EFI в случае потери первого диска могут загружаться со второго диска, нужно изменить конфигурацию BCD.
Для этого нужно скопировать текущую конфигурацию Windows Boot Manager
bcdedit /copy
Теперь скопируйте полученный ID конфигурации и используйте его в следующей команде:
Если все правильно, должна появится строка The operation completed successfully.
Выведите текущую конфигурацию Windows Boot Manager (bcdedit /enum). Обратите внимает, что у загрузчика теперь два варианта загрузки EFI с разных дисков (default и resume object).
Теперь нужно сделать копию BCD хранилища на разделе EFI первого диска и скопировать файлы на второй диск:
P:
bcdedit /export P:\EFI\Microsoft\Boot\BCD2
robocopy p:\ s:\ /e /r:0
Осталось переименовать BCD хранилище на втором диске:
Rename s:\EFI\Microsoft\Boot\BCD2 BCD
И удалить копию на Disk 0:
Теперь при выходе из строя первого диска, вам нужно при загрузке компьютера выбрать устройство «Windows Boot Manager Cloned», а затем «Microsoft Windows Server 2016 — secondary plex».
При загрузке с отказавшим дисков, в диспетчере Disk Management вы увидите сообщение Failed Redndancy.
В этом случае вы должны заменить неисправный диск, удалить конфигурацию зеркала и пересоздать программный RAID с начала.
Как установить Windows 10
Создание RAID-массива или Зеркалирование дисков в Windows 10
Создание RAID-массива или Зеркалирование дисков в Windows 10
Windows 10 предложит выбрать диск, который мы желаем использовать в качестве зеркала. Выделяем левой кнопкой мыши чистый Диск 1 и жмём « Добавить зеркальный том ».
Выходит предупреждение о том, что сейчас диски будут преобразованы в динамические и если на вашем ПК установлено несколько операционных систем, то после преобразования вы сможете загрузить только текущую операционную систему. Объясню.
Настраивать RAID-1 массив или «Зеркалирование дисков» лучше только в том случае, если у вас на компьютере установлена одна операционная система, имеющая один загрузчик. Если на вашем ПК установлено несколько ОС, к примеру, Windows 8.1 и Windows 10, то зеркалить диски можно в той винде, которая была установлена последней. То есть, вы установили Windows 8.1, затем Windows 10, в этом случае настраиваем RAID-1 массив в Windows 10 и после этого на компьютере будет загружаться только Виндовс 10. Если настроить RAID-1 массив в Windows 8.1, то на ПК вообще ни одна винда грузится не будет. Связана эта проблема с особенностью работы динамических дисков, о которой неплохо было бы написать отдельную статью, да всё руки не доходят.
На моём компьютере установлена только одна ОС. Жму «Да».
Начинается процесс ресинхронизации дисков при создании зеркала. Простыми словами, Windows 10 создаёт точную копию диска (C:) на втором жёстком диске (Диск 1). Из нераспределённого пространства вы можете создать раздел и без проблем пользоваться им.
Процесс ресинхронизации закончен и ОС готова к работе.
Теперь все изменения на диске (C:) будут зеркально отображаться на его копии, созданной нами на втором жёстком диске. Если вы создадите какой-либо файл на диске (C:), то он тут же создастся на зеркальном диске. Если вы измените тот или иной файл на диске (C:), то он тут же изменится на зеркале. Если HDD с установленной Windows 10 выйдет из строя, то все ваши файлы будут доступны на зеркале.
Убрать зеркало также просто, как и создать. Щёлкаем правой мышью на диске (C:) и выбираем «Удалить зеркало. » В нашем случае выбираем Диск 1.
Программный RAID1 (зеркало) с помощью mdadm
Почти все материнские платы сейчас заявляют функционал raid. Только если вы точно знаете, зачем вам использовать raid вашей motherboard, делайте это. К тому же, чаще всего это специфические вариации на тему программного raid, только никто-не-знает-как-сделанные. Т.е. не факт, что плохо сделанные. Но не факт, что вы найдете исчерпывающую информацию по решению проблемы. Далее, специальные контроллеры raid. Опять же, если вы знаете, что именно вы хотите, используйте их. Но вы должны понимать, что любое устройство (что материнка, что отдельный контроллер) могут взбрыкнуть и тогда могут быть проблемы с получением данных с дисков массива. Причем у вас могут возникнуть трудности с поиском информации по решению проблемы, т.к. разбирающихся в конкретной железке или линейки оборудования не так велико.
Одним из наиболее распространенных решений, по которому вы всегда найдете помощь на форумах, является использование программного raid, не привязанного к железу. В случае Linux это raid массив, созданный mdadm.
Предположим, на дисках мы разместим файловую шару или ресурс для базы данных. Диски новые, разделов на них нет.
Проверим, что диски в самом деле без разделов:
Не должно быть никаких /dev/sdb1 и прочих! Аналогично для /dev/sdd.
На каждом диске создадим раздел на весь диск с прицелом на raid.
Примерно так: Сначала n (add a new partition), потом p (primary), номер раздела 1 (partition number). Все цифры можно оставить по-умолчанию. Записали изменения и вышли: w
Меняем тип раздела /dev/sdb1 на «Linux raid autodetect»:
Сначала t (change a partition’s system id), потом fd (Linux raid auto), потом p (проверим изменения) и w (сохранили изменения и вышли):
Аналогично поступаем с диском /dev/sdd (т.е. создаем primary раздел /dev/sdd1 и меняем тип на «Linux raid autodetect»).
Создаем RAID1 массив
Если в вашей системе есть другие диски, внимательно и тщательно проверяйте названия устройств. На моем компьютере это уже не первый массив, поэтому я укажу имя вновь создаваемого массива «/dev/md2».
Проверить, что вышло:
# cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 sdd1[1] sdb1[0]
976630464 blocks super 1.2 [2/2] [UU]
[>. ] resync = 1.4% (13876288/976630464) finish=85.1min speed=188512K/sec
bitmap: 8/8 pages [32KB], 65536KB chunk
Идет синхронизация. Дождемся ее окончания.
После завершения синхронизации посмотрите параметры вашего массива:
ARRAY /dev/md2 level=raid1 num-devices=2 metadata=1.2 name=localhost.localdomain:2 UUID=3eaa3e42:6f083fc4:0c9281a3:1b9b7452
devices=/dev/sdb1,/dev/sdd1
Чтобы raid после ребута никуда не делся, сохраняем конфиг в файл /etc/mdadm.conf (путь к файлу верен для CentOS 7):
Обратите внимание на «>>» (добавить, а не перезаписать). Не стоит перезаписывать конфиг mdadm, там могут быть важные сведения о других массивах, уже работающих у вас в системе.
Что за UUID «3eaa3e42:6f083fc4:0c9281a3:1b9b7452»? Посмотрите UUID блочных устройств, начинающиеся на «3eaa3e42»:
# blkid | grep 3eaa3e42
/dev/sdb1: UUID=»3eaa3e42-6f08-3fc4-0c92-81a31b9b7452″ UUID_SUB=»bb9c4771-20c9-4f4b-5013-f0d6d0f327ae» LABEL=»backupmail.localdomain:2″ TYPE=»linux_raid_member»
/dev/sdd1: UUID=»3eaa3e42-6f08-3fc4-0c92-81a31b9b7452″ UUID_SUB=»37997177-2fd1-6518-3036-2b1d76043816″ LABEL=»backupmail.localdomain:2″ TYPE=»linux_raid_member»
Т.е. есть привязка в конфиге raid1 массива не только по имени /dev/sdb1, но и по уникальному идентификатору устройства. Поэтому если вы просто вынете диски и на их место включите другие, то ничего хорошего не выйдет.
Так, теперь вот что: можно просто отформатировать созданный диск (mkfs.ext4 /dev/md2) и указать в файле /etc/fstab точку его монтирования, а можно поиграться с LVM. LVM может дать в дальнейшем определенные преимущества, например, если вы решите изменить размер раздела или даже добавить к нему другие диски, вдруг места будет совсем мало.
Создаем физический том на устройстве /dev/md2 (т.е. работаем уже с объектом массива, а не конкретными разделами типа /dev/sdb1):
# pvcreate /dev/md2
Physical volume «/dev/md2» successfully created.
# pvscan
PV /dev/md2 lvm2 [931.39 GiB]
На томе создаем группу томов (volume group) с именем «datavg» (произвольно, можете брать другое название:
# vgcreate datavg /dev/md2
В группе «datavg» создаем логический том «datalv» (имя выбрано произвольно) размером 931Гб (размер взят из листинга команды pvscan):
[не вдаваясь в различия ext4, ext3, xfs и др.] форматируем конечный логический том /dev/datavg/datalv в xfs:
Промежуточный итог: у нас есть «диск» с файловой системой xfs, который можно примонтировать и использовать. Например, чтобы наш raid1 обслуживал какую-то директорию (пусть будет /data), в /etc/fstab добавьте, например:
/dev/mapper/datavg-datalv /data xfs defaults 0 0
Создайте саму директорию /data:
Проверьте перед перезагрузкой:
# mount /dev/mapper/datavg-datalv /data
Запишите какой-нибудь файл в /data и перезагрузитесь.
Проверяем. Тестовый файл должен быть на месте.
В первый раз всегда делайте это на тестовом или не важном сервере.
Как создать RAID-массив
Содержание
Содержание
У любого пользователя ПК рано или поздно появляется целая коллекция накопителей, или особые требования, которые одним диском не решить. Например, увеличение скорости, надежности системы хранения, или просто удобства использования. И с этим может справиться RAID-массив. Так как нельзя объять необъятное, рассмотрим только те случаи, с которыми может столкнуться обычный пользователь Windows 10. Конечно же, в первую очередь, понадобится оборудование.
Что может понадобиться
Материнская плата. Преимущество в том, что она у вас уже есть, а вот недостатков хватает:
Если хотя бы один пункт вас не устраивает — вам, скорее всего, понадобится внешний контроллер, например:
Накопители. Желательно наличие поддержки RAID-контроллеров. Разница, по сравнению с обычными, заключается в поведении при нештатной ситуации. В случае возникновения ошибки обычный накопитель, в попытках решить проблему самостоятельно, может не успеть отчитаться перед контроллером, что закончится разрушением массива. Также стоит обратить внимание на наличие других оптимизаций для работы в RAID. Например, повышенную устойчивость к вибрации. Чем больше нагрузка и дисков тем больше эффект от таких оптимизаций.
Корзина не менее важна. Чем больше дисков и чем больше нагрузка на них, тем важнее виброизоляция.
Так выглядит достаточно хорошая корзина в потребительском корпусе — обратите внимание на голубые вставки виброгасящего материала:
Конечно, это далеко не предел возможностей корзины. В RAID-массивах диски работают практически синхронно, а если они одной модели, то имеют практически одинаковые резонансы, что при большой нагрузке в обычном корпусе может привести к поломке за считанные недели.
Охлаждение.Забывать про обдув накопителей тоже не стоит. Оптимальная температура 30–45 градусов. С такой задачей справится обычный тихий кулер, главное чтобы он был и работал.
Самые распространенные типы массивов
Проще всего сделать массив средствами ОС
Опционально можно убедиться, что в настройках прошивки SATA переведены в режим AHCI в зависимости от материнской платы это может дать возможность замены дисков прямо на работающем компьютере. Для этого надо найти соответствующие настройки в прошивке. Лучше всего ознакомиться с руководством или обзорами для вашей материнской платы. Конкретно на этой материнской плате AHCI активен всегда, даже в режиме RAID.
На старых чипсетах выбор чуть больше.
В случае если установлен режим IDE, переставлять сразу в AHCI не стоит, практически наверняка это вызовет BSOD. В любом случае этот пункт не обязателен. Даже если в системе есть SSD, режим IDE пропускает команду TRIM. Но если хочется, то можно запустить программу Sysprep перед сменой IDE на SATA в прошивке. Установленная галочка снесет активацию и не только на Windows.
Данная процедура предназначена для OEM-сборщиков, которые настраивают систему перед продажей. Также создается новый пользователь в системе, через которого и придется зайти. И потом просто удалить лишнего пользователя куда проще, чем ковыряться в реестре. Если не успеете зайти в прошивку до загрузки ОС, то придется повторить. Поэтому убедитесь, что у вас не включен Ultra Fast Boot.
После подготовительных процедур можно приступать к созданию массива. Для этого правой кнопкой по меню пуск вызывается управление дисками.
Новый диск потребуется инициализировать, после этого выберите соответствующий вашим запросам уровень массива:
После этого запустится мастер создания томов:
Для RAID 1 лучше не использовать максимальный объем. Купленный в будущем, диск на замену вышедшему из строя, может оказаться чуть-чуть меньше. Также можно сделать RAID 1 для операционной системы, но в случае GPT разметки и отказа загрузочного накопителя потребуется восстановление UEFI загрузчика.
Более сложный способ — средствами материнской платы
Придется прогуляться на сайт производителя чипсета и скачать все, что имеет в своем названии RAID.
И тут всплывает первый подводный камень. Инсталлятор драйверов RAID отказывается устанавливаться, при отсутствии активированного в прошивке RAID.
И на этом все. Потому что если ОС установлена на SATA, это приведет к невозможности загрузки без дополнительных манипуляций с прошивкой. При загрузочном NVMe можно активировать режим RAID для SATA, и спокойно поставить драйвера. В случае, если загрузочный накопитель и будущий RAID на базе SATA, можно поставить все три драйвера в ручном режиме. ВНИМАНИЕ! Это приведет к невозможности загрузки в обычном режиме.
Теперь, когда пути назад нет, обратите внимание на эти пункты (при других параметрах BIOS доступа к настройкам массивов не будет):
И только после сохранения и перезагрузки откроется доступ к настройкам:
По умолчанию из всех существующих накопителей создаются JBOD с 1 накопителем в массиве. Поэтому надо удалить массивы, в которых оказались накопители для RAID:
Спешка тут не нужна, потому что расстаться с важной информацией на этом этапе очень просто. Положение Enabled означает, что массив будет удален:
Теперь после того, как появились накопители не участвующие ни в одном массиве, на их базе создается новый:
В данном случае Volume соответствует JBOD, а RAIDABLE — диски, предназначенные под автоматическое восстановление массива:
Объем массива можно поменять с помощью цифровой клавиатуры.
Теперь, когда создание закончено, возвращаемся в Windows, и, через управление дисками, с массивом можно работать как с обычным диском. Обратите внимание — объем, полученный с помощью материнской платы, чуть меньше. Недостача ушла на нужды контроллера.
После инициализации в неразмеченной области можно создать обычный том. Мастер будет выглядеть практически так же, как и выше за пропуском нескольких пункт.
Если же предстоит установка Windows, содержимое архива с названием nvme_sata_raid_windows_driver надо закинуть на установочную флешку в распакованном виде. И в процессе установки указать — откуда их брать.
Установить надо все три драйвера в указанной последовательности.
После чего можно продолжить установку как обычно. И все это не зря, по сравнению с массивом, созданным на базе ОС:
Массив, созданный с помощью матплаты умеет кешировать данные хоть и не большого объема:
Комплектное ПО RAIDXpert2 по большей части дублирует возможности прошивки.
Оно позволяет производить все операции не покидая ОС. Конечно, это не исчерпывающее руководство к действию, но позволит обойти самые распространенные грабли.