Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Sheepdogを使ってみて分かったこと(第六回ストレージ研究会発表資料)

5,297 views

Published on

第六回ストレージ研究会発表資料
2014年10月30日

Published in: Technology

Sheepdogを使ってみて分かったこと(第六回ストレージ研究会発表資料)

  1. 1. Sheepdogを使ってみて分かったこと ~~第六回ストレージ研究会資料~~~~ 株式会社エーティーワークス 辻正博
  2. 2. 自己紹介 辻正博 現在 株式会社エーティークスプロダクト開発本部所属 ハードウエア製品やサービスの開発を担当 専用サーバ運用 経歴 NetBSD → Linux → CTスキャナーの画像処理装置の開発→ Windows用デバイスドライバー開発→USB関係のハードウエア開発 → 今に至る 趣味 もの作り全般 ほしいものリスト 3Dプリンター Copyright 2014 A.T.Works,Inc. All Rights Reserved.
  3. 3. Sheepdogの弊社での活用状況 Sheepdogの開発状況 パフォーマンスについて(10Gに迫る) SDSに適したハードウエア OSSのSDSとの付き合い方 Copyright 2014 A.T.Works,Inc. All Rights Reserved. 3 アジェンダ
  4. 4. Sheepdogの弊社での利用状況 Copyright 2014 A.T.Works,Inc. All Rights Reserved. 4
  5. 5. レンタルプライベートクラウド ストレージ部分にShepdogを採用 2013年より検証開始 2013年12月末サービス開始 Copyright 2014 A.T.Works,Inc. All Rights Reserved. 5
  6. 6. 仮想化にはKVMを使用 管理GUIは独自開発 ノード数5台(最小構成時) 各サーバではsheepdogと仮想サーバが動作 3多重(同じデータを3ノードに保存) Copyright 2014 A.T.Works,Inc. All Rights Reserved. 6 レンタルプライベートクラウドの基本構成
  7. 7. 最小構成 サービスネットワーク eth0 node2 eth1 eth2 eth0 node3 eth1 eth2 eth0 node4 eth1 eth2 SW1 SW2 eth0 node1 eth1 eth2 eth0 node5 eth1 eth2 ストレージネットワーク • メタデータサーバ等は不要 • 管理サーバ(正、副)は仮想サーバとして2台のノードで動作 Copyright 2014 A.T.Works,Inc. All Rights Reserved. 7
  8. 8. 論理構成 eth0 仮想ネットワーク(VLAN使用) VLAN20 DB Web Web node1 eth1 eth2 VLAN10 eth0 node5 eth1 eth2 サビス用ットワーク サービスネットワーク eth0 KVMによる仮想サーバ node2 eth1 eth2 eth0 node3 eth1 eth2 eth0 node4 eth1 eth2 Sheepdogストレージ SW1 SW2 ストレージネットワーク Copyright 2014 A.T.Works,Inc. All Rights Reserved. 8
  9. 9. Sheepdogの構成要素 構成要素説明 Sheep デーモンとして働く。Sheepdogの本体 dog CLIのコマンド。Sheepの状態をみたりクラスターの制御を行う Corosync クラスターマネージャ zookeeperを使用することもできる(ノード数が多いときは zookeeper推奨) qemu-kvm KVMハイパーバイザー QEMU 0.13からsheepdogのクライアントがビルトインしている RHEL6のqemuは対応していないのでパッチあてが必要 tgt iSCSI target driver iSCSIプロトコルでSheepdogのボジュームを扱える KVMのブロックストレージとして利用できる Copyright 2014 A.T.Works,Inc. All Rights Reserved.
  10. 10. Sheepdogの開発状況 Copyright 2014 A.T.Works,Inc. All Rights Reserved. 10
  11. 11. バージョンリリース日主な新機能、改良点 0.9.0_rc1 2014/10/24 iSCSI multipath ※Corosync 1.xだと動作しない。Corosync 2.xが必要 0.8.0 2014/1/22 仮想ディスクの最大サイズが4TBから16PB Erasure Code対応 HTTP simple storage 0.7.0 2013/8/16 Openstack Glance support is upstream-merged zookeeper driverの改良 0.6.0 2013/6/3 Copyright 2014 A.T.Works,Inc. All Rights Reserved. 11 主な新機能
  12. 12. 本家の事例 Copyright 2014 A.T.Works,Inc. All Rights Reserved. 12
  13. 13. パフォーマンスについて (10Gに迫る)))) Copyright 2014 A.T.Works,Inc. All Rights Reserved. 13
  14. 14. レプリケーションのため、書き込み処理は不利 性能向上を検討 【1Gbpsの場合】 1Gbps / 3 = 42MB/sec が限界 ネットワークを10G化してみたが、Write性能の 向上がみられなかった。 Copyright 2014 A.T.Works,Inc. All Rights Reserved. 14 パフォーマンスについて
  15. 15. Copyright 2014 A.T.Works,Inc. All Rights Reserved. MB/sec Seq-Read 139.3 Rand-Read-512K 417.8 Rand-Read-4K 19.3 Rand-Read-4K-QD32 158.8 Seq-Write 41.5 Rand-Write-512K 25.6 Rand-Write-4K 0.3 Rand-Write-4K-QD32 0.5 15 Fioによるベンチマーク結果 測定条件 • 3ノード • レプリケーション=3 • 各ノードはSATA HDD×3台RAID0 • 10GBASE-T接続 シーケンシャルでも
  16. 16. --nosyncオプション(Write時にO_SYNCを付け ない)により非同期I/Oとなる キャッシュメモリーに保存した時点で書き込み 完了とみなされる。 書き込み性能が向上。 しかしDurability(耐久性)が低下する。 (複数のノードが停止した場合問題) Copyright 2014 A.T.Works,Inc. All Rights Reserved. 16 非同期I/Oの活用
  17. 17. 非同期I/Oの問題点 sheep Memory HDD sheep • 非同期I/Oでも2台までのノード停止 であれば、データロストにはならな • Durabilityと性能のトレードオフ Qemu-kvm Memory HDD い。 sheep Memory HDD ダーティなデータはロスト Copyright 2014 A.T.Works,Inc. All Rights Reserved. 17
  18. 18. Copyright 2014 A.T.Works,Inc. All Rights Reserved. “--nosync” オプション (MB/sec) 無し (同期) 有り (非同期) Seq-Read 139.3 500.8 Rand-Read-512K 417.8 440.9 Rand-Read-4K 19.3 18.8 Rand-Read-4K-QD32 158.8 160.2 Seq-Write 41.5 180.9 Rand-Write-512K 25.6 151.7 Rand-Write-4K 0.3 4.0 Rand-Write-4K-QD32 0.5 94.0 180MB/sec×3 =4.3Gbps 18 Fioによるベンチマーク結果((((同期・非同期)))) 測定条件 • 3ノード • レプリケーション=3 • 各ノードはSATA HDD×3台RAID0 • 10GBASE-T接続 IOPS 991 IOPS 23495 23.7倍 QD=32にほぼ比例して高まる 同期の場合は、スケールしていない
  19. 19. 10Gbps/3 の壁 0 100 200 300 400 500 600 700 800 Seq-Write QD=64 Seq-Write QD=32 Seq-Write QD=16 Seq-Write QD=8 Seq-Write QD=1 Seq-Read QD=64 Seq-Read QD=32 Seq-Read QD=16 Seq-Read QD=8 Seq-Read QD=1 Copyright 2014 A.T.Works,Inc. All Rights Reserved. RAMDISK/--nosync RAMDISK/--nosync 19 ボトルネック調査2 • 3冗長書き込みを行っているので、Writeの速度の上限は 10Gbps / 3 = 416MB/sec • 同時アクセス数を増やすことでネットワーク速度まで向上できる。 • Readについては、大きな向上はなかった。ストレージ性能が向上して きた時に、今後、追加調査したい。
  20. 20. SDSに適したハードウエア Copyright 2014 A.T.Works,Inc. All Rights Reserved. 20
  21. 21. 大容量、低価格 ARX200 S8(ATWORKS) 1U 3.5inch 12 diskサーバ(参考) • 追加コストを必要しない • 搭載ディスク数の多いサーバもある • HDDの大容量化(3.5inchディスクで6~8TB) Copyright 2014 A.T.Works,Inc. All Rights Reserved. 21
  22. 22. PCIe接続の高速SSDの普及 Virident FlasMAX(HGST) P3000 Series(Intel) ioDrive2(FUSION-IO) Copyright 2014 A.T.Works,Inc. All Rights Reserved. 22
  23. 23. PCIe接続のRAMDISK http://pmcs.com/products/storage/flashtec_nvram_drives/ Copyright 2014 A.T.Works,Inc. All Rights Reserved. 23
  24. 24. NVDIMM((((不揮発性DIMM) • DRAM+停電時のデータ保存用NVRAM • Viking TECHNOLOGYなどがDDR3インターフェイスの製品を販売。 • DDR4にはNVDIMM仕様が盛り込まれた • AgigA Tech, KS Hynixなどがサンプル品をリリース • 某M/BメーカではADATA / Viking をリファレンス製品にしている様子 SK HynixのDDR4 NVDIMM http://pc.watch.impress.co.jp/img/pcw/docs/672/270/html/01.jpg.htmlより Copyright 2014 A.T.Works,Inc. All Rights Reserved. 24
  25. 25. Copyright 2014 A.T.Works,Inc. All Rights Reserved. “--nosync” オプション (MB/sec) 有り無し Seq-Read 453.3 467.1 Rand-Read-512K 342.9 401.1 Rand-Read-4K 18.4 18.4 Rand-Read-4K-QD32 160.8 144.6 Seq-Write 185.7 159.6 Rand-Write-512K 178.5 138.2 Rand-Write-4K 5.6 5.1 Rand-Write-4K-QD32 98.6 89.1 25 ボトルネック調査1111((((RAMDISK使用の場合)))) • --nosyncオプションの有無による、性能の大きな違いはみ られなかった。 • メモリの速度のストレージなら、同期書き込みでも、非同 期の場合並の性能を出すことができる。
  26. 26. LVMにキャッシュ機能を追加するもの RHEL7にもTechnology Previewとして含まれている SDSでの用途 HDDのキャッシュをSSD SSDのキャッシュをRAMDISK(不揮発) 同期I/Oでも高速化できるのではないか Copyright 2014 A.T.Works,Inc. All Rights Reserved. 26 dm-cacheの活用 RAMDISK SSD Sheepdog cache
  27. 27. 2Uサイズ(4ノード) 冗長化電源 2.5inch HDD or SSD ×16 Dual Intel® Xeon E5-2600/4600 v3 16 DIMM slots (support NVDIMM TBD) 1G or 10G NIC Copyright 2014 A.T.Works,Inc. All Rights Reserved. 27 SDS用サーバ((((TBD)
  28. 28. OSSのSDSとの付き合い方 Copyright 2014 A.T.Works,Inc. All Rights Reserved. 28
  29. 29. 学んだトラブル事例((((JTF2014発表)))) 【検証環境】 ① Sheepプロセスが全停止。再起動しても動作し ない ② 想定外のディスク容量不足発生 ③ ノードが不定期に切り離される 【サービス環境】 ④ 突然のI/Oの停止 ⑤ パフォーマンスが出ない Copyright 2014 A.T.Works,Inc. All Rights Reserved.
  30. 30. トラブルから学んだ事 クラスターマネージャも重要 • システム全体が停止する不具合はクラス ターマネージャが起因していた • corosyncのチューニングやsheepの corosync driverの修正で改善 • Zookeeperの実績も積みたい 不具合対策が重要 • 小さな不具合を放置しない • 不具合の再現がコミュミティでの修正の近 道 Copyright 2014 A.T.Works,Inc. All Rights Reserved. 30
  31. 31. SDSをサービス利用してみて 無停止でのアップデート • システム全体の停止は、運用上厳しい場 合が多い。 ノード構成変化に対しての頑健性 • トラブルの多くはノード構成が変わった場 合に発生(ノード追加や故障) • ノード構成の変化を伴う検証試験を重点的 に実施する必要がある Copyright 2014 A.T.Works,Inc. All Rights Reserved. 31

×