Программное зеркало raid 1 в windows server

В этой статье мы рассмотрим, как создать программное зеркало (RAID1) из двух GPT дисков в Windows Server 2016/Windows 10, установленных на UEFI системе. Мы

В этой статье мы рассмотрим, как создать программное зеркало (RAID1) из двух GPT дисков в Windows Server 2016/Windows 10, установленных на UEFI системе. Мы рассмотрим полноценную конфигурацию BCD загрузчика, позволяющую обеспечить корректную загрузку Windows и защитить данные от выхода из строя любого диска.

Итак, у нас имеется простой компьютер UEFI-архитектуры без встроенного RAID контроллера с двумя идентичными дисками размерами по 50 Гб. Наша задача — установить на первый GPT диск ОС (Windows Server 2016, Windows 10 или бесплатного сервер Hyper-V), а затем собрать из двух дисков программное зеркало (RAID1 – Mirroring).

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

Запишите установочный образ Windows на DVD/ USB флешку, загрузите компьютер) с этого загрузочного устройства (в режиме UEFI, не Legacy) и запустите установку Windows Server 2016.

После установки, откройте консоли управления дисками (diskmgmt.msc), убедитесь, что на первом диске используется таблица разделов GPT (свойства диска -> вкладка Volumes -> Partition style –> GUID partition table), а второй диск пустой (неразмечен).

Содержание:

  • Подготовка таблицы разделов для зеркала на 2 диске
  • Преобразования дисков в динамические, создание зеркала
  • Подготовка EFI раздела на втором диске в зеркале
  • Копирование конфигурации EFI и BCD на второй диск

Подготовка таблицы разделов для зеркала на 2 диске

подготовка с созданию програмного raid в Windows 10 / Server 2016

Откройте командную строку с правами администратора и выполните команду diskpart. Наберите:

DISKPART>List disk

Как вы видите, в системе имеется два диска:

  • Disk 0 – диск с таблицей разделов GPT, на который установлена Windows
  • Disk 1 – пустой неразмеченный диск

List disk

На всякий случай еще раз очистим второй диск и конвертируем его в GPT:

Select disk 1

clean

Convert GPT

Введите список разделов на втором диске:

List part

Если найдется хотя бы один раздел (в моем примере это Partition 1 – Reserved – Size 128 Mb), удалите его:

Sel part 1

Delete partition override

конвертирование диска в gpt

Выведите список разделов на 1 диске (disk 0). Далее вам нужно создать такие же разделы на Disk 1.

Select disk 0

List part

Имеется 4 раздела:

  • Recovery – 450 Мб, раздел восстановления со средой WinRE
  • System – 99 Мб, EFI раздел (подробнее про структуру разделов на GPT дисках)
  • Reserved 16 Мб, MSR раздел
  • Primary – 49 Гб, основной раздел с Windows

list part на gpt диске

Создаем такие же разделы на Disk 1:

Select disk 1

Create partition primary size=450

format quick fs=ntfs label=»WinRE»

set id=»de94bba4-06d1-4d40-a16a-bfd50179d6ac»

create partition efi size=99

create partition msr size=16

list part

создание структуры разделов для загрузочного gpt диска

Преобразования дисков в динамические, создание зеркала

Теперь оба диска нужно преобразовать в динамические:

Select disk 0

Convert dynamic

Select disk 1

Conv dyn

конвертивровать диски в динамические

Создадим зеркало для системного диска (диск C:). Нужно выбрать раздел на первом диске и создать для него зеркало на 2 диске:

Select volume c
Add disk=1

Должно появится сообщение:

DiskPart succeeded in adding a mirror to the volume

Откройте консоль управления дисками, и убедитесь, что запустилась синхронизуя раздела C на (Recynching). Дождитесь ее окончания (может занять до нескольких часов в значимости от размера раздела C: ).

синхронизация данных в програмном raid 1 в windows

При загрузке Windows теперь будет появляться меню Windows Boot Manager с предложение выбрать с какого диска загружаться. Если не выбрать диск вручную, система через 30 секунд попытается загрузиться с первого диска:

  • Windows Server 2016
  • Windows Server 2016 – secondary plex

Windows Server 2016 – secondary plex

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

Программный RAID Windows не получится использовать для создания нормального зеркала EFI раздела. Т.к. на EFI разделе хранятся файлы, необходимые для загрузки ОС, то при выходе их строя первого диска, вы не сможете загрузить компьютер со второго диска без ручного восстановления загрузчика EFI на нем в среде восстановления. Эти операции довольно сложно сделать неподготовленному администратору, а также потребует дополнительного времени (которого может не быть, если у вас за спиной стоит толпа разгневанных пользователей).

Далее мы покажем, как скопировать EFI раздел на второй диск и изменить конфигурацию загрузчика BCD, чтобы вы могли загрузить Windows как с первого, так и со второго диска.

Подготовка EFI раздела на втором диске в зеркале

Теперь нужно подготовить EFI раздел на втором диске в зеркале, чтобы компьютер мог использовать этот раздел для загрузки Windows. Назначим EFI разделу на Disk 1 букву S и отформатируем его в файловой системе FAT32:

Select disk 1

Select part 2

assign letter=S

format fs=FAT32 quick

создать EFI раздел с fat32

Теперь назначим букву диска P: для EFI раздела на Disk 0:

select disk 0

select partition 2

assign letter=P

exit

diskpart назначить буквы дискам EFI

Копирование конфигурации EFI и BCD на второй диск

Выведите текущую конфигурацию загрузчика BCD с помощью команды:

bcdedit /enum

При создании зеркала, служба VDS автоматически добавила в конфигурацию BCD запись для второго зеркального диска (с меткой Windows Server 2016 – secondary plex).

bcdedit /enum для gpt диска сbootmgfw.efi

Чтобы EFI в случае потери первого диска могут загружаться со второго диска, нужно изменить конфигурацию BCD.

Для этого нужно скопировать текущую конфигурацию Windows Boot Manager

bcdedit /copy {bootmgr} /d "Windows Boot Manager Cloned"

The entry was successfully copied to {44d1d6bf-xxxxxxxxxxxxxxxx}

Теперь скопируйте полученный ID конфигурации и используйте его в следующей команде:

bcdedit /set {44d1d6bf-xxxxxxxxxxxxxxxx} device partition=s:

Если все правильно, должна появится строка The operation completed successfully.

bcdedit /set {44d1d6bf-xxxxxxxxxxxxxxxx} device partition=s:

Выведите текущую конфигурацию Windows Boot Manager (bcdedit /enum). Обратите внимает, что у загрузчика теперь два варианта загрузки EFI с разных дисков (default и resume object).

две конфигурации Windows Boot Manager для разных gpt дисков с загрузчиками

Теперь нужно сделать копию BCD хранилища на разделе EFI первого диска и скопировать файлы на второй диск:

P:
bcdedit /export P:EFIMicrosoftBootBCD2
robocopy p: s: /e /r:0

robocopy EFI раздела в зеркале

Осталось переименовать BCD хранилище на втором диске:

Rename s:EFIMicrosoftBootBCD2 BCD

И удалить копию на Disk 0:

Del P:EFIMicrosoftBootBCD2

переименовать bcd

Теперь при выходе из строя первого диска, вам нужно при загрузке компьютера выбрать устройство «Windows Boot Manager Cloned», а затем «Microsoft Windows Server 2016 — secondary plex».

При загрузке с отказавшим дисков, в диспетчере Disk Management вы увидите сообщение Failed Redndancy.

windows програмный raid failed redundance

В этом случае вы должны заменить неисправный диск, удалить конфигурацию зеркала и пересоздать программный RAID с начала.

Profile picture for user Олег

Windows Server

Windows имеет на борту встроенные средства для создания программных RAID массивов.

Такая возможность появилась ещё в Windows NT 4.0. Там информация о мультидисках хранилась в реестре. Сбой системы приводил к потере всех данных. Видимо, поэтому никто особо не любил их использовать.

В Windows 2000 информация о программном массиве стала храниться на самих дисках, при первом монтировании она считывалась в реестр. Мультидиски были переименованы в динамические диски (dynamic disk), Microsoft развернула маркетинговую компанию по продвижению их на рынок.

