深度剖析Linux硬盘格式

一、MBR分区格式

MBR分区格式是硬盘上最常用的分区格式之一。它是由硬盘的主引导记录(Master Boot Record)所组成,占用了磁盘的头512个字节,其中包含磁盘分区表和引导程序。MBR分区最多支持4个主分区或3个主分区和1个扩展分区。
以下是MBR分区格式的代码示例:

[root@localhost ~]# fdisk -l /dev/sda

Disk /dev/sda: 40 GiB, 42949672960 bytes, 83886080 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x000fb487

Device     Boot    Start      End  Sectors  Size  Id  Type
/dev/sda1  *        2048  1671983  1669936  814M  83  Linux
/dev/sda2        1671984  83886079 82214096 39.2G  8e  Linux LVM

MBR分区格式的优点是相对简单,广泛应用,但它的缺点也非常明显。最大的缺点就是MBR区只能识别2TB以下的硬盘,而且只支持4个主分区或3个主分区和1个扩展分区,无法满足大容量硬盘的分区需求。

二、GPT分区格式

GPT分区格式是全称GUID分区表(GUID Partition Table),它是一种全新的磁盘分区表,支持PC机的EFI系统启动。相对于MBR分区格式,GPT分区格式支持更大的硬盘容量和更多的分区数量,最多可支持128个分区,每个分区的容量也可超过2TB。此外GPT分区表有备份分区表,防止系统由于分区表数据丢失导致的不可启动。
以下是GPT分区格式的代码示例:

[root@localhost ~]# gdisk /dev/sda

GPT fdisk (gdisk) version 1.0.5

Partition table scan:
    MBR: protective
    GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): p

Disk /dev/sda: 83886080 sectors, 40.0 GiB
Model: QEMU HARDDISK 
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 564E8963-89E1-4645-8F7F-3A5D735F1CB1
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 83886046
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048         1671983   814.0 MiB   8300  Linux filesystem
   2         1671984        83886046   39.1 GiB    8E00  Linux LVM

GPT分区格式的缺点是,在旧电脑上,其无法使用UEFI引导,而且GPT分区格式不同于MBR分区格式默认的bootloader程序,需要特别注意,否则可能会导致系统无法启动。

三、EXT4文件系统

EXT4是Linux下非常流行的一个文件系统,它继承了EXT3文件系统的优点,在EXT3的基础上做了很多改进和优化。EXT4通常用于较大的硬盘分区,性能相对与EXT3提高了不少。
以下是EXT4文件系统的代码示例:

[root@localhost ~]# mkfs.ext4 /dev/sda1

mke2fs 1.42.9 (28-Dec-2013)
Creating filesystem with 214528 blocks and 524288 inodes
Filesystem UUID: a05b0f23-ec37-4af4-9752-ee81ebd03d3d
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done   

EXT4文件系统有很多优点,包括支持更大的分区和文件,支持日志系统和数据恢复功能,同时也比其他文件系统拥有更快的数据读写速度等众多优点。

四、XFS文件系统

XFS是一种高性能的文件系统,也是Linux系统上流行的文件系统之一。XFS的特点是支持更大的单文件和分区,这使得它非常适合大容量的数据存储。此外,提供快速的故障检测,能够在发生故障时有效地恢复文件系统。
以下是XFS文件系统的代码示例:

[root@localhost ~]# mkfs.xfs /dev/sda2

meta-data=/dev/sda2              isize=512    agcount=4, agsize=2448384 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0
data     =                       bsize=4096   blocks=9793536, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=4774, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

XFS文件系统的优点是非常适合进行大文件和大数据存储,而且具有良好的性能和可靠性。但是它的缺点是不适用于小文件,文件数量过多时会影响磁盘IO性能。

五、Btrfs文件系统

Btrfs是一种新型的文件系统,相比于传统的EXT和XFS文件系统,它具有更好的可靠性、数据校验、快照功能和在线扩容能力。此外,Btrfs文件系统也提供了更好的数据管理和维护机制,使得数据的备份和恢复更加简单。
以下是Btrfs文件系统的代码示例:

[root@localhost ~]# mkfs.btrfs /dev/sda3

