#75 NVMeつかってみた話 & IGListKitの話

どうも、esuiです。
今日はじめて本格的に京都と中継をして勉強会を試してみましたが、
マイクがなかなか声を拾ってくれない感じで試行錯誤な感じです…。




NVMeつかってみた話



第一部はインフラの話から。
前回の続きということで、NVMe(Non Volatile Memory Express)を使ってみたという話でした。

今回選んだ製品


スクリーンショット 2017-02-13 00.03.11.png
今回選んだのはIntel 750のPCI Expressタイプ。
某案件の参照専用のDBとして使用する想定で、信頼性は低くても2台で冗長化を行うようにしています。
コンシューマ向け製品で、コネクタ形状はU.2もしくはPCIeの2タイプがあります。

アキバの老舗、アークさんで購入。現在は94,500円となっているようです。
https://www.ark-pc.co.jp/i/13511377/

ドライバとドキュメント


インテルの配布ドライバはwinとvmwareのみとなっているようですが、
Linuxはkernel 3.3以上(3.10以上がインテル推奨)でドライバ実装されているそうです。
RHEL6.5~ 等、一部のディストリではバックポートされています。RHEL7は3.100 なので対応カーネルとなります。
今回はCentOS7でカーネル実装のものをそのまま使いました。
ドキュメントなどはこのあたりにあります。
https://downloadcenter.intel.com/ja/download/23929/NVMe-Solid-State-Drive-

セットアップ


今回はDell R620 のpci-expressスロットに750のカードを挿しました。
PCI Gen3は1レーン1GB/sですが、Intel 750はスループット2〜3GB/s なのでx4 以上でOKです。
もしスループット4GB以上あればx8とする必要があります。
CentOS 7であれば、OSインストール状態でドライバインストール不要ですぐに使えてしまいます。

ドキュメントによるとファイルシステム作成時には-Kオプションを付けてTRIMしないようにしたほうが良いそうです。
スクリーンショット 2017-02-13 00.46.01.png

パフォーマンスですが、
スクリーンショット 2017-02-13 01.10.21.png

でサービスに入れてまだ数日ですが、
スクリーンショット 2017-02-13 01.16.05.png
いまのところいい感じでさばけているようです。

nvmeコマンド


https://github.com/linux-nvme/nvme-cli
yum install nvme-cliで入ります。
fioコマンドとおなじようなもので、
nvme id-ctrl /dev/nvme0
のように使うようです。

まとめ


導入において低いコストで高いパフォーマンスが得られた
- カード安い、セットアップ楽
- 高スループットとiops、サイトの表示スピードupと良い感じ

信頼性につていはこれから実運用を重ねていって検証する。
- 最悪データロストしても大丈夫な箇所で使用するところからはじめてみる。
- ソフトウェアraidによりミラーリングしてもいいかもしれない

とのことでした。




IGListKitの話


第2部はIGListKitのお話でした。

ちょうど本人に記事を書いてもらっており、
こちらを見ていただいたほうがずっと良いかと思いますのでリンクを置いておきます。(助かった…w)
IGListKit を使ってみた!

この記事へのコメント