'batch move' of a few thousand mailboxes to different partitions

Eric Luyten Eric.Luyten at vub.ac.be
Tue Aug 21 09:40:52 EDT 2007

> On Wed, 18 Apr 2007, Eric Luyten wrote:
> > Cyrus 2.2.13 on a Solaris 9 server
> > 4 Cyrus spool partitions, 350 GB each, nearing 80% occupation
> > (Hashing performed on first letter basis of account name)
> >
> > I have two extra 350 GB partitions ready and 'partition' lines
> > already added to /etc/imapd.conf
> >
> >
> > To spread out the mail data over six partitions I would need
> > to move about 350 GB of mail.
> >
> > Two scenarios :
> >
> >  a) use rename_mailbox in cyradm
> >  b) use 'cp -p -r', update a text dump of mailboxes.db and regenerate
[Andrew Morgan]
> I would use method "a".  You can easily do the moves in batch using a perl 
> script.  Here is a simple perl function we use to move users between 
> murder backends:


I just wanted to report to the list that I had a thorough look at your code
and the code offered by another info-cyrus participant ; I then used the 
combined knowledge to modify imapcreate.pl (by Garry Mills and Clement Nodens) 
to suit our needs. We already used the latter on our system and feel entirely 
comfortable with it, so...

On 25, 26 and 27 July about 675 GB (this is NO typo) of Cyrus data and meta-
data were moved to fresh partitions.

We now operate a server with 4 x 350 GB and 4 x 420 GB of Cyrus spool.
There are just under 45.000 users, 22 million messages on the server.
This is Solaris 9 on an eight-processor SunFire V1280 ; 
   CPU load average varies between 1 and 2. 
(September will bring more students and more load.)

Yeah, we really ought to move to a cluster setup. That's a 2008 project.

Eric Luyten, Computing Centre VUB/ULB.

More information about the Info-cyrus mailing list