SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
Red Hat Enterprise Linux 8.0 で
NVME-over-Fabricを設定してみた
HeteroDB
Chief Architect & CEO
KaiGai Kohei <kaigai@heterodb.com>
#やってみた系
何をやってる人ですか?
『@kkaigai』
⇩
『固定されたツイート』
⇩
9/25(水) DB Tech Showcase Tokyo 2019
【発表資料】
PostgreSQLをどこまで高速化できるか
~ハードウェアの限界に挑むPG-Stromの挑戦~
Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた2
みんな大好き NVME-SSD
Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた3
みんな知ってるNVME-SSD
 低レイテンシ
✓ PCIeバス直結、プロトコル変換を省略
 高スループット
✓ PCIeレーン数に応じたデータ転送レート
 スケーラビリティ
✓ 多数のI/Oキューによる多重I/Oの実装
 オープン
✓ 制御コマンドを共通規格化
CPURAM
SSD SSD
PCIe
HBA
HDD HDD HDD
Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた4
ストレージ容量の上限はシャーシの大きさに規定される…?
イマドキの2Uサーバなら、オールフラッシュで200TB近く積めるが…。
model Supermicro 2029U-TN24R4T Qty
CPU Intel Xeon Gold 6226 (12C, 2.7GHz) 2
RAM 32GB RDIMM (DDR4-2933, ECC) 12
GPU NVIDIA Tesla P40 (3840C, 24GB) 2
HDD Seagate 1.0TB SATA (7.2krpm) 1
NVME Intel DC P4510 (8.0TB, U.2) 24
N/W built-in 10GBase-T 4
8.0TB x 24 = 192TB
Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた5
システム導入時に、
データサイズの上限を
正確に予想できるか…?
NVME-over-Fabric
リモートのNVME-SSDをあたかもローカル同様に使う技術
CPURAM
SSD
NIC
PCIe
SSD
NIC SSD
CPURAM
PCIe
NVME-oF Host NVME-oF Target
高速ネットワーク
(RoCE, FC, TCP)
Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた6
#やってみた
Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた7
実験環境(1/2)
NVME-Host
Supermicro
SYS-1019GP-TT
magro.heterodb.com
(192.168.77.100)
NVME-Host
Supermicro
SYS-5018GR-T
saba.heterodb.com
(192.168.77.104)
CPU: Xeon
Gold 6126T
CPU: Xeon
E5-2650v4
GPU: NVIDIA TESLA V100
SSD: Intel DC P4600
SSD: Intel DC P4600
NIC: Mellanox ConnextX-5
NIC: Mellanox ConnextX-5
GPU: NVIDIA TESLA P40
x16
x8
x8
x16
SSD: Samsung PRO960
SSD: Samsung PRO960
SSD: Samsung PRO960
SSD: Samsung PRO960
RiserBoard
x16
x16
x8
192.168.80.100
192.168.80.104
100Gb
RoCE
Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた8
実験環境(2/2)
Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた9
目標とする構成
CPU: Xeon
Gold 6126T
CPU: Xeon
E5-2650v4
GPU: NVIDIA TESLA V100
SSD: Intel DC P4600
SSD: Intel DC P4600
NIC: Mellanox ConnextX-5
NIC: Mellanox ConnextX-5
GPU: NVIDIA TESLA P40
x16
x8
x8
x16
SSD: Samsung PRO960
SSD: Samsung PRO960
SSD: Samsung PRO960
SSD: Samsung PRO960
RiserBoard
x16
x16
x8
192.168.80.100
192.168.80.104
/dev/nvme0 … ローカル
/dev/nvme1 … ローカル
/dev/nvme2 … NVME-oF区画
/dev/nvme2n1
/dev/nvme2n2
/dev/nvme2n3
/dev/nvme2n4
Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた10
NVMEoFターゲットの設定(1/2)
■ 必要なカーネルモジュールをロードする
# modprobe nvmet-rdma
# modprobe mlx5_ib
■ NVMEoFの設定単位 “subsystem” を作成する
# cd /sys/kernel/config/nvmet/subsystems
# mkdir -p capybara
# ls -lF capybara
total 0
drwxr-xr-x. 2 root root 0 Sep 26 15:06 allowed_hosts/
-rw-r--r--. 1 root root 4096 Sep 26 15:06 attr_allow_any_host
-rw-r--r--. 1 root root 4096 Sep 27 07:30 attr_serial
-rw-r--r--. 1 root root 4096 Sep 27 07:30 attr_version
drwxr-xr-x. 6 root root 0 Sep 26 15:07 namespaces/
# echo 1 > capybara/attr_allow_any_host
Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた11
注意:ホスト単位で許可を出す事もできるようだ。
NVMEoFターゲットの設定(1/2)
■ “subsystem”配下に”namespace”を作成し、それぞれ物理 NVME-SSD を関連付ける
# cd capybara/namespaces
# mkdir -p 1 2 3 4
# echo -n /dev/nvme0n1 > 1/device_path
# echo 1 > 1/enable
# echo -n /dev/nvme1n1 > 2/device_path
# echo 1 > 2/enable
# echo -n /dev/nvme2n1 > 3/device_path
# echo 1 > 3/enable
# echo -n /dev/nvme3n1 > 4/device_path
# echo 1 > 4/enable
Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた12
注意:echo -n ではなく echo ではデバイス名を認識してくれなかった。
NVMEoFターゲットの設定(2/2)
■ NVMEoF ネットワークポートの設定
# mkdir -p /sys/kernel/config/nvmet/ports/1
# cd /sys/kernel/config/nvmet/ports/1
# echo 192.168.80.100 > addr_traddr
# echo rdma > addr_trtype
# echo 4420 > addr_trsvcid
# echo ipv4 > addr_adrfam
■ NVMEoF ネットワークポートと “namespace” を関連付ける
# cd subsystems
# ln -sf ../../../subsystems/capybara ./
Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた13
NVMEoFホストの設定(0/2)
■ SSD-to-GPU Direct用のドライバソフトウェアをインストール
# yum install nvme_strom-2.2-1.el8.x86_64.rpm
# modinfo nvme-rdma
filename: /lib/modules/4.18.0-80.7.2.el8_0.x86_64/extra/nvme-rdma.ko.xz
version: 2.2
description: Enhanced nvme-rdma for SSD-to-GPU Direct SQL
license: GPL v2
rhelversion: 8.0
srcversion: 7F097CBE75277A94667B5C9
depends: nvme-fabrics,ib_core,nvme-core,rdma_cm
name: nvme_rdma
vermagic: 4.18.0-80.7.2.el8_0.x86_64 SMP mod_unload modversions
parm: register_always:Use memory registration even for contiguous memory...
解説)nvme-rdmaモジュールの filename: に注意
RHEL/CentOS 7.x/8.x系列では、nvme-rdmaドライバによって制御されるNVMEoF区画からSSD-to-GPUダイレクト
データ転送を行うには、パッチを適用したnvme-rdmaドライバを適用する必要があります。
このドライバは nvme_strom パッケージでインストールされますが、同名のINBOXドライバとは異なり、
/lib/modules/<kernel version>/extra 以下に格納されます。
INBOXドライバは /lib/modules/<kernel version>/kernel/drivers/nvme/host/nvme-rdma.ko.xz に
保存されますが、modprobeコマンドは /extra 以下を優先するため、こちらは利用されません。
Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた14
NVMEoFホストの設定(1/2)
■ カーネルモジュールのロード
# modprobe nvme-rdma
# modprobe mlx5_ib
■ NVMEoF ターゲットへの接続①
# nvme discover -t rdma -a 192.168.80.100 -s 4420
Discovery Log Number of Records 1, Generation counter 1
=====Discovery Log Entry 0======
trtype: rdma
adrfam: ipv4
subtype: nvme subsystem
treq: not specified
portid: 1
trsvcid: 4420
subnqn: capybara
traddr: 192.168.80.100
rdma_prtype: not specified
rdma_qptype: connected
rdma_cms: rdma-cm
rdma_pkey: 0x0000
Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた15
NVMEoFホストの設定(2/2)
■ ローカルのNVMEデバイスを確認
# ls -l /dev/nvme?n?
brw-rw----. 1 root disk 259, 0 Sep 27 13:26 /dev/nvme0n1
brw-rw----. 1 root disk 259, 1 Sep 27 13:26 /dev/nvme1n1
■ NVMEoF ターゲットへの接続②
# nvme connect -t rdma -n capybara -a 192.168.80.100 -s 4420
■ リモートデバイスが認識されている事を確認
# ls -l /dev/nvme?n?
brw-rw----. 1 root disk 259, 0 Sep 27 13:26 /dev/nvme0n1
brw-rw----. 1 root disk 259, 1 Sep 27 13:26 /dev/nvme1n1
brw-rw----. 1 root disk 259, 5 Sep 27 14:00 /dev/nvme2n1
brw-rw----. 1 root disk 259, 7 Sep 27 14:00 /dev/nvme2n2
brw-rw----. 1 root disk 259, 9 Sep 27 14:00 /dev/nvme2n3
brw-rw----. 1 root disk 259, 11 Sep 27 14:00 /dev/nvme2n4
Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた16
ストレージ区画の作成
Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた17
■ 各NVMEoFストレージにパーティションを作成する
# fdisk /dev/nvme2n1
:
以下、各ディスクに対して繰り返し
■ md-raid0ボリュームの作成
# mdadm -C /dev/md0 -c 128 -l 0 -n 4 /dev/nvme2n?p1
# mdadm --detail --scan > /etc/mdadm.conf
■ md-raid0ボリューム上にパーティションを作成しExt4ファイルシステムで初期化
# fdisk /dev/md0
# mkfs.ext4 -L NVMEOF_DISK /dev/md0p1
■ /etc/fstabへエントリを追加
# vi /etc/fstab
:
LABEL=NVMEOF_DISK /nvme ext4 nofail 0 0
※ “nofail” を指定しないと、起動時にマウントを失敗し、エラーと判断されてしまう。
▼ここまで来たら、単なるローカルブロックデバイスと同じ
参考)NVMEoFボリュームの切り離し手順
▌NVMEoFクライアント側
# umount /nvme
# mdadm --misc --stop /dev/md0
# nvme disconnect -d /dev/nvme0
# nvme disconnect -d /dev/nvme1
▌NVMEoFターゲット側
# rm -f /sys/kernel/config/nvmet/ports/*/subsystems/*
# rmdir /sys/kernel/config/nvmet/ports/*
# rmdir /sys/kernel/config/nvmet/subsystems/*/namespaces/*
# rmdir /sys/kernel/config/nvmet/subsystems/*
Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた18
動作確認(1/2)
CPU: Xeon
Gold 6126T
CPU: Xeon
E5-2650v4
GPU: NVIDIA TESLA V100
SSD: Intel DC P4600
SSD: Intel DC P4600
NIC: Mellanox ConnextX-5
NIC: Mellanox ConnextX-5
GPU: NVIDIA TESLA P40
x16
x8
x8
x16
SSD: Samsung PRO960
SSD: Samsung PRO960
SSD: Samsung PRO960
SSD: Samsung PRO960
RiserBoard
x16
x16
x8
192.168.80.100
192.168.80.104
/dev/md1
/dev/nvme2n1
/dev/nvme2n2
/dev/nvme2n3
/dev/nvme2n4
どうせPCIe x8スロットで
詰まるので、性能測定と
しては無意味な事に留意
Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた19
動作確認(2/2)
▌リモートNVME-SSD ➔ 100G-NIC ➔ 100G-NIC ➔ ローカルGPU
# ssd2gpu_test /mnt/90GB
GPU[0] Tesla P40 - file: /mnt/90GB, i/o size: 86.02GB, buffer 32MB x 6
read: 86.02GB, time: 13.91sec, throughput: 6.18GB/s
nr_ram2gpu: 0, nr_ssd2gpu: 22548480, average DMA size: 128.0KB
▌iostat -m 2
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 2.72 0.00 0.00 97.28
Device tps MB_read/s MB_wrtn/s MB_read MB_wrtn
nvme0n1 0.00 0.00 0.00 0 0
nvme1n1 0.00 0.00 0.00 0 0
nvme2n1 12679.50 1584.94 0.00 3169 0
nvme2n2 12679.50 1584.88 0.00 3169 0
nvme2n3 12682.00 1584.94 0.00 3169 0
md126 50719.50 6339.56 0.00 12679 0
nvme2n4 12681.00 1585.12 0.00 3170 0
Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた20
ログ収集デーモン:
『一緒にやってみたい!』方、ぜひお気軽にお声がけください
Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた21
NVME-oFやGPUDirectなど最新技術をブチ込んで、IoT/M2Mログ処理向けに
処理能力100GB/s級のデータ処理基盤を作ろうとしています。
Manufacturing Logistics Mobile Home electronics
JBoF: Just Bunch of Flash
NVME-over-Fabric
(RDMA)
DB管理者
BIツール(可視化)
機械学習アプリケーション
(E.g, 異常検知など)
共通データ
フレーム PG-Strom
20190926_Try_RHEL8_NVMEoF_Beta

