On Sat, 10 Mar 2012 22:09:26 +0700
Pandu Poluan <pandu@poluan.info> wrote:
> On Mar 10, 2012 8:33 PM, "Alex Schuster" <wonko@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