Помогите с Infotrend EonStor A16F-R2221

Технологии постороения кластеров (вычислительных и отказоустойчивых), настройка терминал серверов,
SAN , NAS, FibreChannel, Infiniband

Модераторы: Trinity admin`s, Free-lance moderator`s

Ответить
Алексей Иванов
Junior member
Сообщения: 9
Зарегистрирован: 05 окт 2006, 06:24

Помогите с Infotrend EonStor A16F-R2221

Сообщение Алексей Иванов » 05 окт 2006, 07:06

Доброго времени суток, уважаемые !

Имеется следующая конфигурация :
1) RAID массив Infotrend EonStor A16F-R2221 (SATA диски, fiber channel подключение к хосту/хостам, встроенный FC hub на 4 выхода)
2) Два компа, каждый с Fiber channel host adapter Qlogic 2340, подключенны к вышеупомянутому RAID'у. На всех fiber channel устройствах (RAID и HBA) включен режим arbitrated loop (FC-AL).
3) В RAID массиве сконфигурирован один logical drive - это RAID 1 из двух дисков. Этот logical drive замаплен на LUN 0 первичного контроллера массива.
4) На хостах установлена SuSE SLES 9 SP3. Хосты видят вышеупомянутый logical drive как /dev/sdc. На этом диске есть два раздела (/dev/sdc1 и /dev/sdc2), которые замаплены на raw-devices /dev/raw/raw1 и /dev/raw/raw2 соответственно.
5) На одном из хостов выполняю команду
dd if=/dev/raw/raw1 of=/tmp/1.1 bs=1M count=1
(копирование 1Mb данных с /dev/raw/raw1 в файл /tmp/1.1) - выполняется прекрасно.
Однако если после этого выполнить точно такую-же команду на втором хосте, то она "зависает", при этом iostat показывает, что один из процессоров занят ожиданием ввода-вывода на 100%. Более того, этот зависший процесс невозможно "убить" даже по kill -9. При этом не важно, на каком из хостов выполнять dd сначала, а на каком потом. Зависание всегда происходит на том хосте, на котором dd выполняется вторым.

Я ожидал, что любой из хостов может обращаться в внешнему RAID'у всегда, когда другой хост не производит подобного обращения. Так ли это ? Если так, где искать ошибку конфигурации ? Заранее спасибо.


 С наилучшими пожеланиями,
   Алексей Иванов.

Аватара пользователя
gs
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 16650
Зарегистрирован: 23 авг 2002, 17:34
Откуда: Москва
Контактная информация:

Сообщение gs » 05 окт 2006, 12:41

Тома смаплены каждый на своем сервере или Вы пытаетесь с двух машин на один том лезть? Второе без специализарованной файловой системы невозможно.

Алексей Иванов
Junior member
Сообщения: 9
Зарегистрирован: 05 окт 2006, 06:24

Сообщение Алексей Иванов » 06 окт 2006, 16:08

Честно говоря я не знаю, что Вы имеете в виду под "томом". LUN mapping выполнен на RAID массиве таким образом, что LUN 0 соответствует первый logical drive (на данный момент единственный). Каждый хост видит LUN 0 как /dev/sdc. Кластерная файловая система не нужна, так как НЕ происходит ОДНОВРЕМЕННОГО обращения от хостов к RAID'у. Хосты в моём эксперименте обращаются в РАЗНЫЕ моменты времени (только когда я выполняю команды с консоли). Файловая система вообще не нужна, нужен только block device. Надеюсь мой комментарий немного прояснил ситуацию.

Аватара пользователя
CrazyFrog
Advanced member
Сообщения: 210
Зарегистрирован: 16 авг 2005, 23:09
Откуда: Мурманск

Сообщение CrazyFrog » 06 окт 2006, 16:11

Один из узлов полностью сатурирует дисковый массив и его ресурсов не хватает для обслуживания запросов I/O с другого сервера. kill -9 не работает, потому что пока процесс ждёт ввода-вывода сигналы к нему не проходят.

