У меня есть экземпляр EC2, который настроен для подключения к тому шлюза тома, настроенному с помощью сервиса AWS Storage Gateway. Экземпляр подключается к интерфейсу iSCSI, предоставляемому шлюзом томов, через Инициатор iSCSI (предоставляется пакетом open-iscsi
APT).
Недавно Amazon связался с нами, чтобы предупредить нас об обновлении, которое они выкатили на наш хост Storage Gateway, что может привести к некоторому простою. Чтобы минимизировать риск сбоев, Amazon рекомендует увеличить очередь запросов iSCSI и тайм-ауты дисков, используемые для шлюза томов. Тем не менее, инструкции, которые они предоставляют о том, как это сделать, относятся к Windows и RHEL.
Кто-нибудь знает лучший способ настроить диск iSCSI и запрос тайм-аутов, как он используется инициатором iSCSI в Ubuntu 16.04?
После небольшого эксперимента и чтения справочных страниц для утилиты iscsiadm
в Ubuntu 16.04 я нашел следующее решение:
Для тайм-аутов очереди запросов iSCSI я изменил следующие записи в /etc/iscsi/iscsid.conf
, к точным значениям , предложенным AWS в их документации для RHEL :
node.session.timeo.replacement_timeout = 600
node.conn[0].timeo.noop_out_interval = 60
node.conn[0].timeo.noop_out_timeout = 600
Чтобы загрузить в этих настройках, я запустил следующее, чтобы очистить и снова заполнить базу данных обнаружения iSCSI. :
sudo iscsiadm -m discoverydb -t sendtargets -p [GATEWAY_IP]:3260 -o delete
sudo /sbin/iscsiadm --mode discovery --type sendtargets --portal 10.79.1.4:3260
Замена [GATEWAY_IP]
на IP-адрес, используемый для подключения к моему хосту шлюза хранения.
Затем я проверил, что обновленные значения времени ожидания были получены, запустив:
sudo iscsiadm --mode node --op show
Для настройки времени ожидания диска я создал новый файл правил udev, /etc/udev/rules.d/60-storage-gateway.rules
, содержащий то же правило, предложенное AWS. для RHEL 6/7:
ACTION=="add", SUBSYSTEMS=="scsi" , ATTRS{model}=="Storage Gateway",
RUN+="/bin/sh -c 'echo 600 > /sys$DEVPATH/timeout'"
Затем я заставил udev перенастроить диск iSCSI тома шлюза томов (в моем случае /dev/sda
), выполнив:
udevadm test /sys/block/sda
Затем я был проверен новое значение тайм-аута было правильно настроено с помощью команды:
cat /sys/block/sda/device/timeout