[CentOS] creating partitions on a 2.7TB drive

Khusro Jaleel mailing-lists at kerneljack.com
Tue Feb 23 15:38:10 UTC 2010

Hello, sorry for the long email, it's a little hard to explain this issue. The gist of it is that the Ubuntu version of parted allowed me to do something which perhaps should not be allowed i.e. creating partitions on a 2.7TB drive when the partition table is not *gpt* but *msdos*.

I am trying to configure 2 identical servers, both are Dell Poweredge 2970 machines with 6 disks in them configured as a RAID 5 with one hotspare, and both give me 2.726TB of space after the RAID 5 is configured. There are slight differences between the BIOS versions and Firmware versions of the LSI disk controller, etc but I'm not sure that matters in this case.

Now, I setup server "A" a few months ago and for some reason that I don't remember now I resorted to using a Ubuntu 64-bit LiveCD to create the partitions. Since the disk is larger than 2TB, I had to use 'parted' to create the partitions. So I happily created the partitions I wanted which are below:

/		50 GB
/var		20 GB
/data		the remainder (a large partition)

Now, after a few months I forgot all about the Ubuntu LiveCD and tried to setup server "B" using the CentOS 5.3 x86_64 CD. However the installer immediately complained that "this disk in using a GPT partition table and this computer cannot boot using GPT" and it keeps saying this no matter what I do. I've tried creating a separate /boot partition, using LVMs for everything, etc but nothing works, even "dd" did not give me much luck, although perhaps I should try deleting the "end" of the disk rather than the beginning?

I have now noticed that when press Ctrl-Alt-F2 on server "B" during the CentOS install and attempt to use 'parted' it says that the "label" type is "gpt". It allows me to create new partitions, etc but it's no help because the installer keeps complaining that the machine will not boot with a GPT partition table. So I need to really use a "msdos" partition type to boot this machine successfully, but the CentOS version of parted will not allow me to do that.

The additional mystery is that if I check server "A" which I partitioned a few months ago using Ubuntu, the "label" type is "msdos"!! How is that possible? In addition if I use the CentOS CD and try to use parted on server "A" now, it gives the following error:

# parted
GNU Parted 1.8.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p                                                                
Error: msdos labels do not support devices that have more than 4294967295 sectors.

BUT if I reboot this same server (server A) again using the Ubuntu LiveCD parted works just fine! It prints the label type as "msdos", and it prints the above partition table correctly and gives me the right size for it and everything.

So what is going on here? Is the Ubuntu parted somehow buggy and allowing me to do something dangerous that I will regret later, or can I just ignore the label setting in parted and continue to setup Server "B" the same as "A" and hope for the best?

I would appreciate any insights.

More information about the CentOS mailing list