Contenu connexe

Tendances

P4によるデータプレーンプログラミングとユースケースのご紹介
P4によるデータプレーンプログラミングとユースケースのご紹介P4によるデータプレーンプログラミングとユースケースのご紹介
P4によるデータプレーンプログラミングとユースケースのご紹介Kumapone
 
Ceph Performance and Sizing Guide
Ceph Performance and Sizing GuideCeph Performance and Sizing Guide
Ceph Performance and Sizing GuideJose De La Rosa
 
Nervesが開拓する「ElixirでIoT」の新世界
Nervesが開拓する「ElixirでIoT」の新世界Nervesが開拓する「ElixirでIoT」の新世界
Nervesが開拓する「ElixirでIoT」の新世界Hideki Takase
 
Linux MMAP & Ioremap introduction
Linux MMAP & Ioremap introductionLinux MMAP & Ioremap introduction
Linux MMAP & Ioremap introductionGene Chang
 
Interrupt Affinityについて
Interrupt AffinityについてInterrupt Affinityについて
Interrupt AffinityについてTakuya ASADA
 
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!Mr. Vengineer
 
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料一路 川染
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Etsuji Nakai
 
OSSライセンス入門
OSSライセンス入門OSSライセンス入門
OSSライセンス入門KageShiron
 
Innodb Deep Talk #2 でお話したスライド
Innodb Deep Talk #2 でお話したスライドInnodb Deep Talk #2 でお話したスライド
Innodb Deep Talk #2 でお話したスライドYasufumi Kinoshita
 
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)Mr. Vengineer
 
