ext4 file system
来源:互联网 发布:java工程师考什么证 编辑:程序博客网 时间:2024/06/05 14:08
Chapter 6. The Ext4 File System
- 6.1. Creating an Ext4 File System
- 6.2. Mounting an Ext4 File System
- 6.3. Resizing an Ext4 File System
- 6.4. Backup ext2/3/4 File Systems
- 6.5. Restore an ext2/3/4 File System
- 6.6. Other Ext4 File System Utilities
The ext4 file system is a scalable extension of the ext3 file system, which was the default file system of Red Hat Enterprise Linux 5. Ext4 is the default file system of Red Hat Enterprise Linux 6, and can support files and file systems up to 16 terabytes in size. It also supports an unlimited number of sub-directories (the ext3 file system only supports up to 32,000), though once the link count exceeds 65,000 it resets to 1 and is no longer increased.
Note
As with ext3, an ext4 volume must be umounted in order to perform an
fsck
. For more information, see Chapter 5, The Ext3 File System.- Main Features
- Ext4 uses extents (as opposed to the traditional block mapping scheme used by ext2 and ext3), which improves performance when using large files and reduces metadata overhead for large files. In addition, ext4 also labels unallocated block groups and inode table sections accordingly, which allows them to be skipped during a file system check. This makes for quicker file system checks, which becomes more beneficial as the file system grows in size.
- Allocation Features
- The ext4 file system features the following allocation schemes:
- Persistent pre-allocation
- Delayed allocation
- Multi-block allocation
- Stripe-aware allocation
Because of delayed allocation and other performance optimizations, ext4's behavior of writing files to disk is different from ext3. In ext4, when a program writes to the file system, it is not guaranteed to be on-disk unless the program issues anfsync()
call afterwards.By default, ext3 automatically forces newly created files to disk almost immediately even withoutfsync()
. This behavior hid bugs in programs that did not usefsync()
to ensure that written data was on-disk. The ext4 file system, on the other hand, often waits several seconds to write out changes to disk, allowing it to combine and reorder writes for better disk performance than ext3.Warning
Unlike ext3, the ext4 file system does not force data to disk on transaction commit. As such, it takes longer for buffered writes to be flushed to disk. As with any file system, use data integrity calls such asfsync()
to ensure that data is written to permanent storage. - Other Ext4 Features
- The ext4 file system also supports the following:
- Extended attributes (
xattr
) — This allows the system to associate several additional name and value pairs per file. - Quota journaling — This avoids the need for lengthy quota consistency checks after a crash.
Note
The only supported journaling mode in ext4 isdata=ordered
(default). - Subsecond timestamps — This gives timestamps to the subsecond.
6.1. Creating an Ext4 File System
To create an ext4 file system, use the
mkfs.ext4
command. In general, the default options are optimal for most usage scenarios:# mkfs.ext4 /dev/device
Below is a sample output of this command, which displays the resulting file system geometry and features:
Example 6.1. mkfs.ext4
command output
~]# mkfs.ext4 /dev/sdb1 mke2fs 1.41.12 (17-May-2010)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks245280 inodes, 979456 blocks48972 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=100663296030 block groups32768 blocks per group, 32768 fragments per group8176 inodes per groupSuperblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736Writing inode tables: done Creating journal (16384 blocks): doneWriting superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 20 mounts or180 days, whichever comes first. Use tune2fs -c or -i to override.
For striped block devices (for example, RAID5 arrays), the stripe geometry can be specified at the time of file system creation. Using proper stripe geometry greatly enhances the performance of an ext4 file system.
When creating file systems on LVM or MD volumes,
mkfs.ext4
chooses an optimal geometry. This may also be true on some hardware RAIDs which export geometry information to the operating system.To specify stripe geometry, use the
-E
option of mkfs.ext4
(that is, extended file system options) with the following sub-options:- stride=value
- Specifies the RAID chunk size.
- stripe-width=value
- Specifies the number of data disks in a RAID device, or the number of stripe units in the stripe.
For both sub-options,
value
must be specified in file system block units. For example, to create a file system with a 64k stride (that is, 16 x 4096) on a 4k-block file system, use the following command:# mkfs.ext4 -E stride=16,stripe-width=64 /dev/device
For more information about creating file systems, refer to
man mkfs.ext4
.Important
It is possible to use
tune2fs
to enable some ext4 features on ext3 file systems, and to use the ext4 driver to mount an ext3 file system. These actions, however, are not supported in Red Hat Enterprise Linux 6, as they have not been fully tested. Because of this, Red Hat cannot guarantee consistent performance and predictable behavior for ext3 file systems converted or mounted in this way. 0 0
- ext4 file system
- Redhat Ext4 File System Guide
- Convert ext3 to ext4 File system
- [Benchmarks] File System Performance: F2FS vs EXT4
- Linux系统下出现"The ext4 file system is not supported by you system""
- EXT4 file format
- generate ext4 file
- system.img ext4 and yaffs2
- 生成system.img (ext4)
- recover deleted file on ext4
- file system
- file system
- File system
- ext4格式的 system.img 怎么修改
- ext4格式的 system.img 怎么修改
- ext4格式的system.img 怎么修改
- Unpack/repack ext4 Android system images
- Unpack/repack ext4 Android system images
- MySQL及SQL语言学习笔记2--索引的操作
- Java之------集合
- mysql 手动切主库
- 第十二周项目——时间类
- Spring-bean属性-1
- ext4 file system
- 解决SlidingMenu与ViewPager的滑动冲突尝试
- PLL时钟输出到普通I/O口的办法
- centOS6.5下安装xampp
- HuaXinIM聊项目优化(在线用户列表实现在线更新)
- Android三级图片缓存
- Android学习(51) -- 使用HttpClient框架做GET提交
- ViewDragHelper源码分析
- Java编程之兔子问题