このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
01_linux:01_net:32_1_spdk [2019/11/21 06:45] – matsui | 01_linux:01_net:32_1_spdk [2020/03/11 23:51] (現在) – matsui | ||
---|---|---|---|
行 8: | 行 8: | ||
===== 環境 ===== | ===== 環境 ===== | ||
CentOS7 | CentOS7 | ||
+ | |||
+ | ===== 参考ページ===== | ||
+ | |||
+ | [[https:// | ||
===== 1.事前準備 ===== | ===== 1.事前準備 ===== | ||
+ | < | ||
# sed -i ' | # sed -i ' | ||
# systemctl status tgtd.service | # systemctl status tgtd.service | ||
+ | </ | ||
===== 2.Grubの用意 ===== | ===== 2.Grubの用意 ===== | ||
行 25: | 行 30: | ||
保存後、grubに反映 | 保存後、grubに反映 | ||
# grub2-mkconfig -o / | # grub2-mkconfig -o / | ||
+ | </ | ||
+ | |||
+ | ===== 3.必要なパッケージ追加 ===== | ||
+ | |||
+ | < | ||
+ | # yum -y install numactl-devel openssl-devel git | ||
+ | </ | ||
+ | |||
+ | ===== 4.再起動 ===== | ||
+ | |||
+ | 再起動後、設定変更を確認 | ||
+ | |||
+ | < | ||
+ | # grep ^Huge / | ||
+ | HugePages_Total: | ||
+ | HugePages_Free: | ||
+ | HugePages_Rsvd: | ||
+ | HugePages_Surp: | ||
+ | Hugepagesize: | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== 5.SPDKのビルド ===== | ||
+ | < | ||
+ | # cd /usr/src | ||
+ | # git clone https:// | ||
+ | # cd spdk | ||
+ | # git submodule update --init | ||
+ | # scripts/ | ||
+ | # ./configure | ||
+ | # make | ||
+ | </ | ||
+ | |||
+ | ==== RDMAに対応 ==== | ||
+ | |||
+ | RDMA(Remote Direct Memory Access) | ||
+ | リモート先のメモリにCPUを介さず読み書き可能な規格。 | ||
+ | |||
+ | 参考サイト | ||
+ | [[https:// | ||
+ | |||
+ | < | ||
+ | ./configure --with-rdma | ||
+ | </ | ||
+ | ===== 6.モジュールのテスト ===== | ||
+ | |||
+ | 「All unit tests passed」表示でOK | ||
+ | < | ||
+ | ./ | ||
+ | ===================== | ||
+ | All unit tests passed | ||
+ | ===================== | ||
+ | WARN: lcov not installed or SPDK built without coverage! | ||
+ | WARN: neither valgrind nor ASAN is enabled! | ||
+ | </ | ||
+ | |||
+ | |||
+ | ====== 6.spdkのiscsi.confファイル設定 ====== | ||
+ | < | ||
+ | # cd / | ||
+ | # vi iscsi.conf | ||
+ | |||
+ | [global] | ||
+ | | ||
+ | | ||
+ | |||
+ | [iSCSI] | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | [Rpc] | ||
+ | # | ||
+ | | ||
+ | | ||
+ | |||
+ | [AIO] | ||
+ | # | ||
+ | AIO /dev/sdb1 AIO0 512 | ||
+ | |||
+ | [PortalGroup1] | ||
+ | # | ||
+ | | ||
+ | |||
+ | [InitiatorGroup1] | ||
+ | | ||
+ | # | ||
+ | | ||
+ | |||
+ | [TargetNode1] | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | # | ||
+ | LUN0 AIO0 | ||
+ | | ||
+ | </ | ||
+ | |||
+ | ====== 7.起動 ====== | ||
+ | |||
+ | < | ||
+ | # ./iscsi_tgt -c iscsi.conf | ||
+ | Starting SPDK v20.01-pre git sha1 f924c94 / DPDK 19.08.0 initialization... | ||
+ | [ DPDK EAL parameters: iscsi --no-shconf -c 0x1 --log-level=lib.eal: | ||
+ | app.c: 642: | ||
+ | reactor.c: 344: | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ====== シンプルなベンチマーク ====== | ||
+ | OpneNebulaでVM作成して簡単にdbenchでベンチマーク | ||
+ | |||
+ | 我が家の検証環境ではLVM, | ||
+ | ローカルディスクやHVでの結果にはさすがに及ばず。 | ||
+ | < | ||
+ | vm Cent7 LVM | ||
+ | Throughput 334.049 MB/ | ||
+ | |||
+ | vm Cent7 NFS | ||
+ | Throughput 389.693 MB/ | ||
+ | |||
+ | vm Cent7 LVM(spdk) | ||
+ | Throughput 479.421 MB/ | ||
+ | |||
+ | vm Cent7 System(local disk) | ||
+ | Throughput 655.964 MB/ | ||
+ | |||
+ | HV | ||
+ | Throughput 1471.72 MB/ | ||
</ | </ | ||
{{tag> | {{tag> |