CXL_説明_公開用.pdf
CXL_説明_公開用.pdfCXL_説明_公開用.pdf
CXL_説明_公開用.pdfYasunori Goto
 
RISC-Vのセキュリティ技術(TEE, Root of Trust, Remote Attestation)
RISC-Vのセキュリティ技術(TEE, Root of Trust, Remote Attestation)RISC-Vのセキュリティ技術(TEE, Root of Trust, Remote Attestation)
RISC-Vのセキュリティ技術(TEE, Root of Trust, Remote Attestation)Kuniyasu Suzaki
 
オープンソースライセンスの基礎と実務
オープンソースライセンスの基礎と実務オープンソースライセンスの基礎と実務
オープンソースライセンスの基礎と実務Yutaka Kachi
 
DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発slankdev
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化Takuya ASADA
 
Kubernetes環境で実現するWebアプリケーションセキュリティ
Kubernetes環境で実現するWebアプリケーションセキュリティKubernetes環境で実現するWebアプリケーションセキュリティ
Kubernetes環境で実現するWebアプリケーションセキュリティNGINX, Inc.
 

Tendances (20)

P4によるデータプレーンプログラミングとユースケースのご紹介
P4によるデータプレーンプログラミングとユースケースのご紹介P4によるデータプレーンプログラミングとユースケースのご紹介
P4によるデータプレーンプログラミングとユースケースのご紹介
 
