With RHEL6 they started using Network Manager which doesn't play so well with manually configured interfaces (e.g. direct edits of ifcfg-eth<#>).
Also it doesn't like the old style of creating aliases e.g manually creating ifcfg-eth2:1 to make an alias IP on eth2 separate from the main IP of eth0. I found it actually treated that as a new interface and would load it in place of the next eth<#> even if I'd defined that so that the IP shown in ifconfig for eth3 would be the one I assigned in ifcfg-eth2:1 rather than the one I'd assigned in ifcfg-eth3.
Instead it adds aliases to the main ifcfg-eth<#>.
You can bounce Network Manager with "service NetworkManager stop" then "service NetworkManager start".
Here we opted to turn off Network Manager alltogether so we could use the old way of doing it. Do the stop above then run
"chkconfig NetworkManager off".
I originally read about this at RedHat's site:
https://access.redhat.com/site/solutions/32652
It has been a while but I think they actually have fixed this issue in later RHEL6.x releases but I haven't had to muck with aliases on recent installs.