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

Re: Backup from huge Maildirs



Am 2007-09-05 08:38:00, schrieb Craig Sanders:
> not every filesystem has abysmal performance when you have many
> thousands of files in one directory. ext2 and ext3 perform quite badly
> in this situation.

Here it works very nice, even in a GBit Network and using a 3W8500
in Raid-1 wih Western Digital Raptor WD1500GD

> two file systems that perform well are reiserfs and XFS.

ReiserFS had trashed my whole Maildir-Partition!
It was the hell to restore over 7 million messages from Backups...

and for xfs, - It was never working as I liked so I stood with ext3

> i've used reiserfs in the past, but ended up having too many problems
> with it (although it has improved since then). in short, i don't trust
> it and see no compelling reason to try it again since XFS does what i
> want.

It is not realy funny to have 60% of 7 million Maildir messages
reduced to 0 Bytes

> i use XFS as my "standard" fs these days. it's a good solid fs, with
> many years of real-world usage and testing on SGI boxes even before it
> was GPL-ed and ported to linux several years ago. highly reliable, and
> fast. performs well for both extremely large files (e.g. video editing)
> and many small files.

But on the SGI's it is running much more stable as on linux...

> i have no idea how either would perform with millions of files in the
> one directory, but i know they both perform well with many thousands
> (e.g. Maildir and news spools).

Not one directory...
It is

~/Maildir/
~/Maildir/.foder1/
~/Maildir/.foder2/
~/Maildir/.foder3/
~/Maildir/.foder4/
~/Maildir/.level1.foder5/
~/Maildir/.level1.foder6/
~/Maildir/.level1.foder7/
~/Maildir/.level1.foder8/
~/Maildir/.level1.level2.foder9/
~/Maildir/.level1.level2.foder10/
~/Maildir/.level1.level2.foder11/
~/Maildir/.level1.level2.foder12/

so the biggest singelfoder is arround 20.000 messages  (But for this I
must go two month into hollyday and forget to look into the LKM folder...)

> to the OP: are they really all in the one directory, or are they in
> multiple subdirectories/folders beneath that dir?

Currently I am running a script on each $HOME which backup each Maildir-
Subdirectory since a 

    tar -cjf /BACKUP/${USER}.tar.bz2 ${USER}/Maildir

will be the hell...  specialy for MY ~/Maildir which contain 7.4 mio msgs.

