Возникла задача подключить 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
, но это отдельная история.