14.7.2 Настройка Multipath на стороне потребителя/инициатора

  • NVMe протокол

Инструкция по конфигурации сервера в качестве NVMe-oF-инициатора:

1. Добавить в файл /etc/nvme/discovery.conf строки:

Для серверов:

-t tcp -a 10.10.1.101 -s 4420
-t tcp -a 10.10.1.201 -s 4420
-t tcp -a 10.10.2.101 -s 4420
-t tcp -a 10.10.2.201 -s 4420
-t tcp -a 10.10.1.102 -s 4420
-t tcp -a 10.10.1.202 -s 4420
-t tcp -a 10.10.2.102 -s 4420
-t tcp -a 10.10.2.202 -s 4420

где -a– адрес, -s– порт.

2. Включить unit nvmf-autoconnect:

systemctl enable nvmf-autoconnect
systemctl start nvmf-autoconnect

3. Убедиться в наличии подключения к target:

[root@server2 ~]# nvme list -v
Subsystem        Subsystem-NQN                                                                                    Controllers
---------------- ------------------------------------------------------------------------------------------------ ----------------
nvme-subsys0     nqn.2018-11.com.vendor:nvme:nvm-subsystem-sn-AB5U64A24A01ABSD
nvme-subsys1     nqn.2018-11.com.vendor:nvme:nvm-subsystem-sn-AB5U64A24A01ABCD
nvme-subsys2     nqn.2018-11.com.vendor:nvme:nvm-subsystem-sn-AB5U64A24A01SDD1
nvme-subsys4     nqn.2005-01.com.vstack:tgt-loc-hyb01-z02-server2                                                  nvme4, nvme5, nvme6, nvme7
Device           Cntlid SN                   MN                                       FR       TxPort Address        Slot   Subsystem    Namespaces
---------------- ------ -------------------- ---------------------------------------- -------- ------ -------------- ------ ------------ ----------------
nvme4    1      00000000000000000000 SPDK bdev Controller                     23.09    tcp    traddr=10.10.2.202,trsvcid=4420,src_addr=10.10.2.10      nvme-subsys4 nvme4n1, nvme4n2
nvme5    2      00000000000000000000 SPDK bdev Controller                     23.09    tcp    traddr=10.10.2.102,trsvcid=4420,src_addr=10.10.2.10      nvme-subsys4 nvme4n1, nvme4n2
nvme6    3      00000000000000000000 SPDK bdev Controller                     23.09    tcp    traddr=10.10.1.202,trsvcid=4420,src_addr=10.10.1.10      nvme-subsys4 nvme4n1, nvme4n2
nvme7    4      00000000000000000000 SPDK bdev Controller                     23.09    tcp    traddr=10.10.1.102,trsvcid=4420,src_addr=10.10.1.10      nvme-subsys4 nvme4n1, nvme4n2
Device            Generic           NSID       Usage                      Format           Controllers
----------------- ----------------- ---------- -------------------------- ---------------- ----------------
/dev/nvme4n1 /dev/ng4n1   0x1          1.07  GB /   1.07  GB    512   B +  0 B   nvme4, nvme5, nvme6, nvme7
/dev/nvme4n2 /dev/ng4n2   0x2        307.86  TB / 307.86  TB    512   B +  0 B   nvme4, nvme5, nvme6, nvme7
[root@server2 ~]# lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    0 893.8G  0 disk
├─sda1        8:1    0     1G  0 part /boot
└─sda2        8:2    0 892.7G  0 part
 ├─ol-root 252:0    0    64G  0 lvm  /
 ├─ol-var  252:1    0 728.7G  0 lvm  /var
 └─ol-home 252:2    0   100G  0 lvm  /home
nvme4n1     259:28   0     1G  0 disk
nvme4n2     259:42   0   330T  0 disk

Должно быть видно 2 блочных устройства: одно размером 1GB, второе размером 330TB. Использовать необходимо второе.

4. Включить multipathing:

echo "round-robin" > /sys/class/nvme-subsystem/nvme-subsys4/iopolicy

5. Создать udev-правило для включения multipathing во время загрузки: создать файл /etc/udev/rules.d/71-nvme-io-policy.rules со следующим содержимым:

ACTION=="add|change", SUBSYSTEM=="nvme-subsystem", ATTR{iopolicy}="round-robin"
  • iSCSI протокол

4 блочных устройства (Storage Units) при 4х путях.

С течением времени технологии хранения данных развиваются, и определенные протоколы могут устаревать по мере появления более эффективных и производительных альтернатив. Протокол iSCSI (Internet Small Computer Systems Interface), который использовался для подключения и управления системами хранения данных по IP-сетям, в настоящее время является устаревающим решением. Несмотря на то, что iSCSI продолжает использоваться в некоторых сценариях, его недостатки в производительности, задержках и ограничениях масштабируемости становятся все более очевидными по мере роста требований к скорости и эффективности работы СХД.

При использовании протокола NVMe (Non-Volatile Memory Express) наблюдается лучшая производительность СХД и обеспечиваются более низкие задержки, высокая пропускная способность и эффективное использование ресурсов.

Примечание:

1. При проектировании новых СХД рекомендуется использовать NVMe в качестве предпочтительного протокола для достижения максимальной производительности и минимальных задержек.

2. При обновлении существующих систем рекомендуется рассмотреть возможность миграции с iSCSI на NVMe, что позволит значительно улучшить характеристики и производительность вашей инфраструктуры хранения данных.