Сегодня собираем динамический диск в Windows Server 2016. Другими словами, собираем в Windows программный RAID массив.

Тестовый стенд:

  • Аппаратный сервер Supermicro.
  • Два диска собраны в RAID1 массив на Inter VROC. На этот массив установлена ОС Windows Server 2016.
  • Имеется два одинаковых NVMe диска, из них и будем делать софтварный RAID1 массив средствами Windows.

Что нужно знать о динамических дисках?

  • Невозможность запуска более одной операционной системы. Невозможно установить ОС на динамический диск.
  • Если динамический диск полностью умещается на одном физическом диске, то он работает с той же скоростью, что и обычный. Если динамический диск размещён на нескольких дисках, начинаются тормоза.
  • Linux и xBSD штатным образом динамические диски не поддерживают и для работы с ними требуют установки программного обеспечения от сторонних производителей, например, Paragon LDM/NTFS driver.
  • При обновлении Windows не факт, что динамический диск распознается новой версией.
  • Формат данных динамических дисков проприетарный. Нормальных утилит по восстановлению рассыпавшихся динамических массивов нет.
  • На нетбуках динамические диски не поддерживаются. Версия Home не распознаёт такие диски.
  • Системный диск можно преобразовать в динамический и отзеркалировать раздел C на второй диск. Тогда при загрузке будут спрашивать, с какого из дисков грузиться (вторичный плекс). Однако, если основной диск выйдет из строя вместе с загрузчиком, то загрузиться с зеркала можно только с использованием сторонних утилит.
  • Не поддерживается в кластерах. Есть проблемы с теневым копированием.

Создать программный RAID1 массив

Работаем через утилиту Disk Management (Управление дисками). Быстрый способ добраться — нажать правой кнопкой на Пуск.

raid

В списке у нас три диска. На одном расположена система, два других пустые. Disk Management предлагает инициализировать диски 0 и 1. Их объём около 3ТБ, естественно, выбираем тип раздела GPT. OK.

win

Диски не размечены. Нажимаем правой кнопкой на диске 0.

win

Видим, что теоретически утилита позволяет создавать следующие типы массивов:

  • Simple
  • Spanned
  • Striped
  • Mirrored
  • RAID-5

Simple — почти ничем не отличается от обычного диска. Если переразбить такой диск, то перезагрузка не потребуется. Simple диск находится на одном физическом диске. Если размер такого диска увеличить за счёт другого физического диска, то он автоматически преобразуется в Spanned.

Spanned — диск состоит из нескольких Simple томов и может размещаться на нескольких физических дисках. Информация записывается последовательно как в обычном линейном RAID массиве.

Striped — похож на Spanned, то при записи диски чередуются, пишется по очереди на каждый из дисков. Высокая производительность, низкая надёжность. При выходе из строя одного из дисков теряются все данные. Классический RAID0.

Mirrored — два или более динамических диска, информация на которых дублируется. RAID1, но можно зеркалировать более двух дисков, повышая надёжность. Буду делать этот.

RAID-5 — или ещё может называться stripped with parity (чередование с контролем четности). Классический RAID5 массив. У меня не активен, поскольку требует минимум три диска (максимум — 32).

Выбираю New Mirrored Volume…

win

Запускается мастер создания зеркальных дисков. Next.

win

Уже выбран Disk 0. Выбираю Disk 1 и добавляю Add >.

win

Выбрано два диска. По умолчанию под новый том выделяется всё доступное место. Next.

win

Назначаем букву диска. Next.

win

Предлагают отформатировать новый раздел.

win

Указываю настройки файловой системы. Next.

win

Finish.

win

Выбранная операция сконвертирует диски в динамические. На динамические диски нельзя будет установить ОС, кроме текущей. Продолжить? Yes.

win

Создан программный RAID1 массив из двух дисков.

win

Появился новый диск D.

Разобрать программный RAID1 массив

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

win

Нажимаем правой кнопкой на любой диск массива. Break Mirrored Volume…

win

Yes.

win

RAID1 массив распался на два идентичных независимых диска.

win

К диску D добавился такой же диск E.

Преобразовать динамический диск в основной

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

win

Правой кнопкой на ненужный диск. Delete Volume…

win

Все данные на диске будут уничтожены. Yes.

win

Диск больше не динамический. Чистый, неразмеченный.

Создать программный RAID1 массив из существующего диска

У нас есть динамический диск с данными и второй пустой диск. Хотим задействовать второй диск в качестве зеркала.

win

Правой кнопкой на диск с данными. Add Mirror…

win

Выбираем диск, который будет зеркалом. Add Mirror.

win

Данная операция сконвертирует второй диск в динамический. Yes.

win

Создаётся RAID1 массив из двух дисков. Но данные, естественно, не синхронизированы. Запускается процедура синхронизации, побежали проценты. Процесс занимает некоторое время, достаточно продолжительное. Второй диск помечен восклицательным знаком, поскольку данные на нём не совпадают с основным диском.

win

После окончания синхронизации у нас программный RAID1 массив.

Содержание

  • 1 Настройка RAID
  • 2 Подготовка таблицы разделов для зеркала на 2 диске
  • 3 Преобразования дисков в динамические, создание зеркала
  • 4 Подготовка EFI раздела на втором диске в зеркале
  • 5 Копирование конфигурации EFI и BCD на второй диск

RAID-massiv.pngДоброго дня!

При подключении нескольких дисков к компьютеру (ноутбуку) — каждый из них появляется под своей буквой (C, D, E и др.) и представляет из себя отдельный независимый накопитель. Но объединив эти диски в RAID-массив — можно из двух дисков по 1 ТБ (например) получить единый накопитель на 2 ТБ (причем, с удвоенной* скоростью работы!).

Согласитесь, звучит заманчиво?! Однако, многим пользователям слово «RAID» — либо вообще ничего не говорит, либо напоминает что-то такое отдаленное и сложное (явно-недоступное для повседневных нужд на домашнем ПК/ноутбуке). На самом же деле, все проще, чем есть…👌 (разумеется, если мы не говорим о каких-то сложных производственных задачах, которые явно не нужны на обычном ПК)

Собственно, ниже в заметке попробую на доступном языке объяснить, как можно объединить диски в эти RAID-массивы, в чем может быть их отличие, и «что с чем едят»…

*

Основы, какими могут быть RAID массивы (т.е. то, как будем объединять диски)

Возьмем для примера 2 диска (речь может идти о любых накопителях: HDD, SSD и пр.). Объединить их между собой можно по двум основным схемам:

  • вариант 1: когда их объем суммируется, и мы получаем один большой диск (т.е. в Windows и в BIOS он будет отображаться как один накопитель!). Такую схему принято называть RAID 0;
  • вариант 2: когда эти два диска будут являться копиями друг друга (т.е. зеркальными). Так делают для повышения надежности хранения информации. Эта схема называется RAID 1.

Обратите внимание также на табличку ниже.

RAID 0 (распределение) RAID 1 (зеркалирование)
RAID-0.png

RAID 0

RAID-1.png

RAID 1

Особенности:

  1. объем дисков «складывается» в единое целое (например, при подключении двух дисков по 500 ГБ — получите 1000 ГБ);
  2. скорость работы с RAID-массивом повышается (например, при объединении 2-х дисков — последовательная скорость увел. в 1,5-2 раза!);
  3. снижается надежность: при выходе из строя любого из дисков — данные будут утеряны.
Особенности:

  1. данные клонируются на всех дисках в RAID массиве (т.е. если выйдет из строя один диск — копии файлов можно найти на другом);
  2. скорость работы с накопителями не изменяется (такая же как при работе с одним из дисков).

Разумеется, видов RAID-массивов гораздо больше (RAID 5, RAID 6, RAID 10 и др.), но все они представляют из себя разновидности вышеприведенных (и, как правило, в домашних условиях не используются).

Пару слов о дисках и мат. плате

Не все материнские платы поддерживают работу с дисковыми массивами RAID. И прежде, чем переходить к вопросу объединению дисков, необходимо уточнить этот момент…

Как это сделать: сначала с помощью спец. утилит (например, AIDA 64) нужно узнать точную модель материнской платы компьютера.

