понедельник, 29 октября 2007 г.

Disaster Recovery - пришла моя очередь

Вот и пришла моя очередь столкнуться с Disaster Recovery, до сего момента только сидел и наблюдал за другими, читал статьи накапливал знания. Сегодня произошел сбой рейд контроллера. Система не грузится. Пока спецы занимаются восстановлением контроллера (там все очень сложно) было принято решение установить на другой сервер Windows+Exchange DisasterRecovery и развернуть из бэкапа сторы.

По обыкновению опишу коротко, по шагам.

1. Берем новую железку
2. Разбиваем хард по аналогии с прежним (это важно)
3. Ставим винду
4. Вводим в домен
5. Ставим ASP.NET, SMTP, NNTP, WWW
6. Ставим все обновления как и было... (я поставил не все, а только sp1, что там еще было не известно)
7. Запускаем "диск:\SETUP\I386\setup.exe /DisasterRecovery"
8. Важно, что бы были выбраны все три пункта
9. Ставим Service Pack к Exchange. Тоже с ключом DisasterRecovery!!!
10. Восстанавливаем сторы из бэкапа.

ПРИМЕЧАНИЕ:
Насчет сервис пака скажу следующее. После установки MS Exchange Server с ключом DisasterRecovery в свойствах сервера вы увидите, что его версия и сервис пак аналогичен той версии, что был до момента падения. На самом деле это может не соответствовать действительности. Убедитесь, что ваш дистрибутив содержит сервис паки. Если нет, то установите их отдельно.

Все!

Но на деле не все так просто…

Дело в том, что к Disaster Recovery необходимо готовится заранее. Его нужно планировать. Как это делать написано в «Microsoft Exchange 2003 Disaster Recovery Operations Guide» Скачать можно по следующей ссылке http://www.microsoft.com/downloads/details.aspx?familyid=a58f49c5-1190-4fbf-aede-007a8f366b0e&displaylang=en

Во время восстановления мне пришлось столкнуться со всеми проблемами, с которыми можно столкнуться.

Кассеты с бэкапами принято хранить в другом месте, не в серверной. Что если нет возможности их быстро доставить или с ними тоже проблема? Пользователям нужна почта!!! Директор в бешенстве!!!

