a szerver oldal, ahonnan exportalni akarjuk az eszkozt; az IP es PORT valtozokat valasszuk ertelemszeruen.
modprobe nvmet-tcp
cd /sys/kernel/config/nvmet/subsystems
mkdir nqn.2019-04.io.zc2:cnode
cd nqn.2019-04.io.zc2\:cnode/
echo 1 > attr_allow_any_host
mkdir namespaces/1
cd namespaces/1
echo -n /dev/nvme1n1 > device_path
echo 1 > enable
cd /sys/kernel/config/nvmet/ports/
mkdir $PORT
cd $PORT
echo $IP > addr_traddr
echo tcp > addr_trtype
echo $PORT > addr_trsvcid
echo ipv4 > addr_adrfam
ln -s /sys/kernel/config/nvmet/subsystems/nqn.2019-04.io.zc2\:cnode /sys/kernel/config/nvmet/ports/4420/subsystems/nqn.2019-04.io.zc2\:cnode
voila:
[ 1105.029169] nvmet_tcp: enabling port $PORT ($IP:$PORT)
[ 1274.142307] nvmet: creating controller 1 for subsystem nqn.2014-08.org.nvmexpress.discovery for NQN nqn.2014-08.org.nvmexpress:uuid:f2aaa18c-a12b-4b52-8f1f-ae3ce12ade0c.
[ 1329.420670] nvmet: creating controller 1 for subsystem nqn.2019-04.io.zc2:cnode for NQN nqn.2014-08.org.nvmexpress:uuid:f2aaa18c-a12b-4b52-8f1f-ae3ce12ade0c.
a kliens (a legujabb nvme-clit forditottam innen: https://github.com/linux-nvme/nvme-cli)
modprobe nvme-tcp
./nvme discover -t tcp -a $IP -s $PORT
./nvme connect -t tcp -n nqn.2019-04.io.zc2:cnode -a $IP -s $PORT
voila:
[ 1566.187514] nvme nvme0: ANA group 1: optimized.
[ 1566.187663] nvme nvme0: creating 8 I/O queues.
[ 1566.195998] nvme nvme0: new ctrl: NQN "nqn.2019-04.io.zc2:cnode", addr $IP:$PORT
root@nvmeoftest:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 436K 0 rom
vda 252:0 0 15G 0 disk
├─vda1 252:1 0 14.9G 0 part /
├─vda14 252:14 0 4M 0 part
└─vda15 252:15 0 106M 0 part /boot/efi
nvme0n1 259:1 0 953.9G 0 disk
root@nvmeoftest:~#
a mellanox oldalan van leiras csak nagyon hosszura veszik, nekem meg kellett egy copy-pastelheto valtozat, ime :)
- NagyZ blogja
- A hozzászóláshoz be kell jelentkezni
- 1712 megtekintés
Hozzászólások
iSCSI-hoz kepest miben jobb? (ha mar mindketto TCP)
- A hozzászóláshoz be kell jelentkezni
https://www.files.netdevconf.org/f/9264b3928fe0455699cb/?dl=1
Itt van néhány összehasonlító mérés iSCSI-val. Elvileg kicsit jobban skálázódik és kisebb a késleltetése.
- A hozzászóláshoz be kell jelentkezni
koszi, csak atfutottam, de nagy josagnak tunik
- A hozzászóláshoz be kell jelentkezni
Mellanoxnak van 5.x kernellel kompatibilis drivere (múltkor kerestem, de nem találtam)?
Vagy a kernelben lévőt használtad?
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Ülj le és kuss legyen!"..
- A hozzászóláshoz be kell jelentkezni
a kernelben levot hasznaltam -> TCP, nem RDMA :)
- A hozzászóláshoz be kell jelentkezni
Az lejött, hogy TCP, csak kíváncsi voltam, hogy attól még a Mellanox kártyát támogatott driverrel hajtod e meg, vagy a Linux kernelbe építettel.
Amúgy mint ha a Linux kernel fában lévő driver is támogatna RDMA-t, igaz csak alap szinten..
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Ülj le és kuss legyen!"..
- A hozzászóláshoz be kell jelentkezni
a kartyat a hivatalos OFED-del hajtom meg
- A hozzászóláshoz be kell jelentkezni
Jöhet benchmark ha van rá időd :) Esetleg egy egyszerű fio-val vagy dd-vel meg tudnád nézni, hogy mekkora difi van a local block device (szerver oldal), és a kliens nvme-tcp device között?
- A hozzászóláshoz be kell jelentkezni
Ügyes. iSCSI targetet többször gyártottam, legutóbb tgt-vel.
AoE-t is (ATA over ethernet) gyorsan összedobható, L2 felett megy, egyklienses.
Ideje NVMe over TCP/IP-vel is elkezdeni játszani, megnézni a korlátjait.
Az NVMe látom jobb performanciát ad. Az iSCSI-hoz hasonlóan több kliens egyidejű kapcsolódását engedi?
- A hozzászóláshoz be kell jelentkezni
nem tudom, ki kell probalni :)
- A hozzászóláshoz be kell jelentkezni