Ошибка ввода-вывода подключения FC хранилища

Вопрос или проблема

У меня есть два сервера HP Proliant DL360 на базе Proxmox VE 8.3 и хранилище Dell MD3600f. Серверы подключены к хранилищу с использованием подключения точка-точка, так как мой MD3600f имеет только один рабочий RAID-контроллер, поэтому здесь нет многопутевого подключения и избыточности.

Хранилище распознается серверами как блочное устройство.

NAME MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sdb    8:16   0  3.6T  0 disk 

Перед настройкой хранилища Proxmox я обнаружил множество ошибок драйвера во время операций ввода-вывода, например:

Запись

# dd if=/dev/zero of=/dev/sdb bs=10M count=1 status=progress
1+0 records in
1+0 records out
10485760 bytes (10 MB, 10 MiB) copied, 90.7914 s, 115 kB/s

# dmesg
[  449.015963] qla2xxx [0000:08:00.0]-801c:1: Abort command issued nexus=1:0:10 -- 2002.
[  479.224174] qla2xxx [0000:08:00.0]-801c:1: Abort command issued nexus=1:0:10 -- 2002.
[  479.232853] sd 1:0:0:10: [sdb] tag#1358 FAILED Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK cmd_age=60s
[  479.232872] sd 1:0:0:10: [sdb] tag#1358 CDB: Write(16) 8a 00 00 00 00 00 00 00 3e 08 00 00 00 e8 00 00
[  479.232878] I/O error, dev sdb, sector 15880 op 0x1:(WRITE) flags 0x800 phys_seg 29 prio class 0
[  479.232888] buffer_io_error: 246 callbacks suppressed
[  479.232893] Buffer I/O error on dev sdb, logical block 1985, lost async page write
# ^^ repeats 10 times
[  479.234889] sd 1:0:0:10: [sdb] tag#1359 FAILED Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK cmd_age=60s
[  479.234904] sd 1:0:0:10: [sdb] tag#1359 CDB: Write(16) 8a 00 00 00 00 00 00 00 3e f0 00 00 00 d8 00 00
[  479.234909] I/O error, dev sdb, sector 16112 op 0x1:(WRITE) flags 0x800 phys_seg 27 prio class 0
# ^^ repeats 8 times

Чтение

root@pve1-meteor:~# dd if=/dev/sdb of=/dev/null bs=10M count=1 status=progress
10485760 bytes (10 MB, 10 MiB) copied, 3 s, 3.2 MB/s
1+0 records in
1+0 records out
10485760 bytes (10 MB, 10 MiB) copied, 3.31766 s, 3.2 MB/s
root@pve1-meteor:~# dmesg
[ 1050.046138] qla2xxx [0000:08:00.0]-503f:1: Driver ELS logo IOCB Done hdl=670 comp_status=0x31
[ 1050.046151] qla2xxx [0000:08:00.0]-503f:1: subcode 1=0x7 subcode 2=0x1 bytes=0x74 000001 -> 000002
[ 1050.136733] qla2xxx [0000:08:00.0]-500b:1: LOOP DOWN detected (4 3 0 0).
[ 1050.197533] qla2xxx [0000:08:00.0]-500a:1: LOOP UP detected (8 Gbps).
[ 1050.940575] sd 1:0:0:10: Power-on или сброс устройства произошел
[ 1051.186020] qla2xxx [0000:08:00.0]-301f:1: Обнаружены потерянные кадры (0x111000 из 0x140000 байт).
[ 1051.186072] sd 1:0:0:10: [sdb] tag#1733 FAILED Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK cmd_age=3s
[ 1051.186083] sd 1:0:0:10: [sdb] tag#1733 CDB: Read(16) 88 00 00 00 00 00 00 00 50 00 00 00 0a 00 00 00
[ 1051.186088] I/O error, dev sdb, sector 20480 op 0x0:(READ) flags 0x80700 phys_seg 21 prio class 0

