Re: DB4 downgrade

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Simon Matter wrote:
>>
>> Simon Matter wrote:
>>>> Because of the sudden end-of-life of Fedora Core 4, I'm moving my mail
>>>> server from FC4 to a CentOS 4.4 box.
>>>>
>>>> FC4 uses DB4 4.3.27.
>>>>
>>>> CentOS 4.4 uses DB4 4.2.52.
>>>>
>>>> What's the best way for me to downgrade the Cyrus DBs for this
>>>> migration?
>>> Convert all BerkeleyDBs on the FC4 box to skiplist and then migrate to
>>> the
>>> new server/installation. Skiplist doesn't change from version to version
>>> so you don't have that problem anymore.
>> Sounds good.  It's sufficient just to use the "file" command to see
>> which of the db files are already skiplist and which are Berkeley DB?
>
> Yes, that should be okay. For me it looks like this:
> [root@xxx imap]# file /var/lib/imap/*.db
> /var/lib/imap/annotations.db:  Cyrus skiplist DB
> /var/lib/imap/deliver.db:      Cyrus skiplist DB
> /var/lib/imap/mailboxes.db:    Cyrus skiplist DB
> /var/lib/imap/tls_sessions.db: Cyrus skiplist DB
>
> One more tip: You may want to remove all data from the db dirs because
> there may still be some files from the BerkeleyDB and they can lead to
> error messages, which are in fact not real cyrus errors. On such a
> migratin I usually do this after rsyncing:
> rm -rvf /var/lib/imap/db/* /var/lib/imap/db.*

I finally got a window of scheduled downtime to test this, and I'm having problems. Here's what I did:

# /etc/init.d/cyrus-imapd stop
# db_checkpoint -v -1 -h /var/lib/imap/db
# db_recover -v -h /var/lib/imap/db
# rm db/*
# /usr/lib/cyrus-imapd/cvt_cyrusdb /var/lib/imap/deliver.db berkeley /var/lib/imap/deliver.db.skip skiplist # /usr/lib/cyrus-imapd/cvt_cyrusdb /var/lib/imap/tls_sessions.db berkeley /var/lib/imap/tls_sessions.db.skip skiplist
# mv deliver.db.skip deliver.db ; mv tls_sessions.db.skip tls_sessions.db
# chown cyrus:mail tls_sessions.db deliver.db
# /etc/init.d/cyrus-imapd start

At this point, the log explodes with messages along the lines of:

Dec 11 06:11:53 ajax imaps[1394]: DBERROR: critical database situation
Dec 11 06:11:53 ajax master[32203]: service imaps pid 1394 in READY state: terminated abnormally Dec 11 06:11:53 ajax master[32203]: service lmtpunix pid 1397 in READY state: terminated abnormally
Dec 11 06:11:53 ajax imap[1395]: DBERROR A
                                         : db4
Dec 11 06:11:53 ajax imap[1395]: DBERROR: critical database situation
Dec 11 06:11:53 ajax master[32203]: service imap pid 1395 in READY state: terminated abnormally
Dec 11 06:11:53 ajax imap[1399]: DBERROR A
                                         : db4
Dec 11 06:11:53 ajax imap[1399]: DBERROR: critical database situation
Dec 11 06:11:53 ajax imaps[1400]: DBERROR A
                                          : db4
Dec 11 06:11:53 ajax imaps[1400]: DBERROR: critical database situation

Any ideas on why this is going on?

I did notice that /var/lib/imap/rpm/db.cfg.cache has entries along the lines of:

CONFIG_DB_DUPLICATE=berkeley
CONFIG_DB_MBOX=skiplist
CONFIG_DB_SEEN=skiplist
CONFIG_DB_SUBS=flat
CONFIG_DB_TLS=berkeley
CONFIG_DB_ANNOTATION=skiplist
CONFIG_DB_SIEVE=2.2.3

Is there someplace I need to tell imapd that deliver and tls_sessions are now skiplist? I don't see anything in /etc/imapd.conf and /etc/cyrus.conf.

Thanks.

----
Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

[Index of Archives]     [Cyrus SASL]     [Squirrel Mail]     [Asterisk PBX]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux