170 likes | 324 Views
Tool Talk---EXT 4. Bo LI & Yu QIU. General Information. Ext4: The Fourth E xtended File System
E N D
Tool Talk---EXT 4 Bo LI & Yu QIU
General Information • Ext4: The Fourth Extended File System • It was released as a functionally complete and stable filesystem in Linux 2.6.28, and it's getting included in all the modern distros (in some cases as the default fs), so if you are using a modern distro, it's possible that you already have Ext4 support and you don't need to modify your system to run Ext4.
Is it safe to use ext4 • It's safe to use it in production environments, but as any piece of software, it has bugs (which are more likely to be hit in the first stable versions). Any known critical bug will be quickly fixed.
What is the difference between ext2, ext3, and ext4? • The ext2, ext3, and ext4 file systems are a family of file systems that have a strong amount of backwards and forward compatibility. In fact, they can be considered a single filesytem format with a number of feature extensions, and ext2, ext3, and ext4 are merely the names of the implementations found in the Linux kernel. Many filesystems can be mounted on different filesystems. For example, a filesystem which is created for use with ext3 can be mounted using either ext2 or ext4.
Features • Compatibility • Bigger File System and File Sizes • Sub Directory Scalability • Extents • MultiblockAllocator
Features---Compatibility • Any existing Ext3 filesystem can be mounted as Ext4 without requiring any on-disk format changes. However, it is possible to upgrade an Ext3 filesystem to take advantage of some Ext4 features by running a couple of commands in read-only mode. This means that you can improve the performance, storage limits and features of your current filesystems without reformatting and/or reinstalling your OS and software environment.
Features---Bigger File System and File Sizes • Currently, Ext3 support 16 TiB of maximum file system size and 2 TiB of maximum file size. • Ext4 adds 48-bit block addressing, so it will have 1 EiBof maximum file system size and 16 TiB of maximum file size.
Features---Sub directory scalability • Right now the maximum possible number of sub directories contained in a single directory in Ext3 is 32,000. Ext4 doubles that limit and allows 64,000 sub directories.
Features---Extents • Ext3 use a indirect block mapping scheme to keep track of each block used for the blocks corresponding to the data of a file. This is inefficient for large files, especially during large file delete and truncate operations. In ext4, huge files are split in several extents. Extents improve the performance and also help to reduce the fragmentation, since an extent encourages continuous layouts on the disk.
Features---Multiblock Allocator • Ext4 uses a "multiblock allocator" (mballoc) which allocates many blocks in a single call, instead of a single block per call, avoiding a lot of overhead. This improves the performance, and it's particularly useful with delayed allocation and extents. This feature doesn't affect the disk format.
Features---Others • Delayed allocation • Fast fsck(file system check) • Journal checksumming • "No Journaling" mode (In Ext4 the journaling feature can be disabled, which provides a small performance improvement. ) • ……
Performance (EXT3 VS. EXT4)(cont.) • In ext4 unallocated block groups and sections of the inode table are marked as such. • This enables e2fsck to skip them entirely and greatly reduces the time it takes to check the file system.
Creating Ext4 Filesystem • Creating a new ext4 filesystem is very easy once you have upgraded to e2fsprogs 1.41 or later. • Simply type: # mke2fs -t ext4 /dev/DEV or # mkfs.ext4 /dev/DEV Once the filesystem is created, it can be mounted as follows: # mount -t ext4 /dev/DEV /wherever If you have a sufficiently new system, the "-t ext4" should not be needed. • NOTE: Although very large fileystems are on ext4's feature list, current e2fsprogs currently still limits the filesystem size to 2^32 blocks (16TiB for a 4KiB block filesystem). Allowing filesystems larger than 16T is one of the very next high-priority features to complete for ext4.
It is possible to mount ext3 filesystemsdirectly using the ext4 filesystem driver. This will allow you to use many of the in-core performance enhancements. To enable the ext4 features on an existing ext3 filesystem, use the command: # tune2fs -O extents,uninit_bg,dir_index /dev/DEV WARNING: Once you run this command, the filesystem will no longer be mountable using the ext3 filesystem! After running this command (specifically, after setting the uninit_bg parameter), you MUST run fsck(file system check) to fix up some on-disk structures that tune2fs has modified: # e2fsck -fDC0 /dev/DEV Converting an Ext3 Filesystemto Ext4