On Sat, 10 Mar 2012 22:09:26 +0700
Pandu Poluan <pa...@poluan.info> wrote:

> On Mar 10, 2012 8:33 PM, "Alex Schuster" <wo...@wonkology.org> wrote:
> >
> > Hi there!
> >
> > Is there an advantage in putting the portage tree on an extra
> > partition?
> >
> > Currently, I'm using reiserfs, because I read that it is efficient
> > when using many small files. On the other hand I also heard that it
> > tends to get slower with every emerge --sync.
> >
> > Space is no longer an argument in these days, at least for my
> > desktop machine. But I would like to optimize for speed -- emerge
> > -DputnVj @world takes quite a while to calculate, I assume this is
> > because so many ebuild files have to be accessed.
> >
> > Any tips on this? Does it make sense to use a special file system
> > just for the portage tree? What would be best? Would it help to
> > re-create this file system from time to time in case it gets slower
> > with every sync? Or wouldn't I notice a difference if I just used a
> > big ext4 partition for all portage related stuff?
> >
> > Anyone using a compressed RAM file system for that? :)
> >
> 
> This had been my burning question when I was deploying the company's
> production server, and forced me to do some research:
> 
> * reiserfs is amazingly fast for reads, but suffers on simultaneous
> writes
> * reiserfs does not have inode limits
> * reiserfs' notail affects performance greatly depending on the
> nature of the system: I/O-bound (use notail) or CPU-bound (don't use
> notail)
> * reiserfs, if mounted without notail, is very space-efficient
> 
> So, I end up with the following mix:
> 
> * ext2 for /boot
> * reiserfs for /usr/portage and /var/tmp (RAM is at premium; can't use
> tmpfs)
> * ext4 for everything else
> 
> This cocktail has been serving me well. I don't need advanced
> filesystems like ZFS, XFS, or btrfs, because my servers are
> virtualized, and the advanced features (e.g., snapshot) is handled by
> the underlying hypervisor (XenServer) and SAN Storage (we use NetApp).
> 
> Rgds,

That's very close to what I do (though not for the same
extensively-researched reasons :).  I added an extra bit of twiddling
in make.conf:

DISTDIR="/usr/local/distfiles"  # On /.
PKGDIR="/usr/local/packages"  # On /.
PORTDIR="/mnt/portage/gentoo"  # /mnt/portage is reiserfs and has /layman too

This way the requirements for the portage partition grow much more
gradually (changed that due to overflow once), and on the random
chance that reiserfs gets corrupted, I don't lose all my
fetch-restricted distfiles.

- Bryan

Reply via email to