Ceph Performance and Sizing Guide
Ceph Performance and Sizing GuideCeph Performance and Sizing Guide
Ceph Performance and Sizing Guide
 
Nervesが開拓する「ElixirでIoT」の新世界
Nervesが開拓する「ElixirでIoT」の新世界Nervesが開拓する「ElixirでIoT」の新世界
Nervesが開拓する「ElixirでIoT」の新世界
 
Linux MMAP & Ioremap introduction
Linux MMAP & Ioremap introductionLinux MMAP & Ioremap introduction
Linux MMAP & Ioremap introduction
 
Interrupt Affinityについて
Interrupt AffinityについてInterrupt Affinityについて
Interrupt Affinityについて
 
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!
 
淺談探索 Linux 系統設計之道
淺談探索 Linux 系統設計之道 淺談探索 Linux 系統設計之道
淺談探索 Linux 系統設計之道
 
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 
OSSライセンス入門
OSSライセンス入門OSSライセンス入門
OSSライセンス入門
 
Innodb Deep Talk #2 でお話したスライド
Innodb Deep Talk #2 でお話したスライドInnodb Deep Talk #2 でお話したスライド
Innodb Deep Talk #2 でお話したスライド
 
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
 
CXL_説明_公開用.pdf
CXL_説明_公開用.pdfCXL_説明_公開用.pdf
CXL_説明_公開用.pdf
 
RISC-Vのセキュリティ技術(TEE, Root of Trust, Remote Attestation)
RISC-Vのセキュリティ技術(TEE, Root of Trust, Remote Attestation)RISC-Vのセキュリティ技術(TEE, Root of Trust, Remote Attestation)
RISC-Vのセキュリティ技術(TEE, Root of Trust, Remote Attestation)
 
オープンソースライセンスの基礎と実務
オープンソースライセンスの基礎と実務オープンソースライセンスの基礎と実務
オープンソースライセンスの基礎と実務
 
initramfsについて
initramfsについてinitramfsについて
initramfsについて
 
DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発DPDKを用いたネットワークスタック,高性能通信基盤開発
DPDKを用いたネットワークスタック,高性能通信基盤開発
 
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
 
Marp入門
Marp入門Marp入門
Marp入門
 
Kubernetes環境で実現するWebアプリケーションセキュリティ
Kubernetes環境で実現するWebアプリケーションセキュリティKubernetes環境で実現するWebアプリケーションセキュリティ
Kubernetes環境で実現するWebアプリケーションセキュリティ
 

Similaire à 20190926_Try_RHEL8_NVMEoF_Beta

TripleOの光と闇
TripleOの光と闇TripleOの光と闇
TripleOの光と闇Manabu Ori
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1Etsuji Nakai
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストールYasuhiro Arai
 
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf) Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf) VirtualTech Japan Inc.
 
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Yasuhiro Arai
 
CloudStackユーザ会 OSC.cloud
CloudStackユーザ会 OSC.cloudCloudStackユーザ会 OSC.cloud
CloudStackユーザ会 OSC.cloudsamemoon
 
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1Kotaro Noyama
 
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1Kotaro Noyama
 
How to use Ceph RBD as CloudStack Primary Storage
How to use Ceph RBD as CloudStack Primary StorageHow to use Ceph RBD as CloudStack Primary Storage
How to use Ceph RBD as CloudStack Primary StorageKimihiko Kitase
 
OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)Satoshi Shimazaki
 
Infinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondInfinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondTaisuke Yamada
 
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西Masahide Yamamoto
 
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)NTT DATA Technology & Innovation
 
Lxc cf201207-presen
Lxc cf201207-presenLxc cf201207-presen
Lxc cf201207-presenKouhei Maeda
 
配布用Beginnerならきっと役立つmaster slave環境
配布用Beginnerならきっと役立つmaster slave環境配布用Beginnerならきっと役立つmaster slave環境
配布用Beginnerならきっと役立つmaster slave環境yut148atgmaildotcom
 

Similaire à 20190926_Try_RHEL8_NVMEoF_Beta (20)

Hadoop on LXC
Hadoop on LXCHadoop on LXC
Hadoop on LXC
 
TripleOの光と闇
TripleOの光と闇TripleOの光と闇
TripleOの光と闇
 
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
OpenStackクラウド基盤構築ハンズオンセミナー 第1日:ハンズオンNo1
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストール
 
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf) Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
 
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)
 
CloudStackユーザ会 OSC.cloud
CloudStackユーザ会 OSC.cloudCloudStackユーザ会 OSC.cloud
CloudStackユーザ会 OSC.cloud
 
Openstack+Ceph設定ガイド
Openstack+Ceph設定ガイドOpenstack+Ceph設定ガイド
Openstack+Ceph設定ガイド
 
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1
 
CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1CloudFoundry 2 on Apache CloudStack 4.2.1
CloudFoundry 2 on Apache CloudStack 4.2.1
 
How to use Ceph RBD as CloudStack Primary Storage
How to use Ceph RBD as CloudStack Primary StorageHow to use Ceph RBD as CloudStack Primary Storage
How to use Ceph RBD as CloudStack Primary Storage
 
Mincs 日本語版
Mincs 日本語版Mincs 日本語版
Mincs 日本語版
 
Gingerbread
GingerbreadGingerbread
Gingerbread
 
