简单学一下Linux磁盘管理

首先要认识磁盘组成,了解柱面、扇区、磁道等概念等,这部分内容可以自行查资料。

磁盘接口类型

磁盘的接口类型是指连接磁盘与计算机之间的接口标准,早期的接口标准有 IDEATA 等。目前比较常见的有:

  1. SATA(Serial ATA):SATA是一种串行ATA接口标准,用于连接机械硬盘(HDD)和固态硬盘(SSD)等存储设备。SATA接口速度较快,支持热插拔和热替换,是当前最常用的磁盘接口类型。

  2. USB(Universal Serial Bus):USB是一种通用的串行接口标准,用于连接各种外部设备,包括磁盘驱动器。USB接口普及广泛,方便携带和使用,但速度较慢,适用于一般的存储需求。

  3. PCIe(Peripheral Component Interconnect Express):PCIe是一种高速串行接口标准,主要用于连接固态硬盘(SSD)和其他高性能存储设备。PCIe接口速度非常快,支持多通道和多设备连接,适用于高性能计算和数据中心应用。

  4. SAS(Serial Attached SCSI):SAS是一种串行SCSI接口标准,主要用于连接高性能服务器和存储设备。SAS接口速度较快,支持高速数据传输和多设备连接,适用于高性能存储和企业级应用。

  5. SCSI(Small Computer System Interface)是一种高性能的并行接口标准,用于连接计算机与外部存储设备(如硬盘、光驱、磁带机等)之间的数据传输。SCSI接口广泛应用于服务器、工作站、存储系统等高性能计算和专业存储领域。

在Linux 中,除了早期的  IDEATA 接口的磁盘会被识别成类似 /dev/hda/dev/hdb 的设备名外,其它的一般会被识别成类似 /dev/sdX 这样的分区名,其中 "X" 为字母 "a"、"b" 、"c" 等,比如:第一块磁盘识别为 /dev/sda,第二块识别成 /dev/sdb


查看磁盘的命令一般有:

  1. lsblk 命令:lsblk 命令可以显示当前系统中的所有块设备(包括硬盘、分区和其他块设备),并以树状结构的方式展示。

  2. fdisk 命令:fdisk 命令是一个常用的磁盘分区工具,可以使用 fdisk -l 来查看硬盘数量。

  3. blkid命令:在Linux和UNIX系统中用于查找和显示块设备(例如磁盘分区或存储设备)的文件系统类型和属性的命令。可以用来识别块设备的文件系统类型,例如ext4、NTFS、FAT32等,并显示与该文件系统相关的属性,如UUID(Universally Unique Identifier,通用唯一标识符)、LABEL(卷标)、TYPE(文件系统类型)、PARTLABEL(分区卷标)、PARTUUID(分区UUID)等。


我们对磁盘的管理一般会涉及到以下几个层面:认识磁盘、磁盘阵列和Lvm、分区、格式化、挂载。


DOS分区表和GPT分区表

  1. DOS分区表(DOS Partition Table):DOS分区表是一种旧的磁盘分区表格式,最初由MS-DOS和Windows等操作系统使用。它是一种基于主引导扇区(Master Boot Sector,MBR)的磁盘分区表格式,通常使用512字节的主引导扇区中的64字节来存储分区表信息。DOS分区表最多支持4个主分区或者3个主分区和1个扩展分区。它只能用于小于2T的硬盘。

  2. GPT分区表(GUID Partition Table):GPT分区表是一种较新的磁盘分区表格式,引入了全局唯一标识符(GUID)作为分区标识,支持更大的磁盘容量和更多的分区。GPT分区表通常使用更大的分区表头(Partition Table Header)和分区表条目(Partition Table Entry)来存储分区信息,支持最多128个分区。GPT分区表不仅可以在传统BIOS系统上使用,还可以在新的UEFI固件系统上使用。


查看分区表可以使用命令

方式1:

fdisk -l /dev/sda

如果看到:"Disklabel type: gpt",表示该磁盘是 GPT 分区表。

如果看到 "Disklabel type: dos",则表示该磁盘是 DOS 分区表

方式2:

parted /dev/sdb

parted 提示符下,输入 print 命令,可以查看磁盘的分区表信息:

如果看到 "Partition Table: gpt",则表示该磁盘是 GPT 分区表;如果看到 "Partition Table: msdos",则表示该磁盘是 DOS 分区表。


修改分区表

修改分区表,会将磁盘上的数据全部删除,因此需要提前备份重要数据。

使用命令:

# /dev/sdb 表示第二块磁盘,这个地方要改成自己的
parted /dev/sdb

将磁盘改成GPT分区表:

在 "parted" 命令行界面,输入 "mklabel gpt" 指令,然后按回车键,输入yes,就可以将磁盘分区表转换为 “GPT分区表”。

将磁盘改成DOS分区表:

在 "parted" 命令行界面,输入 "mklabel msdos" 指令,然后按回车键,输入yes,将磁盘分区表转换为 “DOS 分区表”。


微信 遇到疑问可加微信进行反映