Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
Заполнители в FC
Мой старый приятель и бывший коллега Юра Яворский описал интересный случай из практики траблшутинга
SAN. С согласия Юры (большое спасибо!) делюсь с вами.
Причина кроется в интерференции волн при использовании слов заполнителей IDLE. Таким
образом на частотах 8,5GHz использование ARBff строго рекомендовано. Источники ниже:
ftp://ftp.t11.org/t11/member/fc/fs-2/04-680v0.pdf
http://www.t10.org/ftp/t11/document.05/05-462v1.pdf
Я честно говоря не предполагал, что использование ARB дает заметные преимущества еще и с точки зрения
уменьшения EMI (в документах по ссылкам даны графики). Интересно.
На всякий случай напомню, что изначально примитивы ARB() применялись только для арбитража доступа
устройств в топологии FC_AL. Однако Brocade нашла еще одно применение для них. Они используются для
идентификации Virtual Channels (VC). Коммутатор следит за адресом AL_PA заполнителя ARB(). Фрейм,
идущий за ARB() с неким AL_PA, считается принадлежащим соответствующему VC. Соответствие AL_PA и
номера виртуального канала показано в таблице.
Кол-
Тип
во VC Приоритет AL_PA Описание
порта
VC
F 1 VC7 2 или 3 (по умолчанию 3) 0xda Подключение к N-порту
FL 1 VC7 2 или 3 (по умолчанию 3) 0xda Подключение к NL-порту
E
1 VC0 0 0xef Подключение к E-порту в режиме совместимости (InterOp)
FC_SW2
E 8 VC0 0 0xef Служебный трафик (класса F)
Служебный трафик (F_BSY и F_RJT, опционально контроль
VC1 1 0xe8
линка трафика класса 2)
VC2 2 или 3 (по умолчанию 2) 0xe4 Данные оконечных устройств (класса 2 или 3)
VC3 2 или 3 (по умолчанию 2) 0xe2 Данные оконечных устройств (класса 2 или 3)
VC4 2 или 3 (по умолчанию 2) 0xe1 Данные оконечных устройств (класса 2 или 3)
VC5 2 или 3 (по умолчанию 2) 0xe0 Данные оконечных устройств (класса 2 или 3)
VC6 2 или 3 (по умолчанию 3) 0xdc Multicast трафик (класса 3)
VC7 2 или 3 (по умолчанию 3) 0xda Multicast и broadcast трафик (класса 3)
Используется только при прямом соединении ASIC Condor друг
C 17
с другом.
4 апреля 2010 г.
При fastbind процесс background initialization для 4Gbps FC дисков 146GB 15Krpm проходит за ~1,5
часа, а SATA II 4Gbps 500GB 7,2Krpm за ~8,5 часа.
При создании MetaLUN, все LUNs будут автоматически trespassed на SP, который является default
owner для base LUN. Об этом стоит помнить при сбалансированном распределении LUNs по SPs.
MetaLUN стоит строить из RAID одинакового размера (например, RAID 10 4+4 или RAID5 4+1).
Иначе разобраться с проблемами в производительности будет очень сложно.
Члены Striping MetaLUNs не могут быть в различных RAID и должны иметь одинаковый размер в
блоках.
Члены Concatenation MetaLUNs могут быть на одной RAID group. В случае Striping этого делать
категорически нельзя.
Если несколько MetaLUNs на одних и тех же RAID groups, то следует назначать base LUN на
различных RAID groups (rotate).
26 марта 2010 г.
Использование RAID6 при random writes маленькими блоками нагружает backend на 50% больше
по сравнению с RAID5 . Sequential writes в RAID6 на 10% медленнее, чем в RAID5. Random и
sequential reads – одинаково.
При random writes маленькими блоками или выключенном write cache RAID5 и RAID6 заметно
проигрывают RAID10.
Чем меньше дисков в RAID5, тем лучше уровень защиты и меньше время RAID reconstruction.
Оптимальный размер RAID6 - 8+2 (распределенный между различными шинами 2 DAE 5+5) или
10+2 (распределенный между 3 DAE 5+5).
RAID3 лучше использовать при sequential reads >2MB и размерах блока >64KB.
Backend IOPS = read% * frontend IOPS + WP * write% * frontend IOPS, Backend MB/s = read MB/s +
WP * write MB/s . Например, IO блоками 8KB 70/30 r/w, RAID5, 2000 frontend IOPS, backend
IOPS=0,7*2000+0,3*4*2000=1400+2400=3800
Процесс RAID group expansion очень сильно понижает производительность всего массива.
10 февраля 2010 г.
В-третьих, получатель данных, т. е. наш дисковый массив, должен быть готов их принять,
обеспечив требуемую производительность (эффект обратной связи мы уже обсуждали ранее).
Ну и напоследок еще один банальный совет. Начинать анализ производительности HBA, конечно, следует с
просмотра логов серверов на предмет наличия сообщений об ошибках. Ведь даже краткая ревизия
сообщений драйвера HBA может дать вам очень много информации о процессах, происходящих в системе и
наличии очевидных проблем. Причем, надо анализировать логи не только серверов, генерирующих самую
большую нагрузку, а всех систем, подключенных к дисковому массиву. Ведь, например, сообщение QFULL не
обязательно должен получить сервер, который перегрузил входящие буферы портов дискового массива. Эта
ошибка запросто может появиться в логах любого сервера, через SAN подключенных к этим портам.
5 февраля 2010 г.
Если вы обнаружили, что серверу доступно меньшее количество томов, чем было настроено на
дисковом массиве, возможно, необходимо увеличить значение параметра LUNs Per Target.
26 ноября 2009 г.
Некоторые системы, например, VxFS или AIX, реализуют механизм предшествующего чтения
(Read-ahead). Это приводит к увеличению Request Size на чтение.
16 ноября 2009 г.
Если Response Time файлов данных СУБД <6ms – отлично, 6-20ms – приемлемо, >20ms – плохо.
Если Response Time log-файлов СУБД <2ms – отлично, 2-6ms – приемлемо, 6-15ms – скоро
начнутся проблемы, >15ms – проблемы уже начались.