From this article, you will find about partition size limit on big hard drives
Introduction
At present, all standard images except CentOS 6.x support booting from a hard disk using a GUID partition table (GPT). This GPT is automatically created by the installimage script and is needed in order to bypass the 2 terabyte partition size limit of the older MS-DOS partition table. You can find information about the MS-DOS partition table on Wikipedia.
Usage of MS-DOS partition table with >2TB drives
CentOS 6 and all older images still use the MS-DOS partition table. To allow the usage of the entire 3 terabytes of the new EX model drives, use the standard partitioning scheme of drives larger than 2 terabytes as follows:
PART swap swap 32G
PART /boot ext3 512M
PART / ext4 1024G
PART /home ext4 all
All other servers continue to use this scheme:
PART swap swap 2G
PART /boot ext3 512M
PART / ext4 all
As partitions may only be a maximum of 2 terabytes in size, the remaining storage space needs to be divided up into the previous partitions. For a 3 terabyte drive, at least 1 terabyte (maximum 2 terabytes) needs to be split into the previous partitions. The following scheme would, therefore, be possible:
PART swap swap 32G
PART /boot ext3 512M
PART / ext4 1024G
PART /var ext4 200G
PART /usr ext4 300G
PART /home ext4 all
With the following scheme, the 3 terabytes were not able to be used completely (as the maximum size for a partition is 2 terabytes (/home)):
PART swap swap 32G
PART /boot ext3 512M
PART / ext4 40G
PART /home ext4 all
The following scheme also shows the 3 terabytes not being fully used:
PART swap swap 32G
PART /boot ext3 512M
PART / ext4 40G
PART /var ext4 100G
PART /usr ext4 200G
PART /home ext4 all
This is due to the structure. The last three partitions (/var, /usr, /home) are created in an extended partition, which in turn can only be a maximum of 2 terabytes in size. As the first 3 partitions do not account for at least 1 terabyte of size, it is not possible to completely use them here either.
In this example, as with the previous one, the installimage script limits the maximum partition size to 2 terabytes.
Another possible solution is LVM. It combines the partitions into one large logical volume.
PART swap swap 32G
PART /boot ext3 512M
PART lvm vg0 1024G
PART lvm vg0 all
LV vg0 root / ext4 all
The downside of this setup is the added complexity.
RAID
The size limit only applies to the partition table. This means that a software RAID Level 5, for example, results in a RAID partition of 4 terabytes over three 2 TB partitions. This is not the case when using a hardware RAID controller. In this case, a partition can only be a maximum of 2 terabytes in size.
Hardware RAID controller
In order to be able to use the full capacity of the drives, you need to create two RAID arrays on the same drives — one RAID for the bootable partition, e.g. 200 GB, and one RAID for the remaining drive space.
Example
For this example, 3 x 3 TB drives in a RAID Level 5 scheme have been used. Two RAIDs need to be created.
- One RAID on which the bootable system is to be installed, ~ 200 GB in size.
- One RAID which covers the remaining drive space. In this example ~ 5.8 TB in size.
Adaptec Hardware RAID Controller
For the RAID controller to recognize >2 TB drives, the firmware needs to be built 17911 or later. If this is not the case, then please contact our support team.
RAID 5 of 200 GB for the bootable system:
arcconf create 1 LOGICALDEVICE 200000 5 0 0 0 1 0 2 noprompt
RAID 5 of the remainder of the drives:
arcconf create 1 LOGICALDEVICE MAX 5 0 0 0 1 0 2 noprompt
LSI Hardware RAID Controller
RAID 5 of 200 GB for the bootable system:
megacli -CfgLdAdd -r5 [252:0,252:1,252:2] WB ADRA Cached CachedBadBBU -sz200GB -a0
RAID 5 of the remainder of the drives:
megacli -CfgLdAdd -r5 [252:0,252:1,252:2] WB ADRA Cached CachedBadBBU -a0
Installation and Partitioning
Now you can perform installimage. Some adjustment is necessary here: use only /dev/sda
for drives; you have to comment out the other(s) using #. And you need to switch off Software RAID (set to 0).
After installing the operating system, you can create a partition on the second RAID so that you can use it. Use GPT partition table here instead of the MS-DOS partition table; that enables > 2 TB partitions.
- gdisk /dev/sdb
- n for new partition
- With Enter, accept the default value for the partition number.
- With Enter, accept the default value for the partition start.
- Similarly with Enter, accept the default value for the partition end.
- Enter the hex code for the partition data type (0700 for Linux/Windows data).
- Finally, with w, save the amendments.
You can now format the partition:
mkfs.ext4 /dev/sdb1
Finally, you need to edit the file /etc/fstab
with the following entry:
/dev/sdb1 /mnt ext4 defaults 0 1