Ну опять. Позавчера свет того. Два раза за день. Электрики сейчас у меня в списке врагов народа номер 1. Ну и опять
История приключилась. Это опять дало сбой на контроллер домена (ой печаль-печаль). А на этом контроллере домена ещё и эксчейндж 2007 болтался. Заглючили днс, заглючила репликация AD. И почта стала глючить (стала жутко ругаться служба топологии Microsoft Exchange Active directory).
В, общем-то, приехали.
Уже давно была цель по уму всё сделать (то есть разнести почту и контроллер на разные сервера, тем более что даже мелкософт не рекомендует почту на КД ставить). Досталось мне такое естественно в наследство. Пока всё работало - начальство говорило не трогать ничего, раз работает. Ну и ладно, подумал я, подожду ситуации, когда переезды будут не так болезнены.
Ситуация представилась. Чем поднимать с бэкапов, решал чуть дольше оставить организацию без почты, и сделать разнос по уму.
Что имел: глюкавый КД с крайне погано работающим эксчейнджем на нём. Что надо получить?
2 сервера: КД и отдельно от всего почтовый.
Всего было 2 сотни ящиков, и можно б было тупо закосить старый сервак и ящики создать новые чистые. Осложнялось всё тем, что почту за 10 дней новогодних выходных никто не снимал, а её нападало ой.
Решил старую базу цеплять на новый сервак. Чтоб почта осталась.
Ну поднял на виртуалке как временное средство вин 2003 x64 (требование по факту эксчейнджа 2007).
Туда поставил эксчейндж 2007. Поставил версию 1 в 1 как на помирающем серваке (от греха подальше). Подбирается по таблице:
- Exchange 2007 RTM ........................................... 8.0.685.25
- Update Rollup 1 for Exchange Server 2007 ............ 8.0.708.3
- Update Rollup 2 for Exchange Server 2007 ............ 8.0.711.2
- Update Rollup 3 for Exchange Server 2007 ............ 8.0.730.1
- Update Rollup 4 for Exchange Server 2007 ............ 8.0.744.0
- Update Rollup 5 for Exchange Server 2007 ............ 8.0.754.0
- Update Rollup 6 for Exchange Server 2007 ............ 8.0.783.2
- Update Rollup 7 for Exchange Server 2007 ............ 8.0.813.0
И вторая
- Exchange 2007 SP1 .............................................................. 08.01.0240.006
- Update Rollup 1 for Exchange Server 2007 Service Pack 1 ........ 8.1.263.1
- Update Rollup 2 for Exchange Server 2007 Service Pack 1 ........ 8.1.278.2
- Update Rollup 3 for Exchange Server 2007 Service Pack 1 ........ 8.1.291.2
- Update Rollup 4 for Exchange Server 2007 Service Pack 1 ........ 8.1.311.3
- Update Rollup 5 for Exchange Server 2007 Service Pack 1 ........ 8.1.336.1
- Update Rollup 6 for Exchange Server 2007 Service Pack 1 ........ 8.1.340.1
- Update Rollup 7 for Exchange Server 2007 Service Pack 1 ........ 8.1.359.2
- Update Rollup 8 for Exchange Server 2007 Service Pack 1 ........ 8.1.375.2
- Update Rollup 9 for Exchange Server 2007 Service Pack 1 ........ 8.1.393.1
Попробовал базу сразу цепануть. Создал новую базу без подключения с нужным именем, поставил галку в свойствах на разрешение перезаписи базы при восстановлении. Скопировал туда нужную базу с почтой. Не подцепилась.
Запустил командную консоль Exchange, взял базу, и выполнил:
eseutil /mh c:\exchdb\mailboxdb.edb
Получил кучу всего, и самое главное:
State: Dirty Shutdown.
В эту ж папку скопировал с помирающего сервака E00.log. Выполнил:
eseutil /r E00
Команда выполнилась успешно. Ещё раз:
eseutil /mh c:\exchdb\mailboxdb.edb
И имею итог "State: Clean Shutdonw".
Ещё раз попробовал подцепить - заработало.
Но поскольку база не родная (с другого сервера), то ещё надо выполнить команду в консоли Для переноса настроек:
get-mailbox -database fdc\mailboxdb | move-mailbox -targetdatabase exch\mailboxdb -configurationonly:$true
После этого местонахождение ящиков стало таким, каким я хотел видеть. На exch.
Не забыл прописать соединители получения и отправления.
Отключил ssl (в настройках iis в компьютер менеджменте и в настройках клиентских ящиков в самой консоли управления Exchange).
Дальше решил контроллер вынести на новый сервак (виртуальный). Хотел переназначить на другой отдать fsmo роли. Но через оснастку AD как можно было ожидать ничего не получилось. Выругался. Не вижу, говорит, и всё других контроллеров.
Подумал, решил через dcpromo снять роль контроллера. Опять оно на меня поматерилось.
Пришлось сделать dcpromo /force removal
Потом захватил роли на другом контроллере^
win+R -> ntdsutil -> roles -> connections -> connect to server sdc -> q
Затем seize ?
Ну и собсно захват всех ролей какие там пишутся. Разве что вместо seize pdc emulator пишется seize pdc
Ну и после захвата всех ролей буковку "q" до упора =)
Ну и до кучи перепроверил, как оно подхватило роли.
cmd -> netdom query fsmo
Кстати, exchange после понижения (принудительного) контроллера вообще стал засыпать ошибками и вообще перестал запускаться.
Потом удалил все записи о принудительно выведенном контроллере из ad и dns.
Соответственно, полученный рядовой сервер из контроллера после этого вылетает из домена, и войти на него можно локально используя учётку "Администратор" и пароль как у доменного администратора.
Затем привязал этот сервер к домену, с тем же именем. Через dcpromo сделал из него контроллер домена, но уже резервный. Прошла репликация. Оно ещё что-то в домене где-то перезаписало предыдущие записи.
После этого так же через dcpromo контроллер удалил из домена (но уже корректно, без форсов).
Сие великое хитрое действо провёл для того, чтобы все записи, связанные с тем, что такой контроллер существовал сами аккуратно и правильно удалились.
Собственно: домен привёл в порядок (по наличию контроллеров и владельцев fsmo ролей). Глюков не высыпается по домену. Железку освободил под новый хост виртуалок. Поставил win 2008, hyper-v, 2 сервака 2008 уже как виртуальных. На них и буду поднимать контроллер взамен прибитого и почту. Благо с почтой мороки не будет. Переехать с полностью живого рабочего временного сервера на новый - дело совсем недолгое.
единственное, о чём всё время думал - а что с ip? Ведь в настройках почтовых клиентов у меня везде прописаны в качестве pop и smtp серверов айпишники. Причём указывающие на старый сервак. Решил попробовать так:
после того, как загасил старый сервак, и поставил на нём хост систему, я взял и старый айпишник почтового сервера дописал как дополнительный в сетевом интерфейсе нового почтового сервера.
Всё продолжило работать. Ну и славно.
Потом, когда буду делать окончательный переезд на виртуальную платформу почтовиком, просто этот айпишник дополнительный из интерфейса удалю, пропишу его на новый постоянный сервак и съеду туда.
Итого: Не надо будет что либо перенастраивать у всех 200 людей, кто пользуется почтой.
Вот и получил работающий сервер эксчейнджа (хоть и временный), железку, на которой уже поднял хост систему, и куда потом съедут раздельные уже контроллер и почтовик.
В общем та "We are the champions!" За 15 часов.
Зато сейчас всё работает, и всё приближается к тому состоянию, которое мне нравится. По уму вроде бы всё делаю.