我们使用windows时习惯把磁盘分成C、D、E和F盘等,这种操作就叫做分区。
分区,就是将一个磁盘逻辑的分成几个区,每个区当成独立的磁盘来使用,方便管理。比如Linux下一块磁盘/dev/sda,分区3个区后分别为sda1、sda2和sda3。
目前主流的分区机制分别为MBR和GPT。
MBR(Master Root Record)
MBR是传统的分区机制,应用于绝大多数是用BIOS的PC设备。
主要特点:
>MBR支持32bit和64bit的操作系统;
>MBR分区数量有限;
>MBR只支持不超过2T的硬盘,超过2T的只能使用2T空间;
>占据磁盘第一扇区;
MBR结构:
磁盘的前512字节被MBR占用,而这512字节中前446字节记录引导代码,后64字节是分区表,
最后两个字节是启动标识,可启动可引导的设备这段标识永远是55AA。
MBR分区:
>主分区最多创建4个;
>扩展分区会占用一个主分区;
>逻辑分区在一个扩展分区的基础上最多支持63个IDE分区和15个SCSI分区(如SATA);
示例解析:
>将磁盘sda分成4个区;
>将sda4划为扩展分区,在其基础上创建3个逻辑分区;
GPT(GUID Partition Table)
GPT分区是一个较新的分区机制,解决了MBR很多缺点。
主要特点:
>支持超过2T硬盘;
>向后兼容MBR(MBR仍然占据磁盘第一扇区,之后才是GPT);
>必须在支持UEFI(Intel提出旨在取代BIOS)的硬件上才能使用;
>必须使用64位系统,Linux支持GPT分区;
>在磁盘最后保存一份分区备份,以降低分区损坏风险;
>无逻辑分区概念,统一使用主分区,并且每个分区都有引导能力,最多创建128个主分区;
CentOS6.7下使用parted创建GPT分区:
工具parted:
传统分区工具fdisk不能操作超过2T的硬盘,对于超过2T的磁盘,
可以使用parted进行GPT分区。
具体操作:
>查看所有磁盘信息: parted -l ;
>对sdc(3T)磁盘进行操作,进入交互模式: parted /dev/sdb;
>查看磁盘信息,发现无法识别:p(交互模式下);
>创建分区表类型为GPT,再次查看磁盘信息,分区类型变为gpt:mklabel;
>创建分区并常看:mkpart;
>再创建2个分区,操作同上;
>删除分区(没有任何提示):rm 3;
>退出parted,提示更新/etc/fstab:quit(q);
>查看分区后的磁盘:ls /dev/sdc*;
>修改sdc2的文件系统为ext2;
注意:part1和part2是没有文件系统的;
注意:创建文件系统时会有很长的警告信息,主要是建议使用专用的文件系统创建工具,
创建文件系统会将原磁盘信息擦除。yes就行。
>挂载sdc2至/mnt,并查看分区情况:mount /dev/sdc2 /mnt ; df -h;
>验证和维护文件系统及分区:check #(分区号)
出现警告,与创建文件系统类似,建议使用专门的维护工具。
尾部:
上面使用parted分区指定起始终止范围时,采用G会产生间隙,比如再创建part3,起始位置1500,终止位置为-1(到最后),系统会警告1000G-1001G之间有空隙,确定后会在1000G-1001G之间创建一个区。还需要再查看区域划分的相关文档。
Learn Linux The Hard Way!