В этом случае можно временно вернуть функциональность. Это называется Dial-Tone Restore (http://www.msexchange.org/tutorials/Exchange-Dial-tone-Restore-Method-Part1.html).

Для правильной работы после восстановления, особенно для Dial-Tone Restore, нужно, что бы буквы разделов совпадали и папки, в которых раньше размещались базы данных, были созданы. Если вы этого не помните, то вот как это можно посмотреть:http://ipicture.ru/uploads/080716/1789/E4RyCT3vsW.gif

ADSIEdit входит в состав Support Tools. Качать тут:
http://www.microsoft.com/downloads/results.aspx?pocId=&freetext=ADSIEdit&DisplayLang=en

Суть метода заключается в том, что вы создаете пустое хранилище. Тоесть в свойствах сторы нажимаете "mount". Если в этот момент у вас нет базы данных, то база создастся. После появления первого письма в базе или подключения пользователя начнутся появляются почтовые ящики.

Единственная проблема в том, что при включенной опции кэширования у вас произойдет рассинхронизация почтового ящика и кеша. Дело в том, что у почтового ящика будет новый GUID, и кеш не сможет с ним синхронизироваться.
При запуске Outlook выходит сообщение: "почтовый ящик находится в режиме восстановления" и предлагает два варианта "connect (подключиться к временному почтовому ящику)" или "Work offline" работать автономно. В последнем случае вы работаете со своим кешем и можете отправлять почту, но не сможете ее принимать. Для этого вам нужно подключиться к временному почтовому ящику.

ПРИМЕЧАНИЕ:
Как настроить почтового клиента на работу с временным почтовым ящиком после восстановления см. инструкцию.

После того как бэкапы Вы восстанавливаете информацию в RSG и проводите объединение, но в моем случае бэкапы были сделаны методом SnapShot при том, что в настройках сторы была включена опция “Circular Logging”.

Это привело к ряду проблем. При заливке бэкапа база отказалась монтироваться. Сказала, что находится в состоянии Inconsistent, проверка "eseutil.exe /mh путь_и_имя_базы " показала, что база находится в состоянии Dirty Shutdown.

Понадобилось делать eseutil.exe /p, а затем eseutil.exe /d но к необходимому результату это не привело.

После этого при попытке монтирования появлялось сообщение:

«An internal processing error occurred, try restarting system manager or information store service of both»

А в журнале событий появляется сообщение ID 9519.

«Error 0xfffffae7 starting database "First Storage Group\priv1" on the Microsoft Exchange Information Store.»

Не смотря на то, что eseutil.exe /mh показывает «Clean Shutdown».

Обсуждение схожей проблемы приводится на этом форуме: http://forums.msexchange.org/m_200041200/mpage_1/key_/tm.htm#200041210

ДОПОЛНИТЕЛЬНО:
Exchange Server Database Utility Guide
http://technet.microsoft.com/en-us/library/aa996953(EXCHG.65).aspx

How to Move Exchange Server 2003 to New Hardware and Keep the Same Server Name (http://technet.microsoft.com/en-us/library/aa997176(EXCHG.65).aspx)

How to perform a disaster recovery restoration of Active Directory on a computer with a different hardware configuration
(http://support.microsoft.com/kb/263532)

Backing up Exchange Server 2003
(http://technet.microsoft.com/en-us/library/aa997165(EXCHG.65).aspx)

Restoring Exchange Server 2003
(http://technet.microsoft.com/en-us/library/aa998965(EXCHG.65).aspx)

Восстановление из автономных папок после удаления почтового ящика
http://support.microsoft.com/kb/163589

Как перенести установленную систему Windows на другой компьютер
http://support.microsoft.com/kb/249694

You receive a "The database files in this storage are inconsistent" error message when you try to mount a mailbox store or a public store in Exchange 2000 Server
http://support.microsoft.com/kb/906148

How to remove Exchange Server transaction log files
http://support.microsoft.com/kb/240145

An error occurred when an attempt to open a file for read and write access failed
http://technet.microsoft.com/en-us/library/bb217804.aspx

17 комментариев:

  1. У меня сейчас похожая проблема, но, к счастью, пока на тестовой базе (масштабы не те и сроки на исправление гораздо больше). Тоесть создаю RSG, выбираю какое хранилище нужно восстановить, ставлю галочку, что хранилище может быть восстановлено с резервной копии, восстанавливаю ntbackup'ом, но вот смонтировать не могу. Ругается.

    Поскольку я только тренируюсь (и одновременно изучаю и AD и Exchange 2003), подскажите, может быть эти грабли можно как-то обойти на этапе настройки сервера, т.е. еще до снятия бэкапа.

    С уважением,
    Михаил

    ОтветитьУдалить
  2. Анонимный29 мая 2008 г., 13:23

    День добрый. Вопросик не совсем в тему, но схожий. Возникла острая необходимость восстановить удаленные элементы в отдельно вятом почтовом ящике. Exchange 2007. Как мне восстановить бэкап в RSG? RSG создана, но при выборе места не могу указать куда залить бэкап. Есть какие то мысли по этому поводу. Очень боюсь, что залью на место актуальной базы.

    ОтветитьУдалить
  3. Михаил, опишите проблему подробнее. Я не совсем понял.

    ОтветитьУдалить
  4. С Exchange 2007 не работал еще. А почему вы не можете выбрать куда восстановить? Когда вы выбираете сервер, вы не видете там этой сторы? А другие видны?

    ОтветитьУдалить
  5. Для правильной работы после восстановления, особенно для Dial-Tone Restore, нужно, что бы буквы разделов совпадали и папки, в которых раньше размещались базы данных, были созданы. Если вы этого не помните, то вот как это можно посмотреть:

    http://ipicture.ru/uploads/080716/1789/E4RyCT3vsW.gif

    ОтветитьУдалить
  6. Здравствуйте!
    Возник вопрос в связи с Вашим постом.
    Имеется организация, состоящая из двух серверов Exchange2003 St и Ent, и на каждом есть пользователи. Возможно ли провести операцию восстановления методом dial tone recovery для 2003 Exchange с переносом БД почты на новый сервер? Я читал о том, что для 2007 EXchange это можно сделать спокойно (даже мастер есть), а на technet описан dial tone только для восстановления на одном сервере EXchange2003, при отвалившейся базе. При падении самого сервера (сгорании материнской платы) метод восстановления на тот же сервер не подойдёт. Как Вы полагаете?
    Так как пост старый, на всякий случай отправл\яю Вам вопрос почтой.
    С уважением,
    Алексей

    ОтветитьУдалить
  7. Добрый день!

    Я не совсем вас понял. Dial-Tone Restore заключается в том, что вы создаете пустую базу. Создаете вы ее на том сервере, который вы поднимите. А вот Disaster Recovery делать нужно тойже версии, какая и была. Собственно Disaster Recovery и нужен на тот случай если, как вы говорите, сгорит MB или сервер вообще будет утрачен.

    ОтветитьУдалить
  8. Здравствуйте, Михаил. Есть вопрос по DisasterRecovery. Имеет ли значение, какая система будет стоять на новом сервере? Т.е. у меня в данный момент Exchange 2003 работает под Windows 2000, я хочу перенести на новый сервер под Windows 2003 R2. Я думаю Exchang'у важна не сама ОС, а ее компоненты SMTP NNTP и т.д. Или я не прав?

    ОтветитьУдалить
  9. Здравствуйте!

    Вы знаете, в официальном руководстве сказано, что система должна быть точно такая же как и была до падения. Тоесть вплоть до сервиспаков и установленных апдейтов.
    Но это в официальном руководстве... На деле я восстанавливал Exchange на различных система, далеко не совпадающих с оригиналом. На боевой среде я бы так делать не стал или стал только в том случае если другого выхода небыло бы.

    ОтветитьУдалить
  10. Вот я и пишу, как человеку, у которого есть опыт в переносе Exchange. Т.е. ты успешно восстанавливал его на разных системах, значит это возможно. Просто с этого года поддержка Win 2000 полностью прекращена, да и железо, на которое собираюсь перенести сервер, более производительно, хотя не новое. Мне нужно только узнать, действительно ли все было успешно после переноса на разных системах?

    ОтветитьУдалить
  11. Хотелось бы воздержаться от комментариев по неподдерживаемым решениям. Рекомендую воспроизвести ситуацию в виртуальной среде.

    ОтветитьУдалить
  12. Хорошо, я понял. В принципе ты же все равно не несешь ответственность за МОИ действия. Я просто просил поделится опытом, потому что в интернете на эту тему не очень много гуглится. В случае, если на новой системе сервер не заработает, смогу ли я потом вернуть функциональность старому серверу, произведя сброс аккаунта и введя его в домен?

    ОтветитьУдалить
  13. добрый день ситуация такая умер сервер который совмещал роль контроллера домеа со всеми ролями и exchange, в филиаах стоят доп конролеры этого же домена и exchange сервера, все роли перехватил здесь все хорошо теперь хочу вернуть exchange в центральном офисе на сколько я понял нужно воспользоваться disaserrecovery на новом серваке с таким же именем как старый только я понял из статьи что нужно почистить все следы от неправильно выведеного котроллера но при этом не удалить его учетую запись чтоб можно было восстановить exchange, все ли я правильно понял и как почистить не удалив при этом учетку ведь написано что clear metadata удалит и ее тоже ?

    ОтветитьУдалить
  14. к прошлому сообщению все на базе 2003 и контролеры и exchange сервера

    ОтветитьУдалить
  15. Вариантов решения может быть много. Ну а почему бы вам не поступить штатным образом? Восстановить этот сервер как контроллер домена, восстановить на него Exchange сервер методом Disaster Recovery, а уж потом, если он вам не нужен в качестве контроллера домена, штатно понизить его до уровня обычного сервера.

    ОтветитьУдалить