KVM+cgroup
KVM+cgroupKVM+cgroup
KVM+cgroup
 
OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)OSC 2011 Hokkaido 自宅SAN友の会(後半)
OSC 2011 Hokkaido 自宅SAN友の会(後半)
 
Infinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondInfinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every second
 
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西
 
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
BigtopでHadoopをビルドする(Open Source Conference 2021 Online/Spring 発表資料)
 
Lxc cf201207-presen
Lxc cf201207-presenLxc cf201207-presen
Lxc cf201207-presen
 
配布用Beginnerならきっと役立つmaster slave環境
配布用Beginnerならきっと役立つmaster slave環境配布用Beginnerならきっと役立つmaster slave環境
配布用Beginnerならきっと役立つmaster slave環境
 

Plus de Kohei KaiGai

20221116_DBTS_PGStrom_History
20221116_DBTS_PGStrom_History20221116_DBTS_PGStrom_History
20221116_DBTS_PGStrom_HistoryKohei KaiGai
 
20221111_JPUG_CustomScan_API
20221111_JPUG_CustomScan_API20221111_JPUG_CustomScan_API
20221111_JPUG_CustomScan_APIKohei KaiGai
 
20211112_jpugcon_gpu_and_arrow
20211112_jpugcon_gpu_and_arrow20211112_jpugcon_gpu_and_arrow
20211112_jpugcon_gpu_and_arrowKohei KaiGai
 
20210928_pgunconf_hll_count
20210928_pgunconf_hll_count20210928_pgunconf_hll_count
20210928_pgunconf_hll_countKohei KaiGai
 
20210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.020210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.0Kohei KaiGai
 
20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCacheKohei KaiGai
 
20210301_PGconf_Online_GPU_PostGIS_GiST_Index
20210301_PGconf_Online_GPU_PostGIS_GiST_Index20210301_PGconf_Online_GPU_PostGIS_GiST_Index
20210301_PGconf_Online_GPU_PostGIS_GiST_IndexKohei KaiGai
 
20201128_OSC_Fukuoka_Online_GPUPostGIS
20201128_OSC_Fukuoka_Online_GPUPostGIS20201128_OSC_Fukuoka_Online_GPUPostGIS
20201128_OSC_Fukuoka_Online_GPUPostGISKohei KaiGai
 
20201113_PGconf_Japan_GPU_PostGIS
20201113_PGconf_Japan_GPU_PostGIS20201113_PGconf_Japan_GPU_PostGIS
20201113_PGconf_Japan_GPU_PostGISKohei KaiGai
 
20201006_PGconf_Online_Large_Data_Processing
20201006_PGconf_Online_Large_Data_Processing20201006_PGconf_Online_Large_Data_Processing
20201006_PGconf_Online_Large_Data_ProcessingKohei KaiGai
 
20200828_OSCKyoto_Online
20200828_OSCKyoto_Online20200828_OSCKyoto_Online
20200828_OSCKyoto_OnlineKohei KaiGai
 
20200806_PGStrom_PostGIS_GstoreFdw
20200806_PGStrom_PostGIS_GstoreFdw20200806_PGStrom_PostGIS_GstoreFdw
20200806_PGStrom_PostGIS_GstoreFdwKohei KaiGai
 
20200424_Writable_Arrow_Fdw
20200424_Writable_Arrow_Fdw20200424_Writable_Arrow_Fdw
20200424_Writable_Arrow_FdwKohei KaiGai
 
20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_TokyoKohei KaiGai
 
20191115-PGconf.Japan
20191115-PGconf.Japan20191115-PGconf.Japan
20191115-PGconf.JapanKohei KaiGai
 
20190925_DBTS_PGStrom
20190925_DBTS_PGStrom20190925_DBTS_PGStrom
20190925_DBTS_PGStromKohei KaiGai
 
20190909_PGconf.ASIA_KaiGai
20190909_PGconf.ASIA_KaiGai20190909_PGconf.ASIA_KaiGai
20190909_PGconf.ASIA_KaiGaiKohei KaiGai
 
20190516_DLC10_PGStrom
20190516_DLC10_PGStrom20190516_DLC10_PGStrom
20190516_DLC10_PGStromKohei KaiGai
 
20190418_PGStrom_on_ArrowFdw
20190418_PGStrom_on_ArrowFdw20190418_PGStrom_on_ArrowFdw
20190418_PGStrom_on_ArrowFdwKohei KaiGai
 
20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_Fdw20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_FdwKohei KaiGai
 

Plus de Kohei KaiGai (20)

20221116_DBTS_PGStrom_History
20221116_DBTS_PGStrom_History20221116_DBTS_PGStrom_History
20221116_DBTS_PGStrom_History
 
20221111_JPUG_CustomScan_API
20221111_JPUG_CustomScan_API20221111_JPUG_CustomScan_API
20221111_JPUG_CustomScan_API
 
20211112_jpugcon_gpu_and_arrow
20211112_jpugcon_gpu_and_arrow20211112_jpugcon_gpu_and_arrow
20211112_jpugcon_gpu_and_arrow
 
20210928_pgunconf_hll_count
20210928_pgunconf_hll_count20210928_pgunconf_hll_count
20210928_pgunconf_hll_count
 
20210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.020210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.0
 
20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache20210511_PGStrom_GpuCache
20210511_PGStrom_GpuCache
 
