Титла: Миграция на postfix&cyrus imap Публикувано от: cartman в Aug 24, 2008, 22:53 Здравейте,
трябва да мигрирам пощенски сървър от стара машина на нова. Старата машина с OpenSUSE 10.0, postfix, cyrus и най-интересното libdb-4.4.20 (db-4.4.20). Новата е CentOS 5.1, postfix, cyrus и db-4.3.29. В случая нямам проблем с инсталиране нито на postfix, нито на cyrus. Проблема е в различните версии на тези libdb. Така стария сървър е с по-нова версия, a CentOS не предлага повече от 4.3.29. Сега когато прехвърлям пощата писмата не се четат, cyrus не ги разпознава и трябва ръчно да пускам reconstruct за всяка директория на всяка кутия. Опитвах да махна старатa версия и да сложа нова, но при махане на старата трябва да махна около 100 зависимости и после вече съм за преинстал. Нова не мога да сложа, защото бие грешка за конфликт с pam. Опитвах и компилиране от source, пак няма резултат. Cyrus си знае libdb-4.3.so и не мога да го накарам да използва новата версия. Моля дайте съвет какво да направя? Титла: Миграция на postfix&cyrus imap Публикувано от: laskov в Aug 25, 2008, 11:36
Не става ли с
Ще трябва да компилираш syrus-imapd отново. Можеш да му кажеш коя libdb да ползва, което ме навежда на мисълта, че можеш да си инсталираш 4.4.20 в отделна директория и да укажеш на cyrus къде е. Виж configure --help на cyrus-imapd Титла: Миграция на postfix&cyrus imap Публикувано от: cartman в Aug 25, 2008, 13:28 Благодаря, това може да реши казуса. Не мисля да компилирам cyrus засега, но ще видя
![]() А reconstruct -r -f не съм пробвал и ако стане ще е супер. Благодаря за съвета! Титла: Миграция на postfix&cyrus imap Публикувано от: cartman в Sep 09, 2008, 13:55 М-да. Благодаря отново за помощта!
Reconstruct -r user.* пуснат през потребителя cyrus е ключа към успеха. Сега обаче идват другите по-бели ядове ![]() Има ли как след като съм пуснал reconstruct да окажа на cyrus, че писмата във всички директории са прочетени, кои точно са непрочетени и прочие. Четох за съответните файлчета user.seen и user.sub. Дали ако ги копирам от стария сървър върху новия след реконструкцията ще сработят? Титла: Миграция на postfix&cyrus imap Публикувано от: cartman в Sep 19, 2008, 13:31 Така. Ето ги стъпките:
1. Настройки на Postfix и Cyrus. 2. Създаване на пощенските кутии-за съжаление не успях да направя скрипт и ги създавах ръчно:
3. Копирам чрез scp или rsync директориите /var/lib/imap/user/ и /var/spool/imap/user/ на новия сървър. После
4. su cyrus 5. cd /usr/lib/cyrus-imapd/ - тук се намират изпълнимите файлове на cyrus за CentOS 6. ./reconstruct -rf user.* 7. пробвах горното без -f, но нямаше желания успех, не откри всички директории. 8. За последно копирах /var/lib/imap/user/ с цел писмата да запазят флаговете си - прочетен, непрочетен и т.н. 9. Готово ![]() Благодаря пак за отговора! Спаси ме ![]() Титла: Миграция на postfix&cyrus imap Публикувано от: laskov в Sep 19, 2008, 14:47 Хм, ти си се "спасил" сам! Това с точка 8 от процедурата не ми стана ясно защо го правиш повторно. Може би е за в случай, че има промяна в данните - сървърът работи без да приема нови писма, а пък mariika си е прочела писмата, докато са се копирали на новия сървър. Второто, което ме изненадва е, че нямаш проблем с файловете mariika.seen и mariika.sub и версията на базата данни. Така или инъче - радвам се за успеха ти!
Титла: Миграция на postfix&cyrus imap Публикувано от: cartman в Sep 21, 2008, 22:18
В т.3 спирам и двата сървъра. Обаче преди това с работещ стар сървър бях копирал тези директории с тестови цели. И в случая вече имах данните, но отпреди една седмица. За да не губя време спрях сървърите, пуснах rsync за разликите и продължих по описания начин. Точка 8 я правя защото reconstruct открива директориите и писмата, но маркира всичко като непрочетено. Мисля, че проблем с версията на libdb няма защото пуснах reconstruct. Четох, че ако базите са една и съща версия може само да се копират директориите и всичко е ок без reconstruct. А seen и sub файловете са на cyrus, който пък е по-висока версия (както и postfix), спрямо старата машина и си ги чете. Поздрави! |