Windows server 2008 настройка raid

Обновлено: 02.07.2024

Программный (софт) RAID лично я рассматриваю как своеобразный компромисс между надежностью (для RAID 1) и быстродействием. Мне пришлось использовать программный RAID в ситуации, когда невозможно было использовать аппаратный (драйверов для встроенного RAID контроллера от Intel для материнки ASUS P4P800SE под Windows Server 2008 не существует. Я потратил почти 2 дня всячески извращаясь в попытках подсунуть драйвера от win 2003. Пытался подсовывать и интеловские, зная, что контроллер использует ICH 5). Поэтому даже не пытайтесь поднять аппаратный RAID на мамках подобного уровня. Вернее, поднять то можно легко, но вот поставить Windows Server 2008 на этот RAID вам не удасться т.к. установщик его не увидит как бы искусно вы не плясали с бубном вокруг тазика.

Поэтому здесь единственным возможным «RAID решением» является прораммный RAID. Как создать программный RAID в Windows Server 2008 я расскажу далее.Традиционным способом сохранить данные является использование систем резервирования, в Windows 2008 для этого используется компонент “Server Backup“, который в отличие от предыдущего NTBackup полностью переработан и для архивации использует службу Volume Shadow Copy Service (VSS). Другой метод использование RAID 1. Напомню, что в RAID 1 (Mirroring) используется зеркалирование двух дисков (говоря попросту инфа на них одинаковая), что и обеспечивает его высокую отказоустойчивость. При выходе из строя одного диска, второй продолжает работать, как ни в чем не бывало. Чтобы восстановить массив, просто подключаем к серверу второй диск вместо неисправного. Единственный недостаток это большая стоимость такого решения (на единицу объема) по сравнению с однодисковым вариантом или копированием всех критических данных на внешнее устройство для бэкапа. Поэтому RAID 1 как правило используют на критических серверах. Кроме этого по сравнению с другими RAID скорость обмена данных в RAID 1 относительно не высока, так как по сути ОС каждую операцию записи производит дважды. Процедура настройки RAID 0 для системных дисков или дисков с данными в Windows 2008 несколько отличаются. Система WIndows 2008 поддерживает два типа загрузки MBR и GPT (GUID Partition Table). Тип загрузки MBR (Master Boot Record) разработан специально для x86 систем и на сегодня является наиболее популярным. Тип GPT появился первоначально в системах на базе Itanium, и сегодня широко используется при загрузке 64 разрядных ОС. Настройка зеркалирования системных дисков для MBR и GPT будет также немного отличаться. Теперь последовательно разберем настройку RAID 0 для каждого случая. Начнем с системного диска использующего MBR. После установки системы у нас должен быть один уже рабочий (системный) диск и второй пока неиспользованый диск, который будет зеркалом основного.

Для управления хардами используем вкладку “Disk Management“, которая доступна в Server Manager и в консоли Computer Management (compmgmt.msc) (Управление дисками). Перед созданием RAID следует преобразовать диски в динамические. Выбираем значок диска в поле внизу и в контекстном меню пункт “Convert to Dynamic Disk” (Преобразовать в динамический диск). Далее отмечаем в появившемся окне “Disk 0” и в окне “Disk to Convert” подтверждаем свой выбор нажатием “Convert” и затем опять ОК. После преобразования диск “Disk Management” будет помечен как “Dynamic”. Эту операцию можно произвести в командной строке при помощи DISKPART.

Вызываем: > diskpart

Смотрим список дисков и некоторые их характеристики:

diskpart> list disk

Подключаем disk 0 и преобразуем его в динамический:

diskpart> select disk 0 Disk 0 is now the selected disk.

diskpart> convert dynamic

DiskPart successfully converted the selected disk to dynamic format.

C системным диском все. Подключаем второй диск. В том случае, когда статус диска в “Disk Management” показан как Offline, включаем его выбором пункта Online в контекстном меню или аналогичной командой diskpart. Если диск еще не размечен, эту операцию можно произвести при помощи самого “Disk Management” выбрав в меню пункт “Initialize Disk” и затем тип таблицы разделов MBR или GPT. Далее можно преобразовать его в динамический диск самостоятельно или поручить все операции мастерам. Выбираем первый диск и в контекстном меню пункт “Add Mirror”, отмечаем второй диск в появившемся окне, мастер предупредит о том, что он будет преобразован в Dynamic Disk, соглашаемся нажав ОК. Начнется процесс переноса данных на второй диск. По окончании в загрузчик будет добавлена возможность загрузки ОС со второго харда. В командной строке также все просто, правда в отличие от “Disk Management” здесь уже нет подстраховки, и ошибка может привести к потерям данных. Смотрим список томов: diskpart> list volume

Обычно загрузочный первый диск будет 0 томом, выбираем его.

diskpart> select volume 0

Volume 0 is the selected volume.

И создаем зеркало, указав в качестве параметра второй диск.

diskpart> add disk=1

DiskPart succeeded in adding a mirror to the volume.

