Linux对大于2T的磁盘分区方法及创建逻辑卷LVM

在需要对一个4T的硬盘分区时,使用fdisk不能建立分区。原因是fdisk只能建立2TB大小的分区。如果大于2T需要采用GPT磁盘模式。下面介绍下MBR和GPT原理。

MBR和GPT原理:

MBR原理:

主引导记录(MBR,Master Boot Record)是位于磁盘最前边的一段引导(Loader)代码。它负责磁盘操作系统(DOS)对磁盘进行读写时分区合法性的判别、分区引导信息的定位,它由磁盘操作系统(DOS)在对硬盘进行初始化时产生的。

通常,我们将包含MBR引导代码的扇区称为主引导扇区。因这一扇区中,引导代码占有绝大部分的空间,故而将习惯将该扇区称为MBR扇区(简称MBR)。由于这一扇区承担有不同于磁盘上其他普通存储空间特殊管理职能,作为管理整个磁盘空间的一个特殊空间,它不属于磁盘上的任何分区,因而分区空间内的格式化命令不能清除主引导记录的任何信息。主引导扇区由三个部分组成(共占用512个字节):

MBR结构图

图:MBR结构图
  1. 主引导程序即主引导记录(MBR)(占446个字节)

    可在FDISK程序中找到,它用于硬盘启动时将系统控制转给用户指定的并在分区表中登记了的某个操作系统。

    2.磁盘分区表项(DPT,Disk Partition Table)

    由四个分区表项构成(每个16个字节)。

    负责说明磁盘上的分区情况,其内容由磁盘介质及用户在使用FDISK定义分区时决定。(具体内容略)

  2. 结束标志(占2个字节)

    其值为AA55,存储时低位在前,高位在后,即看上去是55AA(十六进制)。

因为有4个分区表,所以最多只能识别4个主要分区。想要得到更多分区,只能通过扩展扩展分区。扩展分区是主分区的一种。它与主分区的不同在于理论上可以划分为无数逻辑分区,每一个逻辑分区都有一个和MBR结果类似的扩展引导记录。

在MBR分区表中最多4个主分区或者3个主分区+1个扩展分区,也就是说扩展分区只能有一个,然后可以再细分为多个逻辑分区。

在Linux系统中:

硬盘分区命名为sda1-sda4或者hda1-hda4(其中a表示硬盘编号可能是a、b、c等等)。在MBR硬盘中,分区号1-4是主分区(或者扩展分区),逻辑分区号只能从5开始。 在MBR分区表中,一个分区最大的容量为2T,且每个分区的起始柱面必须在这个disk的前2T内。你有一个3T的硬盘,根据要求你至少要把它划分为2个分区,且最后一个分区的起始扇区要位于硬盘的前2T空间内。如果硬盘太大则必须改用GPT。

在Windows中:

MBR的意思是“主引导记录”,是IBM公司早年间提出的。它是存在于磁盘驱动器开始部分的一个特殊的启动扇区。这个扇区包含了已安装的操作系统系统信息,并用一小段代码来启动系统。如果你安装了Windows,其启动信息就放在这一段代码中——如果MBR的信息损坏或误删就不能正常启动Windows,这时候你就需要找一个引导修复软件工具来修复它就可以了。Linux系统中MBR通常会是GRUB加载器。MBR。当一台电脑启动时,它会先启动主板自带的BIOS系统,bios加载MBR,MBR再启动Windows,这就是mbr的启动过程。

GPT原理:

GUID磁盘分区表GUID Partition Table,缩写:GPT)其含义为“全局唯一标识磁盘分区表”,它是EFI(可扩展固件接口标准)的一部分,用来替代BIOS中的主引导记录分区表。

在MBR硬盘中,分区信息直接存储于主引导记录(MBR)中(主引导记录中还存储着系统的引导程序)。但在GPT硬盘中,分区表的位置信息储存在GPT头中。但出于兼容性考虑,硬盘的第一个扇区仍然用作MBR,之后才是GPT头。

GPT格式支持大于2TB的硬盘。支持128个分区。理论上GPT格式可以无限划分分区(128以上),但是如果划分的过多的话,好像128之后的分区就不能够格式化使用了。

MBR与GPT对比:

类别 主引导方式 主分区数量 最大容量 支持多少位系统 分区方法
MBR BIOS+MBR 4 2T 32和64 fdisk
GPT UEFI+GPT 128 18EB(1EB=1024PB=1048576TB) 64 parted

Parted分区和创建逻辑卷LVM

Parted分区过程:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1. parted -l  #查看所有磁盘状态
2. parted /dev/vdb #通过parted工具来创建大于2T的分区
3. mklabel gpt #创建创建磁盘标签
4. mkpart primary 0% 100% #创建整个分区
5. q #退出

#其他命令
-------------------
(parted) mklabel #创建创建磁盘标签
New disk labeltype? gpt
(parted) p #查看分区状态
(parted) mkpart
Partition name? []? gpt2t #指定分区名称
File system type? [ext2]ext3 #指定分区类型
Start? 1 #指定开始位置
End? 2190GB #指定结束位置
(parted) P #显示分区信息
(parted) Q #退出

创建逻辑卷的过程:

1
2
3
4
5
6
7
8
9
10
1. fdiks -l #查看分区
2. pvcreate /dev/vdb1 #创建pv物理卷
3. vgcreate vgdata /dev/vdb1 #创建vg卷组
4. lvcreate -l +100%FREE -n lvdata vgdata #创建lv逻辑卷
5. mkfs.xfs /dev/mapper/vgdata-lvdata #格式化逻辑卷
6. mkdir /data #创建数据文件夹
7. mount /dev/mapper/vgdata-lvdata /data #将逻辑卷挂载到/data
8. vim /etc/fastab #添加开机挂载
/dev/mapper/vgdata-lvdata /data xfs defaults 0 0
9. mount -a #检查挂载

参考文档:

https://www.cnblogs.com/jack34/p/8965114.html

http://www.360doc.com/content/18/0901/23/11935121_783145790.shtml

https://www.cnblogs.com/jack34/p/8965114.html


坚持原创技术分享,您的支持将鼓励我继续创作!