Далее найти спецификацию к вашей мат. плате на официальном сайте производителя и посмотреть вкладку «Хранение» (в моем примере ниже, мат. плата поддерживает RAID 0, RAID 1, RAID 10).

Spetsifikatsiya-materinskoy-platyi-800x346.png

Спецификация материнской платы

Если ваша плата не поддерживает нужный вам вид RAID-массива, то у вас есть два варианта выхода из положения:

  1. воспользоваться программным способом поднятия RAID из-под Windows;
  2. приобрести спец. контроллер и установить его в PCI слот. Как правило, для его корректной работы необходимо также будет до-установить драйвер.

RAID-kontroller-v-kachestve-primera-800x359.png

RAID-контроллер (в качестве примера)

Важная заметка: RAID-массив при форматировании логического раздела, переустановки Windows и т.д. — не разрушится. Но при замене материнской платы (при обновлении чипсета и RAID-контроллера) — есть вероятность, что вы не сможете прочитать информацию с этого RAID-массива (т.е. информация не будет недоступна…).

Что касается дисков под RAID-массив:

  1. в общем-то, можно использовать как жесткие диски (HDD), так и твердотельные накопители (SSD);
  2. не всегда нужно брать диски одинакового объема и одной модели (хотя это очень желательно). Например, если вы хотите сделать зеркальную копию своего диска (RAID 1) — можно взять диск или равный по объему, или больше;
  3. при создании RAID-массива — в большинстве случаев, информация с дисков (участвующих в этом) будет удалена.

Пример настройки RAID 0 в BIOS

Разумеется, в одной заметке вряд ли возможно показать настройки для разных мат. плат и способы объединения в RAID (в зависимости от вашего железа могут быть некоторые особенности). В примере ниже, я рассмотрю создание RAID 0 массива с применением современной технологии Intel Rapid Storage Technology.

Важно: при этом способе информация с дисков будет удалена!

Примечание: создать RAID-массив можно и из-под Windows (например, если вы хотите в целях безопасности сделать зеркальную копию своего диска).

1) И так, первым делом необходимо подключить диски к компьютеру (ноутбуку). Здесь на этом не останавливаюсь…

2) Далее нужно зайти в BIOS и установить 2 опции:

  • параметр SATA Mode Selection перевести в режим RAID (обычно он находится в разделе «Advanced»);
  • Boot Mode Selection перевести в UEFI(раздел «Boot»).

Затем нужно сохранить настройки (чаще всего это клавиша F10) и перезагрузить компьютер.

Nastroyki-BIOS-RAID-800x445.png

Настройки BIOS — RAID

3) После, следует снова зайти в BIOS и открыть вкладку Intel Rapid Storage Technology(обычно это раздел «Advanced»).

Intel-Rapid-Storage-Technology-800x342.png

Intel Rapid Storage Technology

4) В этой вкладке должны отображаться все подключенные накопители. Для создания RAID-массива из них (не обязательно из всех) — нажмите по Create RAID Volume.

Create-RAID-Volume.png

Create RAID Volume

5) Теперь нужно указать:

  1. Name — имя массива, может быть любым;
  2. Rapid Level — тип массива, в своем примере я выбрал RAID 0 (т.е. объединение 2-х дисков в 1 с целью увеличения объема и скорости работы);
  3. Select Disk — выбор дисков (просто нужно отметить крестиками накопители, которые участвуют в объединении).

После нажатия на кнопку Create Volume — RAID-массив будет создан, им можно будет пользоваться как обычным отдельным накопителем.

Create-Volume-800x504.png

Create Volume

6) Если приступить к установке Windows 10 (например) — то в шаге выбора диска вы увидите обычную надпись вида «Незанятое пространство на диске» составляет столько-то… (при объединении в RAID 0 двух дисков по 1 ТБ — общий объем получится 1863 ГБ, см. скрин ниже).

Т.е. на этом этапе можно создать логический раздел (и не один) и устанавливать систему как на обычный жесткий диск (забыв о слове RAID совсем…).

Nezanyatoe-prostranstvo-na-diske-ustanovka-OS-Windows-101.png

Незанятое пространство на диске — установка ОС Windows 10

Как создать RAID 0, RAID 1 программно (в ОС Windows 10)

Создать RAID-массив можно как с помощью средств BIOS, так и программно — при помощи инструментов в ОС Windows. Причем, такой вот программный способ не требует даже спец. материнской платы, поддерживающей работу с RAID-массивами…

Рассмотрю ниже пару конкретных примеров.

1) Покупаете и устанавливаете еще один-два диска (в зависимости от задач). Если ваша цель обезопасить свои данные (т.е. создание RAID 1) — то их объем должен быть равен (или быть больше) вашего основного накопителя;

2) Открываете управление дисками (для этого нужно: нажать Win+R, и в появившемся окне ввести команду diskmgmt.msc).

3) Теперь действия могут несколько отличаться.

Вариант 1: допустим вы хотите объединить два новых диска в один, чтобы у вас был большой накопитель для разного рода файлов. В этом случае просто кликните правой кнопкой мышки по одному из новых дисков и выберите создание чередующегося тома (это подразумевает RAID 0). Далее укажите какие диски объединяете, файловую систему и пр.

Примечание: зеркальный том — этоRAID 1.

Sozdat-chereduyushhiysya-ili-zerkalnyiy-tom.png

Создать чередующийся или зеркальный том

Когда RAID-массив будет готов — в «Моем компьютере» у вас появится один логический диск, размер которого будет равен сумме объединенных дисков (в моем примере 3725,9 ГБ x 2 = 7,27 ТБ).

Svoystva-diska.png

Свойства диска

Вариант 2: если же вы беспокоитесь за сохранность своих данных — то можно подключенный к системе новый диск сделать зеркальным вашему основному диску с ОС Windows, причем эта операция будет без потери данных (прим.: RAID 1).

Для этого, когда зайдёте в управление дисками — кликните правой кнопкой мышки по тому разделу диска, для которого хотите создать копию — в появившемся меню выберите «Добавить зеркало», и укажите какой диск будет им являться (в моем случае это диск 1).

Dobavit-zerkalo.png

Добавить зеркало

4) После Windows начнет автоматическую синхронизацию накопителей: т.е. с выбранного вами раздела все данные будут также скопированы на новый диск.

Resinhronizatsiya.png

Ресинхронизация

5) В общем-то, всё, RAID 1 настроен — теперь при любых изменениях файлов на основном диске с Windows — они автоматически будут синхронизированы (перенесены) на второй диск.

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

6) Удалить зеркало, кстати, можно также из управления дисками: пример на скрине ниже.

Udalit-zerkalo-diska-0.png

Удалить зеркало диска 0

*

Дополнения приветствуются…

Удачи!

RSS(как читать Rss)

