Для восстановления сервера на голое железо (Bare metal recovery — BMR) нужно иметь бекап. Бекап можно создать при помощи штатной фичи Windows server 2012, под названием Windows Server Backup.
Установка Windows Server Backup
Как установить Windows Server Backup описано тут. После установки нужно настроить резервное копирование.
Настойка Windows Server Backup
WBS может бэкапить на диск, на раздел диска и на шару. Для экономии места на хранилище, целесообразней использовать инкрементальные бэкапы, но инкрементальные бэкапы WSB может делать только на диск, при этом, когда диск назначается для бэкапов, все данные с него удаляются. Да и на каждый серве не напасешься дисков, поэтому будем использовать ISCSI диски. Для этого нужно настроить ISCSI Target на хранилище и ISCSI initiator на сервере. В моём примере ISCSI target на Windows 2012 сервере.
Настройка ISCSI Target на Windows Server
Настройка ISCSI Target и ISCSI initiator на Windows Server 2012 описана подробно тут и тут
После настройки таргета и иницаитора, в системе появится диск. Его нужно сделать “online”. За тем “зашедулерить” WSB. Тут и тут есть описание как это сделать. Скажу лишь, то что бэкап будем делать всего сервера целиком. В моём случае даже с виртуальными машинами Hyper-V
И так половину дела сделали. Бэкапы делаются, их можно доставать при необходимости через раздел Recovery того же WSB. Но что же делать если железо сервера полностью вышло из строя и восстановлению не подлежит. В этом случае понадобится Bare metal recovery т.е дословно «восстановление на голом железе». Но для восстановления на железе нужно что то загрузить на этом железе, что сможет получить доступ к бекапу.
Windows Recovery Environment — Winre 4.0
Windows Recovery Environment WinRE– Средство восстановления Windows основанное на Windows Preinstallation Environment . Это средство загружается автоматически при сбое Windows. Или его можно создать записать на диск флешку или WDS. Windows Deployment Services — WDS гораздо удобней в использовании. Сегвер загружает WinRE по сети и готов к восстановлению. Но не всё так просто. По умолчанию Winre не умеет работать с ISCSI дисками, нет файлового менеджера, нет Powershell и тд. этому мы его и научим.
Новые возможности службы развертывания ОС можно посмотреть тут. Подробней о его настройке сделана презентация.
Настрйка WinRE.wim версии 4.0
WinRE.win можно взять в каталоге ОС: c:\Windows\System32\Recovery\winre.wim Обращаю внимание, файл скрытый и просто так не виден.
— Создаём каталог d:\winre d:\WinRE_Mount
— Копируем c:\Windows\System32\Recovery\winre.wim в d:\winre
Делаем его видимым.
— Далее нужно примонтировать Wim образ. Для этого нужно выполнить:
dism /Mount-Wim /WimFile:d:\WinRE\WinRE.wim /index:1 /MountDir:d:\WinRE\WinRE_Mount
— Можно посмотреть информацию о установленных пакетах
Dism /image: d:\WinRE\WinRE_Mount /Get-Packages
— Как добавлять другие пакеты и их описание можно посмотреть тут.
Как пример:
Установить пакет
dism /image:D:\Wim_Mount /Add-Package /PackagePath:"c:\Program Files (x86)\Windows Kits\8.0\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-WDS-tools.cab"
Удалить пакет
Dism /image:D:\Wim_Mount /Remove-Package /PackageName:Microsoft-Windows-WinPE-LanguagePack-Package~31bf3856ad364e35~amd64~en-US~6.2.9200.16384
-Добавляем драйвера для Raid контроллера
Этот шаг необязателен, поскольку Windows PE содержит базовый набор драйверов, в том числе и для сетевых карт. Доступ к сети может вам понадобиться, например, для сохранения захваченного WIM-образа на сетевом диске.
Если возникла необходимость, с помощью DISM можно добавить:
-отдельный драйвер, указав путь к INF-файлу
-все драйверы из папки, указав путь к ней и ключ /recurse
Примеры этих команд:
dism /Image:d:\WinRE\WinRE_Mount /Add-Driver /Driver:C:\drivers\mydriver.INF
dism /Image:d:\WinRE\WinRE_Mount /Add-Driver /Driver:C:\drivers /recurse
— Добавление своих утилит и сценариев
Я скопиовал файменеджер TotalCMD в папку util и туду же утилиты sysinternals.
Так же добавил оснастку для GUI управления ISCSI инициатора
c:\Windows\System32\iscsicpl.exe
c:\Windows\System32\iscsicpl.dll
А в папку script положил скрипт который поднимает сеть и монтирует ISCSI а потом запускает bmrui утилиту восстановлния бекапа.
d:\WinRE\WinRE_Mount\Script\Recovery.ps1
Write-host ========Recovery Windows server============
Write-host ========abelov@agava.com 27.03.2013========
write-host
Write-host "1 Step: - initialize network"
x:\windows\system32\wpeutil.exe initializenetwork
Write-host "Test network"
$hNAme = Read-Host "Type ISCSI host name. For example b1.vpsagava.ru"
ipconfig /all
ping $hNAme
Write-host "2 Step: - initialize ISCSI"
Write-host "Start Service msiscsi"
Start-Service msiscsi
Write-host "Connect to iscsi on $hNAme "
New-IscsiTargetPortal –TargetPortalAddress $hNAme
Get-IscsiTarget | Connect-IscsiTarget
Write-host "3 Step: - Recovery Windows server"
x:\windows\system32\bmrui.exe
x:\windows\system32\iscsicpl.exe
Write-host "4 Step: - open image and recovery server"
— Сохранение изменений и отключение образа
Обе операции выполняются в рамках одной команды.
dism /Unmount-Wim /MountDir:D:\WinRE\WinRE_Mount /Commit
Добавляем Wim в WDS. Загружаемся с него. Запускаем скрипт
x:\Script\Recovery.ps1
Много полезного есть здесь
P.S Очень много нюансов не описал, так как писал как «рыбу» для себя, чтобы не забыть. Если что пишите в коментах, отвечу.