ADK64
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Закончил эпопею с переносом пользовательских папок под MDaemon 15.0.1 на другой диск. Вкратце поделюсь этапами большого пути (пользователей около 2000, общий объем папок порядка 2ТБ). Использовал программу DirReorg.exe, про которую мне любезно подсказал ipmanyak. Во-первых, сразу учтите, что на машине без установленного MDaemon программа работать не будет. Так что, никакие "тесты на стороне" без мук не получатся. Выскакивает окошечко: "Err: 2, Can't open registry for key: Software\Alt-N Technologies\MDaemon". После нажатия "ок" окошечко пропадает, а в окне cmd, откуда запускалась программа, DirReorg.exe грязно ругается ("Unable to load MDUser.dll, exiting!") и завершает с нами, дураками, общаться. Ставить себе на комп MDaemon, чтобы затестить работу DirReorg.exe, я не стал, решил как-то выкручиваться в рамках сервера. 1. Оставил в Учетные записи -> Группы и шаблоны -> Диспетчер шаблонов -> Создание учетных записей поле "Почтовая папка" без изменений. То есть, по-хорошему DirReorg.exe вообще ничего не должен был сделать, но имелся нюанс: порядка полутора десятков папок отличались от общего шаблона (косяки с переименованием ящиков и прочие частные случаи). Собственно, этим я и воспользовался (нет худа без добра). Прогнал программу с тестовым ключом /t. На нескольких папках вылетело Error, на остальных - типа программа успешно смоделировала перенос. Но не обольщайтесь: тест и реальность - две большие разницы. В реальности пришлось решать следующую задачу: отключить все переспрашивания на переносы папок, права админов и т.п. А именно: а) отключил UAC (Панель управления -> Учетные записи пользователей -> Изменить параметры контроля учетных записей); б) Изменил в локальной политике безопасности один из параметров контроля учетных записей (подробно об этом см. https://answers.microsoft.com/ru-ru/windows/forum/windows_8-security/%D0%B4%D0%BB%D1%8F/64e06440-ac08-494a-aebe-ed006b6eda0a ). Соответственно, перезагрузил сервер Windows. 2. Запустил DirReorg.exe без ключей (то есть, фактический перенос папок и при успехе коррективы в UserList.dat). Большинство папок перенеслось успешно, по паре получил Error. Полез смотреть, что получилось с папками, где ошибка. Одна папка перенеслась наполовину. То есть, в какой-то момент перенос прервался, и на этом DirReorg.exe на нее плюнул. Ручками дотащил то, что не перенеслось, но сильно не хотелось столкнуться с подобной картиной по паре сотен папок при переносе всей массы. Про причину такого сбоя ничего иного в голову не пришло, кроме как подозрение, что в папку во время переноса попало новое письмо, стали переписываться HIWATER.MRK и Imap.mrk, и все пошло буквой зю, как и положено при замене колес на ходу. Соответственно, во избежание трабла на время работы DirReorg.exe поотключал все сервисы в MDaemon (SMTP, POP3, IMAP и до кучи WorldClient). 3. Поменял в MDaemon (Учетные записи -> Группы и шаблоны -> Диспетчер шаблонов -> Создание учетных записей) поле "Почтовая папка" на требуемую в конечном счете и запустил DirReorg.exe без ключей уже по тяжелой программе. ВНИМАНИЕ: при запуске DirReorg.exe не забудьте перенаправить отчет программы о проделанной работе в какой-нибудь файл. Пустячок, но вы, ведь, захотите потом в спокойной обстановке посмотреть, что там накренделилось... А буфера cmd может на все не хватить, чтобы из него скопировать отчет... Это еще если вы в предварительно открытом cmd свой DirReorg.exe запускали, а не по Windows-R - и вперед (окошко cmd в таком случае само закроется по завершению работы DirReorg.exe - вообще останетесь без лога). Я, не мудрствуя лукаво, запускал DirReorg.exe из окошка cmd следующим образом: C:\MDaemon\App> DirReorg.exe > DirReorg.txt На перетаскивание около 2000 папок общим объемом порядка 2ТБ с диска на диск в рамках одного сервера потребовалось примерно 30 часов (с пятого рэйда на первый). На что еще рекомендую обратить внимание при аналогичных хлопотах: под кем у вас запущен MDaemon и будет запускаться DirReorg.exe. DirReorg.exe вы однозначно под админом запустите, а MDaemon может работать под системной учеткой. В результате возможны конфликты прав доступа. У меня, к примеру, при успешной статистике исполнения (папки на новом месте появились в полном объеме, UserList.dat скорректировался) нарисовалась неожиданная проблема: на старом месте остались пустые папки, к которым админу "Отказано в доступе" даже для просмотра. С подобными случаями я уже сталкивался при работе с MDaemon, когда, к примеру, папка удаленного пользователя не удалялась до конца (зависала с запретом что-либо с ней сделать). я тогда перезапускал почтовик с другими правами и вносил какие-нибудь коррективы (например, создавал пользователя заново). Подобные манипуляции помогали перезаписать права на папку. Аналогичным образом поступил и в этот раз. Больше ничего не делал. Не знаю, почему, но после такого перезапуска права на все фантомные папки перезаписались (слава богу). Вроде все... P.S. Данный пост ни на что не претендует. Можно считать его отчетом о проделанной работе. Вполне допускаю, что работа проделана далеко не оптимальным образом, но задача реализована, требуемый результат получен. Возможно, рассказ, по каким граблям я ходил и на какие подводные камни натыкался, кому-то окажется чем-нибудь полезен. В таком случае буду рад. Всегда приятно, когда вокруг умные люди, которые, как известно, учатся на чужих ошибках, а не на своих. |