Судя по тому что там фигурируют какие-то raw-тома, это значит что планировали использовать ящик под БД? Два сатадиска на FC-AL - ошибочный выбор для такого приложения.

Алексей Иванов
Junior member
Сообщения: 9
Зарегистрирован: 05 окт 2006, 06:24

Сообщение Алексей Иванов » 06 окт 2006, 16:28

Как я упоминал в первом сообщении, с одного из нодом происходит чтение МАЛОГО количества данных, в моём случае 1 Mb. На любом из нодов это происходит быстро, доли секунды. После чего я делаю паузу (на всякий случай несколько минут) и выполняю чтение 1Mb на втором ноде. "зависает" ...

Аватара пользователя
gs
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 16650
Зарегистрирован: 23 авг 2002, 17:34
Откуда: Москва
Контактная информация:

Сообщение gs » 06 окт 2006, 16:34

Так делать НЕЛЬЗЯ. Любая современная операционка кэширует файловую таблицу в оперативке. И если нет менеджера блокировок она понятия не имеет что туда понаписала вторая машина. Естественно виснет.
Менеджер блокировок может быть как в виде кластерной ФС, так и в софте типа оракл рак.

Алексей Иванов
Junior member
Сообщения: 9
Зарегистрирован: 05 окт 2006, 06:24

Сообщение Алексей Иванов » 06 окт 2006, 16:54

gs писал(а):Так делать НЕЛЬЗЯ. Любая современная операционка кэширует файловую таблицу в оперативке. И если нет менеджера блокировок она понятия не имеет что туда понаписала вторая машина. Естественно виснет.
Менеджер блокировок может быть как в виде кластерной ФС, так и в софте типа оракл рак.
Это верно. Однако в данном случае :
1) файловой системы нет
2) менеджером блокировок являюсь я сам, то бишь не допускаю одновременного обращения (я это ПОДЧЁРКИВАЮ в каждом сообщении)

Аватара пользователя
exLH
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 5061
Зарегистрирован: 11 фев 2004, 15:49
Откуда: Москва
Контактная информация:

Сообщение exLH » 06 окт 2006, 18:30

Хотите сделать, чтобы работало?
Подключаете две машины к массиву. (пока они выключены)
Включаете одну. Делаете свои команды.
Выключаете первую. Делаете свои команды.
Работает?

Аватара пользователя
CrazyFrog
Advanced member
Сообщения: 210
Зарегистрирован: 16 авг 2005, 23:09
Откуда: Мурманск

Сообщение CrazyFrog » 09 окт 2006, 21:45

а если читать с разных разделов тоже такая жопа происходит? И если без raw? ie, хост1 с /dev/sdc1, хост2 - с /dev/sdc2?

На лупе ошибок не возникает? Посмотри через qlogic scli.

После того как ты проделываешь dd на обоих хостах, как восстанавливается работа? Ребутом? ;)

Алексей Иванов
Junior member
Сообщения: 9
Зарегистрирован: 05 окт 2006, 06:24

Сообщение Алексей Иванов » 13 окт 2006, 19:40

Похоже проблема была в том, что использовался драйвер QLA2340 FC HBA из стандартного ядра linux (пробовал версии 2.6.17 и 2.6.18). После установки драйвера версии 8.01.06, скачанного отсюда http://support.qlogic.com/support/os_de ... 3&osid=125, проблема исчезла. Правда с этим драйвером пришлось помучаться ... Дело в том, что он использует функции межмодульного взаимодействия, которые были объявлены устаревшими ещё в 2.6.10. Однако эти функции доступны и в более новых ядрах. Как показал эксперимент, это драйвер компилируется с любыми ядрами от 2.6.9 до 2.6.18 включительно. Однако загружается в память (командой modprobe) до версии 2.6.15 включительно. Надеюсь эта информация поможет избежать подобных проблем.

 Удачи всем,
   Алексей Иванов.

Ответить

Вернуться в «Кластеры, Аппаратная часть»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 9 гостей