20210301_PGconf_Online_GPU_PostGIS_GiST_Index
20210301_PGconf_Online_GPU_PostGIS_GiST_Index20210301_PGconf_Online_GPU_PostGIS_GiST_Index
20210301_PGconf_Online_GPU_PostGIS_GiST_Index
 
20201128_OSC_Fukuoka_Online_GPUPostGIS
20201128_OSC_Fukuoka_Online_GPUPostGIS20201128_OSC_Fukuoka_Online_GPUPostGIS
20201128_OSC_Fukuoka_Online_GPUPostGIS
 
20201113_PGconf_Japan_GPU_PostGIS
20201113_PGconf_Japan_GPU_PostGIS20201113_PGconf_Japan_GPU_PostGIS
20201113_PGconf_Japan_GPU_PostGIS
 
20201006_PGconf_Online_Large_Data_Processing
20201006_PGconf_Online_Large_Data_Processing20201006_PGconf_Online_Large_Data_Processing
20201006_PGconf_Online_Large_Data_Processing
 
20200828_OSCKyoto_Online
20200828_OSCKyoto_Online20200828_OSCKyoto_Online
20200828_OSCKyoto_Online
 
20200806_PGStrom_PostGIS_GstoreFdw
20200806_PGStrom_PostGIS_GstoreFdw20200806_PGStrom_PostGIS_GstoreFdw
20200806_PGStrom_PostGIS_GstoreFdw
 
20200424_Writable_Arrow_Fdw
20200424_Writable_Arrow_Fdw20200424_Writable_Arrow_Fdw
20200424_Writable_Arrow_Fdw
 
20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo20191211_Apache_Arrow_Meetup_Tokyo
20191211_Apache_Arrow_Meetup_Tokyo
 
20191115-PGconf.Japan
20191115-PGconf.Japan20191115-PGconf.Japan
20191115-PGconf.Japan
 
20190925_DBTS_PGStrom
20190925_DBTS_PGStrom20190925_DBTS_PGStrom
20190925_DBTS_PGStrom
 
20190909_PGconf.ASIA_KaiGai
20190909_PGconf.ASIA_KaiGai20190909_PGconf.ASIA_KaiGai
20190909_PGconf.ASIA_KaiGai
 
20190516_DLC10_PGStrom
20190516_DLC10_PGStrom20190516_DLC10_PGStrom
20190516_DLC10_PGStrom
 
20190418_PGStrom_on_ArrowFdw
20190418_PGStrom_on_ArrowFdw20190418_PGStrom_on_ArrowFdw
20190418_PGStrom_on_ArrowFdw
 
20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_Fdw20190314 PGStrom Arrow_Fdw
20190314 PGStrom Arrow_Fdw
 

Dernier

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 

Dernier (12)

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 

