Home System Tutorial LINUX In-depth understanding of Linux's standard file system (Ext2/Ext3/Ext4)

In-depth understanding of Linux's standard file system (Ext2/Ext3/Ext4)

Dec 31, 2023 pm 10:18 PM
linux File system

Ext

The full name is Linux extended file system, extfs, which is the Linux extended file system. Ext2 represents the second generation file extension system, Ext3/Ext4 and so on. They are all upgraded versions of Ext2, but with the addition of log function, and They are backward compatible with each other, so Ext2 is called an indexed file system, and Ext3/Ext4 is called a journaled file system.

Note: Linux supports many file systems, including Network File System (NFS) and Windows’ Fat file system.

Check the file systems supported by Linux: ls -l /lib/modules/$(uname -r)/kernel/fs

In-depth understanding of Linuxs standard file system (Ext2/Ext3/Ext4)

View the file systems supported by Linux (loaded into memory): cat /proc/filesystems

In-depth understanding of Linuxs standard file system (Ext2/Ext3/Ext4)

Core Design

Data area

These elements are relatively stable and will be fixed after the disk is formatted.

1, inode (index node)
Record the permissions, attributes of the file and the number of the block where the data is located. Each file has one and only one inode. Each inode has its own number. The inode can be simply understood as a document index.

2. block(data block)
The stored file content is also called a data block. Each block has its own number. The unit block capacity supported by Ext2 is only 1k, 2k, and 4k.

Note: In order to facilitate inode recording, the block size has been fixed after the disk is formatted. Each block can only store the data of one file. If the file is too large, it will occupy multiple blocks; if the file is too small, the remaining space of the block cannot be used, which will cause a waste of disk space. Therefore, after the disk is partitioned, the file Before formatting your system, think carefully about the expected usage of the file system.

Metadata

These elements are designed to maintain the file system status. They mainly represent the dynamic configuration information of the file system and are descriptive information.

1. superblock(superblock)

Record the overall information of the file system (filesystem), including the total amount, usage, remaining amount, size of inode/block, as well as the format and related information of the file system.

Note: All basic information of the entire file system is recorded in the superblock. Its size is generally 1024Bytes. If it dies, it will take a lot of time to remedy it! ! !

2. block group

Just imagine, if our disk capacity reaches hundreds of G, when we format it, the inode and block will be very large. In order to facilitate management, the Ext file system introduces block groups when formatting. The concept is that each block group maintains an independent inode/block/superblock and has a fixed number of blocks, which is divided into a group of basic sub-file systems.

Note: superblock is too important for the file system, but there is only one superblock in the file system, so in addition to the first block group containing the superblock, subsequent block groups may contain backup superblocks. The purpose is to avoid the single superblock. Point cannot be rescued.

3. block bitmap (block comparison table)

A block can only be used by one file. When we add a new file, we must use a new block to record the file data. So how to quickly know which blocks are new? Which blocks are already used? The block bitmap is designed in this way to record all used and unused block numbers. Similarly, when we delete a file, we first find the corresponding block number from the block bitmap, then update the flag to unused, and finally release the block.

inode bitmap(inode comparison table)

The same design concept as block bitmap, except that it records used and unused inode numbers, which will not be described here.

group descriptor

Describe the block numbers at the beginning and end of each section (block group), and explain which block numbers each section (inodemap, blockmap, inode table) is between.

List all formatted devices in the current system: blkid

In-depth understanding of Linuxs standard file system (Ext2/Ext3/Ext4)

Select a formatted device and view the detailed information of the file system: dumpe2fs /dev/vda1

In-depth understanding of Linuxs standard file system (Ext2/Ext3/Ext4)

In-depth understanding of Linuxs standard file system (Ext2/Ext3/Ext4)

Note: The above Magic signature is 0xEF53, indicating that our disk partition is an ext2 and ext3 file system. Similar to the Magic at the beginning of the file, you can determine the file type.

Summarize

The Ext family is the most widely supported and complete file system in Linux. After we format the disk, all inode/block/metadate and other data have been planned for us, so that the system can be used directly without any Dynamic configuration is also its best feature, but this is also its most significant shortcoming. The larger the disk capacity, the slower the formatting. Centos7.x has chosen xfs as the default file system.