В процессе создания зеркала поле Status команды “list volume” будет показывать значение “Resynching”, когда оно изменится на “Healthy” процесс закончен.


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

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



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


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


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

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


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

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

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


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

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

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

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

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

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

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

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


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


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


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


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


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


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


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

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


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


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

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

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

Для создания программного RAID в среде Windows нам понадобится познакомиться с понятием динамического диска, так как программные массивы могут быть созданы только на них. Репутация динамических дисков неоднозначна, многие администраторы шарахаются от них, как черт от ладана. А зря, запомнив несколько простых правил работа с динамическими дисками становится столь же проста как с обычными.

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

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

А стоит ли овчинка выделки? Несмотря на все ограничения, стоит. Основной недостаток аппаратных массивов - привязка к конкретной модели контроллера. Если у вас сгорела материнская плата или контроллер, вам понадобится точно такой же (или материнская плата с аналогичным контроллером), иначе с данными можно попрощаться. В случае программного RAID достаточно машины с установленным Windows Server.

На практике работа с программными массивами и динамическими дисками производится через оснастку Хранение - Управление дисками в Диспетчере сервера. Для преобразования дисков в динамические достаточно щелкнуть на одном из них правой кнопкой мыши и выбрать Преобразовать в динамический диск, в открывшемся окне можно выбрать для преобразования сразу несколько дисков.

winsrv-soft-RAID-001.jpg

Стоит помнить, что эта операция необратимая и особое внимание следует уделить системному разделу, переразметить загрузочный диск у вас уже не получится (точнее он после этого перестанет быть загрузочным), единственное, что вы сможете - это расширить том за счет неразмеченного пространства.

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

winsrv-soft-RAID-002.jpg

Подключив дополнительные диски мы получим гораздо более широкие возможности, вы можете как объединить несколько дисков в отдельный том, так и создать RAID 0, 1 или 5.

winsrv-soft-RAID-003.jpg

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

winsrv-soft-RAID-004.jpg

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

Отступление: использование программного массива дисков RAID 1 (зеркало) не есть хорошо. Грубо говоря, это развод для лохов. Для получения надежности от дисковой системы необходимо использовать только аппаратный RAID-массив. Это дорого, но надежно.

Почему программный RAID 1 плох? Может сложиться ситуация, при которой оба диска станут недоступными. Например, первый диск начинает активно сыпаться (появляются bad-сектора). Система зависает, т.к. не может произвести операцию чтения/записи. После перезагрузки сервера автоматически запускается ресинхронизация дисков, т.е. информация с первого диска перезаписывается на второй. Если ресинхронизацию прервать, то второй диск станет бесполезной грудой металла, т.к. он не содержит полный образ системы. А ресинхронизация обязательно прервется из-за bad-секторов на первом диске. В результате у нас на руках останутся два неисправных диска и дай бог, чтобы у вас сохранился свежий образ системы и данных.

Тем не менее, программный RAID 1 массив часто используется и ниже приведена инструкция, как его настроить в Windows Server 2008 R2.

Исходные данные: два диска до 2 ТБ, работающих в режиме BIOS (MBR). Диски большей емкости использовать не рекомендуется, т.к. при этом не будет работать встроенная система архивации данных.

Перед установкой Windows необходимо отключить один из дисков. Установщик Windows такой затейник, что запросто может поставить системную область и основную на разные диски.

После установки системы имеем следующую конфигурацию дисков:

Создание раздела для восстановления системы

Windows Recovery Environment позволяет восстановить систему.
В командной строке с правами администратора запускаем программу Diskpart и вводим следующие команды:

select volume=c
shrink desired=300
create partition primary size=300
format fs=ntfs quick label=Recovery
assign letter=q Обратите внимание, для Windows Server 2012 размер раздела восстановления должен быть более 300 МБ, например, 500 МБ.

Окно с Diskpart не закрываем и открываем новое окно с командной строкой.

reagentc.exe /disable
rd c:\Recovery
robocopy.exe c:\Windows\System32\Recovery\ q:\Recovery\WindowsRE\ Winre.wim /copyall /dcopy:t /move
reagentc.exe /setreimage /path Q:\Recovery\WindowsRE
reagentc.exe /enable

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

Копирование системного раздела на второй диск

Создаем системный раздел на втором диске (disk1), чтобы с него можно было загрузиться в случае выхода из строя первого диска (disk0). Размер системного раздела на втором диске должен быть таким же, как и на первом диске. Например, для Windows Server 2012 - 350 МБ.

Окно с Diskpart:

select disk 1
create partition primary size=100
active
format fs=ntfs quick label="System Reserved"
assign letter=t
select disk 0
select partition 1
assign letter=s

Второе окно с командной строкой:

robocopy.exe s:\ t:\ * /e /copyall /dcopy:t /xf BCD.* /xd "System Volume Information"

Окно с Diskpart:

Буковки дискам назначаем для копирования данных. В самом конце настройки системные разделы и разделы для восстановления не будут иметь привязки к буквам.
Здесь s: - системный раздел на первом диске, t: - на втором.

Создание зеркала главного раздела

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

Окно с Diskpart:

