Ok.
Thanks to everyone who tried to help.
It seems like this had not much to do with ubuntu, and was basically a BIOS bug.
Some Gigabyte motherboards write a copy of their BIOS to hard disks immediately when the disks are connected. So, simply by connecting a new HD on the motherboard it is likely that it will be written to, and HPA will be activated reducing the size of the disk.
Ubuntu 10.04 by default ignores HPA (libata.ignore_hpa=1 kernel parameter) and so treated the whole disk as if it had not HPA activated, using all the sectors from the disk.
Ubuntu 14.04 by default honors HPA (libata.ignore_hpa=0 kernel parameter) and so treated the disk as if it was smaller than it actually is.
The disks were originally partitioned form 10.04 for the total sum of sectors. Changing the cabling resulted in finally activating HPA on all the disks of the RAID.
I was very lucky because the original partitioning did not use all the available space, but had left enough space at the end of the drive for the sectors that HPA was stealing. I dont know why, perhaps it was aligning to the cylinder previous to last.
The workaround I concluded to, was to repartition the drives as if they were smaller than they actually are, as big as they are made to be by HPA. I boot to 14.04 and fixed the partitions with gedit.
THE PROCESS WAS VERY DANGEROUS AND COULD POTENTIALLY DESTROY ALL MY DATA.
DO NOT REPEAT IT IF YOU CARE ABOUT THE CONTENTS OF THE DRIVES.
After I fixed all three drives both OS's could use the raid, so I actually installed 14.04 on hard disk. When I booted at 10.04 the partitioning utilities complained that I was not using all of the disk, but would ask before changing anything so no harm done. To fix this little inconvenience I added libata.ignore_hpa=0 to the kernel parameters of my /etc/default/grub.conf for 10.04 and updated grub.
For the sake of history only, here is the DANGEROUS process I used to convert the drives partition scheme for /dev/sda (it was the same for all drives):
root@ubuntu:/cdrom/HPA_recovery# gdisk /dev/sda
GPT fdisk (gdisk) version 0.8.8
Warning! Disk size is smaller than the main header indicates! Loading
secondary header from the last sector of the disk! You should use 'v' to
verify disk integrity, and perhaps options on the experts' menu to repair
the disk.
Caution: invalid backup GPT header, but valid main header; regenerating
backup header from main header.
Warning! One or more CRCs don't match. You should repair the disk!
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: damaged
****************************************************************************
Caution: Found protective or hybrid MBR and corrupt GPT. Using GPT, but disk
verification and recovery are STRONGLY recommended.
****************************************************************************
Command (? for help): ?
b back up GPT data to a file
c change a partition's name
d delete a partition
i show detailed information on a partition
l list known partition types
n add a new partition
o create a new empty GUID partition table (GPT)
p print the partition table
q quit without saving changes
r recovery and transformation options (experts only)
s sort partitions
t change a partition's type code
v verify disk
w write table to disk and exit
x extra functionality (experts only)
? print this menu
Command (? for help): r
Recovery/transformation command (? for help): ?
b use backup GPT header (rebuilding main)
c load backup partition table from disk (rebuilding main)
d use main GPT header (rebuilding backup)
e load main partition table from disk (rebuilding backup)
f load MBR and build fresh GPT from it
g convert GPT into MBR and exit
h make hybrid MBR
i show detailed information on a partition
l load partition data from a backup file
m return to main menu
o print protective MBR data
p print the partition table
q quit without saving changes
t transform BSD disklabel partition
v verify disk
w write table to disk and exit
x extra functionality (experts only)
? print this menu
Recovery/transformation command (? for help): d
Recovery/transformation command (? for help): p
Disk /dev/sda: 5860531055 sectors, 2.7 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): 2D50CD70-85F5-46FE-85B3-35A027E3C828
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 5860533134
Partitions will be aligned on 8-sector boundaries
Total free space is 5070 sectors (2.5 MiB)
Number Start (sector) End (sector) Size Code Name
1 34 73658024 35.1 GiB EF00
2 73722285 5860528064 2.7 TiB FD00
3 73658025 73722284 31.4 MiB EF02
Recovery/transformation command (? for help): x
Expert command (? for help): ?
a set attributes
c change partition GUID
d display the sector alignment value
e relocate backup data structures to the end of the disk
g change disk GUID
h recompute CHS values in protective/hybrid MBR
i show detailed information on a partition
l set the sector alignment value
m return to main menu
n create a new protective MBR
o print protective MBR data
p print the partition table
q quit without saving changes
r recovery and transformation options (experts only)
s resize partition table
t transpose two partition table entries
u Replicate partition table on new device
v verify disk
w write table to disk and exit
z zap (destroy) GPT data structures and exit
? print this menu
Expert command (? for help): e
Relocating backup data structures to the end of the disk
Expert command (? for help): ?
a set attributes
c change partition GUID
d display the sector alignment value
e relocate backup data structures to the end of the disk
g change disk GUID
h recompute CHS values in protective/hybrid MBR
i show detailed information on a partition
l set the sector alignment value
m return to main menu
n create a new protective MBR
o print protective MBR data
p print the partition table
q quit without saving changes
r recovery and transformation options (experts only)
s resize partition table
t transpose two partition table entries
u Replicate partition table on new device
v verify disk
w write table to disk and exit
z zap (destroy) GPT data structures and exit
? print this menu
Expert command (? for help): v
Caution: The CRC for the backup partition table is invalid. This table may
be corrupt. This program will automatically create a new backup partition
table when you save your partitions.
Caution: Partition 1 doesn't begin on a 8-sector boundary. This may
result in degraded performance on some modern (2009 and later) hard disks.
Caution: Partition 2 doesn't begin on a 8-sector boundary. This may
result in degraded performance on some modern (2009 and later) hard disks.
Caution: Partition 3 doesn't begin on a 8-sector boundary. This may
result in degraded performance on some modern (2009 and later) hard disks.
Consult http://www.ibm.com/developerworks/linux/library/l-4kb-sector-disks/
for information on disk alignment.
Identified 1 problems!
Expert command (? for help): x
a set attributes
c change partition GUID
d display the sector alignment value
e relocate backup data structures to the end of the disk
g change disk GUID
h recompute CHS values in protective/hybrid MBR
i show detailed information on a partition
l set the sector alignment value
m return to main menu
n create a new protective MBR
o print protective MBR data
p print the partition table
q quit without saving changes
r recovery and transformation options (experts only)
s resize partition table
t transpose two partition table entries
u Replicate partition table on new device
v verify disk
w write table to disk and exit
z zap (destroy) GPT data structures and exit
? print this menu
Expert command (? for help): p
Disk /dev/sda: 5860531055 sectors, 2.7 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): 2D50CD70-85F5-46FE-85B3-35A027E3C828
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 5860531021
Partitions will be aligned on 8-sector boundaries
Total free space is 2957 sectors (1.4 MiB)
Number Start (sector) End (sector) Size Code Name
1 34 73658024 35.1 GiB EF00
2 73722285 5860528064 2.7 TiB FD00
3 73658025 73722284 31.4 MiB EF02
Expert command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sda.
The operation has completed successfully.
root@ubuntu:/cdrom/HPA_recovery# gdisk /dev/sda
GPT fdisk (gdisk) version 0.8.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): q
Again, thanks to everyone for all the help.
sudo fdisk -l
on 14.04?fdisk -l /dev/sda Disk /dev/sda: 2.7 TiB, 3000591900160 bytes, 5860531055 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: dos Disk identifier: 0x00000000 Device Boot Start End Sectors Size Id Type /dev/sda1 1 4294967295 4294967295 2T ee GPT Partition 2 does not start on physical sector boundary.