Рекомендации по настройке подсистемы ввода-вывода zVirt Node и системы хранения данных YADRO TATLIN.UNIFIED
2. Пояснение
Статья содержит рекомендации по настройке zVirt Node для работы с СХД YADRO TATLIN.UNIFIED. Поддерживаются гостевые ОС семейства Linux и Windows.
Данные рекомендации необходимо выполнить на всех хостах центра данных, к которому подключена система хранения данных TATLIN.UNIFIED.
3. Настройка параметров блочных устройств на уровне гипервизора
-
Создайте конфигурационный файл /etc/udev/rules.d/70-tatlin.rules:
# Set SCSI command timeout for TATLIN devices to 120 seconds and nr_requests to 128 ACTION=="add|change", SUBSYSTEM=="block", ENV{ID_VENDOR}=="YADRO", \ ENV{ID_MODEL}=="TATLIN", ATTR{device/timeout}="120", ATTR{queue/nr_requests}="128" -
Создайте конфигурационный файл /etc/udev/rules.d/71-tatlin-dm_mpath.rules:
# Set dm-mpath device nr_requests to 256 and scheduler to none SUBSYSTEM!="block", GOTO="end_rule" ENV{DEVTYPE}=="partition", GOTO="end_rule" ACTION!="add|change", GOTO="end_rule" ATTR{model}!="TATLIN" KERNEL=="dm-[0-9]*", ATTR{queue/nr_requests}="256", ATTR{queue/scheduler}="none" LABEL="end_rule" -
Примените новые параметры путем перезагрузки zVirt Node или выполните следующие команды:
lsblk -nd --output NAME,MODEL | grep TATLIN | while read disk_name vendorid; do echo -n "Disk: $disk_name VendoID:$vendorid CMD:"; cmd="echo 120 > /sys/block/$disk_name/device/timeout && echo 128 > /sys/block/$disk_name/queue/nr_requests"; echo $cmd; eval $cmd; done multipath -ll | grep YADRO | while read mpath dm vendor; do echo -n "Mpath:$mpath DM:$dm Vendor:$vendor CMD:"; cmd="echo 256 > /sys/devices/virtual/block/$dm/queue/nr_requests && echo none > /sys/devices/virtual/block/$dm/queue/scheduler"; echo $cmd; eval $cmd; done
4. Настройка многопутевого ввода-вывода на уровне гипервизора
-
Создайте конфигурационный файл /etc/multipath/conf.d/tatlin.conf:
devices { device { vendor "YADRO" product "TATLIN" path_grouping_policy "multibus" path_selector "service-time 0" path_checker "tur" no_path_retry 32 max_sectors_kb 1024 } } -
Перезагрузите службу
multipathd:systemctl reload multipathd
5. Настройка параметров сервиса sanlock на уровне гипервизора
-
Создайте конфигурационный файл /etc/vdsm/vdsm.conf.d/extended-io-timeout.conf:
# Configuration for YADRO storage. [sanlock] io_timeout = 25 -
Переведите гипервизор в режим обслуживания и перезапустите сервисы
vdsmd:systemctl restart vdsmd.service supervdsmd.service
|
После перезапуска сервиса гипервизор необходимо вывести из режима обслуживания. |
6. Настройка параметров timeout гостевых ОС
6.1. Настройка параметров timeout ОС семейства Linux
-
Создайте конфигурационный файл /etc/udev/rules.d/70-tatlin.rules:
# Set SCSI command timeout for TATLIN devices to 120 seconds ACTION=="add|change", SUBSYSTEM=="block", ENV{ID_VENDOR}=="QEMU", ATTR{device/timeout}="120" -
(Опционально) Если к виртуальной машине подключены диски от других СХД, отличных от YADRO TATLIN.UNIFIED, для которых требуется таймаут по умолчанию (30 секунд), добавьте исключения одним из способов:
-
По имени устройства (например, для
sdb):ACTION=="add|change", KERNEL=="sdb", ATTR{device/timeout}="30" -
По серийному номеру устройства (например, для
0QEMU_QEMU_HARDDISK_692793c1-9f38-47d0-a953-98fc551c2357):ACTION=="add|change", KERNEL=="sd*", ENV{ID_SERIAL}=="0QEMU_QEMU_HARDDISK_692793c1-9f38-47d0-a953-98fc551c2357", ATTR{device/timeout}="30"Получить серийный номер устройства можно с помощью команды:
udevadm info --query=all --name=/dev/sdd | grep "ID_SERIAL="
-
-
(Опционально) Если к виртуальной машине подключен том СХД TATLIN.UNIFIED как Direct LUN с включенным интерфейсом SCSI (Enable SCSI Pass-Through), добавьте правило для устройств с идентификатором (ID_VENDOR) YADRO:
ACTION=="add|change", SUBSYSTEM=="block", ENV{ID_VENDOR}=="YADRO", ENV{ID_MODEL}=="TATLIN", ATTR{device/timeout}="120", ATTR{queue/nr_requests}="128" -
Перезагрузите виртуальную машину:
reboot