mianfeiziyuan 发表于 2019-5-20 20:28:04

linux大于2T的磁盘使用GPT分区方式

一种由基于 Itanium 计算机中的可扩展固件接口 (EFI) 使用的磁盘分区架构。与主启动记录 (MBR) 分区方法相比,GPT 具有更多的优点,因为它允许每个磁盘有多达 128 个分区,支持高达 18 千兆兆字节的卷大小,允许将主磁盘分区表和备份磁盘分区表用于冗余,还支持唯一的磁盘和分区 ID (GUID)。

与支持最大卷为 2 TB (terabytes) 并且每个磁盘最多有 4 个主分区(或 3 个主分区,1 个扩展分区和无限制的逻辑驱动器)的主启动记录 (MBR) 磁盘分区的样式相比,GUID 分区表 (GPT) 磁盘分区样式支持最大卷为 18 EB (exabytes) 并且每磁盘最多有 128 个分区。与 MBR 分区的磁盘不同,至关重要的平台操作数据位于分区,而不是位于非分区或隐藏扇区。另外,GPT 分区磁盘有多余的主要及备份分区表来提高分区数据结构的完整性。

所以在超过2TB时,我不能使用交互很好的Fdisk命令,只能磁盘转化为GPT格式。由于GPT格式的磁盘相当于原来MBR磁盘中原来保留4个 partition table的4*16个字节只留第一个16个字节,其它的类似于扩展分区,真正的partition table在512字节之后,所以对GPT磁盘表来讲没有四个主分区的限制。

对GPT磁盘分区表进行操作,我们要使用parted命令。其实parted功能很强大,它可以象fdisk一样既可用命令行也可以用于交互式。

下面我们就来实际操作吧,在提示符下输入parted就会进入交互式模式

# parted /dev/sdb
GNU Parted 1.8.1
Using /dev/sdb
Welcome to GNU Parted! Type ‘help’ to view a list of commands.

(parted) mklabel gpt
将MBR磁盘格式化为GPT

(parted) mkpart primary 0 100
划分一个起始位置为0大小为100M的主分区

(parted) mkpart primary 100 200
划分一个起始位置为100M大小为100M的主分区

(parted) mkpart primary 0 -1

划分所有空间到一个分区

(parted) print

打印当前分区

(parted) quit

可能还会用到的一些命令

(parted) mklable msdos

如果要反过来.将GPT磁盘转化为MBR磁盘

在这样分完分区后,还要使用mkfs.ext3来进行格式化

#partprobe

#mkfs.ext3 -F /dev/sdb1

记的哦,因为fdisk是不支持GPT磁盘,所以使用fdisk -l来查看磁盘刚才的分区是没有用的.

命令行的模式:

将硬盘转化为GPT磁盘后,执行下列命令

parted /dev/sdx mkpart primary 0 100 ##划分一个起始位置为0大小为100M的主分区。

inux 下用parted就可以使用GPT来分区。

以redhat 4为例:可以使用命令行来创建:

parted /dev/sdb mklabel gpt。 转换成GPT.
parted /dev/sdb mkpart primary 0 3000000创建3T的分区。

然后用mkfs -t ext3 /dev/sdb1格式化mount就可以用了。

不能在可移动媒体,或者在与群集服务使用的共享 SCSI 或 Fibre Channel 总线连接的群集磁盘上使用 GPT 分区样式

----------------------------------------------------------------------------------

   最近由于数据量大,购入1块3T硬盘,买之前虽然也知道2T分区的限制,网上也看到过怎么处理3T硬盘的资料,但实际要用起来还是碰到些问题,好在有因特网,不懂就上网查和学习。

   服务器硬件配置是2007年的,BIOS里可以认出3T硬盘但显示容量是802GB的,操作系统REDHAT AS4.5,用fdisk -l 却查不到3T硬盘的设备信息。出问题的可能一是BIOS设置和版本问题,二是REDHAT AS4.5。通过同机的win2003里识别出3T硬盘是746GB硬盘的情况可以基本排除BIOS的版本和设置问题。

   将LINUX安装升级到CentOS5.3,在安装过程里即提示3TB硬盘的存在。安装完后fdsik -l里可以看出3T硬盘的设备信息。要想将其用起来,还得用parted命令进行,假定3T硬盘为第3块 /dev/sdc1,下面为具体命令和解释

partd /dev/sdc1   (用part命令 对3T硬盘进行分区处理)

mklabel gpt       (用gpt格式可以将3TB弄在一个分区里)

unit TB         (设置单位为TB)

mkpart primary 0 3 (设置为一个主分区,大小为3TB,开始是0,结束是3)

print            (显示设置的分区大小)

quit               (退出parted程序)

mkfs.ext3 /dev/sdc1(用parted将分区做好后,进行格式化操作,完成后即可挂载使用)
页: [1]
查看完整版本: linux大于2T的磁盘使用GPT分区方式