Linux下超大硬盘分构(gpt分区)
安装CentOS 5.3 时,遇到的问题:
硬件环境:Dell R710,6块SATA 1T容量、7.2k转的磁盘,6i RAID卡。
问题:将前5块盘做的RAID5,共4T左右的存储容量。将第六块盘做的全局热备。
安装CentOS5.3时提示:
Your boot partition is on a disk using the GPT partitioning Scheme but this machines cannot boot using GPT.
解决方法:
1. 通过RAID卡为系统/boot分区建立单独的小容量设备sda,将/dev/sda使用MBR格式的分区表建立分区;将其他空间分配到设备sdb上,使用parted建立GPT格式分区(fdisk不支持GPT格式)。
2. 根据下表,对Linux系统启动过程的分析,判断应该是CentOS 5.3的grub版本过低,从而不支持从GPT分区引导系统,为grub打上 应该同样能解决问题。
MBR格式的分区表,有一定的局限性,比如:最大分区不超过2T,一个MBR只能记录四个主分区(扩展分区+逻辑分区,为扩展解决方案)。
当分区大于2T时,需要使用GPT格式的分区表。
使用parted:
1. 建立分区表
mklabel / mktable??LABEL-TYPE?? create a new disklabel (partition table)
注意该操作会破坏分区表,谨慎操作!
LABEL-TYPE 支持以下几种类型(man parted):
bsd”, “dvh”, “gpt”, “loop”, “mac”, “msdos”, “pc98″ or “sun”.
2.?建立分区
mkpart PART-TYPE [FS-TYPE] START END???? make a partition
mkpartfs PART-TYPE FS-TYPE START END???? make a partition with a file system
3. 建立文件系统
mkfs NUMBER FS-TYPE???? make a FS-TYPE file system on partititon NUMBER
支持以下几种类型(man parted) fat16″, “fat32″, “ext2″, “linux-swap”? or? “reiserfs”。不支持的文件系统,可以在退出parted之后,使用mkfs来建立。
4. 命名分区
name NUMBER NAME???????? name partition NUMBER as NAME
例:name 1 /boot
5. 设置分区标志(比如Boot Flag)
toggle [NUMBER [FLAG]]??? toggle the state of FLAG on partition NUMBER
toggle 1 boot
toggle 使用类似开关一样的方式设置FLAG,执行一次,修改一次状态。比如当前状态为空时,toggle 1 boot 是将第1个分区设置成boot,再执行一次toggle 1 boot时,boot FLAG被去掉。
也可以使用set 1 boot on/off 来设置。
6.其他命令
help 输出帮助信息
print 输出当前分区信息
参考:
parted的用法