Давно уже работаю с серверами Supermicro, но почему-то ещё ни разу не устанавливал Windows на RAID массив, собранный на встроенном программном RAID контроллере чипа Intel.
Intel PCH: контроллеры AHCI и SCU
Linux без проблем определяет программные массивы, собранные на контроллере SATA или sSATA. Windows Server в этом плане снова отличился. Казалось бы, серверная система, предназначена для установки на сервера…
Сегодня ставлю Windows Server 2016 на сервер Supermicro на базе материнской платы X11DDW-NT. Эта материнская плата оснащена набором микросхем Intel C622. Этот контроллер способен объединять диски SATA3 (6 Gbps) в массивы RAID 0,1,5,10. Сколько диском можно объединять в массив — это нужно читать мануал, я встречался с ситуацией, когда в RAID10 нельзя было объединить более 4 дисков, странно, но факт.
При установке Windows видит обычные диски, а RAID массив видеть не хочет.
В этом случае действуем по простой схеме. Переходим на страничку материнской платы:
https://www.supermicro.com/en/products/motherboard/x11ddw-nt
И скачиваем последние драйвера и утилиты: Download the Latest Drivers and Utilities.
Выбираем операционную систему и тип драйвера. Для RAID контроллера понадобятся драйвера для чипсета.
Сейчас нужен драйвер Intel SATA. Но можно все скачать, после установки пригодятся. Распаковываем архив и создаём ISO образ с драйверами. Поможет в этом UltraISO:
UltraISO — создать ISO образ с файлами
Демонтируем инсталляционный образ Windows Server 2016 с сервера и монтируем новый образ с драйверами. Нажимаем Load Driver.
Драйвер RAID контроллера нашёлся. Next. Драйвер установится.
Обнаружен новый дисковый массив, на него и будем устанавливать Windows. Демонтируем ISO образ с драйверами и снова монтируем инсталляционный ISO образ Windows Server 2016. Refresh.
Становится доступна кнопка Next.
Дальше продолжаем установку как обычно, главную проблему мы решили.
Установка Windows Server 2016 на сервер Supermicro с контроллером MegaRAID 9460-8i
Что делать, если нужно поставить ОС на зеркало, но чипсетного программного RAID нет, а установить дополнительный дополнительный контроллер не позволяет бюджет? В данной статье мы рассмотрим процедуру организации загрузки Windows Server 2019 с программного зеркала, а так же особенности восстановления.
Стоит заранее оговориться, что такая конфигурация хоть и позволяет немного сэкономить на контроллере, повысив отказоустойчивость в сравнении с установкой ОС на одиночный накопитель, но в итоге из-за человеческого фактора может привести к снижению отказоустойчивости из-за роста вероятности допустить ошибку.
В Windows есть два механизма создания программных массивов — на основе динамических дисков и на основе Storage Spaces. При этом только первый из них позволяет зеркалировать раздел с системой. Краткое описание процедуры при загрузке через UEFI:
- Установить ОС на одиночный диск.
- Создать на втором диске идентичные разделы.
- Преобразовать оба диска в динамические.
- Зазеркалировать системный раздел первого диска на второй диск.
- Обеспечить возможность загрузки с любого из дисков — настроить дополнительный пункт в загрузочном меню и скопировать конфигурацию бутменеджера, т. е. по сути скопировать содержимое EFI-раздела с первого диска на второй.
Устанавливать будем Windows Server 2019 Standard с GUI, так как всё описанное ниже подходит и для Windows 10.
На пустом диске инсталлятор автоматически создаст дополнительный раздел восстановления размером 500 МБ в начале диска. Нам он не нужен, поэтому после запуска инсталлятора запускаем консоль через Shift-F10, запускаем diskpart, создаём три раздела:
- EFI 260 МиБ
- MSR 16 МиБ
- системный раздел — в данном случае, для примера, на всё оставшееся пространство
После установки увидим в disk manager’е следующую картину:
Запускаем diskpart (примечание: diskpart понимает сокращённые названия команд) и смотрим таблицу разделов на диске 0:
DISKPART> sel dis 0 Disk 0 is now the selected disk. DISKPART> lis par Partition ### Type Size Offset ------------- ---------------- ------- ------- Partition 1 System 260 MB 1024 KB Partition 2 Reserved 16 MB 261 MB Partition 3 Primary 99 GB 277 MB
Выберем диск 1 и инициализируем его (создадим таблицу разделов GPT). При этом будет автоматически создан раздел MSR размером 15 МиБ, который мы удалим, используя дополнительный параметр override:
DISKPART> con gpt DiskPart successfully converted the selected disk to GPT format. DISKPART> lis par Partition ### Type Size Offset ------------- ---------------- ------- ------- Partition 1 Reserved 15 MB 17 KB DISKPART> sel par 1 Partition 1 is now the selected partition. DISKPART> delete par override DiskPart successfully deleted the selected partition.
Создаём те же разделы, что и на диске 0:
DISKPART> crea par efi size=260 DiskPart succeeded in creating the specified partition. DISKPART> crea par msr size=16 DiskPart succeeded in creating the specified partition. не создавать!: DISKPART> crea par pri DiskPart succeeded in creating the specified partition. DISKPART> lis par Partition ### Type Size Offset ------------- ---------------- ------- ------- Partition 1 System 260 MB 1024 KB Partition 2 Reserved 16 MB 261 MB * Partition 3 Primary 99 GB 277 MB
Преобразуем оба диска в динамические:
DISKPART> sel dis 0 Disk 0 is now the selected disk. DISKPART> con dyn DiskPart successfully converted the selected disk to dynamic format. DISKPART> sel dis 1 Disk 1 is now the selected disk. DISKPART> con dyn DiskPart successfully converted the selected disk to dynamic format.
Зеркалируем системный раздел. В данном случае он смонтирован на C:
DISKPART> sel vol C Volume 3 is the selected volume. DISKPART> add disk=1 DiskPart succeeded in adding a mirror to the volume.
Начнётся процесс синхронизации зеркала:
Перейдём к дублированию загрузчика. Загрузчик сейчас находится на разделе EFI на диска 0. Аналогичный раздел на диске 1 пуст. Отформатируем его в FAT, назначим букву S (secondary), а разделу EFI на диске 0 — букву P (primary):
DISKPART> sel dis 1 Disk 1 is now the selected disk. DISKPART> lis dis Disk ### Status Size Free Dyn Gpt -------- ------------- ------- ------- --- --- Disk 0 Online 100 GB 0 B * * * Disk 1 Online 100 GB 0 B * * DISKPART> lis par Partition ### Type Size Offset ------------- ---------------- ------- ------- Partition 1 System 260 MB 1024 KB Partition 4 Dynamic Reserved 1024 KB 261 MB Partition 2 Reserved 15 MB 262 MB Partition 3 Dynamic Data 99 GB 277 MB Partition 5 Dynamic Data 1007 KB 99 GB DISKPART> sel par 1 Partition 1 is now the selected partition. DISKPART> assign letter = S DiskPart successfully assigned the drive letter or mount point. DISKPART> format fs=FAT32 quick 100 percent completed DiskPart successfully formatted the volume. DISKPART> sel dis 0 Disk 0 is now the selected disk. DISKPART> lis par Partition ### Type Size Offset ------------- ---------------- ------- ------- Partition 1 System 260 MB 1024 KB Partition 4 Dynamic Reserved 1024 KB 261 MB Partition 2 Reserved 15 MB 262 MB Partition 3 Dynamic Data 99 GB 277 MB Partition 5 Dynamic Data 1007 KB 99 GB DISKPART> sel par 1 Partition 1 is now the selected partition. DISKPART> assign letter=P DiskPart successfully assigned the drive letter or mount point.
Посмотрим на конфигурацию загрузчика. Примечание: запуск bcdedit с некоторыми параметрами в консоли PowerShell приводит к ошибкам, поэтому для работы с bcdedit следует запустить cmd.
bcdedit /enum Windows Boot Manager -------------------- identifier {bootmgr} device partition=P: path \EFI\Microsoft\Boot\bootmgfw.efi description Windows Boot Manager locale en-US inherit {globalsettings} bootshutdowndisabled Yes default {current} resumeobject {4e02bc8d-f967-11eb-bb60-dc5f81ee32a9} displayorder {current} {4e02bc92-f967-11eb-bb60-dc5f81ee32a9} toolsdisplayorder {memdiag} timeout 30 Windows Boot Loader ------------------- identifier {current} device partition=C: path \Windows\system32\winload.efi description Windows Server locale en-US inherit {bootloadersettings} recoverysequence {4e02bc8f-f967-11eb-bb60-dc5f81ee32a9} displaymessageoverride Recovery recoveryenabled Yes isolatedcontext Yes allowedinmemorysettings 0x15000075 osdevice partition=C: systemroot \Windows resumeobject {4e02bc8d-f967-11eb-bb60-dc5f81ee32a9} nx OptOut Windows Boot Loader ------------------- identifier {4e02bc92-f967-11eb-bb60-dc5f81ee32a9} device partition=C: path \Windows\system32\winload.efi description Windows Server - secondary plex locale en-US inherit {bootloadersettings} recoverysequence {4e02bc8f-f967-11eb-bb60-dc5f81ee32a9} displaymessageoverride Recovery recoveryenabled Yes isolatedcontext Yes allowedinmemorysettings 0x15000075 osdevice partition=C: systemroot \Windows resumeobject {4e02bc8d-f967-11eb-bb60-dc5f81ee32a9} nx OptOut
Когда мы зеркалировали системный раздел, то ОС автоматически добавила дополнительный пункт загрузки Windows Server — secondary plex. Теперь осталось скопировать всю конфигурацию загрузчика на раздел EFI диска 1. Для этого сначала создадим дубль конфигурации, получим его GUID, который затем используем, чтобы изменить букву раздела с P на S:
bcdedit /copy {bootmgr} /d "Windows Boot Manager Cloned" The entry was successfully copied to {4e02bc94-f967-11eb-bb60-dc5f81ee32a9}. bcdedit /set {4e02bc94-f967-11eb-bb60-dc5f81ee32a9} device partition=s:
Теперь экспортируем конфигурацию в BCD2, скопируем всё содержимое EFI-раздела на диске 0 (раздел P) на диск 1 (раздел S). Потом переименуем его на разделе S из BCD2 в BCD:
P: bcdedit /export P:\EFI\Microsoft\Boot\BCD2 robocopy p:\ s:\ /e /r:0 Rename s:\EFI\Microsoft\Boot\BCD2 BCD Del P:\EFI\Microsoft\Boot\BCD2
Перезагрузимся и заглянем в BIOS:
Помимо основного пункта (Windows Boot Manager), созданного при установке ОС, у нас теперь появился пункт Windows Boot Manager Cloned для загрузки со второго диска.
Временное отключение одного из дисков
Проверим конфигурацию в действии, отключив диск 0. Пункт Windows Boot Manager ничего не загрузит, воспользуемся Windows Boot Manager Cloned (или запустим boot manager через EFI Shell). Boot manager отобразит те же два пункта с загрузчиками. Первый запустить не получится, используем второй — Windows Server — secondary plex.
ОС загружается. Диск 1 теперь стал диском 0, система сообщает о потере отказоустойчивости на зеркальном томе сообщает и о потере соответствующего диска.
Допустим, что диск исправен, его просто случайно отключили, а потом вставили обратно. Тут нас подстерегает первая опасность — нужно помнить про то, что состояние системы при загрузке с этого диска будет неактуальным и выбрать пункт «Windows Server — secondary plex». После загрузки ОС мы увидим, что зеркало развалилось:
Для восстановления отказоустойчивости нужно удалить неиспользуемый раздел (в данном случае том E) и заново сделать зеркало тома C:
sel vol C add disk=0
Замена диска на новый
Другой, более вероятный сценарий — первый диск вышел из строя, и мы заменили его на новый. В этом случае нужно повторить процедуру, выполненную после установки системы. Добавляется два нюанса:
Желательно иметь под рукой размеры разделов до преобразования дисков в динамические, чтобы не пришлось вычислять заново правильный размер раздела MSR.
Придётся править загрузчик, удалив исправив пункт, ссылающийся на уже недоступный раздел. В данном примере это {default}, так как мы заменили первый диск:
bcdedit /enum Windows Boot Manager -------------------- identifier {bootmgr} device unknown path \EFI\Microsoft\Boot\bootmgfw.efi description Windows Boot Manager locale en-US inherit {globalsettings} bootshutdowndisabled Yes default {default} resumeobject {4e02bc8d-f967-11eb-bb60-dc5f81ee32a9} displayorder {default} {current} {3df44507-f920-11eb-9dd3-080027bb0bb1} toolsdisplayorder {memdiag} timeout 30 Windows Boot Loader ------------------- identifier {default} device unknown path \Windows\system32\winload.efi description Windows Server locale en-US inherit {bootloadersettings} recoverysequence {4e02bc8f-f967-11eb-bb60-dc5f81ee32a9} displaymessageoverride Recovery recoveryenabled Yes isolatedcontext Yes allowedinmemorysettings 0x15000075 osdevice unknown systemroot \Windows resumeobject {4e02bc8d-f967-11eb-bb60-dc5f81ee32a9} nx OptOut Windows Boot Loader ------------------- identifier {current} device partition=C: path \Windows\system32\winload.efi description Windows Server - secondary plex locale en-US inherit {bootloadersettings} recoverysequence {4e02bc8f-f967-11eb-bb60-dc5f81ee32a9} displaymessageoverride Recovery recoveryenabled Yes isolatedcontext Yes allowedinmemorysettings 0x15000075 osdevice partition=C: systemroot \Windows resumeobject {4e02bc8d-f967-11eb-bb60-dc5f81ee32a9} nx OptOut Windows Boot Loader ------------------- identifier {3df44507-f920-11eb-9dd3-080027bb0bb1} device partition=C: path \Windows\system32\winload.efi description Windows Server - secondary plex - secondary plex locale en-US inherit {bootloadersettings} recoverysequence {4e02bc8f-f967-11eb-bb60-dc5f81ee32a9} displaymessageoverride Recovery recoveryenabled Yes isolatedcontext Yes allowedinmemorysettings 0x15000075 osdevice partition=C: systemroot \Windows resumeobject {4e02bc8d-f967-11eb-bb60-dc5f81ee32a9} nx OptOut The system cannot find the file specified. ********** bcdedit /delete {default} bcdedit /set {bootmgr} device partition=p:
Затем можно продолжить процедуру — скопировать раздел EFI.
Заключение
Механизм загрузки Windows с программного зеркала достаточно хорошо отработан. Практически он не менялся со времён выхода Windows Server 2008. Как видите, поддержание работоспособности требует большего количества действий и понимания работы загрузчика — на любом этапе можно ошибиться и потерять если не данные, то ценное время.
Следующая статья будет посвящена установке и настройке Linux на программном RAID-1.
Сегодня будем разбирать, как производится установка Windows Server 2016 Std
на Supermicro X11DPU (Motherboard: SYS-6029U-TR4) + VROC RAID 1
из двух дисков M.2
, раз нет технической возможности использовать на текущий комплектующих ESXi 7
связку RAID 1 & RAID 10
. А после уже следующей заметкой разберем установку Hyper-V.
На заметку: через BIOS
для материнской платы проверяю, что во вкладке Boot
параметр Boot Mode select
стоит в значении UEFI.
Шаг №1:
Монтирую установочный образ SW_DVD9_Win_Server_STD_CORE_2016_64Bit_English_-4_DC_STD_MLF_X21-70526.ISO
и произвожу установку операционной системы на сервер Supermicro X11DPU (Motherboard: SYS-6029U-TR4)
Шаг №2:
Прохожу стандартные этапы ответов мастера:
Language to install: English (United States)
Time and currency format: English (United States)
Keyboard or input method: US
и нажимаю Next
а вообще не лишним будет нажать Shift + F10
откроется консоль командной строки и для всех дисков выполнить clean
нажимаю Install now
Select the operating system you want to install: выбираю "Windows Server 2016 Standard (Desktop Experience)"
и нажимаю Next
I accept the license terms: отмечаю галочкой
и нажимаю Next
Custom: Install Windows only (advanced): выбираю
как вижу, установщик Windows
не видит VROC RAID
массивы
нужно подгрузить соответствующие драйвера
С официального сайта по материнской плате скачиваю "https://www.supermicro.com/en/products/system/2u/6029/sys-6029u-tr4.cfm" - Drivers & Utilities
Select os Manufacturer: Microsoft
Select OS: Windows Server 2016
Select Device Type: All
и нажимаю "Submit"
, нахожу по описанию "Intel SATA"
и через Download
скачиваю архив ('https://www.supermicro.com/wdl/driver/SATA/Intel_PCH_RAID_RSTE/Windows/6.1.0.1247/Win.zip')
Description: Intel SATA
Version: 6.1.0.1247
Post Date: 12/22/2020
Распаковываю архив, устанавливаю на рабочую станцию приложение UltraISO
и указав каталог распаковки Win
сохраняю как iso
, это нужно чтобы через IPMI
подмонтировать еще один образ и уже на этапе выбора дисков нажать "Load driver" - Browse
и выбираем
привод (у меня это логический диск E:) - Win - VROC_6.1.0.1247_F6-drivers - VROC_f6_iaVROC_win8_64
и нажимаем ОК
, вижу, что теперь установщик Windows
видит контроллер RAID
Select the driver to install: выбираю Intel® Volume Management Device NVMe RAID Controller
и нажимаю Next
теперь вижу RAID
массивы
Drive 1 Unallocated Space: 849.5GB
Drive 2 Unallocated Space: 3398.1GB
выбираю Drive 1
и нажимаю Next
именно на него я буду устанавливать Windows Server 2016 Std
начинается процесс установки, но может так случится что процесс не начинается, и вы видите
Windows could not prepare the computer to boot into the phase of installation. To install Windows, restart the installation.
в этом случае, нажимаем ОК
, затем Shift + F10
X:\Sources\набираем diskpart
DISKPART> list disk
На заметку: С учетом того что подгрузили драйвер для VROC
видим RAID
массивы, т.е. они отображаются как диски в выводе команды list disk
и видим все диски с учетом подгруженного драйвера и переходим в каждый из них, как
DISKPART> select disk 0
и выполняем команду
DISKPART> clean
в ответ получаем DiskPart succeeded in cleaning the disk.
и выходим из консоли командной строки
DISKPART> exit
Leaving DiskPart…
X:\Sources> exit
и возвращаемся к мастеру установки операционной системы
Ожидаю…
Назначаю пароль на учетную запись Administrator
Password: 712mbddr@
и система установилась успешно
Т.к. я через консоль IPMI
подключен к серверу и произвожу установку то на экране нажимаю Ctrl + Shift + F6
(это эквивалентно нажатию Ctrl + Alt + Del
), после авторизуюсь
Смотрю какие драйвера на устройства мне нужно установить:
System Interrupt Controller
SM Bus Controller
Performance Counters
PCI Simple Communications Controller
PCI Memory Controller
PCI Device
PCI Data Acquisition and Signal Processing Controller
Base System Device
исходя из этого я также скачиваю, но уже все драйвера, закидываю в папку Server2016Drivers
и через UltraISO
формирую iso
файл которые также через IPMI
монтирую в систему для последующей установки драйверов из образа.
Когда драйвера установлены операционная система Windows
видит RAID1 & RAID10
На заметку: Отправив систему в перезагрузку, проверяю что все драйвера на устройства установлены и делаю себе экспорт всех установленных драйверов в папку, командой:
Win + X - Command Prompt (Admin)
if not exist c:\drivers mkdir c:\drivers
powershell -command "export-windowsdriver -online -destination c:\drivers"
Итого, как вижу, что Windows
может работать с VROC RAID
, хоть так, значит будут использовать виртуализацию на базе Hyper-V.
На этом заметка завершена, с уважением автор блога Олло Александр aka ekzorchik.
Время на прочтение5 мин
Количество просмотров183K
Добрый день, дорогие друзья! Сегодня я хочу представить вам короткий практический обзор, посвященный решению конкретной задачи. А именно первоначальной настройке сервера и установке ОС Windows Server 2012 R2 с помощью фирменных средств развертывания HPE. Делать это я буду на примере популярного сейчас сервера HP ProLiant ML10v2 в следующей конфигурации (парт-номер 814483-421):
- Башенный сервер 4U
- Процессор Intel Pentium G3240
- Встроенный RAID-контроллер HP Dynamic SmartArray B120i
- В нашем случаем используются 4 диска Seagate LFF — они не входят в комплект самого сервера
Полные характеристики можно посмотреть здесь.
Особенность этого сервера, являющегося самым бюджетным представителем семейства ProLiant — отсутствие встроенных средств развертывания Intelligent Provisioning на самом сервере. Поэтому для его первоначальной настройки нужно использовать загрузочную флешку с образом HP Service Pack for ProLiant. Инструкция ниже будет включать в себя такие операции:
- Подготовка и создание загрузочной флешки (обратите внимание, что работу с Service Pack for ProLiant также можно проделать из удаленной консоли iLO (http://h20564.www2.hpe.com/hpsc/swd/public/detail?swItemId=MTX_4f842ceb31cf48d392e22705a8), смонтировов ISO-образ оттуда
- Настройка RAID на сервере
- Обновление программных компонентов сервера (прошивок)
- Установка ОС Windows Server 2012R2
Все значимые операции сопровождаются картинками. Ужасное качество картинок служит для достижения эффекта присутствия
Подготовка и создание загрузочной флешки
Итак, вы стали счастливым обладателем сервера HP ProLiant ML10v2 (или готовите его к продаже). Перед началом его настройки вам нужно проделать следующие операции:
- Найдите флешку 8ГБ или больше.
- Подготовьте диск с дистрибутивом ОС и лицензионный ключ. В моем примере в сервере не было встроенного DVD-привода, поэтому использовался USB-привод.
- Зарегистрируйте сервер в Центре поддержки HPE, используя его серийный номер. Если вы заходите в Центр поддержки первый раз, вам нужно будет зарегистрироваться в службе HP Passport (она дает доступ ко всем ресурсам HP).
- После регистрации вам станет доступно скачивание Service Pack for ProLiant (SPP) — универсального средства настройки и обновления для большинства серверов HP ProLiant текущего и прошлых поколений. Скачать SPP можно здесь (Нажать ссылку «Получить программное обеспечение», файл 5ГБ у меня получилось скачать за 30 минут).
- Скачайте утилиту для создания загрузочных флешек HP USB Key Utility отсюда. Можете использовать также любую другую утилиту для создания загрузочных дисков/флешек из ISO-образа.
- C помощью утилиты запишите ISO-образ SPP на флешку.
- В моем примере мы будем устанавливать ОС Windows Server 2012R2, под нее вам потребуется драйвер RAID-контроллера B120i. Скачайте его здесь. Запишите драйвер на ту же флешку в папку с запоминающимся названием.
- Драйверы для других операционных систем можно также найти на сайте HPE, их названия можно узнать из списка компонентов SPP (ищите по слову B120i).
Итак, у вас на руках флешка и диск с ОС. Начинаем настройку.
Настройка RAID на сервере
- Подключите к серверу монитор, мышь и клавиатуру (используйте USB-порты на задней стороне сервера)
- Вставьте загрузочную флешку в USB-порт на лицевой стороне сервера
- Включите сервер и ждите, пока идет первоначальная инициализация (около 3-5 минут). Как выглядит этот процесс можно увидеть вот в этом реалистичном видео: youtu.be/ZVgCSp7G9R0, смотреть с 1:10 по 4:20
- Нас интересуют две строчки, которые появятся одновремено: HP Dynamic Smart Array B120i (инициализация должна дать результат 0 Logical volumes, то есть контроллер активен, но логические диски не созданы); а также приглашение внизу экрана нажать клавишу F11 для перехода в меню загрузки (Boot Menu) — нажмите F11 сейчас
- Когда под строчкой о контроллере B120i появится приглашение нажать клавишу F5 или Esc — нажмите Esc (для любого другого сервера ProLiant Gen8 или Gen9 здесь нужно было бы нажать F5 и перейти в SSA, а далее следовать этой же инструкции)
- Появится список возможных загрузочных устройств, нажмите клавишу с цифрой, обозначающей USB Drive (у меня это была цифра 3)
- Дальше появится экран с мигающим круглым логотипом HP, а после него — экран выбора варианта загрузки:
- Выберите Interactive mode
- Ждите некоторое время (около минуты вы будете видеть только обои рабочего стола и курсор)
- Принимаем условия лицензионного соглашения и жмем Next
- На появившемся первом экране графической оболочки смело жмем на средний пункт — HP Smart Storage Administrator (SSA)
- Когда SSA загрузится, отправляйтесь в настройки RAID
- Нажмите Create Array:
- Выберите диски, из которых хотите создать RAID-группу. Я выбрал все 4 доступных диска — Select All:
- На следующем экране я выбрал RAID 1+0, остальные настройки оставил как есть, и нажал Create Logical Drive:
- Следущий экран покажет итоги наших настроек, принимаем их и возвращаемся в главный экран SSA. Там нажимаем кнопку Set Bootable Logical Drive/Volume
- Выбираем созданный нами логический диск как загрузочный:
- Все, выходим из SSA и снова попадаем на первый экран
Обновление программных компонентов сервера (прошивок)
- Теперь рекомендуется обновить прошивки, т.к. с момента выхода сервера с фабрики могло пройти много времени. Запускаем инструмент Firmware Update (левый пункт в меню)
- Даем инструменту автоматически проверить текущие версии прошивок и предложить варианты обновления:
- Соглашаем на все предложенные варианты (они сразу помечены Selected). Рекомендуемый в низу списка вариант (помечен Force) можно и пропустить, если вы не уверены, что он вам нужен. Жмем Deploy.
- Инструмент некоторое время обновляет прошивки (Deployment in progress) и потом предлагает осуществить перезагрузку, соглашаемся
- Теперь наш сервер полностью готов к установке ОС.
Установка ОС Windows Server 2012R2
- Подключаем внешний DVD-привод с диском Windows Server и включаем сервер. Он автоматически загрузится с DVD.
- Следуя обычными шагами в начале установки Windows, мы дойдем до шага с выбором места для установки ОС. Windows не содержит в себе драйверы для контроллера B120i, поэтому скормим установщику драйверы с нашей флешки (DVD-привод на время подключения флешки в порт на лицевой панели можно отключить)
- Выбираем место расположения драйвера на флешке и собственно драйвер
- Теперь установщик видит свободное место, из которого можно сделать раздел кнопкой «Создать». Создаем раздел, выбираем его для установки Windows и жмем «Далее». Дальше установка пойдет как обычно.
Вот и всё. Надеюсь, эта инструкция будет полезна обладателям ProLiant ML10v2, которых в России уже несколько сотен и становится все больше. К сожалению, на русском языке эта инструкция раньше нигде не публиковалась, что могло вызвать затруднения при развертывании в отсутствии встроенных инструментов в самом сервере. Заранее приношу извинения за возможные неудобства.
Да и, если вы приобрели ML10v2 и у вас что-то не получается с подготовкой загрузочной флешки, то напишите запрос мне в личные сообщения. Мы сможем выслать вам готовую загрузочную флешку, протестированную на нашем железе. В запросе укажите серийный номер вашего сервера.
P.S.: Если вы хотите увидеть в нашем блоге другие подобные инструкции, также напишите об этом в комментариях!
Программный RAID пользуется заслуженной популярностью, позволяя легко создавать отказоустойчивые дисковые конфигурации в недорогих системах, отличаясь простотой создания и управления. Но с переходом современных систем на UEFI появились некоторые особенности, касающиеся процесса загрузки, которые следует понимать и принимать во внимание. В противном случае отказоустойчивость может оказаться мнимой и при отказе одного из дисков вы просто не сможете загрузить систему.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Данная инструкция может кому-то показаться сложной, действительно, для создания программного 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 и получим список разделов:
diskpart
sel disk 0
list par
Первая команда запускает утилиту, вторая выбирает первый диск (диск 0) и третья выводит список разделов.
Здесь присутствуют все существующие на диске разделы, включая MSR, размером в 16 МБ. Теперь нам нужно воспроизвести аналогичную разметку на втором жестком диске. Будем считать, что вы еще не вышли из утилиты diskpart, поэтому выберем второй жесткий диск (диск 1) и очистим его:
sel disk 1
clean
Внимание! Данная команда полностью удалит все данные с указанного диска. Убедитесь, что вы выбрали нужный диск и что он не содержит никаких данных!
Преобразуем диск в GPT:
convert gpt
При преобразовании на диске будет автоматически создан MSR раздел, нам он пока не нужен, поэтому удалим его командой:
sel par 1
delete part override
После чего убедимся, что диск не содержит разделов.
Теперь можно создавать разметку. Разделы должны идти в том же порядке и с тем же типом, что и на первом диске. Поэтому первым создадим раздел восстановления, он не является обязательным и не влияет на работу системы. В принципе его можно даже не форматировать, но во избежание каких-либо недоразумений в дальнейшем мы рекомендуем создать раздел с теми же атрибутами, что и оригинальный раздел восстановления.
На всякий случай явно выберем диск и создадим на нем раздел размером в 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
Если все сделано правильно, то вы должны получить следующую схему разметки, которая будет полностью повторять (за исключением системного раздела) разметку первого диска.
После чего систему обязательно следует перезагрузить.
Создание программного RAID
Прежде всего преобразуем диски в динамические, это можно сделать в оснастке Управление дисками:
или утилитой diskpart:
sel disk 0
convert dynamic
sel disk 1
convert dynamic
Затем добавим зеркало к системному диску через графический интерфейс
или с помощью diskpart:
sel vol c
add disk 1
После чего следует обязательно дождаться ресинхронизации данных, в зависимости от скорости и объема дисков это может занять некоторое время.
Теперь при загрузке появится меню с выбором раздела, загрузиться можно с обоих, но не будем забывать, что загрузчик по-прежнему присутствует только на первом диске и при смене порядка загрузки в BIOS загрузиться со второго диска не удастся.
Настройка загрузчика EFI и его копирование на второй раздел
Снова запустим утилиту diskpart и присвоим буквы EFI разделам на дисках, но перед этим уточним расположение нужного нам раздела:
sel disk 0
list par
Как видим интересующий нас раздел имеет номер 2, выберем его и присвоим букву:
sel par 2
assign letter=P
Повторим аналогичные манипуляции со вторым диском:
sel disk 1
sel par 2
assign letter=S
Выйдем из утилиты diskpart (команда exit) и перейдем в EFI раздел первого диска:
P:
cd EFI\Microsoft\Boot
Для просмотра текущих точек загрузки выполните:
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:\EFI\Microsoft\Boot\BCD2
И скопируем содержимое EFI-раздела на второй диск:
robocopy P:\ S:\ /E /R:0
Ошибка при копировании активного экземпляра BCD-хранилища — это нормально, собственно поэтому мы и сделали его экспорт, вместо того, чтобы просто скопировать. Затем переименуем копию хранилища на втором диске:
rename S:\EFI\Microsoft\Boot\BCD2 BCD
и удалим ее с первого:
del P:\EFI\Microsoft\Boot\BCD2
Осталось удалить буквы дисков EFI-разделов, для этого снова запустим diskpart:
sel vol p
remove
sel vol s
remove
Теперь можно перезагрузить систему и в загрузочном меню BIOS выбрать Windows Boot Manager 2, затем Windows Server — вторичный плекс — это обеспечит использование EFI-загрузчика и системного раздела второго диска. Если вы все сделали правильно — загрузка будет удачной. Таким образом у нас будет полноценное зеркало системного раздела на динамических дисках в UEFI-системе.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.