The above is the detailed content of In-depth understanding of Linux's standard file system (Ext2/Ext3/Ext4). For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat Commands and How to Use Them
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Difference between centos and ubuntu Difference between centos and ubuntu Apr 14, 2025 pm 09:09 PM

The key differences between CentOS and Ubuntu are: origin (CentOS originates from Red Hat, for enterprises; Ubuntu originates from Debian, for individuals), package management (CentOS uses yum, focusing on stability; Ubuntu uses apt, for high update frequency), support cycle (CentOS provides 10 years of support, Ubuntu provides 5 years of LTS support), community support (CentOS focuses on stability, Ubuntu provides a wide range of tutorials and documents), uses (CentOS is biased towards servers, Ubuntu is suitable for servers and desktops), other differences include installation simplicity (CentOS is thin)

Centos stops maintenance 2024 Centos stops maintenance 2024 Apr 14, 2025 pm 08:39 PM

CentOS will be shut down in 2024 because its upstream distribution, RHEL 8, has been shut down. This shutdown will affect the CentOS 8 system, preventing it from continuing to receive updates. Users should plan for migration, and recommended options include CentOS Stream, AlmaLinux, and Rocky Linux to keep the system safe and stable.

Detailed explanation of docker principle Detailed explanation of docker principle Apr 14, 2025 pm 11:57 PM

Docker uses Linux kernel features to provide an efficient and isolated application running environment. Its working principle is as follows: 1. The mirror is used as a read-only template, which contains everything you need to run the application; 2. The Union File System (UnionFS) stacks multiple file systems, only storing the differences, saving space and speeding up; 3. The daemon manages the mirrors and containers, and the client uses them for interaction; 4. Namespaces and cgroups implement container isolation and resource limitations; 5. Multiple network modes support container interconnection. Only by understanding these core concepts can you better utilize Docker.

How to install centos How to install centos Apr 14, 2025 pm 09:03 PM

CentOS installation steps: Download the ISO image and burn bootable media; boot and select the installation source; select the language and keyboard layout; configure the network; partition the hard disk; set the system clock; create the root user; select the software package; start the installation; restart and boot from the hard disk after the installation is completed.

How to use docker desktop How to use docker desktop Apr 15, 2025 am 11:45 AM

How to use Docker Desktop? Docker Desktop is a tool for running Docker containers on local machines. The steps to use include: 1. Install Docker Desktop; 2. Start Docker Desktop; 3. Create Docker image (using Dockerfile); 4. Build Docker image (using docker build); 5. Run Docker container (using docker run).

What are the backup methods for GitLab on CentOS What are the backup methods for GitLab on CentOS Apr 14, 2025 pm 05:33 PM

Backup and Recovery Policy of GitLab under CentOS System In order to ensure data security and recoverability, GitLab on CentOS provides a variety of backup methods. This article will introduce several common backup methods, configuration parameters and recovery processes in detail to help you establish a complete GitLab backup and recovery strategy. 1. Manual backup Use the gitlab-rakegitlab:backup:create command to execute manual backup. This command backs up key information such as GitLab repository, database, users, user groups, keys, and permissions. The default backup file is stored in the /var/opt/gitlab/backups directory. You can modify /etc/gitlab

What to do after centos stops maintenance What to do after centos stops maintenance Apr 14, 2025 pm 08:48 PM

After CentOS is stopped, users can take the following measures to deal with it: Select a compatible distribution: such as AlmaLinux, Rocky Linux, and CentOS Stream. Migrate to commercial distributions: such as Red Hat Enterprise Linux, Oracle Linux. Upgrade to CentOS 9 Stream: Rolling distribution, providing the latest technology. Select other Linux distributions: such as Ubuntu, Debian. Evaluate other options such as containers, virtual machines, or cloud platforms.

How to mount hard disk in centos How to mount hard disk in centos Apr 14, 2025 pm 08:15 PM

CentOS hard disk mount is divided into the following steps: determine the hard disk device name (/dev/sdX); create a mount point (it is recommended to use /mnt/newdisk); execute the mount command (mount /dev/sdX1 /mnt/newdisk); edit the /etc/fstab file to add a permanent mount configuration; use the umount command to uninstall the device to ensure that no process uses the device.

See all articles