Can I restore from ctl_deliver -d?
Ian G Batten
ian.batten at uk.fujitsu.com
Thu Oct 11 03:37:29 EDT 2007
I'm performing a migration from 2.2.8 on an E450 running Solaris 10
Beta Build 58 to 2.3.9 on a T2000 running Solaris 10 latest. The
former isn't zoned (it wasn't available in that build), isn't smf'd
(ditto) and isn't ZFS'd (ditto).
The new machine has Cyrus in a zone, rooted on ZFS, with the local
storage also on ZFS.
The mailboxes themselves (35K mailboxes, a couple of terabytes) are
on NFS storage (some on Sun, mostly on a Pillar), so I'm testing the
new configuration by performing a metadata migration from read-only
mounts. I've written a script to perform the migration in an rsync
style, paralleled over the T2000, which is able to sync the metadata
between the live storage and the new metadata partition in 35 seconds.
Just to ensure the best health and hygiene, I'm rebuilding as many
databases as I can. The mailboxes file is the result of ctl_mboxlist
-d | ctl_mboxlist -u, the sasldb is the result of db_dump -p and
db_load, etc, etc.
However, the one that seems resistant to this is deliver.db (skiplist
format). cvt_cyrusdb ... skiplist ... flat takes five hours before
failing, and although ctl_deliver -d appears to run quickly and
correctly, I can't see an immediately obvious way to reload it.
Obviously, this isn't a big problem: I can just shut down the old
Cyrus instance, copy the file over, and all is well. But having
databases de-fragmented, built with the same bits that are in
production, is a nice confidence booster if it's possible.
ian
More information about the Info-cyrus
mailing list