Самая долгая и нудная миграция за все время.
Задача была перенести контроллера домена с 2003 на 2008 на одно и то же железо - по сути банальна, но...
Усложняющий элемент: 2003 поднят на VMware ESXi.; имеется еще один сервер ESXi и есть куча офисных машин, слабеньких по аппаратным характеристикам; сеть 100 мб/с; разделы жесткого диска виртуального сервера по 250 и 300 Гб, сделать все нужно быстро, незаметно для пользователей = в не рабочее время.
Вариантов было несколько, первым делом нужно было освободить физический сервер:
1. Перетащить 2003 на другой сервер ESXi, дальше делать с нужным железом все что захочется.
2. Поднять ESXi на офисной машине, мигрировать 2003 туда, дальше на сервер поставить 2008-у и т.д.
3. Перетащить 2003 на vmware player...
4. Поднять на офисной машине 2003, передать роли контроллера домена ему, скопировать все файлы (~500 Гб), поставить на сервера 2008 - потом передавать роли снова... - сразу скажу этот вариант был последним, и самым действенным, потому что все пошло по плохому сценарию.
Дополнительные вводные данные:
1. Исходный сервер (на котором стоял ESXi и на который надо поставить 2008 dc) - HP ProLiant ML 310 - груда металла, самая дешевая комплектация, без аппаратного raid, без корзины для дисков.
2. Второй сервер ESXi - сборная солянка на базе МП Supermicro PDSME+, RAID 3ware 9550 x4 без батарейки - херня откровенная, но об этом напишу в другой раз, наверно.
Попытка №1
Самый казалось бы очевидный порядок действий. Из-за медленной сети (100 мб/с) виртуалка мигрировала долго... очень долго (~500 Гб), так долго что через пару часов я понял что "тупанул", отменил копирование, вытащил жесткий диск из исходного сервера и воткнул во второй. После перезагрузки ESXi нашел новый диск, примаунтил его, добавил виртуалку в inventory (ПКМ по файлу *.vmx - могу наврать). В общем запустилось все, но похерил по дороге все виртуальные сетевухи - почему непонятно, версии ESXi были одинаковые - 4 upd 1. Вообще там есть еще кое какие нюансы, когда так по не христиански переносишь виртуалки, действовал интуитивно.
В общем исходный сервер был освобожден от груза ESXi вместе с жесткими дисками, но в него планировалось вставить 2 новых винта, так что не проблема. 2003 теперь крутилась на другом серваке ESXi, а на исходный я мог ставить 2008 на новые винты.
Чем я и занялся. Сервер должен быть отказоустойчивым, хотя бы по дисковой подсистеме. Без "аппаратного RAID c батарейкой блять!" этого добиться сложно. Черт дернул побаловаться с Embedded RAID (host-raid) - встроенного в материнку ML 310. Поднял зеркалирование на двух новеньких винтах Seagate Constellation ES.2 (2 Тб). Поставил 2008 R2 - не обошлось без подпихивания драйверов контроллера - хорошо что на 2008 это можно сделать через флэшку USB. Еще момент, через диск HP Smart Start система не поставилась, установка "типа" пошла, но потом инсталятор так и не смог увидеть какой-то там файлик и все повисло, поэтому и пришлось ставить "вручную"
Грабли обнаружились не сразу. Система как то откровенно подтормаживала, запустил HD Tune - и вот оно, скорость работы raid ~ 40-50 Мбайт/с - тормоз!
Обновил драйвера, поставил HP PSP, обновил прошивки и биос, через диск HP. Ничего не помогало, скорость работы оставалась прежней. Менял Write Cache через BIOS встроенного райда, эффекта ноль - даже кажется медленнее стало работать. Оставлять так было нельзя, так как на сервере должны были быть файловые базы 1С.
Разобрал райд, убрал один винт, система прогрузилась нормально, даже не заметила что теперь без райда. Изменилась только скорость работы с диском - теперь ~ 120-130 Мбайт/с.
Работу уже было пора заканчивать, а я только поставил систему. Надвигалась гроза, и в целях безопасности я отключил все сервера, вытащил кабели питания - в общем обесточил все.
Гроза прошла, как я и предполагал отключали электричество.
На следующий день включаю сервера - сборная "солянка" Supermicro не заводится. Стартуют винты, но не мамка. Полдня безуспешных попыток реанимировать. Опыта работы с "железом" предостаточно - поэтому могу сказать откровенно - перепробовал все!
К конце второго дня я остался со свежей 2008 на ML 310 и... и все. Даже в домен вогнать не успел, не то что там роли передать... Контроллер домена лежал на винте отформатированном в VMFS.
Попытка №2
Supermicro супер сдох аккурат в четверг утром. Бухгалтерия осталась без баз 1С и без интернета.
Собрав все известные мне маты решил поднять ESXi на чем каком нибудь компе, и запустить виртуальный контроллер домена на нем. Но ни на один комп ESXi не встал, ни 4 версия, ни 4 upd1 ни 5.1 - все время ругался на отсутствие поддерживаемой сетевой карты (которая на Supermicro была вшита в саму плату).
Так как у меня было 2 винта с райда, одинаковых по содержимому, то решил параллельно пробовать два способа. Первый - запустить ESXi на HP ProLiant, второй запустить виртуальную машину через Vmware Player.
Про первый способ особо рассказывать нечего. Воткнул винт с самим гипервизором в HP ProLiant. Все завелось без лишних вопросов. Выключил. Подключил винт с виртуальной машиной. Включил. Настроил IP адреса. Зашел через клиента, добавил диск, добавил виртуальную машину, настроил виртуальную сеть. Все работает. Начал устанавливать 2003 на первую попавшуюся офисную машину.
Во втором случае пришлось повозиться. Так как винчестер с виртуальной машиной был отформатирован в VMFS, то просто подключить его к компу с Windows ничего не даст. Что бы получить доступ к файлам виртуальных дисков *.vmdk пришлось использовать специальный драйвер написанный на Java.
Вот ссылка на источник:
тут.
Open Source VMFS Driver.
Вкраце, использовать
vmfs-tools при загрузке с LiveCD. Или монтировать из Windows.
Установить Java. Выполнить следующие команды:
cd C:\Program Files\Java\jre7\bin
java -jar D:\vmfs_r95\fvmfs.jar
java -jar D:\vmfs_r95\fvmfs.jar \\.\PhysicalDrive3 info
java -jar D:\vmfs_r95\fvmfs.jar \\.\PhysicalDrive3 dir /
java -jar D:\vmfs_r95\fvmfs.jar \\.\PhysicalDrive3 filecopy
/FS_Win2003_1/FS_Win2003.vmdk
java -jar D:\vmfs_r95\fvmfs.jar \\.\PhysicalDrive3 filecopy
/FS_Win2003_1/FS_Win2003-flat.vmdk
java -jar D:\vmfs_r95\fvmfs.jar \\.\PhysicalDrive3 webdav
Последняя команда расшаривает диск необычным образом, к нему можно получить доступ через браузер. http://localhost:50080/vmfs.
Последним способом я и воспользовался. минус его в том что через браузер диски *.vmdk скачиваются на низкой скорости, примерно 20 Мбайт/с. VMPlayer не запускался, пока не скачал все файлы с папки виртуальной машиной ESXi.
К этому времени уже установился 2003 на офисный комп. На старом выполнил проверку
netdiag и
dcdiag, были незначительные ошибки, но я решил рискнуть. Роли проверить можно через
netdom query fsmo (устанавливается через
Support Tools с диска CD2 2003 R2).
Назначил настройки IP свежеустановленному 2003, вбил его в домен. Поднял уровень до КД, вручную добавил роль DNS-сервер, добавил Глобальный каталог. Через окна передал ему все роли FSMO, несколько раз перезагрузил его и старый виртуальный КД. Затем на старом выполнил понижение роли КД (через удаление). Вот единственное что забыл так это удалить его из домена.
Далее уже на новом 2003 выполнил повышение функционального уровня домена и леса до 2003 (до этого стоял 2000) смотреть подробно
тут (делается в консоли Домены и отношения доверия Active Directory - ПКМ по домену - Повысить функциональный уровень домена - опять ПКМ - Повысить функциональный уровень леса). И обновил схему леса и домена до 2008 R2 (все это делается на 2003).
Запускается adprep32.exe с диска 2008 R2 (если 2003 х32).
adprep32.exe /forestprep
adprep32.exe /domainprep /gpprep
adprep32.exe /rodcprep
В общем, делал все как
тут.
Скажу только что в итоге я не смог передать роль Мастер Схемы, пришлось захватывать (
KB M$). Но даже после захвата в логах журнала 2008 были ошибки, что КД является Мастером Схемы, но не уверен до конца что это так. Возможно потому, что 2003 я не смог понизить до рядового сервера. Постоянно вылетала ошибка, пришлось его просто отрубить и удалить из AD.