martes, 5 de noviembre de 2013

Función para obtener los WWN de las HBA en RHEL 4, 5 y 6


Con este script se pueden obtener las portname de hba en cualquier version de RHEL

#!/usr/bin/env bash
get_redhat_release()
{    
    echo $(awk '{print $7}' /etc/redhat-release |sed -e "s/.[0-9]//g")
}

get_HBA_RHEL4()
{
    model=$(lsmod |egrep "^ql.2xxx" | awk '{print $1}')
    grep adapter-port /proc/scsi/$model/* |sed -e "s/^.*://g" -e "s/;//" -e "s/=/  /g" -e "s/-adapter-port//g"
}

get_HBA_RHEL5()
{
    for fc_host in $(ls /sys/class/fc_host)
    do
        echo $fc_host $(cat /sys/class/fc_host/${fc_host}/port_name |sed "s/^0x//g")
    done
}

get_HBA_WWN()
{
    case "$(get_redhat_release)" in
        4)
            get_HBA_RHEL4
        ;;
        5)
            get_HBA_RHEL5
        ;;
        6)
            get_HBA_RHEL5
        ;;
    esac
}


Ya nos vale llamar a la funcion get_HBA_WWN para que nos entregue la información requerida:

RHEL 5 y 6

get_HBA_WWN
host1 10008c7cff20c522
host2 10008c7cff20c523
host3 10008c7cff20c4c2
host4 10008c7cff20c4c3


RHEL 4
get_HBA_WWN
scsi-qla0  210000e08b8aef37
scsi-qla1  210000e08b866cc2