Другие записи:

  • Личный кабинет Мегафона: как войти в него и не попасть на фишинговый сайт
  • Не печатает принтер [решение]
  • «Файл XXX скачивают редко. Возможно, он вредоносный» — стало появляться какое-то сообщение в Chrome …
  • Can’t Play — не удается воспроизвести видео, ошибка 0xc00d36c4 (появляется в Windows 10 при попытке …
  • Озвучка текста голосом — программы для чтения текста живым голосом
  • Как передавать файлы (фото, видео, контакты и др.) с телефона на телефон (даже если у них нет …
  • Видеодрайвер перестал отвечать и был восстановлен. Что за ошибка? Причины и решение!
  • Как посмотреть недавно открытые файлы в ОС Windows 10 (никак не могу найти вчерашний документ…)

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

Данная инструкция может кому-то показаться сложной, действительно, для создания программного RAID на UEFI-системах требуется довольно много подготовительных действий. Также определенное количество операций придется выполнить и при замене отказавшего диска, но это тема для отдельной статьи. В связи с этим встает вопрос выбора между программным RAID и встроенным в материнскую плату, т.н. fake-raid.

Если брать вопрос производительности, то сегодня он абсолютно неактуален, тем более что вся обработка данных так или иначе осуществляется силами CPU. Основным аргументов в пользу встроенного RAID служит простота его использования, но за это приходится платить совместимостью. Собранные таким образом массивы будут совместимы только со своим семейством контроллеров. К счастью, сейчас уже нет того зоопарка, который был еще лет 10 назад, но все равно, собранный на базе платформы Intel массив вы не запустите на AMD-системе.

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

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

Также есть другая особенность, вытекающая из архитектуры программных RAID массивов, если некритически отказал тот жесткий диск, с которого осуществляется загрузка, то система не будет автоматически загружена со второго, исправного HDD, вы получите ошибку (или BSOD) и вам потребуется вручную изменить порядок загрузки для восстановления работы системы.

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

Конфигурация разделов Windows-систем с UEFI

Прежде всего рассмотрим стандартную конфигурацию разделов, автоматически создаваемую Windows с UEFI, приведенный ниже пример соответствует последним версиям Windows 10 и Windows Server 2016/2019, у более ранних версий Windows разметка может несущественно отличаться.

Windows RE — NTFS раздел со средой восстановления, в последних версиях Windows имеет размер в 500 МБ, при создании ему присваиваются специальные атрибуты, препятствующие назначению буквы диска и удалению раздела через консоль управления дисками. В тоже время данный раздел не является необходимым для работы системы, среда восстановления может находиться на системном диске и даже может отсутствовать. Вынос среды восстановления на отдельный раздел преследует две цели: возможность работы на зашифрованных системах и защита от некорректных действий пользователя.

EFI — раздел специального типа с файловой системой FAT32, который содержит загрузчик, вызываемый микропрограммой UEFI. Данный раздел должен находиться в основной таблице разделов и не может быть расположен на динамическом диске. В Windows он ошибочно называется зашифрованным, имеет критическое значение для нормальной работы системы. В современных Windows-системах имеет размер в 100 МБ.

MSR (Microsoft System Reserved) — служебный раздел с файловой системой NTFS, является обязательным для GPT-разметки, которая не позволяет использовать скрытые сектора диска, используется для служебных операций встроенного и стороннего ПО, например, при преобразовании диска в динамический. Является скрытым и не отображается в оснастке управление дисками. Его размер в современных системах — 16 МБ.

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

Производители ПК могут добавлять дополнительные разделы, например, с резервным образом системы для отката к заводским настройкам или собственными инструментами восстановления, чаще всего они имеют специальные GPT-атрибуты, как и у раздела Windows RE.

Подготовка к созданию программного RAID

Будем считать, что вы уже установили операционную систему на один из дисков, в нашем примере будет использоваться Windows Server 2019 установленный на виртуальной машине. Если мы откроем оснастку Управление дисками, то увидим примерно следующую картину:

Первым идет раздел Windows RE, размером в 499 МБ, а за ним раздел EFI, который ошибочно именуется шифрованным. Но как мы говорили выше, данная оснастка не дает полного представления о структуре разметки, поэтому запустим утилиту командной строки diskpart и получим список разделов:

diskpartsel disk 0list par

Первая команда запускает утилиту, вторая выбирает первый диск (диск 0) и третья выводит список разделов.

Здесь присутствуют все существующие на диске разделы, включая MSR, размером в 16 МБ. Теперь нам нужно воспроизвести аналогичную разметку на втором жестком диске. Будем считать, что вы еще не вышли из утилиты diskpart, поэтому выберем второй жесткий диск (диск 1) и очистим его:

sel disk 1clear

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

Преобразуем диск в GPT:

 convert gpt

При преобразовании на диске будет автоматически создан MSR раздел, нам он пока не нужен, поэтому удалим его командой:

sel par 1delete part override

После чего убедимся, что диск не содержит разделов.

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

На всякий случай явно выберем диск и создадим на нем раздел размером в 499 МБ, который отформатируем в NTFS:

sel disk 1create partition primary size=499format quick fs=ntfs

Затем зададим ему нужные GPT-атрибуты:

set id=de94bba4-06d1-4d40-a16a-bfd50179d6acgpt attributes=0x8000000000000001

Идентификатор de94bba4-06d1-4d40-a16a-bfd50179d6ac задает тип раздела как Windows RE, а атрибут 0x8000000000000001 препятствует назначению буквы диска и помечает раздел как обязательный для работы системы, во избежание его удаления из оснастки управления дисками.

Следующим шагом создадим раздел EFI:

create partition efi size=99format quick fs=fat32

И раздел MSR:

create partition msr size=16

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

После чего систему обязательно следует перезагрузить.

Создание программного RAID

Прежде всего преобразуем диски в динамические, это можно сделать в оснастке Управление дисками:

или утилитой diskpart:

sel disk 0convert dynamicsel disk 1convert dynamic

Затем добавим зеркало к системному диску через графический интерфейс

или с помощью diskpart:

sel vol cadd disk 1

После чего следует обязательно дождаться ресинхронизации данных, в зависимости от скорости и объема дисков это может занять некоторое время.

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

Настройка загрузчика EFI и его копирование на второй раздел

Снова запустим утилиту diskpart и присвоим буквы EFI разделам на дисках, но перед этим уточним расположение нужного нам раздела:

sel disk 0list par

Как видим интересующий нас раздел имеет номер 2, выберем его и присвоим букву:

sel par 2assign letter=P

Повторим аналогичные манипуляции со вторым диском:

sel disk 1sel par 2assign letter=S

Выйдем из утилиты diskpart (команда exit) и перейдем в EFI раздел первого диска:

P:cd EFIMicrosoftBoot

Для просмотра текущих точек загрузки выполните:

bcdedit /enum

Вывод команды покажет нам единственную запись диспетчера загрузки (на текущем EFI-разделе) и две записи загрузчика Windows, на каждом из зеркальных томов. Нам потребуется создать второй экземпляр диспетчера загрузки:

bcdedit /copy {bootmgr} /d "Windows Boot Manager 2"

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

bcdedit /set {bb040826-aa5e-lle9-8e9e-8efd93e43841} device partition=s:

В фигурных скобках должен быть указан идентификатор, полученный на предыдущем шаге.

После чего экспортируем BCD-хранилище загрузчика:

bcdedit /export P:EFIMicrosoftBootBCD2

И скопируем содержимое EFI-раздела на второй диск:

robocopy P: S: /E /R:0

Ошибка при копировании активного экземпляра BCD-хранилища — это нормально, собственно поэтому мы и сделали его экспорт, вместо того, чтобы просто скопировать. Затем переименуем копию хранилища на втором диске:

rename S:EFIMicrosoftBootBCD2 BCD

и удалим ее с первого:

del P:EFIMicrosoftBootBCD2

Осталось удалить буквы дисков EFI-разделов, для этого снова запустим diskpart:

sel vol premovesel vol sremove

Теперь можно перезагрузить систему и в загрузочном меню BIOS выбрать Windows Boot Manager 2, затем Windows Server — вторичный плекс — это обеспечит использование EFI-загрузчика и системного раздела второго диска. Если вы все сделали правильно — загрузка будет удачной. Таким образом у нас будет полноценное зеркало системного раздела на динамических дисках в UEFI-системе.

В этой статье мы рассмотрим, как создать программное зеркало (RAID1) из двух GPT дисков в Windows Server 2016/Windows 10, установленных на UEFI системе. Мы рассмотрим полноценную конфигурацию BCD загрузчика, позволяющую обеспечить корректную загрузку Windows и защитить данные от выхода из строя любого диска.

Итак, у нас имеется простой компьютер UEFI-архитектуры без встроенного RAID контроллера с двумя идентичными дисками размерами по 50 Гб. Наша задача — установить на первый GPT диск ОС (Windows Server 2016, Windows 10 или бесплатного сервер Hyper-V), а затем собрать из двух дисков программное зеркало (RAID1 – Mirroring).

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

Запишите установочный образ Windows на DVD/ USB флешку, загрузите компьютер) с этого загрузочного устройства (в режиме UEFI, не Legacy) и запустите установку Windows Server 2016.

После установки, откройте консоли управления дисками (diskmgmt.msc), убедитесь, что на первом диске используется таблица разделов GPT (свойства диска -> вкладка Volumes -> Partition style –> GUID partition table), а второй диск пустой (неразмечен).

Содержание:

Подготовка таблицы разделов для зеркала на 2 диске

podgotovka-s-sozdaniyu-programnogo-raid-v-windows-1.png

Откройте командную строку с правами администратора и выполните команду diskpart. Наберите:

DISKPART>List disk

Как вы видите, в системе имеется два диска:

  • Disk 0 – диск с таблицей разделов GPT, на который установлена Windows
  • Disk 1 – пустой неразмеченный диск

list-disk.png

На всякий случай еще раз очистим второй диск и конвертируем его в GPT:

Select disk 1

clean

Convert GPT

Введите список разделов на втором диске:

List part

Если найдется хотя бы один раздел (в моем примере это Partition 1 – Reserved – Size 128 Mb), удалите его:

Sel part 1

Delete partition override

konvertirovanie-diska-v-gpt.png

Выведите список разделов на 1 диске (disk 0). Далее вам нужно создать такие же разделы на Disk 1.

Select disk 0

List part

Имеется 4 раздела:

  • Recovery – 450 Мб, раздел восстановления со средой WinRE
  • System – 99 Мб, EFI раздел (подробнее про структуру разделов на GPT дисках)
  • Reserved 16 Мб, MSR раздел
  • Primary – 49 Гб, основной раздел с Windows

list-part-na-gpt-diske.png

Создаем такие же разделы на Disk 1:

Select disk 1

Create partition primary size=450

format quick fs=ntfs label=»WinRE»

set id=»de94bba4-06d1-4d40-a16a-bfd50179d6ac»

create partition efi size=99

create partition msr size=16

list part

sozdanie-struktury-razdelov-dlya-zagruzochnogo-gpt-d.png

Преобразования дисков в динамические, создание зеркала

Теперь оба диска нужно преобразовать в динамические:

Select disk 0

Convert dynamic

Select disk 1

Con dyn

konvertivrovat-diski-v-dinamicheskie.png

Создадим зеркало для системного диска (диск C:). Нужно выбрать раздел на первом диске и создать для него зеркало на 2 диске:

Select volume cAdd disk=1

Должно появится сообщение:

DiskPart succeeded in adding a mirror to the volume

Откройте консоль управления дисками, и убедитесь, что запустилась синхронизуя раздела C на (Recynching). Дождитесь ее окончания (может занять до нескольких часов в значимости от размера раздела C: ).

sinhronizaciya-dannyh-v-programnom-raid-1-v-windows.png

При загрузке Windows теперь будет появляться меню Windows Boot Manager с предложение выбрать с какого диска загружаться. Если не выбрать диск вручную, система через 30 секунд попытается загрузиться с первого диска:

  • Windows Server 2016
  • Windows Server 2016 – secondary plex

windows-server-2016-secondary-plex.png

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

Программный RAID Windows не получится использовать для создания нормального зеркала EFI раздела. Т.к. на EFI разделе хранятся файлы, необходимые для загрузки ОС, то при выходе их строя первого диска, вы не сможете загрузить компьютер со второго диска без ручного восстановления загрузчика EFI на нем в среде восстановления. Эти операции довольно сложно сделать неподготовленному администратору, а также потребует дополнительного времени (которого может не быть, если у вас за спиной стоит толпа разгневанных пользователей).

Далее мы покажем, как скопировать EFI раздел на второй диск и изменить конфигурацию загрузчика BCD, чтобы вы могли загрузить Windows как с первого, так и со второго диска.

Подготовка EFI раздела на втором диске в зеркале

Теперь нужно подготовить EFI раздел на втором диске в зеркале, чтобы компьютер мог использовать этот раздел для загрузки Windows. Назначим EFI разделу на Disk 1 букву S и отформатируем его в файловой системе FAT32:

Select disk 1

Select part 2

assign letter=S

format fs=FAT32 quick

sozdat-efi-razdel-s-fat32.png

Теперь назначим букву диска P: для EFI раздела на Disk 0:

select disk 0

select partition 2

assign letter=P

exit

diskpart-naznachit-bukvy-diskam-efi.png

Копирование конфигурации EFI и BCD на второй диск

Выведите текущую конфигурацию загрузчика BCD с помощью команды:

bcdedit /enum

При создании зеркала, служба VDS автоматически добавила в конфигурацию BCD запись для второго зеркального диска (с меткой Windows Server 2016 – secondary plex).

bcdedit-enum-dlya-gpt-diska-sbootmgfw-efi.png

Чтобы EFI в случае потери первого диска могут загружаться со второго диска, нужно изменить конфигурацию BCD.

Для этого нужно скопировать текущую конфигурацию Windows Boot Manager

bcdedit /copy {bootmgr} /d "Windows Boot Manager Cloned"

The entry was successfully copied to {44d1d6bf-xxxxxxxxxxxxxxxx}

Теперь скопируйте полученный ID конфигурации и используйте его в следующей команде:

bcdedit /set {44d1d6bf-xxxxxxxxxxxxxxxx} device partition=s:

Если все правильно, должна появится строка The operation completed successfully.

bcdedit-set-44d1d6bf-xxxxxxxxxxxxxxxx-device-pa.png

Выведите текущую конфигурацию Windows Boot Manager (bcdedit /enum). Обратите внимает, что у загрузчика теперь два варианта загрузки EFI с разных дисков (default и resume object).

dve-konfiguracii-windows-boot-manager-dlya-raznyh-g.png

Теперь нужно сделать копию BCD хранилища на разделе EFI первого диска и скопировать файлы на второй диск:

P:bcdedit /export P:EFIMicrosoftBootBCD2robocopy p: s: /e /r:0

robocopy-efi-razdela-v-zerkale.png

Осталось переименовать BCD хранилище на втором диске:

Rename s:EFIMicrosoftBootBCD2 BCD

И удалить копию на Disk 0:

Del P:EFIMicrosoftBootBCD2

pereimenovat-bcd.png

Теперь при выходе из строя первого диска, вам нужно при загрузке компьютера выбрать устройство «Windows Boot Manager Cloned», а затем «Microsoft Windows Server 2016 —  secondary plex».

При загрузке с отказавшим дисков, в диспетчере Disk Management вы увидите сообщение Failed Redndancy.

windows-programnyj-raid-failed-redundance.png

В этом случае вы должны заменить неисправный диск, удалить конфигурацию зеркала и пересоздать программный RAID с начала.

Используемые источники:

  • https://ocomp.info/2-disk-v-raid-massiv.html
  • https://interface31.ru/tech_it/2019/07/nastraivaem-programmnyy-raid-na-uefi-sistemah-v-windows.html
  • https://winitpro.ru/index.php/2019/09/30/programmnyj-raid1-zerkalo-v-windows/

Общие сведения о зеркалировании дисков (RAID 1)


При использовании зеркального рейд-массива два идентичных тома располагаются на двух разных физических дисках. Любые данные, записанные в зеркальный том, фактически записываются на оба диска, чтобы в случае выхода из строя одного из диска, данные были доступны на втором. В отличие от «страйпа», когда за счет распределения одного логического тома на нескольких физических дисках и параллельной поблочной записи/чтения увеличивается скорость ввода-вывода, зеркалирование уменьшает производительность за счет того, что все транзакции записи данных дублируются на каждый диск в массиве.

Создание зеркала (RAID 1), используя «Disk Management»


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

Для этого следует запустить «Управление дисками». Это можно сделать из командной строки, выполнив команду compmgmt.msc или из «Пуска», выбрав Storage -> Disk Management.
‭В нашем примере система содержит 3 диска, пронумерованные как 0, 1 и 2 соответственно. Диск 0 является системным, диски 1 и 2 будет использованы для создания «зеркала».
В «Управлении дисками» нажмите правой кнопкой на не размеченной области в графическом отображении первого диска, используемого для зеркального тома. Выберите «New Mirrored Volume…» для запуска мастера создания нового зеркального тома. Нажав «Далее» на приветственном экране, вы попадете в окно выбора дисков. Как говорилось ранее, зеркальный массив должен состоять из двух дисков. В столбце «Selected» мастер отобразит только текущий выбранный диск. Для продолжения требуется более одного диска. Чтобы добавить диск в зеркальный том, выберите второй диск из доступных дисков в левом столбце и нажмите «Добавить»:

После выбора дисков нажмите «Далее» для процедуры создания и назначения тому буквы диска или точки монтирования. Кнопка «Далее» выведет окно «Форматирование тома», где можно выбрать тип файловой системы и возможность сжатия. Для вывода итоговой информации о проделываемой операции нажмите «Далее». Для подтверждения операции нажмите «Закончить»; будет произведено форматирование томов и создание зеркального тома, готового к использованию.

В случае использования всего двух дисков можно получить следующую картину:

И чтобы избавиться от зарезервированной области, которая присутствует только на одном диске, произведем такие действия:
Запустите с административными привилегиями команду

bcdboot c:windows /s c:

Эта команда создает системный раздел. Более подробная информация по использованию bcdboot есть на техническом сайте Microsoft.
После получения сообщения «Boot files successfully created.» перейдите в управление дисками и пометьте раздел C: как активный. После этого перезагрузитесь и удалите этот том с помощью «Управления дисками»

Создание зеркального (RAID 1) массива в командной строке

Зеркальный том можно создать так же и из командной строки с помощью приложения diskpart. Его можно запустить из открытого окна командной строки или из «Пуска», набрав в строке «diskpart». Появившееся приглашение DISKPART> покажет, что diskpart запущен и готов к работе.
В первую очередь узнаем, какие диски подключены к серверу. Эту информацию можно узнать с помощью команды «list disk»:

DISKPART> list disk

  Disk ###  Status      Size     Free     Dyn  Gpt
  --------  ----------  -------  -------  ---  ---
  Disk 0    Online        30 GB      0 B
  Disk 1    Online         8 GB  8189 MB
  Disk 2    Online         8 GB  8189 MB

В качестве примера объединим в зеркальный том диски 1 и 2. Для этого сначала создадим простой том на первом диске и добавим второй диск для зеркалирования.
Первый том создаем с помощью команды «create volume» и параметра «disk=». Размер тома можно задать дополнительным параметром «size=». Без этого параметра diskpart создаст том размером со все доступное дисковое пространства. Например:

DISKPART>create volume simple disk=1

Первый том создан и теперь добавляем в качестве зеркального тома диск 2. Для этого выполняется простая команда:

add disk=2

Для проверки новой конфигурации используйте команду «list volume»:

DISKPART> list volume

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 0     C                NTFS   Partition     30 GB  Healthy    System
* Volume 1                      RAW    Mirror      8189 MB  Healthy

Как можно увидеть, новый том отображен как «Volume 1» с типом «Mirror». В качестве файловой системы указан «RAW» потому, что еще не произведено форматирование файловой системы. Это можно сделать с помощью того же приложения diskpart:

DISKPART> select volume 1
DISKPART> format fs=ntfs label="Mirrored Volume"

  100 percent completed

DiskPart successfully formatted the volume.

После окончания форматирования, назначьте тому буквенное значение или точку монтирования:
Назначить буквенное значение:

DISKPART> assign letter=E:

DiskPart successfully assigned the drive letter or mount point.

Назначить точку монтирования:

DISKPART> assign mount=MIRROR

DiskPart successfully assigned the drive letter or mount point.

После успешного завершения всех операций, новый зеркальный том готов к использованию.

Добавление зеркального тома к существующему


Зеркальный рейд-массив можно создать, добавив том к уже существующему, используя управление дисками или diskpart из командной строки. При добавлении зеркала к существующему тому Windows создает второй том идентичного размера и типа файловой системы на втором диске и копирует (этот процесс еще называется синхронизацией) данные в зеркало.
Для зеркалирования существующего тома в управлении дисками нажмите правой кнопкой мыши на том и выберите «Add Mirror» для вызова диалога добавления зеркала:

Окно выше отображает доступные для зеркалирования диски. Выбираете нужный диск и нажимаете «Далее». Может появиться предупреждение, если потребуются дополнительные действия (например, конвертация обычного диска в динамический). Нажмите «Да». Начнется процесс синхронизации и состояние выполнения будет отображаться графически.
Чтобы сделать то же самое из командной строки, запустите diskpart и проверьте наличие требуемых томов командой:

DISKPART> list volume

  Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 0     C                NTFS   Partition     30 GB  Healthy    System
  Volume 1     E   My Volume    NTFS   Partition   8189 MB  Healthy

Разберем возможность зеркалирования тома «Volume 1». Диск, куда будет настроено зеркалирование можно увидеть командой «list disk»:

DISKPART> list disk

  Disk ###  Status      Size     Free     Dyn  Gpt
  --------  ----------  -------  -------  ---  ---
  Disk 0    Online        30 GB      0 B
* Disk 1    Online         8 GB      0 B
  Disk 2    Online         8 GB  8189 MB

Выше было видно, что Volume 1 имеет размер 8ГБ. Таким образом, для его зеркалирования потребуется диск размером не менее 8ГБ. ‬Заметьте, что если диски не динамические, их потребуется отконвертировать командами:

select disk 1
convert dynamic
select disk 2
convert dynamic

Далее, выбираем нужный том на диске 1:

DISKPART> select disk 1
DISKPART> select volume 2

Volume 2 is the selected volume.

И, наконец, зеркалируем их командой «add=», указав номер диска, используемый для этого (в нашем случае это диск 2):

DISKPART> add disk=2

DiskPart succeeded in adding a mirror to the volume.

После этого Windows Server 2008 начнет синхронизацию, время которой зависит от размера зеркалируемого тома. В процессе синхронизации в списке томов зеркалируемые (с типом Mirror) будут иметь состояние «Rebuild». После окончания — Healthy.

Разборка и удаление зеркального массива дисков


Windows Server 2008 включает в себя функции разборки зеркального рейд-массива (создаются два отдельных и независимых тома, содержащих идентичные данные) и удаления «зеркала» (в этом случае все данные на «зеркале» удаляются).
Чтобы разобрать дисковый массив с помощью «Управления дисками», нажмите правой кнопкой мыши на одном из томов и выберите «Break Mirrored Volume» в появившемся меню.
Из командной строки, в приложении diskpart, используйте команду «break» с указанием на один из двух дисков зеркального рейд-массива:

DISKPART>break disk=2

Для удаления зеркала из массива, удаления всех синхронизированных данных нажмите правой кнопкой мыши на зеркальном томе в «Управлении дисками» и выберите «Remove Mirror». В качестве альтернативы можно использовать команду«break» в diskpart с параметром NOKEEP:

DISKPART>break nokeep disk=2

Восстановление зеркального рейд-массива

Если один из дисков рейд-массива вышел из строя, то даже в этом случае есть хорошая новость — в отличии от «страйпа», все данные, актуальные на момент аварии, остались на втором диске. В этом случае важно заменить сбойный диск и пересобрать зеркало до того, как второй диск перестанет работать.
Нажмите правой кнопкой мыши на поврежденный том и выберите «Remove Mirror». Далее, подключите новый диск достаточного объема для создания зеркала. Правой кнопкой мыши нажмите на рабочем томе из текущего зеркала и выберите «Add Mirror» в появившимся меню, выберите новый диск и нажмите «Add Mirror». Windows пересоберет зеркальный рейд-массив, используя новый диск. Как упоминалось ранее, время пересборки и синхронизации данных зависит от производительности дисков и их объема.

softraid-uefi-windows-000.pngПрограммный RAID пользуется заслуженной популярностью, позволяя легко создавать отказоустойчивые дисковые конфигурации в недорогих системах, отличаясь простотой создания и управления. Но с переходом современных систем на UEFI появились некоторые особенности, касающиеся процесса загрузки, которые следует понимать и принимать во внимание. В противном случае отказоустойчивость может оказаться мнимой и при отказе одного из дисков вы просто не сможете загрузить систему.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Данная инструкция может кому-то показаться сложной, действительно, для создания программного RAID на UEFI-системах требуется довольно много подготовительных действий. Также определенное количество операций придется выполнить и при замене отказавшего диска, но это тема для отдельной статьи. В связи с этим встает вопрос выбора между программным RAID и встроенным в материнскую плату, т.н. fake-raid.

Если брать вопрос производительности, то сегодня он абсолютно неактуален, тем более что вся обработка данных так или иначе осуществляется силами CPU. Основным аргументов в пользу встроенного RAID служит простота его использования, но за это приходится платить совместимостью. Собранные таким образом массивы будут совместимы только со своим семейством контроллеров. К счастью, сейчас уже нет того зоопарка, который был еще лет 10 назад, но все равно, собранный на базе платформы Intel массив вы не запустите на AMD-системе.

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

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

Также есть другая особенность, вытекающая из архитектуры программных RAID массивов, если некритически отказал тот жесткий диск, с которого осуществляется загрузка, то система не будет автоматически загружена со второго, исправного HDD, вы получите ошибку (или BSOD) и вам потребуется вручную изменить порядок загрузки для восстановления работы системы.

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

Конфигурация разделов Windows-систем с UEFI

Прежде всего рассмотрим стандартную конфигурацию разделов, автоматически создаваемую Windows с UEFI, приведенный ниже пример соответствует последним версиям Windows 10 и Windows Server 2016/2019, у более ранних версий Windows разметка может несущественно отличаться.

softraid-uefi-windows-001.pngWindows RE — NTFS раздел со средой восстановления, в последних версиях Windows имеет размер в 500 МБ, при создании ему присваиваются специальные атрибуты, препятствующие назначению буквы диска и удалению раздела через консоль управления дисками. В тоже время данный раздел не является необходимым для работы системы, среда восстановления может находиться на системном диске и даже может отсутствовать. Вынос среды восстановления на отдельный раздел преследует две цели: возможность работы на зашифрованных системах и защита от некорректных действий пользователя.

EFI — раздел специального типа с файловой системой FAT32, который содержит загрузчик, вызываемый микропрограммой UEFI. Данный раздел должен находиться в основной таблице разделов и не может быть расположен на динамическом диске. В Windows он ошибочно называется зашифрованным, имеет критическое значение для нормальной работы системы. В современных Windows-системах имеет размер в 100 МБ.

MSR (Microsoft System Reserved) — служебный раздел с файловой системой NTFS, является обязательным для GPT-разметки, которая не позволяет использовать скрытые сектора диска, используется для служебных операций встроенного и стороннего ПО, например, при преобразовании диска в динамический. Является скрытым и не отображается в оснастке управление дисками. Его размер в современных системах — 16 МБ.

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

Производители ПК могут добавлять дополнительные разделы, например, с резервным образом системы для отката к заводским настройкам или собственными инструментами восстановления, чаще всего они имеют специальные GPT-атрибуты, как и у раздела Windows RE.

Подготовка к созданию программного RAID

Будем считать, что вы уже установили операционную систему на один из дисков, в нашем примере будет использоваться Windows Server 2019 установленный на виртуальной машине. Если мы откроем оснастку Управление дисками, то увидим примерно следующую картину:

softraid-uefi-windows-002.pngПервым идет раздел Windows RE, размером в 499 МБ, а за ним раздел EFI, который ошибочно именуется шифрованным. Но как мы говорили выше, данная оснастка не дает полного представления о структуре разметки, поэтому запустим утилиту командной строки diskpart и получим список разделов:

diskpart
sel disk 0
list par

Первая команда запускает утилиту, вторая выбирает первый диск (диск 0) и третья выводит список разделов.

softraid-uefi-windows-003.pngЗдесь присутствуют все существующие на диске разделы, включая MSR, размером в 16 МБ. Теперь нам нужно воспроизвести аналогичную разметку на втором жестком диске. Будем считать, что вы еще не вышли из утилиты diskpart, поэтому выберем второй жесткий диск (диск 1) и очистим его:

sel disk 1
clean

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

Преобразуем диск в GPT:

 convert gpt

При преобразовании на диске будет автоматически создан MSR раздел, нам он пока не нужен, поэтому удалим его командой:

sel par 1
delete part override

После чего убедимся, что диск не содержит разделов.

softraid-uefi-windows-004.pngТеперь можно создавать разметку. Разделы должны идти в том же порядке и с тем же типом, что и на первом диске. Поэтому первым создадим раздел восстановления, он не является обязательным и не влияет на работу системы. В принципе его можно даже не форматировать, но во избежание каких-либо недоразумений в дальнейшем мы рекомендуем создать раздел с теми же атрибутами, что и оригинальный раздел восстановления.

На всякий случай явно выберем диск и создадим на нем раздел размером в 499 МБ, который отформатируем в NTFS:

sel disk 1
create partition primary size=499
format quick fs=ntfs

Затем зададим ему нужные GPT-атрибуты:

set id=de94bba4-06d1-4d40-a16a-bfd50179d6ac
gpt attributes=0x8000000000000001

Идентификатор de94bba4-06d1-4d40-a16a-bfd50179d6ac задает тип раздела как Windows RE, а атрибут 0x8000000000000001 препятствует назначению буквы диска и помечает раздел как обязательный для работы системы, во избежание его удаления из оснастки управления дисками.

Следующим шагом создадим раздел EFI:

create partition efi size=99
format quick fs=fat32

И раздел MSR:

create partition msr size=16

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

softraid-uefi-windows-005.pngПосле чего систему обязательно следует перезагрузить.

Создание программного RAID

Прежде всего преобразуем диски в динамические, это можно сделать в оснастке Управление дисками:

softraid-uefi-windows-006.png

или утилитой diskpart:

sel disk 0
convert dynamic
sel disk 1
convert dynamic

Затем добавим зеркало к системному диску через графический интерфейс

softraid-uefi-windows-007.pngили с помощью diskpart:

sel vol c
add disk 1

После чего следует обязательно дождаться ресинхронизации данных, в зависимости от скорости и объема дисков это может занять некоторое время.

softraid-uefi-windows-008.pngТеперь при загрузке появится меню с выбором раздела, загрузиться можно с обоих, но не будем забывать, что загрузчик по-прежнему присутствует только на первом диске и при смене порядка загрузки в BIOS загрузиться со второго диска не удастся.

softraid-uefi-windows-009.pngНастройка загрузчика EFI и его копирование на второй раздел

Снова запустим утилиту diskpart и присвоим буквы EFI разделам на дисках, но перед этим уточним расположение нужного нам раздела:

sel disk 0
list par

softraid-uefi-windows-010.pngКак видим интересующий нас раздел имеет номер 2, выберем его и присвоим букву:

sel par 2
assign letter=P

Повторим аналогичные манипуляции со вторым диском:

sel disk 1
sel par 2
assign letter=S

Выйдем из утилиты diskpart (команда exit) и перейдем в EFI раздел первого диска:

P:
cd EFIMicrosoftBoot

Для просмотра текущих точек загрузки выполните:

bcdedit /enum

softraid-uefi-windows-011.pngВывод команды покажет нам единственную запись диспетчера загрузки (на текущем EFI-разделе) и две записи загрузчика Windows, на каждом из зеркальных томов. Нам потребуется создать второй экземпляр диспетчера загрузки:

bcdedit /copy {bootmgr} /d "Windows Boot Manager 2"

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

softraid-uefi-windows-012.png

bcdedit /set {bb040826-aa5e-lle9-8e9e-8efd93e43841} device partition=s:

В фигурных скобках должен быть указан идентификатор, полученный на предыдущем шаге.

После чего экспортируем BCD-хранилище загрузчика:

bcdedit /export P:EFIMicrosoftBootBCD2

И скопируем содержимое EFI-раздела на второй диск:

robocopy P: S: /E /R:0

softraid-uefi-windows-013.pngОшибка при копировании активного экземпляра BCD-хранилища — это нормально, собственно поэтому мы и сделали его экспорт, вместо того, чтобы просто скопировать. Затем переименуем копию хранилища на втором диске:

rename S:EFIMicrosoftBootBCD2 BCD

и удалим ее с первого:

del P:EFIMicrosoftBootBCD2

Осталось удалить буквы дисков EFI-разделов, для этого снова запустим diskpart:

sel vol p
remove
sel vol s
remove

Теперь можно перезагрузить систему и в загрузочном меню BIOS выбрать Windows Boot Manager 2, затем Windows Server — вторичный плекс — это обеспечит использование EFI-загрузчика и системного раздела второго диска. Если вы все сделали правильно — загрузка будет удачной. Таким образом у нас будет полноценное зеркало системного раздела на динамических дисках в UEFI-системе.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Настройка программного RAID-массива в среде Windows имеет свои особенности в отличие от настройки под Linux-системами.

Программные массивы могут быть созданы только на динамических дисках. Установка или загрузка Windows с динамического тома возможна только в том случае, если этот диск был преобразован из системного или загрузочного тома. То есть если установлено несколько экземпляров ОС, то после преобразования диска в динамический можно загрузить лишь тот экземпляр, который находится на загрузочном разделе. Для загрузочного и системного томов возможно создание только зеркального массива (RAID1), создание иных видов массива невозможно, так как они подразумевают установку системы на заранее созданный раздел.

Работа с программными массивами и динамическими дисками производится через связку ХранениеУправление дисками в Диспетчере сервера.
Данная операция необратима, переразметить загрузочный диск не получится, так как он после этого перестанет быть загрузочным, при этом можно будет расширить том за счет неразмеченного пространства.

  1. Для преобразования дисков в динамические щелкните правой кнопкой мыши и выберите в открывшемся меню пункт Преобразовать в динамический диск. Можно преобразовать сразу несколько дисков.
  2. Для создания массива щелкните правой кнопкой мыши на нужном томе и выберите из выпадающего меню нужный вариант. В случае с системным и загрузочными томами вариант будет один — зеркало.
  3. Выберите диск для размещения зеркального тома. По завершении создания массива тут же начнется его ресинхронизация.
  4. Можно как объединить несколько дисков в отдельный том, так и создать RAID0, 1 или 5.

BIOS

Ниже описана процедура ручной настройки зеркалирования дисков (RAID1) в операционной системе Windows Server:

  1. Перейдите в StartControl PanelSystem And SecurityAdministrative Tools.
  2. Выберите Create and format hard disk partitions.
  3. Кликните правой кнопкой мыши по Disk 0 и выберите Convert to dynamic disk.
  4. Повторите процедуру для Disk 1.
  5. В Disk Management кликните правой кнопкой мыши на диске C: и в выпадающем меню выберите Add mirroring.
  6. В следующем меню выберите Disk 1 и нажмите Add mirroring.

После выполнения действий начнется синхронизация дисков. Синхронизация займет некоторое время, которое зависит от объема дисков.

UEFI

Каждая система с UEFI содержит системный раздел (UEFI System Partition). Этот раздел не может быть зеркалирован автоматическими средствами Windows и требует ручного копирования и настройки на втором диске:

  1. Создайте UEFI System Partition на втором диске и отформатируйте его в FAT.
  2. Скопируйте данные с UEFI System Partition с первого диска на второй.
  3. Остальные разделы можно зеркалировать так, как описано выше (Disk ManagementAdd mirroring).

Created on March 27, 2017.

Last commit e81697c5 on December 15, 2017 — 9 total changes.


Setup

Most Windows installers if not all modern versions have a command line option that can be accessed when using the GUI installer (from anywhere from what I can tell). This functionality can be accessed with SHIFT + F10 and looks like:

Commandline within Windows Installer.

From here we can access diskpart. From Microsoft’s Technet, «DiskPart is a text-mode command interpreter [that] enables you to manage objects (disks, partitions, or volumes) by using scripts or direct input at a command prompt.»

Think parted if you’re coming from Linux — but with a lot more functionality. You might have used it under the name «Disk Management», which is basically a GUI wrapper. We will need this program to preparing the Windows installer to install to a RAID 1 setup.

To use Diskpart, invoke it from the command line using:

X:Sources> diskpart
DISKPART> 

You can list all the disks available as so:

X:Sources> diskpart
DISKPART> list disk

  Disk ###  Status         Size     Free     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
  Disk 1    Online          127 GB    127 B        
  Disk 2    Online          127 GB    127 B        

In the above example we have two disks, we will put both of these into our RAID1. As can be seen above, diskpart is base 0.

Convert Each Disk to Dynamic

Any mirror setup requires disks to be in dynamic mode — this is basically LVM under Linux. Dynamic disks can be used for a multitude of purposes like disk spanning, mirroring, striping, etc. Although, be careful, there’s no going back from dynamic without formatting the disks completely.

Let’s clean each disk before converting them, this uninitialize the disks without a partition scheme. After this disk is empty we enable dynamic mode.

DISKPART> select disk 0
DISKPART> clean
DISKPART> convert dynamic

And do the same thing with the second disk.

DISKPART> select disk 1
DISKPART> clean
DISKPART> convert dynamic

list disk should look like this now:

Output of list disk with dynamic disks.

Prepare Mirrors

At this point we can create our RAID1 «partitions». I use «partitions» in quotes as they aren’t really partitions (as they mirror data) but the Windows installer must think of them as partitions. Little weird, but kind of makes sense.

Windows requires two partitions when in MBR mode (EFI requires 3, which I won’t go into). One which is normally called System Reserved and the main OS partition normally without a name (C:/). Both of these partitions need to be created manually as the normal Windows installer cannot.

DISKPART> select disk 0
DISKPART> create volume mirror disk=0,1 size=500
DISKPART> format quick fs=ntfs label="System Reserved"

These commands create a mirrored volume using disk 0 and 1 with a size of 500mb (default size under Windows 2016). Then it formats the newly created (and automatically selected) volume using ntfs as the filesystem and «System Reserved» as the volume label.

Then we can create the OS partition using similar commands:

DISKPART> select disk 0
DISKPART> create volume mirror disk=0,1
DISKPART> format quick fs=ntfs

Output after formatting.

Using list volume we should see the list of volumes that we created. Note that the volume numbers may be different.

Make the Mirrors Usable

In the above setup, each volume represents a single logical «partition», but in reality each of these volumes spans two physical drives. These volumes are great under Windows, but not so useful to the BIOS attempting to bootstrap a OS. To make it possible for the BIOS to start Windows we need to create real partitions for each of our mirror volumes.

First let’s use detail disk to make sure we target the correct volumes.

DISKPART> select disk 0
DISKPART> detail disk

In the picture, volume 0 is our System Recovery volume and volume 1 is our OS volume, different configurations may be different.

DISKPART> select disk 0
DISKPART> select volume 1
DISKPART> retain

This creates a real partition for volume 0 (System Recovery) on disk 0. Use list partition to find to again make sure to target the correct partition.

DISKPART> select disk 0
DISKPART> list partition

Our System Recovery partition is 500 MB, in this example, this partition is partition 1.

To mark the newly created, real partition to be the boot partition we can use the following:

DISKPART> select disk 0
DISKPART> select partition 2
DISKPART> active

We need to do the same thing on the other drive too, as so:

DISKPART> select disk 1
DISKPART> select volume 1
DISKPART> retain
DISKPART> select disk 1
DISKPART> select partition 2
DISKPART> active

We also need a partition for the OS drive (required by the installer). This can be done using the same commands:

DISKPART> select disk 0
DISKPART> select volume 0
DISKPART> retain
DISKPART> select disk 1
DISKPART> select volume 0
DISKPART> retain

Showing Windows installed with RAID1 enabled.

At this point you can install Windows as normal to one of the mirror partitions.

Postscript

Testing more with HyperV, I discovered that formating the mirrors using Windows setup was required to get a booting OS. I remember doing this before as the IPMI device I was using kept on crashing during installation — forcing me to restart the Windows installation.

Video of formatting drives after creation.

Considerations

  • This method actually allows you to keep the «System Recovery» partition in sync under a mirror. Microsoft’s official white paper on mirroring does provide support for this feature.
  • This method also allows you to create a mirror on two drives with different sector sizes — although I personally think disallowing two different sector sizes should be a bug.
  • You may need to make sure that you add the second drive as a boot device.

Понравилась статья? Поделить с друзьями:
  • Программа установки не нашла на этом компьютере жестких дисков windows xp
  • Программа эквалайзер для windows 10 скачать бесплатно
  • Программная сппр игла скачать для windows 10
  • Программа установки не может установить каталоги продуктов windows xp
  • Программа эквалайзер для windows 10 на русском