Как наилучшим образом настроить SAN / инициаторы Dell PowerVault MD3600i для обеспечения максимальной производительности?

Недавний владелец Dell PowerVault MD3600i у меня странные результаты.

У меня есть выделенный 24x 10GbE Switch (PowerConnect 8024), настроенный на гигантские кадры 9K.

MD3600 имеет 2 RAID-контроллера, каждый из которых имеет 2x 10GbE Ethernet. На переключателе больше ничего нет; одна VLAN для трафика SAN.

Вот мой multipath.conf

defaults {
    udev_dir        /dev
    polling_interval    5
    selector        "round-robin 0"
    path_grouping_policy    multibus
    getuid_callout      "/sbin/scsi_id -g -u -s /block/%n"
    prio_callout        none
    path_checker        readsector0
    rr_min_io       100
    max_fds         8192
    rr_weight       priorities
    failback        immediate
    no_path_retry       fail
    user_friendly_names yes
#   prio            rdac
}
blacklist {
    device {
               vendor "*"
        product "Universal Xport"
        }
#   devnode "^sd[a-z]"
}

devices {
    device {
           vendor "DELL"
           product "MD36xxi"
           path_grouping_policy group_by_prio
           prio rdac 
        #  polling_interval  5
           path_checker rdac
           path_selector "round-robin 0"
           hardware_handler "1 rdac"
           failback immediate
           features "2 pg_init_retries 50"
           no_path_retry 30
           rr_min_io 100
           prio_callout "/sbin/mpath_prio_rdac /dev/%n"
       }
}

И iscsid.conf:

node.startup = automatic
node.session.timeo.replacement_timeout = 15
node.conn[0].timeo.login_timeout = 15
node.conn[0].timeo.logout_timeout = 15
node.conn[0].timeo.noop_out_interval = 5
node.conn[0].timeo.noop_out_timeout = 10
node.session.iscsi.InitialR2T = No
node.session.iscsi.ImmediateData = Yes
node.session.iscsi.FirstBurstLength = 262144
node.session.iscsi.MaxBurstLength = 16776192
node.conn[0].iscsi.MaxRecvDataSegmentLength = 262144

После моих испытаний; Я едва могу прийти к 200 Мбит / с для чтения / записи.

Стоит ли ожидать большего? При условии, что у него есть двойной 10 GbE, мои мысли, где обойтись 400 Мбит / с.

Есть идеи? Методические рекомендации? Советы по устранению неполадок?

РЕДАКТИРОВАТЬ:

Массив настроен как один логический том объемом 5,7 ТБ. Все диски имеют размер 1 ТБ, 7,2 К, SAS 6 ГБ (ST1000NM0001). RAID - RAID10.

Некоторые строки конфигурации Swith:

interface Te1/0/23
storm-control broadcast
storm-control multicast
spanning-tree portfast
mtu 9000
switchport access vlan 40
exit
...
iscsi cos vpt 5
management access-list "default"
permit service ssh priority 1
permit service http priority 2
permit service https priority 3

И многолучевой вывод:

[root@xnode4 ~]# multipath -ll -v2
multipath.conf line 30, invalid keyword: prio
mpath1 (36d4ae520009bd7cc0000030e4fe8230b) dm-2 DELL,MD36xxi
[size=5.5T][features=3 queue_if_no_path pg_init_retries 50][hwhandler=1 rdac][rw]
\_ round-robin 0 [prio=400][active]
 \_ 7:0:0:0   sdc 8:32  [active][ready]
 \_ 9:0:0:0   sde 8:64  [active][ready]
 \_ 11:0:0:0  sdi 8:128 [active][ready]
 \_ 13:0:0:0  sdn 8:208 [active][ready]
\_ round-robin 0 [prio=0][enabled]
 \_ 10:0:0:0  sdj 8:144 [active][ghost]
 \_ 12:0:0:0  sdh 8:112 [active][ghost]
 \_ 8:0:0:0   sdd 8:48  [active][ghost]
 \_ 6:0:0:0   sdb 8:16  [active][ghost]

3 ответа

Решение

Судя по вашим комментариям и изменениям, вашим узким местом может быть хранилище. Во-первых, при условии, что у вас включено кэширование записи, все ваши записи до полного заполнения кэша должны выполняться со скоростью строки. Вы можете измерить это довольно легко, посчитав, сколько у вас кеша, и сделав 100% тест записи с меньшим объемом данных. Во-вторых, как только кэш начинает сбрасывать данные на диск, производительность записи на RAID-10 (при условии, что контроллеры не создают узких мест) будет вдвое ниже производительности чтения. Это потому, что каждая запись выполняется на два диска, а чтение выполняется только с одного. Одним из преимуществ RAID-10 является отсутствие четности для расчета, поэтому маловероятно, что процессоры контроллеров просто не в состоянии угнаться.

Далее, если ваш тест измеряет смесь операций чтения и записи, производительность, которую вы получите от контроллера хранилища, будет зависеть от типа ввода-вывода. Если это последовательно, вы получите большее количество МБ / с, но меньшее количество операций ввода-вывода. Если это случайный небольшой блок, вы получите небольшое количество МБ / с, но столько ввод-вывода, сколько могут обеспечить ваши диски. Каждый диск со скоростью 7200 об / мин будет обеспечивать определенное количество операций ввода-вывода, когда вы читаете непредсказуемо, поэтому число накоплений в рейде, умноженное на количество операций ввода-вывода на диск, будет вашим теоретическим пределом производительности.

Наконец, если у вас есть все хранилище на одном большом томе, представленном как один LUN, ваша очередь команд может быть переполнена. Нормальные операционные системы имеют настраиваемую глубину очереди команд (количество ожидающих операций ввода-вывода, которые они выстроят в очередь для хранилища), и каждый том /LUN имеет свою собственную очередь. Другая проблема с наличием всей памяти в одном и том же LUN ​​состоит в том, что обычно IO отправляется одному контроллеру для этого LUN. Даже в активных / активных системах хранения (в которых я не уверен, что они есть) они могут иметь сходство для одного контроллера над другим. Цель состоит в том, чтобы создать группу томов и распределить их равномерно между контроллерами.

Может быть, вы хотите увеличить размер блока кеша в массиве с 4 до 16 КБ или 32 КБ (особенно если вы ищете последовательную рабочую нагрузку)

Сопоставьте это с одним диском и сделайте это снова со всеми вашими дисками в рейде 0.

Рейд 0 не будет иметь накладных расходов на рейд10 или рейд 5.

Также посмотрите на ваш кеш на MD. По умолчанию это 4k блоков, но оно может доходить до 32k блоков. У меня была разница в скорости между этими двумя значениями до 30%. Проверьте это для ваших рабочих нагрузок, хотя.

Используйте что-то вроде SQLIO, где вы можете использовать больше потоков. Мои номера наконец начали хорошо выглядеть, когда я стал усерднее работать.

И убедитесь, что MD настроен на 10G. Опция 10G или 1G на портах, она не выполняет автоматическое согласование.

Другие вопросы по тегам