Public:TargetCLI

Материал из Linkintel wiki
Перейти к: навигация, поиск

TargetCLI

[1]

targetcli - утилита для управления экспортом дисков по сети. Позволяет подцепить файлы или блочные устройства с одной стороны к интерфейсам взаимодействия с другими серверами - с другой.

Мы пробуем её использовать в самом производительном, но и самом мучительном в начальной настройке режиме - ib_srpt - это, по сути, iSCSI через RDMA. Благо infiniband-коммутатор завёлся, стесняться нам нечего.

Устанавливается оно по мануалам, с тем только примечанием на полях, что /var/target/fabric/probe-ib_srpt.sh в апстриме битый и надо поправить. (см. Pull-Request)

Готовим площадку:

pvcreate /dev/sda
 Physical volume "/dev/sda" successfully created
vgcreate kvp2targets /dev/sda
 Volume group "kvp2targets" successfully created
lvcreate -L 1T -n erlyvideo kvp2targets
 Logical volume "erlyvideo" created

Работаем с самим targetcli

targetcli
 targetcli 3.0.pre4.5~ga125182 (rtslib 3.0.pre4.9~g6fd0bbf)
 Copyright (c) 2011-2014 by Datera, Inc.
 All rights reserved.

/>ls
 o- / ............................................................................................................ [...]
  o- backstores ................................................................................................. [...]
  | o- fileio ...................................................................................... [0 Storage Object]
  | o- iblock ...................................................................................... [0 Storage Object]
  | o- pscsi ....................................................................................... [0 Storage Object]
  | o- rd_mcp ...................................................................................... [0 Storage Object]
  o- ib_srpt .............................................................................................. [0 Targets]
  o- iscsi ................................................................................................ [0 Targets]
  o- loopback ............................................................................................. [0 Targets]
  o- vhost ................................................................................................ [0 Targets]
/> /backstores/iblock create name=iblock_erlyvideo dev=/dev/kvp2targets/erlyvideo
Created iblock storage object iblock_erlyvideo using /dev/kvp2targets/erlyvideo.

Объясняем, где у нас сетевые интерфейсы:

/> /ib_srpt create
Created target 0xfe800000000000000021280001fcc1fd.
/> /ib_srpt create
Created target 0xfe800000000000000021280001fcc1fe.

(Выходим, смотрим, кто есть кто)

/> exit
Comparing startup and running configs...
Some changes need saving.
Save configuration? [Y/n]: Y
Performing backup of startup configuration: /var/target/backup-2018-06-22_18:52:33.lio
Saving new startup configuration

# ibstat
CA 'mlx4_0'
       CA type: MT26428
       Number of ports: 2
       Firmware version: 2.11.2010
       Hardware version: b0
       Node GUID: 0x0021280001fcc1fc
       System image GUID: 0x0021280001fcc1ff
       Port 1:
               State: Down
               Physical state: Polling
               Rate: 10
               Base lid: 0
               LMC: 0
               SM lid: 0
               Capability mask: 0x02590868
               Port GUID: 0x0021280001fcc1fd
               Link layer: InfiniBand
       Port 2:
               State: Active
               Physical state: LinkUp
               Rate: 40
               Base lid: 5
               LMC: 0
               SM lid: 1
               Capability mask: 0x02590868
               Port GUID: 0x0021280001fcc1fe
               Link layer: InfiniBand

Видим, что провод у нас в порту 2 (LinkUp)