select disk 1
convert dynamic
select disk 0
convert dynamic
select volume=q
retain
select volume=c
add disk=1 wait

Процесс ресинхронизации для дисков 2 ТБ длится около 5 часов.

Копирование раздела для восстановления

Следующим шагом копируем раздел для восстановления системы с первого диска (disk 0) на второй (disk 1) (с q: на r:).
Перед копированием необходимо создать новый раздел на втором диске.

Окно с Diskpart:

create volume simple disk=1 size=300
retain
format fs=ntfs quick label=Recovery
assign letter=r

Второе окно с командной строкой:

robocopy.exe q:\ r:\ * /e /copyall /dcopy:t /xd "System Volume Information"

Окно с Diskpart:

Редактирование меню загрузки

Копируем меню загрузки с первого диска на второй.
Второе окно с командной строкой:

После преобразования дисков в массив RAID-0 в меню при загрузке системы появится две строчки:
Windows Server 2008 R2
Windows Server 2008 R2 – secondary plex (вторичный плекс)

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

Эта команда выводит всю конфигурацию хранилища загрузки. Здесь нас интересуют идентификаторы каждого пункта меню.

где
- идентификатор с описанием "Windows Resume Application – secondary plex",
- "Windows Server 2008 R2 – secondary plex".

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

Далее переходим к редактированию конфигурации загрузки второго диска.

bcdedit /store t:boot\BCD /enum all
bcdedit /store t:\boot\BCD /set ramdisksdidevice partition=r:
bcdedit /store t:\boot\BCD /set device partition=t:
bcdedit.exe /store t:\boot\BCD /set device ramdisk=[r:]\Recovery\WindowsRE\Winre.wim,
bcdedit.exe /store t:\boot\BCD /set osdevice ramdisk=[r:]\Recovery\WindowsRE\Winre.wim,
bcdedit.exe /store t:\boot\BCD /set device partition=t:

где
- идентификатор с описанием "Ramdisk Options" (в некоторых случаях "Windows Recovery")
- идентификатор с описанием "Windows Recovery Environment".

Окно с Diskpart:

Для перфекционистов можно удалить ссылки на первичный плекс:

bcdedit /store t:\boot\BCD /delete
bcdedit /store t:\boot\BCD /delete

где
- идентификатор с описанием "Windows Resume Application",
- идентификатор с описанием "Windows Server 2008 R2".

Bcdedit.exe /store t:\boot\BCD /set resumeobject
bcdedit.exe /store t:\boot\BCD /set recoverysequence
bcdedit.exe /store t:\boot\BCD /set default
Bcdedit.exe /store t:\boot\BCD /set resumeobject

где
- идентификатор с описанием "Windows Server 2008 R2 – secondary plex",
- идентификатор с описанием "Windows Resume Application – secondary plex",
- идентификатор с описанием "Windows Recovery Environment".

Diskpart:

Настройка зеркалирования дисков (массив RAID-1) в Windows Server 2008 R2 : 9 комментариев

Окно с Diskpart:
select volume=s
remove

Между этими двумя блоками команд пропущено копирование загрузчика?

Загрузчик для второго диска делаем позже с помощью BCDEDIT:
bcdedit /export t:\boot\BCD

Ramdisk должен быть.

Огромное спасибо за статью!

Автор, Спасибо! Инструкция полностью применима для Windows Server 2016.

Статья актуальна для Win Server 2016

лолшто? Ну, возможно в винде это и так, хз, но звучит либо как бред, либо как невероятная недоработка индусов, но в ГНУ/Линуксе такого нет 100% и программный рейд (mdadm) отрабатывает ошибки как положено, помечая диск как битый и отключая его.

А любители искать старый аппаратный контроллер в n часу ночи пусть сразу закупаются успокоительными, обезболивающими и смазкой — пригодятся, раньше или позже.

1. Для начала необходимо зайти в панель «Управление дисками». Сделать это можно кликнуть правой кнопкой мыши по кнопке «Пуск» и выбрав там «Управление дисками»:

create-software-raid-in-windows-server-0

Доступными типами RAID, по умолчанию, являются RAID Ø (чередующийся том), RAID 1 (зеркальный том), RAID 5 и JBOD (составной том). В этой статье мы разберем, как создавать RAID 5, поскольку создание остальных типов RAID (томов) отличается незначительно.

2. Внутри программы «Управление дисками» необходимо кликнуть правой кнопкой мыши по одному из доступных нам неразмеченных дисков и выбрать необходимый тип RAID.

create-software-raid-in-windows-server-1

3. Следуя указаниям мастера, добавим все наши 4 диска в один RAID.

create-software-raid-in-windows-server-2

5. Назначим букву новому тому и название, а также файловую систему:

create-software-raid-in-windows-server-3

create-software-raid-in-windows-server-4

Важно! Если у вас на дисках хранится нужная вам информация, её необходимо предварительно сохранить где-то в другом месте.

create-software-raid-in-windows-server-5

После преобразования и создания RAID 5 на дисках запустится процесс ресинхронизации. Продолжительность этого процесса зависит от объема дисков:

Читайте также: