| 1 |
<?xml version='1.0' encoding="UTF-8"?>
|
| 2 |
<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-install-filesystems.xml,v 1.10 2012/04/22 10:59:41 swift Exp $ -->
|
| 3 |
<!DOCTYPE included SYSTEM "/dtd/guide.dtd">
|
| 4 |
|
| 5 |
<included>
|
| 6 |
|
| 7 |
<version>9</version>
|
| 8 |
<date>2012-04-22</date>
|
| 9 |
|
| 10 |
<section id="filesystemsdesc">
|
| 11 |
<title>Filesystems</title>
|
| 12 |
<body>
|
| 13 |
|
| 14 |
<p test="contains('x86 Alpha',func:keyval('arch'))">
|
| 15 |
The Linux kernel supports various filesystems. We'll explain ext2, ext3, ext4,
|
| 16 |
ReiserFS, XFS and JFS as these are the most commonly used filesystems on Linux
|
| 17 |
systems.
|
| 18 |
</p>
|
| 19 |
|
| 20 |
<p test="func:keyval('arch')='IA64'">
|
| 21 |
The Linux kernel supports various filesystems. We'll explain vfat, ext2, ext3,
|
| 22 |
ext4, ReiserFS, XFS and JFS as these are the most commonly used filesystems on
|
| 23 |
Linux systems.
|
| 24 |
</p>
|
| 25 |
|
| 26 |
<p test="func:keyval('arch')='AMD64'">
|
| 27 |
Several filesystems are available. Some of them are found stable on the amd64
|
| 28 |
architecture, others aren't. The following filesystems are found to be stable:
|
| 29 |
ext2, ext3, ext4 and XFS. JFS and ReiserFS may work but need more testing. If
|
| 30 |
you're really adventurous you can try the other filesystems.
|
| 31 |
</p>
|
| 32 |
|
| 33 |
<p test="func:keyval('arch')='arm'">
|
| 34 |
Several filesystems are available. Some of them are found stable on the arm
|
| 35 |
architecture, others aren't. ext2, ext3 and ext4 are found to be stable. JFS,
|
| 36 |
XFS and ReiserFS may work but need more testing. If you're really adventurous
|
| 37 |
you can try the other filesystems.
|
| 38 |
</p>
|
| 39 |
|
| 40 |
<p test="func:keyval('arch')='HPPA'">
|
| 41 |
Several filesystems are available. Ext2, ext3, ext4, XFS and reiserfs are found
|
| 42 |
stable on the HPPA architecture. The others are very experimental.
|
| 43 |
</p>
|
| 44 |
|
| 45 |
<p test="func:keyval('arch')='MIPS'">
|
| 46 |
Several filesystems are available. ReiserFS, EXT2, EXT3 and EXT4 are found
|
| 47 |
stable on the MIPS architectures, others are experimental.
|
| 48 |
</p>
|
| 49 |
|
| 50 |
<p test="func:keyval('arch')='PPC'">
|
| 51 |
Several filesystems are available for use on the PowerPC architecture including
|
| 52 |
ext2, ext3, ReiserFS and XFS, each with their strengths and faults.
|
| 53 |
</p>
|
| 54 |
|
| 55 |
<note test="func:keyval('arch')='PPC64'">
|
| 56 |
Several filesystems are available. ext2, ext3 and ReiserFS support is built in
|
| 57 |
the Installation CD kernels. JFS and XFS support is available through kernel
|
| 58 |
modules.
|
| 59 |
</note>
|
| 60 |
|
| 61 |
<p test="func:keyval('arch')='SPARC'">
|
| 62 |
Several filesystems are available, some are known to be stable on the
|
| 63 |
SPARC architecture. Ext2, ext3 and ext4, for example, are known to work well.
|
| 64 |
Alternate filesystems may not function correctly.
|
| 65 |
</p>
|
| 66 |
|
| 67 |
<note test="func:keyval('arch')='Alpha'">
|
| 68 |
<c>aboot</c> only supports booting from <b>ext2</b> and <b>ext3</b>
|
| 69 |
partitions.
|
| 70 |
</note>
|
| 71 |
|
| 72 |
</body>
|
| 73 |
<body>
|
| 74 |
|
| 75 |
<p test="func:keyval('arch')='IA64'">
|
| 76 |
<b>vfat</b> is the MS-DOS filesystem, updated to allow long filenames. It is
|
| 77 |
also the only filesystem type that the EFI firmware on ia64 systems
|
| 78 |
understands. The boot partition on ia64 systems should always be vfat, but for
|
| 79 |
your data partitions you should use one of the other filesystems listed below.
|
| 80 |
</p>
|
| 81 |
|
| 82 |
<p>
|
| 83 |
<b>ext2</b> is the tried and true Linux filesystem but doesn't have metadata
|
| 84 |
journaling, which means that routine ext2 filesystem checks at startup time can
|
| 85 |
be quite time-consuming. There is now quite a selection of newer-generation
|
| 86 |
journaled filesystems that can be checked for consistency very quickly and are
|
| 87 |
thus generally preferred over their non-journaled counterparts. Journaled
|
| 88 |
filesystems prevent long delays when you boot your system and your filesystem
|
| 89 |
happens to be in an inconsistent state. If you intend to install Gentoo on a
|
| 90 |
very small disk (less than 4GB), then you'll need to tell ext2 to reserve enough
|
| 91 |
inodes when you create the filesystem. The <c>mke2fs</c> application uses the
|
| 92 |
"bytes-per-inode" setting to calculate how many inodes a file system should have.
|
| 93 |
By running <c>mke2fs -T small /dev/<device></c> the number of inodes will
|
| 94 |
generally quadruple for a given file system as its "bytes-per-inode" reduces from
|
| 95 |
one every 16kB to one every 4kB. You can tune this even further by using
|
| 96 |
<c>mke2fs -i <ratio> /dev/<device></c>.
|
| 97 |
</p>
|
| 98 |
|
| 99 |
<p>
|
| 100 |
<b>ext3</b> is the journaled version of the ext2 filesystem, providing metadata
|
| 101 |
journaling for fast recovery in addition to other enhanced journaling modes like
|
| 102 |
full data and ordered data journaling. It uses an HTree index that enables high
|
| 103 |
performance in almost all situations. In short, ext3 is a very good and
|
| 104 |
reliable filesystem. Ext3 is the recommended all-purpose all-platform
|
| 105 |
filesystem. If you intend to install Gentoo on a
|
| 106 |
very small disk (less than 4GB), then you'll need to tell ext3 to reserve enough
|
| 107 |
inodes when you create the filesystem. The <c>mke2fs</c> application uses the
|
| 108 |
"bytes-per-inode" setting to calculate how many inodes a file system should have.
|
| 109 |
By running <c>mke2fs -j -T small /dev/<device></c> the number of inodes will
|
| 110 |
generally quadruple for a given file system as its "bytes-per-inode" reduces from
|
| 111 |
one every 16kB to one every 4kB. You can tune this even further by using
|
| 112 |
<c>mke2fs -j -i <ratio> /dev/<device></c>.
|
| 113 |
</p>
|
| 114 |
|
| 115 |
<p test="contains('x86 Alpha MIPS AMD64 arm IA64 SPARC HPPA',func:keyval('arch'))">
|
| 116 |
<b>ext4</b> is a filesystem created as a fork of ext3 bringing new features,
|
| 117 |
performance improvements and removal of size limits with moderate changes
|
| 118 |
to the on-disk format. It can span volumes up to 1 EB and with maximum file
|
| 119 |
size of 16 TB. Instead of the classic ext2/3 bitmap block allocation ext4 uses
|
| 120 |
<uri link="http://en.wikipedia.org/wiki/Extent_%28file_systems%29">extents</uri>,
|
| 121 |
which improve large file performance and reduce fragmentation. Ext4 also provides
|
| 122 |
more sophisticated block allocation algorithms (delayed allocation and multiblock
|
| 123 |
allocation) giving the filesystem driver more ways to optimise the layout of data
|
| 124 |
on the disk. The ext4 filesystem is a compromise between production-grade code
|
| 125 |
stability and the desire to introduce extensions to an almost decade old
|
| 126 |
filesystem.
|
| 127 |
</p>
|
| 128 |
|
| 129 |
</body>
|
| 130 |
<body test="not(func:keyval('arch')='SPARC')">
|
| 131 |
|
| 132 |
<p test="not(func:keyval('arch')='PPC')">
|
| 133 |
<b>JFS</b> is IBM's high-performance journaling filesystem. JFS is a light,
|
| 134 |
fast and reliable B+tree-based filesystem with good performance in various
|
| 135 |
conditions.
|
| 136 |
</p>
|
| 137 |
|
| 138 |
<p>
|
| 139 |
<b>ReiserFS</b> is a B+tree-based journaled filesystem that has good overall
|
| 140 |
performance, especially when dealing with many tiny files at the cost of more
|
| 141 |
CPU cycles. ReiserFS appears to be less maintained than other filesystems.
|
| 142 |
</p>
|
| 143 |
|
| 144 |
<p>
|
| 145 |
<b>XFS</b> is a filesystem with metadata journaling which comes with a robust
|
| 146 |
feature-set and is optimized for scalability. XFS seems to be less forgiving to
|
| 147 |
various hardware problems.
|
| 148 |
</p>
|
| 149 |
|
| 150 |
</body>
|
| 151 |
</section>
|
| 152 |
</included>
|