Gentoo Archives: gentoo-user

From: Bryan Gardiner <bog@××××××.net>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Best file system for portage tree?
Date: Sat, 10 Mar 2012 17:23:21
Message-Id: 20120310092031.01a02da5@khumba.net
In Reply to: Re: [gentoo-user] Best file system for portage tree? by Pandu Poluan
1 On Sat, 10 Mar 2012 22:09:26 +0700
2 Pandu Poluan <pandu@××××××.info> wrote:
3
4 > On Mar 10, 2012 8:33 PM, "Alex Schuster" <wonko@×××××××××.org> wrote:
5 > >
6 > > Hi there!
7 > >
8 > > Is there an advantage in putting the portage tree on an extra
9 > > partition?
10 > >
11 > > Currently, I'm using reiserfs, because I read that it is efficient
12 > > when using many small files. On the other hand I also heard that it
13 > > tends to get slower with every emerge --sync.
14 > >
15 > > Space is no longer an argument in these days, at least for my
16 > > desktop machine. But I would like to optimize for speed -- emerge
17 > > -DputnVj @world takes quite a while to calculate, I assume this is
18 > > because so many ebuild files have to be accessed.
19 > >
20 > > Any tips on this? Does it make sense to use a special file system
21 > > just for the portage tree? What would be best? Would it help to
22 > > re-create this file system from time to time in case it gets slower
23 > > with every sync? Or wouldn't I notice a difference if I just used a
24 > > big ext4 partition for all portage related stuff?
25 > >
26 > > Anyone using a compressed RAM file system for that? :)
27 > >
28 >
29 > This had been my burning question when I was deploying the company's
30 > production server, and forced me to do some research:
31 >
32 > * reiserfs is amazingly fast for reads, but suffers on simultaneous
33 > writes
34 > * reiserfs does not have inode limits
35 > * reiserfs' notail affects performance greatly depending on the
36 > nature of the system: I/O-bound (use notail) or CPU-bound (don't use
37 > notail)
38 > * reiserfs, if mounted without notail, is very space-efficient
39 >
40 > So, I end up with the following mix:
41 >
42 > * ext2 for /boot
43 > * reiserfs for /usr/portage and /var/tmp (RAM is at premium; can't use
44 > tmpfs)
45 > * ext4 for everything else
46 >
47 > This cocktail has been serving me well. I don't need advanced
48 > filesystems like ZFS, XFS, or btrfs, because my servers are
49 > virtualized, and the advanced features (e.g., snapshot) is handled by
50 > the underlying hypervisor (XenServer) and SAN Storage (we use NetApp).
51 >
52 > Rgds,
53
54 That's very close to what I do (though not for the same
55 extensively-researched reasons :). I added an extra bit of twiddling
56 in make.conf:
57
58 DISTDIR="/usr/local/distfiles" # On /.
59 PKGDIR="/usr/local/packages" # On /.
60 PORTDIR="/mnt/portage/gentoo" # /mnt/portage is reiserfs and has /layman too
61
62 This way the requirements for the portage partition grow much more
63 gradually (changed that due to overflow once), and on the random
64 chance that reiserfs gets corrupted, I don't lose all my
65 fetch-restricted distfiles.
66
67 - Bryan