Re: DB4 downgrade

From: Cheng-Jih Chen (no email)
Date: Mon Dec 11 2006 - 06:16:50 EST

  • Next message: Simon Matter: "Re: DB4 downgrade"

    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 at 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
    

  • Next message: Simon Matter: "Re: DB4 downgrade"





    Hosted Email Solutions

    Invaluement Anti-Spam DNSBLs



    Powered By FreeBSD   Powered By FreeBSD