linux(四)磁盘分区


对磁盘分区是非常有必要的。一块磁盘,我们可以对他进行分区,各个分区我们可以使用不同的文件格式进行格式化。

分区的好处:

1只用一个分区,若遇到系统需要重装或者分区需要格式化等,原有的重要文件不能再本硬盘保存,而若提前进行合理分区,则用户数据不会受到影响。

2读取频繁的分区和其他分区分开,把磁盘损伤控制在一个集中的区域。

3分区后数据集中在某个磁柱区段,存取效率高

1 分区表

分区表主要有两种,MBR分区表和GPT分区表

1.1 MBR(Master Boot Record)

主引导记录MBR,存储在磁盘第一个扇区里面,它包含了开机管理程序和分区表,共512byte。其中446byte是开机管理程序,64byte是分区表。

该分区表是以磁柱为分区界限。即分区的最小单位为磁柱。

64byte分区表,每个分区使用16byte,即只能记录4个分区。如下所示

假设上面图中硬盘装置名为/dev/sda。则这四个分区分别是:

/dev/sda1、/dev/sda2、/dev/sda3、/dev/sda4

我们称这4个分区为主分区。

为了突破只能4个分区的限制,我们使用扩展分区,使用除第一个扇区之外的额外的扇区来记录分区信息,如下图所示

P1为主分区,

P2为扩展分区,扩展分区又分区出来5个分区槽,这5个由扩展分区继续切出来的分区槽我们称之为逻辑分区。上图分区槽在linux系统中的装置文件名分别是

P1:/dev/sda1

P2:/dev/sda2

L1:/dev/sda5

L2:/dev/sda6

L3:/dev/sda7

L4:/dev/sda8

L5:/dev/sda9

注意:扩展分区只能有一个。

总结:

1主分区与扩展分区最多只能有4个

2扩展分区只能有一个

3逻辑分区是由扩展分区持续切割出来的分区

4主分区和逻辑分区能够被格式化,扩展分区不能格式化

1.2 GPT(GUID partition table)

GPT将磁盘以LBA(Logical Block Address逻辑区块地址)来处理,每一个LBA为512byte。

GPT使用34个LBA区块来记录分区信息。

LBA0就对应着磁盘的第一个扇区,不过和MBR不同,LBA0中使用446byte存储开机管理程序,另外64byte存储特殊标志,用来表示此磁盘为GPT格式。

LAB1:存储GPT表头记录。

LBA2-LBA33:这些LBA每个都可以记录4个分区记录,所以总共可以有128个分区记录

2 lsblk查看分区

Name:设备名

MAJ:MIN:主要/次要设备代码。内核通过这个代码区分设备

TYPE:disk(磁盘),part(分区槽)

3 blkid

查看文件系统或设备的uuid

4 parted查看分区表类型、分区信息

Model:磁盘厂商/模块名称

Disk:磁盘总容量

Sector:扇区大小

Parted Table:分区表类型,msdos就是MBR

 最下面是分区数据

Number 1表示/dev/sda1,文件系统类型为ext2

Number 2表示/dev/sda2

5 磁盘阵列RAID

RAID(Redundant Arrays of Inexpensive Disks)。RAID可以通过相关技术,把多个较小的磁盘整合成一个较大的磁盘

5.1 RAID 0

数据被切割成小片,均匀分布到各个小磁盘上。这种方式磁盘效率最高,但是只要有一块磁盘损坏,该文件将损坏

5.2 RAID 1

镜像模式

5.3 RAID 5

RAID 5可以理解为是RAID 0和RAID 1的折中方案。RAID5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低,是运用较多的一种解决方案