20190926_Try_RHEL8_NVMEoF_Beta

  • 1. Red Hat Enterprise Linux 8.0 で NVME-over-Fabricを設定してみた HeteroDB Chief Architect & CEO KaiGai Kohei <kaigai@heterodb.com> #やってみた系
  • 2. 何をやってる人ですか? 『@kkaigai』 ⇩ 『固定されたツイート』 ⇩ 9/25(水) DB Tech Showcase Tokyo 2019 【発表資料】 PostgreSQLをどこまで高速化できるか ~ハードウェアの限界に挑むPG-Stromの挑戦~ Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた2
  • 3. みんな大好き NVME-SSD Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた3
  • 4. みんな知ってるNVME-SSD  低レイテンシ ✓ PCIeバス直結、プロトコル変換を省略  高スループット ✓ PCIeレーン数に応じたデータ転送レート  スケーラビリティ ✓ 多数のI/Oキューによる多重I/Oの実装  オープン ✓ 制御コマンドを共通規格化 CPURAM SSD SSD PCIe HBA HDD HDD HDD Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた4
  • 5. ストレージ容量の上限はシャーシの大きさに規定される…? イマドキの2Uサーバなら、オールフラッシュで200TB近く積めるが…。 model Supermicro 2029U-TN24R4T Qty CPU Intel Xeon Gold 6226 (12C, 2.7GHz) 2 RAM 32GB RDIMM (DDR4-2933, ECC) 12 GPU NVIDIA Tesla P40 (3840C, 24GB) 2 HDD Seagate 1.0TB SATA (7.2krpm) 1 NVME Intel DC P4510 (8.0TB, U.2) 24 N/W built-in 10GBase-T 4 8.0TB x 24 = 192TB Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた5 システム導入時に、 データサイズの上限を 正確に予想できるか…?
  • 6. NVME-over-Fabric リモートのNVME-SSDをあたかもローカル同様に使う技術 CPURAM SSD NIC PCIe SSD NIC SSD CPURAM PCIe NVME-oF Host NVME-oF Target 高速ネットワーク (RoCE, FC, TCP) Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた6
  • 7. #やってみた Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた7
  • 8. 実験環境(1/2) NVME-Host Supermicro SYS-1019GP-TT magro.heterodb.com (192.168.77.100) NVME-Host Supermicro SYS-5018GR-T saba.heterodb.com (192.168.77.104) CPU: Xeon Gold 6126T CPU: Xeon E5-2650v4 GPU: NVIDIA TESLA V100 SSD: Intel DC P4600 SSD: Intel DC P4600 NIC: Mellanox ConnextX-5 NIC: Mellanox ConnextX-5 GPU: NVIDIA TESLA P40 x16 x8 x8 x16 SSD: Samsung PRO960 SSD: Samsung PRO960 SSD: Samsung PRO960 SSD: Samsung PRO960 RiserBoard x16 x16 x8 192.168.80.100 192.168.80.104 100Gb RoCE Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた8
  • 9. 実験環境(2/2) Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた9
  • 10. 目標とする構成 CPU: Xeon Gold 6126T CPU: Xeon E5-2650v4 GPU: NVIDIA TESLA V100 SSD: Intel DC P4600 SSD: Intel DC P4600 NIC: Mellanox ConnextX-5 NIC: Mellanox ConnextX-5 GPU: NVIDIA TESLA P40 x16 x8 x8 x16 SSD: Samsung PRO960 SSD: Samsung PRO960 SSD: Samsung PRO960 SSD: Samsung PRO960 RiserBoard x16 x16 x8 192.168.80.100 192.168.80.104 /dev/nvme0 … ローカル /dev/nvme1 … ローカル /dev/nvme2 … NVME-oF区画 /dev/nvme2n1 /dev/nvme2n2 /dev/nvme2n3 /dev/nvme2n4 Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた10
  • 11. NVMEoFターゲットの設定(1/2) ■ 必要なカーネルモジュールをロードする # modprobe nvmet-rdma # modprobe mlx5_ib ■ NVMEoFの設定単位 “subsystem” を作成する # cd /sys/kernel/config/nvmet/subsystems # mkdir -p capybara # ls -lF capybara total 0 drwxr-xr-x. 2 root root 0 Sep 26 15:06 allowed_hosts/ -rw-r--r--. 1 root root 4096 Sep 26 15:06 attr_allow_any_host -rw-r--r--. 1 root root 4096 Sep 27 07:30 attr_serial -rw-r--r--. 1 root root 4096 Sep 27 07:30 attr_version drwxr-xr-x. 6 root root 0 Sep 26 15:07 namespaces/ # echo 1 > capybara/attr_allow_any_host Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた11 注意:ホスト単位で許可を出す事もできるようだ。
  • 12. NVMEoFターゲットの設定(1/2) ■ “subsystem”配下に”namespace”を作成し、それぞれ物理 NVME-SSD を関連付ける # cd capybara/namespaces # mkdir -p 1 2 3 4 # echo -n /dev/nvme0n1 > 1/device_path # echo 1 > 1/enable # echo -n /dev/nvme1n1 > 2/device_path # echo 1 > 2/enable # echo -n /dev/nvme2n1 > 3/device_path # echo 1 > 3/enable # echo -n /dev/nvme3n1 > 4/device_path # echo 1 > 4/enable Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた12 注意:echo -n ではなく echo ではデバイス名を認識してくれなかった。
  • 13. NVMEoFターゲットの設定(2/2) ■ NVMEoF ネットワークポートの設定 # mkdir -p /sys/kernel/config/nvmet/ports/1 # cd /sys/kernel/config/nvmet/ports/1 # echo 192.168.80.100 > addr_traddr # echo rdma > addr_trtype # echo 4420 > addr_trsvcid # echo ipv4 > addr_adrfam ■ NVMEoF ネットワークポートと “namespace” を関連付ける # cd subsystems # ln -sf ../../../subsystems/capybara ./ Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた13
  • 14. NVMEoFホストの設定(0/2) ■ SSD-to-GPU Direct用のドライバソフトウェアをインストール # yum install nvme_strom-2.2-1.el8.x86_64.rpm # modinfo nvme-rdma filename: /lib/modules/4.18.0-80.7.2.el8_0.x86_64/extra/nvme-rdma.ko.xz version: 2.2 description: Enhanced nvme-rdma for SSD-to-GPU Direct SQL license: GPL v2 rhelversion: 8.0 srcversion: 7F097CBE75277A94667B5C9 depends: nvme-fabrics,ib_core,nvme-core,rdma_cm name: nvme_rdma vermagic: 4.18.0-80.7.2.el8_0.x86_64 SMP mod_unload modversions parm: register_always:Use memory registration even for contiguous memory... 解説)nvme-rdmaモジュールの filename: に注意 RHEL/CentOS 7.x/8.x系列では、nvme-rdmaドライバによって制御されるNVMEoF区画からSSD-to-GPUダイレクト データ転送を行うには、パッチを適用したnvme-rdmaドライバを適用する必要があります。 このドライバは nvme_strom パッケージでインストールされますが、同名のINBOXドライバとは異なり、 /lib/modules/<kernel version>/extra 以下に格納されます。 INBOXドライバは /lib/modules/<kernel version>/kernel/drivers/nvme/host/nvme-rdma.ko.xz に 保存されますが、modprobeコマンドは /extra 以下を優先するため、こちらは利用されません。 Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた14
  • 15. NVMEoFホストの設定(1/2) ■ カーネルモジュールのロード # modprobe nvme-rdma # modprobe mlx5_ib ■ NVMEoF ターゲットへの接続① # nvme discover -t rdma -a 192.168.80.100 -s 4420 Discovery Log Number of Records 1, Generation counter 1 =====Discovery Log Entry 0====== trtype: rdma adrfam: ipv4 subtype: nvme subsystem treq: not specified portid: 1 trsvcid: 4420 subnqn: capybara traddr: 192.168.80.100 rdma_prtype: not specified rdma_qptype: connected rdma_cms: rdma-cm rdma_pkey: 0x0000 Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた15
  • 16. NVMEoFホストの設定(2/2) ■ ローカルのNVMEデバイスを確認 # ls -l /dev/nvme?n? brw-rw----. 1 root disk 259, 0 Sep 27 13:26 /dev/nvme0n1 brw-rw----. 1 root disk 259, 1 Sep 27 13:26 /dev/nvme1n1 ■ NVMEoF ターゲットへの接続② # nvme connect -t rdma -n capybara -a 192.168.80.100 -s 4420 ■ リモートデバイスが認識されている事を確認 # ls -l /dev/nvme?n? brw-rw----. 1 root disk 259, 0 Sep 27 13:26 /dev/nvme0n1 brw-rw----. 1 root disk 259, 1 Sep 27 13:26 /dev/nvme1n1 brw-rw----. 1 root disk 259, 5 Sep 27 14:00 /dev/nvme2n1 brw-rw----. 1 root disk 259, 7 Sep 27 14:00 /dev/nvme2n2 brw-rw----. 1 root disk 259, 9 Sep 27 14:00 /dev/nvme2n3 brw-rw----. 1 root disk 259, 11 Sep 27 14:00 /dev/nvme2n4 Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた16
  • 17. ストレージ区画の作成 Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた17 ■ 各NVMEoFストレージにパーティションを作成する # fdisk /dev/nvme2n1 : 以下、各ディスクに対して繰り返し ■ md-raid0ボリュームの作成 # mdadm -C /dev/md0 -c 128 -l 0 -n 4 /dev/nvme2n?p1 # mdadm --detail --scan > /etc/mdadm.conf ■ md-raid0ボリューム上にパーティションを作成しExt4ファイルシステムで初期化 # fdisk /dev/md0 # mkfs.ext4 -L NVMEOF_DISK /dev/md0p1 ■ /etc/fstabへエントリを追加 # vi /etc/fstab : LABEL=NVMEOF_DISK /nvme ext4 nofail 0 0 ※ “nofail” を指定しないと、起動時にマウントを失敗し、エラーと判断されてしまう。 ▼ここまで来たら、単なるローカルブロックデバイスと同じ
  • 18. 参考)NVMEoFボリュームの切り離し手順 ▌NVMEoFクライアント側 # umount /nvme # mdadm --misc --stop /dev/md0 # nvme disconnect -d /dev/nvme0 # nvme disconnect -d /dev/nvme1 ▌NVMEoFターゲット側 # rm -f /sys/kernel/config/nvmet/ports/*/subsystems/* # rmdir /sys/kernel/config/nvmet/ports/* # rmdir /sys/kernel/config/nvmet/subsystems/*/namespaces/* # rmdir /sys/kernel/config/nvmet/subsystems/* Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた18
  • 19. 動作確認(1/2) CPU: Xeon Gold 6126T CPU: Xeon E5-2650v4 GPU: NVIDIA TESLA V100 SSD: Intel DC P4600 SSD: Intel DC P4600 NIC: Mellanox ConnextX-5 NIC: Mellanox ConnextX-5 GPU: NVIDIA TESLA P40 x16 x8 x8 x16 SSD: Samsung PRO960 SSD: Samsung PRO960 SSD: Samsung PRO960 SSD: Samsung PRO960 RiserBoard x16 x16 x8 192.168.80.100 192.168.80.104 /dev/md1 /dev/nvme2n1 /dev/nvme2n2 /dev/nvme2n3 /dev/nvme2n4 どうせPCIe x8スロットで 詰まるので、性能測定と しては無意味な事に留意 Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた19
  • 20. 動作確認(2/2) ▌リモートNVME-SSD ➔ 100G-NIC ➔ 100G-NIC ➔ ローカルGPU # ssd2gpu_test /mnt/90GB GPU[0] Tesla P40 - file: /mnt/90GB, i/o size: 86.02GB, buffer 32MB x 6 read: 86.02GB, time: 13.91sec, throughput: 6.18GB/s nr_ram2gpu: 0, nr_ssd2gpu: 22548480, average DMA size: 128.0KB ▌iostat -m 2 avg-cpu: %user %nice %system %iowait %steal %idle 0.00 0.00 2.72 0.00 0.00 97.28 Device tps MB_read/s MB_wrtn/s MB_read MB_wrtn nvme0n1 0.00 0.00 0.00 0 0 nvme1n1 0.00 0.00 0.00 0 0 nvme2n1 12679.50 1584.94 0.00 3169 0 nvme2n2 12679.50 1584.88 0.00 3169 0 nvme2n3 12682.00 1584.94 0.00 3169 0 md126 50719.50 6339.56 0.00 12679 0 nvme2n4 12681.00 1585.12 0.00 3170 0 Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた20
  • 21. ログ収集デーモン: 『一緒にやってみたい!』方、ぜひお気軽にお声がけください Red Hat Insights Tech Seminar - LT: RHEL8.0でNVME-oFを設定してみた21 NVME-oFやGPUDirectなど最新技術をブチ込んで、IoT/M2Mログ処理向けに 処理能力100GB/s級のデータ処理基盤を作ろうとしています。 Manufacturing Logistics Mobile Home electronics JBoF: Just Bunch of Flash NVME-over-Fabric (RDMA) DB管理者 BIツール(可視化) 機械学習アプリケーション (E.g, 異常検知など) 共通データ フレーム PG-Strom