Настройте простую Блочную систему хранения Infiniband (SRP или iSER)

/bin/hostname -i

4
задан 4 November 2011 в 22:13
4 ответа

Реализация iSER для Linux доступна через проект tgt , а реализация SRP для Linux доступна через SCST проект. Что касается поддержки Windows: в настоящее время драйвер инициатора iSER для Windows недоступен. Но драйвер инициатора SRP для Windows доступен в программном пакете winOFED (см. Также веб-сайт openfabrics.org).

2
ответ дан 3 December 2019 в 02:29

Ну, честно говоря, я пошел простым путем и с радостью использовал iSCSI через IP через IB, и это сработало легко и хорошо:

Ультрабыстрый учебник по настройке IP Infiniband.

сначала ...

  • установить opensm, infiniband-diags, rds-tools, sdpnetstat, srptools, perftest (для тестов)
  • загрузить модуль драйвера IB, ib_umad, ib_ipoib
  • теперь у вас есть новый сетевой интерфейс для настройки .

настройки производительности:

  • подключенный режим, установите MTU на 65520
  • режим дейтаграммы, установите MTU на 2044
  • производительность дейтаграммы: ~ 5 Гбит / с
  • производительность в подключенном режиме: ~ 6.3 Гб / s

YMMV с моделью контроллера IB, драйвером и т. д.

Настройки IP:

net.ipv4.tcp_timestamps=0
net.ipv4.tcp_sack=0
net.core.netdev_max_backlog=250000
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.core.rmem_default=16777216
net.core.wmem_default=16777216
net.core.optmem_max=16777216
net.ipv4.tcp_mem="16777216 16777216 16777216"
net.ipv4.tcp_rmem="4096 87380 16777216"
net.ipv4.tcp_wmem="4096 65536 16777216"

Некоторая документация:

http://support.systemfabricworks.com/lxr/#ofed+OFED-1.5/ ofed-docs-1.5 / ipoib_release_notes.txt

http: //www.mjmwired.net / kernel / Documentation / infiniband / ipoib.txt

iperf, 4 потока:

[  3] local 192.168.1.2 port 50585 connected with 192.168.1.3 port 5003
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  2.75 GBytes  2.36 Gbits/sec
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  2.79 GBytes  2.40 Gbits/sec
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  3.31 GBytes  2.84 Gbits/sec
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  3.51 GBytes  3.02 Gbits/sec

Общая агрегированная пропускная способность 1,3 ГБ / с, определенно лучше, чем 10 GigE.

4
ответ дан 3 December 2019 в 02:29

Недавно я настроил пару цель / инициатор SRP в Linux и получил ~ 100% увеличение производительности (580 МБ / с на SDR 10 Гбит / с) по сравнению с традиционной конфигурацией iSCSI-over-IPoIB (300 МБ / с на SDR

Настройка:

  • Распространение: Debian sid
  • Ядро Linux: 3.4.0-rc1 (для встроенного SRP требуется 3.3 или выше)
  • Стек Infiniband: OFED-1.4 (который поставляется с Debian)
  • Цель SRP / iSCSI: Linux-iSCSI с ib_srpt.ko в ядре
  • Инициатор SRP: ib_srp.ko в ядре

ПРИМЕЧАНИЕ: AFAIK, SCST теперь устарел, поскольку Linux (ядро) идет с Linux-iSCSI (LIO), а также устаревшим STGT (предыдущая реализация в ядре). Планируется объединить функции SCST в LIO.

Конфигурация InfiniBand:

  • установить карту IB в "подключенный" режим (echo connected> Это несколько сбивает с толку, поэтому я просто вставлю его из своего рабочего журнала.

    === SRP target configuration ===
    // NOTE: This is GUID of your IB interface on target-side. You can check it with ibstatus(1)
    # targecli
    /> cd /ib_srpt
    /ib_srpt> create 0xfe800000000000000008f1040399d85a
    Created target 0xfe800000000000000008f1040399d85a.
    Entering new node /ib_srpt/0xfe800000000000000008f1040399d85a
    /ib_srpt/0xfe...8f1040399d85a> cd luns
    // This is just a dm-zero mapped "/dev/zero"-like block device
    /ib_srpt/0xfe...0399d85a/luns> create /backstores/iblock/zero
    /ib_srpt/0xfe...85a/luns/lun0> cd ../../acls
    // This is GUID of your IB interface on initiator-side
    /ib_srpt/0xfe...0399d85a/acls> create 0x00000000000000000008f1040399d832
    

    В приведенном выше (фактическом) примере GUID варьируется между 0xfe80 ... style и 0x0000xxx, но я думаю, что оба могут использоваться взаимозаменяемо. Вы можете настройте правило канонизации, отредактировав /var/target/fabric/ib_srpt.spec (или где бы ни была установлена ​​библиотека Python rtslib (которую использует инструмент Linux-iSCSI).

    === SRP initiator configuration ===
    // uMAD device must match with IB interface being used
    # ibsrpdm -c -d /dev/infiniband/umad1
    id_ext=0008f1040399d858,ioc_guid=0008f1040399d858,dgid=fe800000000000000008f1040399d85a,pkey=ffff,service_id=0008f1040399d858
    // Supply above string to ib_srp.ko, in order to setup SRP connection
    # for i in $(ibsrpdm -c -d /dev/infiniband/umad1); \
    do echo $i > /sys/class/infiniband_srp/srp-mlx4_0-2/add_target; done
    

    Если все прошло успешно, вы увидите сообщение, подобное приведенному ниже, в вашем dmesg:

    [10713.616495] scsi host9: ib_srp: new target: id_ext 0008f1040399d858 ioc_guid 0008f1040399d858 pkey ffff service_id 0008f1040399d858 dgid fe80:0000:0000:0000:0008:f104:0399:d85a
    [10713.815843] scsi9 : SRP.T10:0008F1040399D858
    [10713.891557] scsi 9:0:0:0: Direct-Access     LIO-ORG  IBLOCK 4.0 PQ: 0 ANSI: 5
    [10713.988846] sd 9:0:0:0: [sde] 2147483648 512-byte logical blocks: (1.09 TB/1.00 TiB)
    ...
    

    В заключение, оба файла ib_srp.ko / ib_srpt .ko еще несколько незрелый. Они оба работают нормально, но такая функция, как отключение, кажется нереализованной. Поэтому, как только блочное устройство SCSI подключено, его невозможно отсоединить. Однако их характеристики превосходны.

3
ответ дан 3 December 2019 в 02:29

Стабильность имеет значение. Mellanox в первую очередь заботится о производительности при продаже оборудования. Когда они купили Voltaire, они продвигают iSER из-за их IB в шлюзы Ethernet.

Мы в ProfitBricks использовали iSER и Solaris 11 в качестве целей для нашего облака IaaS 2.0. Но когда мы столкнулись с серьезной производительностью ZFS, а также с проблемами стабильности IPoIB и open-iscsi, мы перешли на хранилище Linux с SCST и SRP. Мы помогаем улучшить эту технологию в списке рассылки linux-rdma и с нашими собственными патчами ib_srp. Для нас стабильность требует простоты. Итак, мы идем на SRP, так как у нас есть InfiniBand. RDMA является родным для InfiniBand, а SRP - только для RDMA.

В этом году у меня была презентация на LinuxTag по этой теме: InfiniBand / RDMA для хранилищ - SRP против iSER http://www.slideshare.net/SebastianRiemer/infini-band-rdmaforstoragesrpvsiser-21791250

Здесь также показано, как установить соединение SRP.

3
ответ дан 3 December 2019 в 02:29

Теги

Похожие вопросы