Я не обнаружил особой зависимости от размера блока, иногда я мог записывать 1G со скоростью 60 MB/s.

Пожалуйста, подскажите, как исследовать дальше и в чем может быть причина.

Ответ или решение

В вашей ситуации с ошибками ввода-вывода (I/O) при работе с FC-подключением к хранилищу важно тщательно диагностировать и решать проблему, чтобы избежать потерь данных и обеспечить стабильную работу системы. Ваша конфигурация включает серверы HP ProLiant DL360, работающие под управлением Proxmox VE 8.3, и хранилище Dell MD3600f, подключённое через однопутное соединение (point-to-point) из-за неисправности одного из контроллеров RAID. Это отсутствие резервирования делает вашу систему особенно уязвимой к сбоям.

Теория

Файловые системы, работающие через Fibre Channel (FC), могут столкнуться с различными ошибками ввода-вывода из-за множества факторов, включая неисправности аппаратного обеспечения, проблемы с драйверами, конфликты в конфигурации сети хранения данных (SAN) и специфические ошибки в конфигурации ПО. Fibre Channel — это надежная и широко используемая архитектура для подключения серверов и хранилищ данных, но её сложность требует тщательного проектирования и отладки.

Пример

Расшифровка ваших журналов (dmesg) указывает на повторяющиеся ошибки драйвера qla2xxx, которые являются результатом сбоя командных пакетов (например, сообщения "Abort command issued nexus…" и "Loop down detected"). Ошибки чтения и записи свидетельствуют о сбое в коммутации или в линии передачи данных. Перебои и падения связки (Loop Down) указывают на проблему в канале передачи данных. При операции записи dd мы видим значительно заниженную производительность (115 кБ/с), в то время как при чтении скорость выше, но все равно нестабильна. Восстановление цикла соединения (Loop Up) показывает временные успехи в восстановлении связи, но проблемы продолжаются.

Применение

  1. Проверка физического подключения:

    • Осмотрите все кабели FC и SFP-модули на предмет физического повреждения, перегибов или плохих соединений.
    • Замените подозрительные кабели и модули для исключения аппаратных проблем в линии связи.
  2. Проверка конфигурации драйверов и прошивок:

    • Убедитесь, что все компоненты (серверы, адаптеры, RAID-контроллеры) используют последнюю версию прошивки и драйверов. Производители периодически выпускают обновления для устранения известных ошибок и улучшения производительности.
    • Обратите внимание на настройки BIOS и UEFI, связанные с FC.
  3. Проверка конфигурации сети хранения данных (SAN):

    • Проверьте настройки зоны SAN (zoning), они должны быть правильно настроены для прямой коммутации серверов и хранилища через FC.
    • Убедитесь в отсутствии любых лимитов полоса пропускания или задержек.
  4. Диагностика производительности и логирования:

    • Включите логирование на уровне драйвера и соберите дополнительные данные. Это поможет выявить случайные ошибки, способные указывать на нестабильные компоненты.
    • Используйте утилиты мониторинга, такие как iostat, sar, или специфические инструменты Fibre Channel для диагностики состояния сети и расчёта метрик производительности.
  5. Дополнительные тесты:

    • Попробуйте подключить хранилище к другому серверу или с другой FC-карты для исключения проблем адаптера.
    • Проверьте целостность информации в рейде, возможно, существуют внутренние ошибки указывающие на деградацию или сбой дисков.
  6. Обсуждение с технической поддержкой:

    • Если маршрут отладки не выявил явной проблемы, обратись к технической поддержке Dell и HPE. Их специалисты могут предоставить специфические рекомендации и инструменты для более глубокой диагностики.

Эти шаги помогут вам систематически подойти к решению проблем вашей FC-сети и предотвратить повторные сбои. Взаимодействуйте с командами поддержки и производителями аппаратного обеспечения для получения дополнительных рекомендаций и гарантийной замены проблемных компонентов.

Оцените материал
Добавить комментарий

Капча загружается...