Уведомление для заказчиков системы хранения SC. Linux большие объемы операций ввода-вывода могут повлиять на доступность iSCSI тома
Summary: В распространение Oracle Enterprise Linux было введено Последнее изменение ядра, которое изменяет поведение вычислений ввода-вывода на блочных устройствах.
Symptoms
Предупреждение
Эти изменения описаны ниже.
Oracle Linux 6/7:
Елса-2015-3098 — неразделяемая Системная безопасность для ядра и бугфикс Update
http://linux.oracle.com/errata/ELSA-2015-3098.html
Дата выпуска/ 2015-11-13
[3.8.13 -100. el6uek/3.8.13 -100. el7uek]
блок: снятие артификал max_hw_sectors Cap (Чристоф Хеллвиг) [Орабуг: 21511611]
Oracle Linux 5.
ЕЛБА-2015-3076 — неразделяемая ошибка ядра Enterprise Fix Update
http://linux.oracle.com/errata/ELBA-2015-3076.html
Дата выпуска/ 2015-08-27
[2.6.39-400.260.1. el5uek]
блок: снятие артификал max_hw_sectors Cap (Джо Джин) [Орабуг: 21455630]
Краткое описание:
Каждому блочному устройству, существующему в Linux системе, выделяется каталог очереди (расположен по адресу /СИС/блокк/кскскс/куеуе/). Этот каталог содержит несколько файлов конфигурации. Подробные сведения об этих файлах можно найти по адресу:
https://www.kernel.org/doc/Documentation/block/queue-sysfs.txt
Два параметра, которые важны для данного КСТА:
max_hw_sectors_kb
Максимальное количество Кбайт, поддерживаемое при одной передаче данных.
Этот параметр доступен только для чтения и предоставляется целевым устройством хранения данных с помощью ответа на запрос SCSI. Подсистема SCSI целевой системы в операционной системе Storage Center (SCOS) в настоящее время реагирует на ноль. Это указывает на отсутствие ограничения, поэтому для сервера устанавливается максимально допустимое значение в пределах этой версии ядра Linux (32MB).
max_sectors_kb
Максимальное количество Кбайт, в течение которых блочный уровень будет допускаются для запроса файловой системы.
Это значение доступно для чтения и записи. Это значение должно быть меньше или равно значению max_hw_sectors_kb.
Изменения в ядре Oracle Linux, которые были введены в ядре 2.6.39-400.260.1. el5uek, 3.8.13-100. el6uek и 3.8.13-100. el7uek изменился способ вычисления max_sectors_kb. В предыдущих выпусках ядра для этого параметра всегда было задано значение 512 Кбайт. После этого изменения для max_sectors_kb задается значение max_hw_sectors_kb. Таким показателем увеличился максимальный размер одной операции ввода-вывода на данное блочное устройство из 512 Кбайт в 32MB.
Это изменение покрывает проблему с драйвером Storage Center 10 Гбит/с iSCSI для размера операций ввода-вывода, превышающих 8 МБАЙТ. Серверный процесс, производящий большой ввод-вывод, может зависнуть или может стать недоступным в связи с большим размером операций ввода-вывода. Кроме того, неполадка драйвера 10 Гбит/с iSCSI может привести к тому, что контроллер потребляет память, необходимую другим подсистемам Storage Center, что может привести к увеличению воздействия.
Временное решение
Чтобы избежать этой проблемы, max_sectors_kb для каждого блочного устройства необходимо динамически изменить на сервере Linux. Ниже приведены примеры команд для многопутевого блочного устройства, подключенного к системе Linux:
#mpath1.
echo 512 >/sys/Block/DM-6/Queue/max_sectors_kb
echo 512 >/СИС/блокк/СДК/куеуе/max_sectors_kb
echo 512 >/СИС/блокк/сде/куеуе/max_sectors_kb
echo 512 >/СИС/блокк/СДК/куеуе/max_sectors_kb
echo 512 >/СИС/блокк/СДМ/куеуе/max_sectors_kb
Эти изменения не сохраняются с помощью перезагрузок. Если загружается указанный сервер, можно выполнить скрипт инициализации, который изменит этот параметр для всех блочных устройств iSCSI. Обратитесь к администратору Linux или Oracleу, чтобы оптимально реализовать эту устойчивую среду для каждой клиентской среды.
Следующий скрипт (правило удев) задает max_sectors_kb всех подключенных iSCSI томе Compellent в 512 Кбайт. Используйте этот сценарий по собственному усмотрению, так как никаких гарантий или гарантий не предполагается. Рекомендуется тестировать скрипт, но он должен работать без проблем.
Создайте файл 99-КМЛ-iSCSI. правила в каталоге /ЕТК/удев/рулес.д/ со следующим содержанием:
[root@localhost/] # cat/etc/udev/Rules.d/99-CML-iSCSI.rules
# Modify max_sectors_kb для Dell Storage Center iSCSI сопоставленных томов
ДЕЙСТВИЕ = = "Добавить", \
ENV = = "*-iSCSI-* compellent *", \
RUN + = "/бин/ш-c" Echo 512 >/СИС $ DEVPATH/Queue/max_sectors_kb "»
Затронутые версии
Все версии SCOS повлияли на использование интерфейсов 10 Гбит/с iSCSI. Не затрагиваются iSCSI Fibre Channel, 1 Гбайт и FCoE.
Способ устранения
Проблема с max_sectors_kbустранена в SCOS версиях 7.01.12, 7.02.01 и 7.03.01 и более поздних версий.
Изменения доступны в SCOS 6.07.03 и выше для устранения проблем с потреблением памяти с драйвером 10 Гбит/с iSCSI.