Общие сведения о зеркалировании дисков (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 пересоберет зеркальный рейд-массив, используя новый диск. Как упоминалось ранее, время пересборки и синхронизации данных зависит от производительности дисков и их объема.