Re: Moving the Cyrus Mailstore

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

 



Another option is to get the physical partition created and setup and then
create a "cyrus partition" on that and migrate the users to it via the server
itself, as opposed to doing it physically.  The moves are transparent and
does not require you to down the server.

Here are a couple of suggestions:

 1) Let's say you create a /home/cyrus physical partition (filesystem).
    I suggest that you then create additional "cyrus partitions" within
    that, since dealing with a smaller set of users is better, and it
    allows you to possibly moves some of these "cyrus partitions" to a
    physical filesystem or disk at some point down the road if you find
    that is necessary.  It may be better for backups too, since you can
    seperate the backups into smaller jobs (one failure doesn't mean a
    failure for all of cyrus, but just a smaller subset of cyrus).

 2) So, let's say you choose 26 cyrus partitions.  They could be located
    as /home/cyrus/a through /home/cyrus/b.  You need to reflect these
    partitions in the /etc/imapd.conf file:

       # default directory
       defaultpartition: default
       partition-default: /var/spool/imap

       # the new partitions
       partition-a: /home/cyrus/a
       partition-b: /home/cyrus/b
       partition-c: /home/cyrus/c
       ....
       partition-z: /home/cyrus/z

    Note: The "partition-a" through "partition-z" is what actually gets
    stored in your mailboxes.db file.  You can change the physical location
    of the partition at any point by modifying your imapd.conf file.  As
    long as you don't change the name of the partition itself, you don't
    need to worry about the user account in mailboxes.db

 3) You need to make sure your imapd.conf file also allows you to rename
    user accounts... This is done with the following:

       allowusermoves: yes

    Now, the nice thing is that you can essentially rename a user from one
    partition (defaultpartition) to the new partition (partition-X).  The
    Cyrus server will take care of the rest automatically.

 4) You can use the cyradm command to rename the mailbox, as follows:

       renamemailbox user.adkinss user.adkinss partition-a

It is recommended that the users you are moving are not logged in at the time
their accounts are being moved.  The easiest way to determine that is to look
at the /var/imap/proc directory to see if their userid appears anywhere in
the list.  This would catch shared folders as well.  Doing the moves in small
subsets, such as by letters of the alphabet, allows you to move things only
in the middle of the night (when there is less usage), advertise to the
community that maintenance for that subet of users will occur, etc etc.

This is the method we used when we migrated from 4 partitions (default, staff,
faculty and students) to the 27 we have now (default, a-z).

Anyways, just throwing out another suggestion for you.

Oh, by the way, I believe you can add or make certain kinds of changes to the
imapd.conf file and then send a signal to the master server to reread the
config file.  This might be an option for getting the new partitions into the
configuration without having to down your IMAP server.  The UNIX side of the
work (creating a new filesystem) shoulnd't require any outages either, unless
you have to down the server to add a new physical disk or something.

Good luck!
Scott

--On Friday, October 20, 2006 11:30 AM -0600 "Wickham, Larry" <Larry.Wickham@xxxxxxxx> wrote:

Hi,

Our server is suffering from impending doom, while servicing 11,500 users.
Our mail store is in the default location under /var/spool/imap. The
partition that / (/var is under here in our setup) is mounted on is 25 GB
and I would like to move it to the partition where /home is mounted which
has 1+ TB available. We have considered several solutions. The chosen
solution would have minimal downtime and minimal chance of failure.

1) Repartitioning:
Down the server and boot from a rescue platform. Backup and Resize /home.
Create a new partition in the free space formerly occupied by /home. Copy
/var to the new partition. Rename the existing /var. Edit fstab and boot.

2) Swaping mount points:
Down the server and boot from a rescue platform. Move the contents of /home
to a folder on the smaller drive. Copy /var to the larger drive. Modify
fstab.

3) Migrating between mail stores
Create a new mail store under /home and migrate the mail boxes? Not sure how
or if we can do this.

Please let me know your opinion on these solutions and any new suggestions
are welcome and appreciated.


Larry Wickham
larry.wickham@xxxxxxxx
Systems Operations Specialist
Eastern New Mexico University
1500 S. Ave K
Portales, NM 88130


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



--
+-----------------------------------------------------------------------+
     Scott W. Adkins                http://www.cns.ohiou.edu/~sadkins/
  UNIX Systems Engineer                  mailto:adkinss@xxxxxxxx
       ICQ 7626282                 Work (740)593-9478 Fax (740)593-1944
+-----------------------------------------------------------------------+
    PGP Public Key available at http://www.cns.ohiou.edu/~sadkins/pgp/

Attachment: pgpWNNmP0Jx92.pgp
Description: PGP signature

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