btrfs-progs v4.6
See http://btrfs.wiki.kernel.org for more information.

Label:              (null)
UUID:               ecfa5c8c-1e64-4eb7-bccb-16cc46537fad
Node size:          16384
Sector size:        4096
Filesystem size:    3.26GB
Block group profiles:
  Data:             single            8.00MiB
  Metadata:         DUP              32.00MiB
  System:           DUP               8.00MiB
SSD detected:       no
Incompat features:  extref, skinny-metadata
Number of devices:  1
Devices:
   ID        SIZE  PATH
    1     3.26GB  /dev/sda3

Btrfs文件系统的优点是非常适合进行大数据量的存储和管理,同时其具备高可靠性和容错能力,能够防止数据的损坏和丢失,非常适合用于企业级应用。

原创文章,作者:AIYIH,如若转载,请注明出处:https://www.506064.com/n/372098.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
AIYIHAIYIH
上一篇 2025-04-24 06:40
下一篇 2025-04-24 06:40

相关推荐

  • 如何在Java中拼接OBJ格式的文件并生成完整的图像

    OBJ格式是一种用于表示3D对象的标准格式,通常由一组顶点、面和纹理映射坐标组成。在本文中,我们将讨论如何将多个OBJ文件拼接在一起,生成一个完整的3D模型。 一、读取OBJ文件 …

    编程 2025-04-29
  • 深度查询宴会的文化起源

    深度查询宴会,是指通过对一种文化或主题的深度挖掘和探究,为参与者提供一次全方位的、深度体验式的文化品尝和交流活动。本文将从多个方面探讨深度查询宴会的文化起源。 一、宴会文化的起源 …

    编程 2025-04-29
  • 如何将视频导出成更小的格式给IT前端文件

    本文将从以下几个方面介绍如何将视频导出成更小的格式,以便于在IT前端文件中使用。 一、选择更小的视频格式 在选择视频格式时,应该尽可能选择更小的格式,如MP4、WebM、FLV等。…

    编程 2025-04-28
  • Python下载深度解析

    Python作为一种强大的编程语言,在各种应用场景中都得到了广泛的应用。Python的安装和下载是使用Python的第一步,对这个过程的深入了解和掌握能够为使用Python提供更加…

    编程 2025-04-28
  • JavaScript中使用new Date转换为YYYYMMDD格式

    在JavaScript中,我们通常会使用Date对象来表示日期和时间。当我们需要在网站上显示日期时,很多情况下需要将Date对象转换成YYYYMMDD格式的字符串。下面我们来详细了…

    编程 2025-04-27
  • Python递归深度用法介绍

    Python中的递归函数是一个函数调用自身的过程。在进行递归调用时,程序需要为每个函数调用开辟一定的内存空间,这就是递归深度的概念。本文将从多个方面对Python递归深度进行详细阐…

    编程 2025-04-27
  • 如何在Linux中添加用户并修改配置文件

    本文将从多个方面详细介绍在Linux系统下如何添加新用户并修改配置文件 一、添加新用户 在Linux系统下创建新用户非常简单,只需使用adduser命令即可。使用以下命令添加新用户…

    编程 2025-04-27
  • 如何解决linux jar包 invalid or corrupt jarfile问题

    对于许多开发人员和系统管理员在Linux环境下使用Java开发过程中遇到的一个常见的问题是 invalid or corrupt jarfile(无效或损坏的jar文件)错误。当您…

    编程 2025-04-27
  • Spring Boot本地类和Jar包类加载顺序深度剖析

    本文将从多个方面对Spring Boot本地类和Jar包类加载顺序做详细的阐述,并给出相应的代码示例。 一、类加载机制概述 在介绍Spring Boot本地类和Jar包类加载顺序之…

    编程 2025-04-27
  • 在Linux上安装JRE并配置环境变量

    本文将从以下几个方面为您详细阐述如何在Linux系统上,通过自己账户安装JRE,并且配置环境变量。 一、安装JRE 在进行安装前,我们需要下载JRE的安装包并解压,可以从官方网站下…

    编程 2025-04-27

发表回复

登录后才能评论