> try an experiment.  create three filesystems (you could temporarily re-use
> your swap partition if you don't have any spare partitions on your system),
> formatted as ext2/ext3, reiserfs, and xfs.  time the creation, listing, and
> deletion of, say, 10000 small files in a directory on each fs.

Ehm, the ${HOME} directories are stored on /dev/sdc5 while the Maildirs
are all on /dev/sdb5 and symlinked into the ${HOME}.  So I have already
seperated the load on the Drives, where /dev/sdc is a Raid-5 and /dev/sdb
a Raid-1

/dev/sda is a Raid-1 too and hold a rescue system plus two production
systems and a parttion for the PostgreSQL (I use libnss-pgsql and
libpam-pgsql instead of LDAP)

> ext2/ext3 will be horribly slow. reisers and XFS will both be fast, with
> reiserfs probably being slightly faster than XFS (unless you forget to
> disable the default 'file tails' option of reiserfs, which will save
> space but slow it down).
> 
> so, switching to a better fs will solve part of the problem....but if
> you're rsyncing ~60 user directories, each with over a million files
> in them then that's going to take time. rsync builds up a list of
> changed/added/deleted files before copying anything, which means it
> needs to stat all of the files on both systems.

Since I am using Maildir, and curently using my Selv-Hacked script which
backup Mailfolder after Mailfolder I like to see a more professionell
solution doing this.

And ofcourse, it has the avantage, if the ${LOOSER} has trasched ONE
Mailfoder I need to look only into this partial Mailfolder and not the
WHOLE ${USER}_Maildir_${DATE}.tar.bz2 which would be in MY case 30 GByte
uncompressed of 8 GByte bzip2 compressed

Not realy funny...

> you may be better off modifying user behaviour, perhaps by having two
> mail systems - the current system and an archive system for old mail,
> and backup the archive system to tape using amanda (e.g. with a schedule
> of weekly full and daily incremental backups). "current" mail (e.g. less
> than a month old) can be access instantly as normal. older mail would
> require accessing the archive system.

We have already something like

~/Maildir/.ML_debian.isp
                     isp.2007-01
                     isp.2007-02
                     isp.2007-03
                     isp.2007-04

Which then rarely change, but the Backup-Tool need to check those folders

To get a clue what I am backing up:

---[ command 'ls /BACKUP/michelle.konzack_Maildir.*.tar.bz2 |wc -l' ]---
7816
------------------------------------------------------------------------

---[ command 'ls /BACKUP/michelle.konzack_Maildir.*.tar.bz2' ]----------
.BTS_debian.9.9menu.tar.bz2
.BTS_debian.a.a2ps-perl-ja.tar.bz2
.BTS_debian.a.a2ps.tar.bz2
.BTS_debian.a.a52dec.tar.bz2
.BTS_debian.a.aalib.tar.bz2
<snip>
.BTS_debian.a.amanda.tar.bz2
<snip>
.BTS_debian.f.f-prot-installer.tar.bz2
<snip>
.BTS_debian.f.fvwm-icons.tar.bz2
.BTS_debian.f.fvwm.tar.bz2
<snip>
.BTS_debian.p.postgresql-7_4.tar.bz2
.BTS_debian.p.postgresql-8_0.tar.bz2
.BTS_debian.p.postgresql-8_1.tar.bz2
.BTS_debian.p.postgresql-8_2.tar.bz2
.BTS_debian.p.postgresql-common.tar.bz2
.BTS_debian.p.postgresql-filedump-8_1.tar.bz2
.BTS_debian.p.postgresql.tar.bz2
<snip>
.Business.3Com.tar.bz2
.Business.3Ware.tar.bz2
.Business.Adaptec.tar.bz2
.Business.Alias.tar.bz2
.Business.American_Megatrends.tar.bz2
.Business.Andeli_Group_Co_Ltd.tar.bz2
.Business.APC.tar.bz2
.Business.APRA.tar.bz2
.Business.Autodesk.tar.bz2
.Business.Bayt.tar.bz2
.Business.Bebensee.tar.bz2
.Business.Cisco.tar.bz2
.Business.Compex.tar.bz2
.Business.Concord-Remarketing.tar.bz2
.Business.CTCU.tar.bz2
.Business.Cyclades.tar.bz2
.Business.Datu.tar.bz2
.Business.Digium.tar.bz2
.Business.Evertek.tar.bz2
.Business.Firstgate.tar.bz2
.Business.Francetelecom.tar.bz2
.Business.Free_fr.tar.bz2
.Business.Freenet.tar.bz2
.Business.GetACoder.tar.bz2
.Business.Globalsat.tar.bz2
.Business.GlobalSources.tar.bz2
.Business.Google_AdSense.tar.bz2
.Business.Hewlett_Packard.tar.bz2
.Business.Highpoint_Tech.tar.bz2
.Business.In_Tang.tar.bz2
.Business.ITM-Group.tar.bz2
.Business.LDLC.tar.bz2
.Business.LSI_Logic.tar.bz2
.Business.Lucent.tar.bz2
.Business.Mapower_Electronics_Co_Ltd.tar.bz2
.Business.Maxim.tar.bz2
.Business.Nerim_fr.tar.bz2
.Business.Netgear.tar.bz2
.Business.NXP_Semiconductor.tar.bz2
.Business.OReilly.tar.bz2
.Business.osCommerce.tar.bz2
.Business.PayPal.tar.bz2
.Business.Philips.tar.bz2
.Business.Proxim.tar.bz2
.Business.Racksurf.tar.bz2
.Business.RAD_Data_Communication.tar.bz2
.Business.RECOM.tar.bz2
.Business.Sangoma.tar.bz2
.Business.SEiCOM.tar.bz2
.Business.Serenity_Systems.tar.bz2
.Business.Siemens.tar.bz2
.Business.SUN_Microsystems.tar.bz2
.Business.tar.bz2
.Business.Transmeta.tar.bz2
.Business.UNDP_APDIP.tar.bz2
.Business.UTStarcom.tar.bz2
.Business.VMware.tar.bz2
.Business.Wanadoo.tar.bz2
.Business.Zoneedit.tar.bz2
.Business.ZyXEL.tar.bz2
<snip>
.Linux.ADMIN.tar.bz2
.Linux.Arm.tar.bz2
.Linux.AS400.tar.bz2
.Linux.Astronomie_NASA.tar.bz2
.Linux.Backbones.tar.bz2
.Linux.counter_li_org.tar.bz2
.Linux.DDTP.tar.bz2
.Linux.Debian.Archive.tar.bz2
.Linux.Debian.Installation.tar.bz2
.Linux.Debian.Maintainer.tar.bz2
.Linux.Debian.Mentors.tar.bz2
.Linux.Debian.Packing.tar.bz2
.Linux.Debian.tar.bz2
.Linux.Develtools.tar.bz2
.Linux.Embedded_Debian.tar.bz2
.Linux.Encodings.tar.bz2
.Linux.Flash_Disk.tar.bz2
.Linux.Fonts.tar.bz2
.Linux.FTP_stuff.tar.bz2
.Linux.Fun.tar.bz2
.Linux.GSM_GPRS_EDGE_UMTS.tar.bz2
.Linux.Hardware.19inch_Racks.tar.bz2
.Linux.Hardware.AS400.tar.bz2
.Linux.Hardware.Debian_sparc.tar.bz2
.Linux.Hardware.Embedded.tar.bz2
.Linux.Hardware.Gigabyte_I-Ram.tar.bz2
.Linux.Hardware.HP_NX6110.tar.bz2
.Linux.Hardware.IBM_R40.tar.bz2
.Linux.Hardware.IBM_TP570.tar.bz2
.Linux.Hardware.Laptop.tar.bz2
.Linux.Hardware_Raid.tar.bz2
.Linux.Hardware.SAS_-_Serial_Attached_Storage.tar.bz2
.Linux.Hardware.Selfmade.tar.bz2
.Linux.Hardware.Siemens_S40.tar.bz2
.Linux.Hardware.Sun.tar.bz2
.Linux.Hardware.tar.bz2
.Linux.Hardware.USB.tar.bz2
.Linux.Internet_Satelit.tar.bz2
.Linux.ISP_intl.tar.bz2
.Linux.ISP_TollFree.tar.bz2
.Linux.Jobs.tar.bz2
.Linux.LCD_Panels.tar.bz2
.Linux.Legal.tar.bz2
.Linux.Licences.tar.bz2
.Linux.Linux-CD.tar.bz2
<snip>
.Linux.LPIC_Linux_Certification.tar.bz2
.Linux.LPI.tar.bz2
.Linux.mentors_debian_net.tar.bz2
.Linux.Packages.bc.tar.bz2
.Linux.Packages.cdrtools.tar.bz2
.Linux.Packages.coreutils.tar.bz2
.Linux.Packages.courier-imap.tar.bz2
.Linux.Packages.cuon.tar.bz2
.Linux.Packages.debian-reference.tar.bz2
.Linux.Packages.fetchmail.tar.bz2
.Linux.Packages.fvwm.tar.bz2
.Linux.Packages.gettext.tar.bz2
.Linux.Packages.libgphoto2.tar.bz2
.Linux.Packages.libnss-pgsql.tar.bz2
.Linux.Packages.lilo.tar.bz2
.Linux.Packages.manpages.tar.bz2
.Linux.Packages.mc.tar.bz2
.Linux.Packages.menu.tar.bz2
.Linux.Packages.multixterm.tar.bz2
.Linux.Packages.mutt.tar.bz2
.Linux.Packages.netpbm.tar.bz2
.Linux.Packages.openssh.tar.bz2
.Linux.Packages.Orphaned.tar.bz2
.Linux.Packages.pbuilder.tar.bz2
.Linux.Packages.php.tar.bz2
.Linux.Packages.postgresql.tar.bz2
.Linux.Packages.procmail.tar.bz2
.Linux.Packages.sed.tar.bz2
.Linux.Packages.smstools.tar.bz2
.Linux.Packages.swhoisd.tar.bz2
.Linux.Packages.tar.bz2
.Linux.Packages.tdapp-defaults.tar.bz2
.Linux.Packages.tdcheckserver.tar.bz2
.Linux.Packages.tdcrontab.tar.bz2
.Linux.Packages.tddebidate.tar.bz2
.Linux.Packages.tddevel.tar.bz2
.Linux.Packages.tdfvwm-menu.tar.bz2
.Linux.Packages.tdicons.tar.bz2
.Linux.Packages.tdlinuxcounter.tar.bz2
.Linux.Packages.uclibc.tar.bz2
.Linux.Packages.uw-imap.tar.bz2
.Linux.Packages.xbase-clients.tar.bz2
.Linux.Packages.xbmbrowser.tar.bz2
.Linux.Packages.xdialog.tar.bz2
.Linux.Packages.xmem.tar.bz2
.Linux.Packages.xmms-skin-debian-4_0-etch.tar.bz2
.Linux.Packages.xterm.tar.bz2
.Linux.PCMCIA.tar.bz2
.Linux.Programming.autoconf_automake.tar.bz2
.Linux.Programming.GTK.tar.bz2
.Linux.Programming.IMAP.tar.bz2
.Linux.Programming.libs.tar.bz2
.Linux.Programming.pthreads.tar.bz2
.Linux.Programming.tar.bz2
.Linux.Programming.X.tar.bz2
<snip>
.ML_arabeyes.ADMIN.tar.bz2
.ML_arabeyes.announce.tar.bz2
.ML_arabeyes.developer.tar.bz2
.ML_arabeyes.doc.tar.bz2
.ML_arabeyes.forum.tar.bz2
.ML_arabeyes.general.tar.bz2
.ML_arabeyes.tar.bz2
<snip>
.ML_debian.ADMIN.tar.bz2
.ML_debian.alpha.2007-07.tar.bz2
.ML_debian.alpha.tar.bz2
.ML_debian.amd64.2007-07.tar.bz2
.ML_debian.amd64.tar.bz2
.ML_debian.announce.tar.bz2
.ML_debian.arm.2007-07.tar.bz2
.ML_debian.arm.tar.bz2
<snip>
.ML_debian.consultants.2007-07.tar.bz2
.ML_debian.consultants.tar.bz2
<snip>
.ML_debian.embedded.2007-07.tar.bz2
.ML_debian.embedded.tar.bz2
.ML_debian.isp.2007-07.tar.bz2
.ML_debian.isp.tar.bz2
.ML_debian.jobs.2007-07.tar.bz2
.ML_debian.jobs.tar.bz2
.ML_debian.user-german.2007-04.tar.bz2
.ML_debian.user-german.2007-05.tar.bz2
.ML_debian.user-german.2007-06.tar.bz2
.ML_debian.user-german.2007-07.tar.bz2
.ML_debian.user-german.tar.bz2
.ML_debian.women.2007-07.tar.bz2
.ML_debian.women.tar.bz2
<snip>
.ML_devel.ADMIN.tar.bz2
.ML_devel.alleg-main@lists_sourceforge_net.tar.bz2
.ML_devel.djgpp@delorie_com.tar.bz2
.ML_devel.fribidi@lists_freedesktop_org.tar.bz2
.ML_devel.gtk-app-devel-list@gnome_org.tar.bz2
.ML_devel.gtk-list@gnome_org.tar.bz2
.ML_devel.programming-pthreads-list@humanfactor_com.tar.bz2
.ML_devel.rhide-users@lists_sourceforge_net.tar.bz2
.ML_devel.tar.bz2
.ML_devel.watt-32@yahoogroups_com.tar.bz2
.ML_ffii.ADMIN.tar.bz2
.ML_ffii.de-news.tar.bz2
.ML_ffii.de-parl.tar.bz2
.ML_ffii.fr-news.tar.bz2
.ML_ffii.fr-parl.tar.bz2
.ML_ffii.tar.bz2
.ML_linux.ADMIN.tar.bz2
.ML_linux.tar.bz2
<snip>
.ML_lugs.ADMIN.tar.bz2
.ML_lugs.lugog@lists_fh-offenburg_de.2007-01.tar.bz2
.ML_lugs.lugog@lists_fh-offenburg_de.2007-02.tar.bz2
.ML_lugs.lugog@lists_fh-offenburg_de.2007-03.tar.bz2
.ML_lugs.lugog@lists_fh-offenburg_de.2007-04.tar.bz2
.ML_lugs.lugog@lists_fh-offenburg_de.2007-05.tar.bz2
.ML_lugs.lugog@lists_fh-offenburg_de.tar.bz2
<snip>
.ML_mail.ADMIN.tar.bz2
.ML_mail.courier-users@lists_sourceforge_net.2007-04.tar.bz2
.ML_mail.courier-users@lists_sourceforge_net.2007-05.tar.bz2
.ML_mail.courier-users@lists_sourceforge_net.2007-06.tar.bz2
.ML_mail.courier-users@lists_sourceforge_net.2007-07.tar.bz2
.ML_mail.courier-users@lists_sourceforge_net.tar.bz2
.ML_mail.exim-users@exim_org.tar.bz2
.ML_mail.fetchmail-users@lists_berlios_de.tar.bz2
.ML_mail.mutt-users@mutt_org.tar.bz2
.ML_mail.procmail@lists_rwth-aachen_de.tar.bz2
.ML_mail.tar.bz2
.ML_mail.users@spamassassin_apache_org.tar.bz2
<snip>
.ML_pgsql.admin.tar.bz2
.ML_pgsql.ADMIN.tar.bz2
.ML_pgsql.announce.tar.bz2
.ML_pgsql.docs.tar.bz2
.ML_pgsql.general.tar.bz2
.ML_pgsql.novice.tar.bz2
.ML_pgsql.odbc.tar.bz2
.ML_pgsql.php.tar.bz2
.ML_pgsql.tar.bz2
.ML_php.ADMIN.tar.bz2
.ML_php.announce.tar.bz2
.ML_php.db.tar.bz2
.ML_php.evangelism.tar.bz2
.ML_php.general.tar.bz2
.ML_php.gtk-dev.tar.bz2
.ML_php.gtk-general.tar.bz2
.ML_php.help-subscriber@phpclasses_org.tar.bz2
.ML_php.tar.bz2
.ML_xwindow.ADMIN.tar.bz2
.ML_xwindow.fvwm@fvwm_org.2007-01.tar.bz2
.ML_xwindow.fvwm@fvwm_org.2007-02.tar.bz2
.ML_xwindow.fvwm@fvwm_org.2007-03.tar.bz2
.ML_xwindow.fvwm@fvwm_org.2007-04.tar.bz2
.ML_xwindow.fvwm@fvwm_org.2007-05.tar.bz2
.ML_xwindow.fvwm@fvwm_org.2007-06.tar.bz2
.ML_xwindow.fvwm@fvwm_org.2007-07.tar.bz2
.ML_xwindow.fvwm@fvwm_org.tar.bz2
.ML_xwindow.fvwm-workers@fvwm_org.tar.bz2
.ML_xwindow.tar.bz2
.ML_xwindow.xorg@lists_freedesktop_org.tar.bz2
.Peoples.Bill_Allombert.tar.bz2
.Peoples.Dave_Cinege.tar.bz2
.Peoples.Ihsan_Dogan.tar.bz2
.Peoples.Jochen_Bettgens-G&AOQ-ng.tar.bz2
.Peoples.Klaus_Becker.tar.bz2
.Peoples.Mohamed_Kebdani.tar.bz2
.Peoples.Mohammed_Sameer.tar.bz2
.Peoples.Oliver_Bandel.tar.bz2
.Peoples.Ossama_Khayat.tar.bz2
.Peoples.Peer_Janssen.tar.bz2
.Private.ADMIN.tar.bz2
.Private.ANRT_net_ma.tar.bz2
.Private.Arbeitsagentur.tar.bz2
.Private.Archive_org.tar.bz2
.Private.Astronomie_ESO.tar.bz2
.Private.ASTTU.tar.bz2
.Private.Bio_Fuel.tar.bz2
.Private.Electronic.tar.bz2
.Private.eQuran.tar.bz2
.Private.erdisi.tar.bz2
.Private.etree_org.tar.bz2
.Private.grrltalk.tar.bz2
.Private.Heise.tar.bz2
.Private.i_hate_outlook.tar.bz2
.Private.Iran.tar.bz2
.Private.ISP.tar.bz2
.Private.Jobs.tar.bz2
.Private.Kriminalpolizei.tar.bz2
.Private.Mahnungen.tar.bz2
.Private.Sysmessages.tar.bz2
.Private.tar.bz2
.Private.Travail.tar.bz2
.SERVER.debian_www.tar.bz2
.SERVER.mail.tar.bz2
.SERVER.cybercenter_www.tar.bz2
.SERVER.private_access.tar.bz2
.SERVER.private_devel.tar.bz2
.SERVER.private_michelle1.tar.bz2
.SERVER.private_mobilix.tar.bz2
.SERVER.private_pgsql.tar.bz2
.SERVER.private_samba1.tar.bz2
.SERVER.private_samba2.tar.bz2
.SERVER.private_samba3.tar.bz2
.SERVER.private_samba.tar.bz2
.SERVER.private_syslog.tar.bz2
.SERVER.private_t1950ct.tar.bz2
.SERVER.private_tp570.tar.bz2
.SERVER.private_tp760ed.tar.bz2
.SERVER.private_tpr40.tar.bz2
.SERVER.private_tpt72.tar.bz2
.SERVER.private_tpr61i.tar.bz2
.SERVER.router.tar.bz2
.SERVER.www.tar.bz2
------------------------------------------------------------------------

This bunch of nearly 8000 Folders can be handled in arround 1 hour...
Now adding the other ~60 USERS will reuire additionaly 5-7 hours...

Where the above FULL-Backup was simply made with a script...

Thanks, Greetings and nice Day
    Michelle Konzack
    Systemadministrator
    Tamay Dogan Network
    Debian GNU/Linux Consultant


-- 
Linux-User #280138 with the Linux Counter, http://counter.li.org/
##################### Debian GNU/Linux Consultant #####################
Michelle Konzack   Apt. 917                  ICQ #328449886
                   50, rue de Soultz         MSN LinuxMichi
0033/6/61925193    67100 Strasbourg/France   IRC #Debian (irc.icq.com)

Attachment: signature.pgp
Description: Digital signature


Reply to: