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