Перенос службы DHCP на базе Windows 2000/2003 и Windows 2008
Если вы когда либо переносили DHCP службу с одного сервера на другой, вы наверное знаете что это процесс не слишком веселый и интуитивно понятный, если сервер работает на базе Windows Server 2003. Когда Microsoft создавал Windows Server 2008 он переработал административный интерфейс сервера и в том числе намного облегчил процесс переноса DHCP службы. В этой статье я расскажу о том, как перенести DHCP службу на серверах на базе Windows Server 2000/2003 и Windows Server 2008 и между ними.
Перенос службы DHCP на базе Windows Server 2000
Сохрарение данных на исходном сервере
Для того, чтобы перенести службу DHCP с одного сервера Windows Server 2000 на другой сервер под управлением Windows Server 2000, прежде всего вам надо остановить сервис DHCP, а затем и отключить его на имеющемся сервере. Конечно это означает что DHCP будет недоступен и пользователи не смогут получить IP адреса пока служба не будет перенесена на новый сервер. После этого вы должны скопировать каталог \%systemroot%\system32\DHCP с исходного сервера в безопасное место, откуда вы его потом сможете скопировать на новый сервер. После этого удалите этот каталог с исходного сервера.
Теперь мы должны открыть редактор реестра (regedit). Помните, что неправильные действия в редакторе реестра могут привести к краху Windows, поэтому будьте осторожны и сделайте бекап. Выгрузите следующую ветку реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DHCPServer\Configuration в файл и сохраните его там же где и ранее сохраненный каталог. Как сделаете это, можете удалять службу DHCP через Установку/Удаление компонентов Windows (Add / Remove Windows Components).
Восстановление данных на новом сервере
Прежде всего установите службу DHCP на новойм сервере, после этого остановите и отключите сервис DHCP. Теперь зайдите в каталог куда вы сохраняли файлы из \%systemroot%\system32\DHCP исходного сервера, найдите там файл system.mdb, если он присутствует, переименуйте его в system.src. Теперь можно скопировать все содержимое нашей архивного каталога в \%systemroot%\system32\DHCP на новом сервере.
Далее нам надо импортировать ветку реестра, которую мы выгружали на исходном сервере. На новом сервере открываем редактор реестра, переходим в ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DHCPServer\Configuration и делаем импорт reg файла который у нас получился при экспорте. Теперь надо изменить тип запуска у сервиса DHCP на автоматический и перезагрузить новый сервер.
Перенос службы DHCP с сервера Windows Server 2000 на сервер Windows Server 2003
Внимание! Для переноса базы данных с сервера под управлением Windows 2000 или Windows NT 4.0 на сервер под управлением Windows Server 2003 необходима программа Dhcpexim.exe. Команды Netsh для DHCP недоступны в Windows NT 4.0.
Экспорт базы данных DHCP с сервера под управлением Windows NT Server 4.0 или Windows 2000
- Остановите службу DHCP-сервера на сервере.
- Используйте для входа на исходный DHCP-сервер учетную запись, входящую в группу локальных администраторов.
- Нажмите кнопку Пуск, выберите Выполнить, введите в поле Открыть командуcmd и нажмите кнопку ОК.
- В командной строке введите net stop dhcpserver и нажмите клавишу ВВОД. Появится сообщение: The Microsoft DHCP Server service is stopping. The Microsoft DHCP Server service was stopped successfully.
- Введите команду exit и нажмите клавишу ВВОД.
- Уменьшите размер базы данных DHCP с помощью программы JetPack.
- Нажмите кнопку Пуск, выберите пункт Выполнить, введите в поле Открытькоманду cmd и нажмите кнопку ОК.
- В командной строке введите cd %systemroot%\system32\dhcp и нажмите клавишу ВВОД.
- Введите команду jetpack dhcp.mdb temp.mdb и нажмите клавишу ВВОД.
- После уменьшения размера базы данных введите в командной строке exit и нажмите клавишу ВВОД.
- Экспортируйте базу данных DHCP с помощью программы экспорта-импорта DHCP (Dhcpexim.exe). Эта программа включена в пакет Windows 2000 Resource Kit Supplement 1. Получить программу Dhcpexim.exe также можно на веб-узле Майкрософт: http://www.microsoft.com/windows2000/techinfo/reskit/tools/new/dhcpexim-o.asp
- Чтобы экспортировать базу данных, выполните следующие действия:
- Установите программу Dhcpexim.exe и запустите ее.
- На экране Welcome to DHCP Export Import tool выберите команду Export configuration of the local service to a file и нажмите кнопку OК.
- Введите имя экспортированного файла в поле File name и нажмите кнопкуSave. Например, введите dhcpdatabase.txt.
- Выберите диапазон или диапазоны данных для экспорта, установите флажокDisable the selected scopes on local machine before export и нажмите кнопку Export.
- Нажмите кнопку ОК.
- Отключите службу DHCP-сервера на сервере. Отключение службы DHCP-сервера запрещает запуск службы после переноса базы данных. Чтобы отключить службу DHCP-сервера, выполните следующие действия:
- Нажмите кнопку Пуск, выберите пункт Настройка, затем Панель управленияи два раза щелкните значок Службы.
- В списке Службы выберите Microsoft DHCP Server, перейдите на вкладкуВход в систему, нажмите кнопку Запретить, а затем кнопку ОК.
- Если служба запущена, нажмите кнопку Стоп и кнопку Да, чтобы подтвердить остановку службы.
- Нажмите кнопку Закрыть, чтобы закрыть диалоговое окно Службы.
Импорт базы данных DHCP с сервера под управлением Windows NT Server 4.0 или Windows 2000 на Windows 2003
Программа Dhcpexim.exe не поддерживается сервером Windows Server 2003. Если база данных экспортируется на компьютер под управлением Windows 2000 с помощью программы Dhcpexim.exe, то при попытке импортировать эти данные на сервер Windows Server 2003 программа Dhcpexim.exe прекращает работу, и появляется следующее сообщение об ошибке:
An error occurred. An attempt was made to load a program with a incorrect format.
В случае возникновения этой ошибки экспортируйте данные из Windows 2000 с помощью команды dhcpexim, а затем импортируйте эти данные в среду Windows Server 2003 с помощью команды netsh DHCP server import xyz.txt.
Перенос службы DHCP на базе Windows Server 2003
Сохрарение данных на исходном сервере
- Нажмите кнопку Пуск, Выполнить, введите в поле Открыть команду cmd и нажмите кнопку ОК.
- Введите netsh dhcp server export C:\dhcpdatabase.txt all и нажмите клавишу ВВОД.
Примечание. Для экспорта данных необходимо иметь права локального администратора.
Восстановление данных на новом сервере
- Нажмите кнопку Пуск, Выполнить, введите в поле Открыть команду cmd и нажмите кнопку ОК.
- В командной строке введите netsh dhcp server import c:\dhcpdatabase.txt all и нажмите клавишу ВВОД. Здесь c:\dhcpdatabase.txt является полным путем и именем файла базы данных, скопированного на сервер.
Примечание. При экспорте базы данных DHCP из контроллера домена Windows 2000 на рядовой сервер Windows Server 2003 этого домена может появиться следующее сообщение об ошибке:
Error initializing and reading the service configuration — Access Denied
Примечание. Для импорта данных необходимо иметь права локального администратора.
Для решения этой проблемы добавьте компьютер с DHCP-сервером Windows Server 2003 в группу администраторов DHCP на уровне предприятия.
Если сообщение «отказано в доступе» (Access Denied) появится после добавления компьютера с DHCP-сервером Windows Server 2003 в группу администраторов DHCP на уровне предприятия, убедитесь, что учетная запись пользователя, используемая для импорта, входит в группу локальных администраторов. Если эта учетная запись не входит в эту группу, для завершения импорта добавьте ее в эту группу или войдите в систему с правами локального администратора.
Примечание. Если команды DHCP IMPORT или EXPORT не работают у пользователей, входящих в группу локальных администраторов, требуется установить на компьютере под управлением Windows Server 2003 следующее исправление:
833167 — Пакет обновления службы теневого копирования тома (VSS) для Windows Server 2003
Как видите перенос службы DHCP на Windows Server 2003 достаточно трудоемкий процесс. Но в Windows Server 2008 этот процесс намного проще. Вам только лишь надо запустить консоль управления DHCP (DHCP Manager) на исходном сервере, нажать правой кнопкой мыши на имени сервера и выбрать Backup, как показано на рисунке ниже.
Как вы нажмете Backup, система у вас спросит путь, для сохранения архива. Укажите путь и нажмите ОК, для создания бекапа.
Процесс восстановления на новом сервере — тоже очень прост. Открываете консоль управления DHCP (DHCP Manager) на новом сервере, нажимаете правой кнопкой мыши на имени сервера и выбираете Restore, опция Restore видна на рисунке выше. Система опять у вас запросит путь, надо будет ввести путь к файлу который у нас получился при бекапе и нажать ОК. Если все прошло успешно система выдаст вам сообщение о необходимости перестартовать сервис DHCP. Нажмите Yes, как показано на рисунке ниже, сервис перезапустится и применятся новые настройки.
Перенос службы DHCP с сервера на базе Windows Server 2003 на сервер на базе Windows Server 2008
Перенос службы DHCP с использованием инструментов Backup и Restore между серверами с разными версиями системы, например Windows Server 2003 и Windows Server 2008, невозможен из-за смены формата базы.
Для миграции в таком случает рекомендуется использовать import/export утилиты netsh.
Вот так должна выглядеть эта процедура:
Сохрарение данных на исходном сервере Windows Server 2003
- Заходим на сервер под учетной записью с правами локального администратора или администратора DHCP
- Нажмите кнопку Пуск, Выполнить, введите в поле Открыть команду cmd и нажмите кнопку ОК.
- В командной строке введите netsh dhcp server export c:\dhcpdatabase.dat all и нажмите клавишу ВВОД.
Примечание. Пока идет процедура экспорта DHCP сервис не отвечает на запросы пользователей о продлении аренды адреса и получении нового.
В итоге этой операции вы получите файл dhcpdatabase.dat, который будет в себе содержать настройки DHCP и информацию о всех розданых адресах и резервациях. Теперь можно останавливать сервис DHCP.
Восстановление данных на новом сервере Windows Server 2008
На новом сервере Windows Server 2008 устанавливаете службу DHCP — Server Manager — Add Role — DHCP Server. Вы не должны авторизовывать DHCP в этот момент.
Импортируем базу DHCP
- Заходим на сервер под учетной записью с правами локального администратора или администратора DHCP
- Копируем файл экспорта с исходного сервера на локальный диск нового сервера
- Проверяем что DHCP сервис запущен и работает на новом сервере
- Нажмите кнопку Пуск, Выполнить, введите в поле Открыть команду cmd и нажмите кнопку ОК.
- В командной строке введите netsh dhcp server import c:\dhcpdatabase.dat all и нажмите клавишу ВВОД.
База проимпортирована.
Авторизация сервера DHCP
Нажмите кнопку Пуск и последовательно выберите пункты Программы, Администрирование и DHCP.
Примечание. Необходимо войти на сервер с учетной записью члена группы «Администраторы». В домене Active Directory необходимо войти на сервер с учетной записью члена группы «Администраторы».
- В консоли оснастки DHCP разверните новый сервер DHCP. Красная стрелка в правом нижнем углу объекта сервера указывает на то, что сервер еще не был авторизован.
- Щелкните объект сервера правой кнопкой мыши и выберите команду Авторизовать.
- Через некоторое время снова щелкните сервер правой кнопкой мыши и выберите команду Обновить. Зеленая стрелка показывает, что DHCP-сервер авторизован.
Однако, при переносе базы с 2003 на 2008 выяснилось, не перенесен 249 параметр — Бесклассовые статические маршруты. Не перенесены и как параметры областей, как параметры сервера и как индивидуальные параметры.
Причина — не сохранён номер параметра, в 2008 версии DHCP он почему-то имеет 121 номер.
Вот так, очередной сюрприз от Макрософта.
Спасибо, очень полезная статья. Когда делаешь эту процедуру раз в 7 лет, то не помнишь всех деталей. Спасибо автору -)
Благодарствую, попробывал переброску через GUI с 2003 на 2008r2-аренда загорелась красным, через cmd — все ок, правда арендованные адреса не перебросились ну и хрен с ними, кто в домен войдет тот и настройки получит
Спасибо! 🙂
Присоединяюсь к просьбе Матвея ! Очень необходима данная информация !
Дмитрий, действуйте по алгоритму для переноса DHCP с Windows 2000 на Windows 2003.
Подскажите, плиз, как перенести службу DHCP с Windows 2000 Server на Windows 2008 Server
Такой пример у меня не описан, но это возможно. Постараюсь до конца дня описать этот процесс.
Смотрите статью, добавил раздел по переносу DHCP с Windows 2000 на Windows 2003. Формат DHCP Windows 2003 и Windows 2008 схож, так что можете попробовать использовать этот вариант для переноса и на Windows 2008.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DHCPServer\Configuration нету такого
Сейчас посмотрел, верно. В Windows 2003 эта ветка уже называется Parameters. Ветка Configaration существовала в версиях до 2003. Спасибо за замечание, в статье исправлю.
В win2k8R2 появился DHCP Failover, настройка становится чуть проще.