Мар 252016
 

Возникла задача подключить LUN'ы с массива EMC VNX (в девичестве - Clariion) к серверу на Oracle Linux Server release 6.7. Операция тривиальная за исключением нескольких мелочей.

Итак, сперва нам поднадобится пара пакетов. Названия говорят сами за себя.

yum install lsscsi device-mapper-multipath

Чтобы у нас сложился диалог с администраторами СХД (сети хранения данных), то нам понадобися узнать и сообщить им WWN портов адаптеров Fibre Cannel, установленных на сервере. WWN в СХД - это аналог MAC-адреса в Ethernet.

$ cat /sys/class/fc_host/host2/port_name
0x5001438036837cf2 
$ cat /sys/class/fc_host/host1/port_name
0x5001438036837cf0

Когда тома презентуют на наш хост, нужно принудительно пересканировать адаптеры, чтобы тома появились в /dev.

echo "- - -" > /sys/class/scsi_host/host0/scan 
echo "- - -" > /sys/class/scsi_host/host1/scan 
echo "- - -" > /sys/class/scsi_host/host2/scan 
echo "- - -" > /sys/class/scsi_host/host3/scan 
echo "- - -" > /sys/class/scsi_host/host4/scan

Смотрим, что получилось:

$ lsscsi 
[0:0:0:0]    disk    HP       LOGICAL VOLUME   3.00  /dev/sda 
[0:3:0:0]    storage HP       P244br           3.00  -       
[1:0:1:0]    disk    DGC      LUNZ             0532  /dev/sdd 
[1:0:1:1]    disk    DGC      VRAID            0532  /dev/sdc 
[1:0:1:2]    disk    DGC      VRAID            0532  /dev/sde 
[1:0:1:3]    disk    DGC      VRAID            0532  /dev/sdf 
[2:0:0:0]    disk    DGC      LUNZ             0532  /dev/sdb 
[2:0:0:1]    disk    DGC      VRAID            0532  /dev/sdg 
[2:0:0:2]    disk    DGC      VRAID            0532  /dev/sdh 
[2:0:0:3]    disk    DGC      VRAID            0532  /dev/sdi 

Строчки, выделенные жирным - это так называемый LUNZ, некое псевдоустройство, которое массив отдаёт хосту. Используется этот LUNZ только специфическим софтом от EMC, и если этот софт не установлен, то нам это устройство ни к чему. Самое неприятное, что на Linux LUNZ всегда подменяет собой один их нормальных томов (т.е. томов будет на один меньше), поэтому его нужно убрать.

for i in $(ls /sys/class/scsi_device/)
do
    grep -q LUNZ /sys/class/scsi_device/$i/device/model && {
        echo deleting bdev $i
        echo 1 > "/sys/class/scsi_device/$i/device/delete"
    }
done

Этот скрипт удалит ненужное устройство, после чего снова надо пересканировать адаптеры:

echo "- - -" > /sys/class/scsi_host/host0/scan 
echo "- - -" > /sys/class/scsi_host/host1/scan 
echo "- - -" > /sys/class/scsi_host/host2/scan 
echo "- - -" > /sys/class/scsi_host/host3/scan 
echo "- - -" > /sys/class/scsi_host/host4/scan

Теперь посмотрим тома:

$ lsscsi 
[0:0:0:0]    disk    HP       LOGICAL VOLUME   3.00  /dev/sda 
[0:3:0:0]    storage HP       P244br           3.00  -       
[1:0:1:0]    disk    DGC      VRAID            0532  /dev/sdd 
[1:0:1:1]    disk    DGC      VRAID            0532  /dev/sdc 
[1:0:1:2]    disk    DGC      VRAID            0532  /dev/sde 
[1:0:1:3]    disk    DGC      VRAID            0532  /dev/sdf 
[2:0:0:0]    disk    DGC      VRAID            0532  /dev/sdb 
[2:0:0:1]    disk    DGC      VRAID            0532  /dev/sdg 
[2:0:0:2]    disk    DGC      VRAID            0532  /dev/sdh 
[2:0:0:3]    disk    DGC      VRAID            0532  /dev/sdi

"И увидел он, что это хорошо."

Теперь можно настраивать multipathd, но это отдельная история.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">

(обязательно)

(обязательно)