Заметки сисадмина » Создаем софтверное зеркало

Заметки сисадмина о интересных вещах из мира IT, инструкции и рецензии. Настраиваем Компьютеры/Сервера/1С/SIP-телефонию в Москве

Создаем софтверное зеркало

Любое устройство современного компьютера может выйти из строя, и высокая стоимость компонента совершенно не гарантирует 100% надежность. Недолговечны и жесткие диски, хранящие тонны бесценной информации, потеря которой может иметь любые последствия, вплоть до развала бизнеса. Традиционным способом сохранить данные является применение систем резервирования, в Win2k8 для этого используется компонент “Server Backup”, который пришел на смену мощной утилите NTBackup. Но сегодня мы не будем устраивать бэкапные разборки, лучше поговорим о простом и при этом очень эффективном способе увеличения отказоустойчивости системы — создании софтварного RAID 1. Напомню, что в массиве RAID 1 используется зеркалирование двух дисков, что и обеспечивает высокую отказоустойчивость. При выходе из строя одного харда второй продолжает работать, как ни в чем не бывало. Чтобы восстановить массив, просто подключаем к серверу второй диск вместо неисправного. Единственный недостаток — это большая стоимость такого решения (на единицу объема), по сравнению с однодисковым вариантом или копированием всех критических данных на внешнее устройство для бэкапа.

Процедура настройки RAID 1 для системных дисков или дисков с данными в Win2k8 несколько отличается. Лонгхорн поддерживает два типа загрузки: MBR (Master Boot Record) и GPT (GUID Partition Table). Тип загрузки MBR разработан специально для x86 систем и на сегодня является наиболее популярным. Тип GPT первоначально появился в системах на базе Itanium и сейчас широко используется при загрузке 64-разрядных ОС. Настройка зеркалирования системных дисков для MBR и GPT также будет немного отличаться.

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

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

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

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

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

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

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

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

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

Зеркалирование системных дисков, использующих GPT, чуть сложнее, так как EFI (Extensible Firmware Interface, расширяемый микропрограммный интерфейс) и MSR (The Microsoft Reserved) разделы необходимо создавать вручную. Если второй хард уже содержит таблицу MBR, обязательно переконвертируем его в GPT. Это можно сделать из меню Disk Management или командой:

Но диск можно конвертировать в GPT, только если он пуст, поэтому если на диске уже созданы разделы, последовательно удаляем их при помощи команд:

Теперь смотрим таблицу разделов системного диска, чтобы затем повторить ее на резервном:

Переходим ко второму диску:

Создаем системный EFI-раздел размером 400 Мб:

В качестве дополнительного параметра можно задать смещение. Теперь MSR-раздел, который используется для хранения метаданных, не виден в Disk Management. Такой раздел рекомендуется создавать первым на диске с данными и вторым на системном диске. При преобразовании MBR -> GPT раздел MSR создается автоматически, но его размер нас может не устраивать:

После создания MSR и EFI разделов необходимо отформатировать EFI в FAT. Для этого назначаем ему букву диска. В обычном варианте это можно было бы сделать через Disk Management, выбрав в контекстном меню пункт New Simple Volume и затем последовательно ответив на вопросы визарда, но с GPT такой фокус не проходит, поэтому используем diskpart:

И — форматируем:

Осталось скопировать данные с раздела EFI первого диска (пусть это будет D):

Далее конвертируем диски в динамические (convert dynamic) и миррорим, как для MBR.

И, наконец, разберем, как создать RAID 1 для дисков с данными. В этом случае потребуется три диска: на первом (в diskpart обозначен как нулевой) будет установлена система, два других будут содержать данные. Здесь все просто: выбираем в контекстном меню одного из data-дисков пункт New Mirrored Volume и следуем указаниям визарда. Основной шаг — выбор второго диска. В командной строке нужно указать диск или том при помощиselect, а затем создать зеркало командой “add disk=2”. Чтобы отключить зеркало, используем команду “break disk=2”.

Примечание редактора: чтобы повысить общий уровень надежности и защиты данных на критически важных серверах, зеркалированные диски можно разместить на разных дисковых контроллерах. Такая техника обеспечивает отказоустойчивость на уровне контроллеров и носит название “дуплексирование дисков”.

Leave a Reply