一 关键词html
MBR和2TB的限制
在使用fdisk创建分区时,咱们最大只能创建2TB大小的分区,若是你的磁盘(阵列)大于2TB,只能经过划分多个分区的方法才能充分利用磁盘容量,这对于使用小于2TB分区的朋友没啥影响,但对于使用大于2TB分区(好比5TB的分区)的朋友就会遇到问题了,要突破这个限制;咱们先来了解下MBR(Master Boot Record)和GPT(GUID Partition Table).
MBR
主引导记录(Master Boot Record,缩写:MBR),又叫作主引导扇区,是计算机开机后访问硬盘时所必需要读取的首个扇区,它在硬盘上的三维地址为(柱面,磁头,扇区)=(0,0,1)。
MBR是由分区程序(如Fdisk,Parted)所产生的,它不依赖任何操做系统,并且硬盘引导程序也是能够改变的,从而可以实现多系统引导。
从主引导记录的结构能够知道,它仅仅包含一个64个字节的硬盘分区表。因为每一个分区信息须要16个字节,因此对于采用MBR型分区结构的硬盘(其磁盘卷标类型为MS-DOS),最多只能识别4个主要分区。因此对于一个采用此种分区结构的硬盘来讲,想要获得4个以上的主要分区是不可能的。这里就须要引出扩展分区了。扩展分区也是主分区(Primary partition)的一种,但它与主分区的不一样在于理论上能够划分为无数个逻辑分区,每个逻辑分区都有一个和MBR结构相似的扩展引导记录(EBR)。
在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。
GPT
全局惟一标识分区表(GUID Partition Table,缩写:GPT)是一个实体硬盘的分区结构。它是EFI(可扩展固件接口标准)的一部分,用来替代BIOS中的主引导记录分区表。但由于MBR分区表不支持容量大于2.2TB(2.2 × 1012字节)的分区,因此也有一些BIOS系统为了支持大容量硬盘而用GPT分区表取代MBR分区表。
在MBR硬盘中,分区信息直接存储于主引导记录(MBR)中(主引导记录中还存储着系统的引导程序)。但在GPT硬盘中,分区表的位置信息储存在GPT头中。但出于兼容性考虑,硬盘的第一个扇区仍然用做MBR,以后才是GPT头。
与支持最大卷为2 TB(Terabytes)而且每一个磁盘最多有4个主分区(或3个主分区,1个扩展分区和无限制的逻辑驱动器)的MBR磁盘分区的样式相比,GPT磁盘分区样式支持最大卷为18 EB(Exabytes)而且每磁盘的分区数没有上限,只受到操做系统限制(因为分区表自己须要占用必定空间,最初规划硬盘分区时,留给分区表的空间决定了最多能够有多少个分区,IA-64版Windows限制最多有128个分区,这也是EFI标准规定的分区表的最小尺寸)。与MBR分区的磁盘不一样,相当重要的平台操做数据位于分区,而不是位于非分区或隐藏扇区。另外,GPT分区磁盘有备份分区表来提升分区数据结构的完整性。
EFI
可扩展固件接口(英文名Extensible Firmware Interface 或EFI)是一种我的电脑系统规格,用来定义操做系统与系统韧体之间的软件界面,为替代BIOS的升级方案。可扩展固件接口负责加电自检(POST)、连系操做系统以及提供链接操做系统与硬件的接口。
EFI最初由英特尔开发,现时由UEFI论坛来推广与发展。
UEFI
是由EFI1.10为基础发展起来的,它的全部者已再也不是Intel,而是一个称做Unified EFI Form的国际组织,贡献者有Intel,Microsoft,AMI,等几个大厂,属于open source,目前版本为2.1。linux
二 建立一个大于2TB的分区服务器
MBR 与 GPT,都是分区格式,其中MBR最大分区小于等于2TB,而GPT分区没有2TB的限制,理论最大分区18 EB!数据结构
如今咱们知道了要建立一个大于2TB的分区,就不能使用MBR 格式的分区表了,而要使用GPT格式的分区表,咱们最经常使用的fdisk 分区工具就心有余而力不足了,须要使用linux 下的Parted分区工具!ide
测试环境为:工具
Dell R710 2u 服务器oop
cpu 2* XEON 5606 测试
mem 16Gui
disk 6*1TB sas 7200rpmspa
raid raid level 5 perc 6i卡
rhel 6 64bit ,建立一个4TB大小分区
下面正式开始分区:
1 在使用parted 分区以前,咱们先用fdisk -l 来查看下硬盘信息!
2 上边的信息咱们知道 /dev/sdb 4.6TB,如今使用parted 命令,以下图。
3 进入parted 后,执行2,3,4,5,6,7,8,9,10,10,11步骤,指令下边有解释!
4 分区完成后使用print 能够看到刚才分区的信息!大小 4684GB
5 quit 用于退出parted环境,信息提示更新/etx/fstab!
6 再用fdisk -l 来查看下 sdb硬盘,如今已经有sdb1 分区了,注意system gpt!
7 parted 到这里就完成了!
下面格式化/dev/sdb1 文件系统为EXT4:
1 执行 mkfs.ext4 /dev/sdb1 一路回车便可!
更新/etc/fstab :
1.使用blkid 查看分区的uuid 以下图,复制新分区/dev/sdb1的 UUID
2 将 /dev/sdb1的 UUID 添加到 /etc/fstab,/dev/sdb1 挂载在 /data 目录下!
3 至此所有完成, 下面检查一下!
mount -a 从新挂载 /etc/fstab 文件中的记录!
mount 能够发现 /dev/sdb1 已经挂载到 /data 目录下了!
df -h 发现 /data 4.2TB
三 详细介绍下Parted命令
[root@abintel ~]# parted --help
用法:parted [选项]... [设备 [命令 [参数]...]...]
将带有“参数”的命令应用于“设备”。若是没有给出“命令”,则以交互模式运行。
选项:
-h, --help 显示此求助信息
-i, --interactive 在必要时,提示用户
-s, --script 从不提示用户
-v, --version 显示版本
命令:
检查 MINOR 对文件系统进行一个简单的检查
cp [FROM-DEVICE] FROM-MINOR TO-MINOR 将文件系统复制到另外一个分区
help [COMMAND] 打印通用求助信息,或关于 COMMAND 的信息
mklabel 标签类型 建立新的磁盘标签 (分区表)
mkfs MINOR 文件系统类型 在 MINOR 建立类型为“文件系统类型”的文件系统
mkpart 分区类型 [文件系统类型] 起始点 终止点 建立一个分区
mkpartfs 分区类型 文件系统类型 起始点 终止点 建立一个带有文件系统的分区
move MINOR 起始点 终止点 移动编号为 MINOR 的分区
name MINOR 名称 将编号为 MINOR 的分区命名为“名称”
print [MINOR] 打印分区表,或者分区
quit 退出程序
rescue 起始点 终止点 挽救临近“起始点”、“终止点”的遗失的分区
resize MINOR 起始点 终止点 改变位于编号为 MINOR 的分区中文件系统的大小
rm MINOR 删除编号为 MINOR 的分区
select 设备 选择要编辑的设备
set MINOR 标志 状态 改变编号为 MINOR 的分区的标志
注意
mklabel label-type 必须是一下这些类型:
* bsd
* loop (raw disk access)
* gpt
* mac
* msdos
* pc98
* sun
例:(parted) mklabel gtp 或者 (parted) mklabel msdos
mkpart(创建新分区)
格式:mkpart part-type fs-type start end
创建一个新的分区
part-type是如下类型之一 primary(主分区), extended(扩展分区), logical(逻辑分区)。
fs-type来指定文件系统,好比ext4 。
start和end是新分区开始和结束的具体位置。0表示起止,-1表示结尾;或者以mb表示或者GB表示!