Why is my SSD disk not reconized by the RHEL6 anaconda installer?

Solution Verified - Updated -

Environment

  • Red Hat Enterprise Linux (RHEL) 6
  • SSD disk

Issue

  • Why is my SSD disk not reconized by the RHEL6 anaconda installer? Installing RHEL5.9 works, but for RHEL6.4 or 6.3 I only see "Could not allocate requested partitions: unable to allocate aligned partition".
  • When installing RHEL6.4 on a different disks, I can access this SSD, see partitions and mount filesystems.

Resolution

An update of the firmware of the SSD drive fixed the issue.

Root Cause

The error message means that it got the alignment problem of the specified partition.

The size of the specified partition was smaller than the alignment grain size of the SSD device, and as a result of the alignment it got the partition size of 0.

So in this case the SSD was properly recognized. Before creating the desired partitions, it removed the pre-existing partitions. Right after removing the old partitions, it stopped with the error message - before creating any new partitions. As a result, when the problem occurs, the device didn't have any partitions. This looks like an issue with detection of the device itself, but it is not.

The SSD device was reporting an incorrect optimal_io_size size, leading to the issue:

# cat    /sys/dev/block/8:0/queue/optimal_io_size
4294966784

Diagnostic Steps

(Assuming that /dev/sda is the SSD)

>>> import parted
>>> sda = parted.Device(path="/dev/sda")
>>> disk = parted.Disk(device=sda)
>>> print sda.biosGeometry
>>> print disk.partitionAlignment
>>> print sda.optimumAlignment
>>> print sda.minimumAlignment
>>> print sda.optimumAlignment.intersect(disk.partitionAlignment)

The device's optimal grain size was 8388607.

>>> print sda.optimumAlignment
parted.Alignment instance --
  offset: 0  grainSize: 8388607   <<====
  PedAlignment: <_ped.Alignment object at 0x1ba3550>

And, it can be confirmed via sysfs.

# cat    /sys/dev/block/8:0/queue/optimal_io_size
4294966784

NOTE: 4294966784/512 = 8388607 sectors

fdisk -lu is also useful to check it.

The is the useful documentation regarding to the optimal io size.
http://people.redhat.com/msnitzer/docs/io-limits.txt

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.