514 Views
September 29, 16
スライド概要
この資料は、アイティメディア株式会社主催のイベント「第2回 @IT製品比較セミナー ~違いのわかる人のための主要フラッシュストレージ徹底解剖~」にて、
Yahoo! JAPANのOracle Databaseのプラットフォームでは、どのような経緯でフラッシュストレージ導入に至ったのか説明したものになります。
【イベントの概要】
■イベント名
第2回 @IT製品比較セミナー ~違いのわかる人のための主要フラッシュストレージ徹底解剖~
■主催
アイティメディア株式会社
■共催
伊藤忠テクノソリューションズ株式会社
■イベントURL
https://itmedia.smartseminar.jp/public/seminar/view/901
【セッションの概要】
■日時
2016年 9月14日(水) 13:35~14:25 頃
■タイトル
ヤフーを支えるフラッシュストレージ
2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp
ヤフーを支える フラッシュストレージ ヤフー株式会社 宇佐美 茂正
自己紹介 • • • • 氏名:宇佐美 茂正(うさみ 勤務先:ヤフー株式会社 職種:DBA 業務 • • • • しげまさ) DB環境構築 DB運用業務 SQLチューニング DB監査 ※ Oracle Database 関連の業務を主に行っています Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 2
このセッションの概要 弊社のOracle Databaseを稼動させるシステム構成として、 過去にどのようなものが採用されてきたのかをご紹介し ます そして、過去の構成で問題となった点を明らかにし、そ れに対してどういったアプローチで解決させたのかを説 明させて頂きます Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 3
アジェンダ 1. Yahoo! JAPANのRDB運用状況 2. Oracle環境のこれまでの構成と問題点 3. 次世代構成の選定 4. フラッシュストレージ導入の必要性 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 4
1.Yahoo! JAPANのRDB運用状況 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 5
多種多様なサービス Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 6
社内で運用しているデータ関連のプラットフォーム RDB KVS DWH Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 7
社内で運用しているデータ関連のプラットフォーム RDB KVS DWH Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 8
Yahoo! JAPANのRDB運用チーム • • • • 2005年頃発足 DBAのスペシャリスト集団 現在は正社員15名+業務委託4名 運用しているデータベース数 • • Oracle 242個 MySQL 635個 • チームの目的 • • • • • RDBの集約管理 運用コストの削減 社内へのRDB教育 次世代構成の検討 RDB技術の最新情報の収集 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 9
Yahoo! JAPANでのOracle,MySQLの住み分け • Oracle • • • • ミッションクリティカルなサービス セキュアのデータを扱うサービス 処理量が多いサービス 会計・勘定系サービス • MySQL • Web系のサービス • Oracleの必要がないサービスはMySQL推奨 • 2016年からセキュアのデータも扱う(自社で監査システムを 作成) Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 10
全社Oracle環境に求められているもの • • • • • 高いパフォーマンス 高い可用性 安定運用 BCP 強固なセキュリティ 昨今、Oracleを利用する案件は、性能、可用性、BCP、セ キュリティ等の要望レベルが非常に高くなっています そうでない案件はMySQLが選択される事が多い為です 特に、赤文字3つの項目が重要視されています Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 11
2. Oracle環境のこれまでの構成と問題点 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 12
2005年~2010年 アプリケーション 第一世代 • Oracle 9i or 10g • シングルインスタンス データベースサーバー • Solaris • HA Softwareによる冗長化 • ミッドレンジサーバ (冷蔵庫みたいなやつ) • メモリ 64G〜128G ストレージサーバー • FCによる接続 • 内部でコントローラ冗長化 • 商用ストレージ(HDD) Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 13
第一世代のイメージ GR02 GR01 VIP DB GR03 VIP DB DB DB DB VIP DB DB VOL VOL DB DB VOL Fail Over DB node 1 DB node 2 DB node 3 FC FC Storage GR03_LUN GR02_LUN GR01_LUN Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 14
2005年~2010年 GOOD 第一世代 BAD データベースサーバー • 安定 • メモリたくさん • 高速 GOOD • • • • 高価 Solarisが社内非標準 筐体が大きい 無停止構成ではない ストレージサーバー • 安定 • 運用中ダウン0 • 高価 • オペレーションがベンダー 頼り • 筐体が大きい Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 15
2010年~ 第二世代 アプリケーション • Oracle 11gR2 • Oracle RAC データベースサーバー • OracleLinux • Oracle Grid Infrastructureに よる冗長性 • • • • 1Uのサーバ メモリ 72G 1G eth NIC (Interconnect) 10G eth NIC/SFP (Storage) ストレージサーバー • iscsiによる接続 • Oracle ASMによる冗長化 •商用ストレージ(HDD) Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 16
第二世代 のイメージ Oracle GI(Grid Infrastructure) Instance Node 1 Instance Node 2 Instance Node 3 RAC DB Oracle ASM (Auto Storage Manager) DB node 1 DB node 2 DB node 3 10G eth Network storage node 03 storage node 02 storage node 01 LUN06 LUN05 LUN04 LUN03 LUN02 LUN01 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 17
2010年~ 第二世代 GOOD BAD • OracleRAC データベースサーバー • 安価 • 安定 • 1U • インターコネクト通信がボ トルネックに(NW帯域) ストレージサーバー • 比較的安価 • 安定 • オペレーションしやすい • IO性能がボトルネックに Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 18
2010年~ 第二世代 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 19
2010年~ 第二世代 課題 • インターコネクト通信での待機が発生 • キャッシュフュージョン (Oracleインスタンス間でバッファキャッシュを共有する機能) Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 20
2010年~ 第二世代 課題 • インターコネクト通信での待機が発生 • キャッシュフュージョン (Oracleインスタンス間でバッファキャッシュを共有する機能) • ディスクへの読み書きがボトルネックに Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 21
2010年~ 第二世代 課題 事例① • 広告の入稿システムがIOのボトルネックで遅延 • 競合他社よりかなり遅い Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 22
2010年~ 第二世代 課題 事例② • メール配信PFの処理がデータ量増加とともに遅延 • バッチ処理が12時間ほどかかってしまう • 1日2300回APIがタイムアウトしてしまう Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 23
2014年~ 第三世代 アプリケーション • Oracle 11gR2 • Oracle RAC データベースサーバー • Oracle Linux • Oracle Grid Infrastructureに よる冗長化 • 1Uのサーバ • メモリ 128G • InfiniBand HCA搭載 ストレージサーバー • ISer (iSCSI Extention for RDMA)による接続 • Oracle ASMによる冗長化 • 1Uのサーバ • メモリ 32G • PCIe-SSDカード2枚搭載 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 24
第三世代 のイメージ Oracle Grid Infrastructure DB Instance 2 DB Instance 1 DB Instance 3 RAC DB Oracle ASM (Auto Storage Manager) IB HCA IB HCA IB HCA IB HCA IB HCA DB node 2 DB node 1 IB HCA DB node 3 InfiniBand Switch InfiniBand Switch Network 01(56Gbps) IB HCA Partition 1 PCI-SSD IB HCA Partition 1 PCI-SSD Storage node 1 IB HCA Partition 1 PCI-SSD Network 02(56Gbps) IB HCA Partition 1 PCI-SSD Storage node 2 IB HCA Partition 1 PCI-SSD IB HCA Partition 1 PCI-SSD Storage node 3 IB HCA Partition 1 PCI-SSD IB HCA IB HCA Partition 1 PCI-SSD Partition 1 PCI-SSD Storage node 4 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 IB HCA Partition 1 PCI-SSD Storage node 5 IB HCA Partition 1 PCI-SSD IB HCA Partition 1 PCI-SSD Storage node 6 25
2014年~ GOOD BAD • OracleRAC データベースサーバー • 安価 • 1U • Iserでメモリの断片化が発 生 ストレージサーバー • かなり安価 • HDDよりかなり高速 • 1U • 台数を並べる必要がある • オンラインでディスクの切 り直しができない Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 26
2014年~ 第三世代 効果 • インターコネクト通信をInfinibandにしたことで遅延解 消 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 27
2014年~ 第三世代 効果 • インターコネクト通信をInfinibandにしたことで遅延解 消 • HDDをPCIe-SSDにした事でIOボトルネック解消 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 28
2010年~ Wait Class User I/O Commit Cluster DB CPU 第二世代 課題 事例① 項目 HDD x iSCSI 第二世代 PCI-SSD x IB (iSer) 第三世代 DB Time(%) 79.3 3.5 Avg Wait(ms) 53 0 DB Time(%) 4.3 0.2 Avg Wait(ms) 83 1 DB Time(%) 3.7 0.4 Avg Wait(ms) 12 0 DB Time(%) 13.7 56.3 Avg Wait(ms) - - • データベースの待機クラスが大幅に変化 • I/Oの待機が大幅に減少 • CPU処理時間が大半の割合を占めるようになった Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 29
2010年~ 対象SQL SQLその1 SQLその2 第二世代 課題 事例① 比較項目 従来構成 HDD x 10G 新構成 SSD x IB 実行時間(s) 10.63 0.10 I/O時間 10.41 0.07 DB CPU(%) 0.6 32.1 I/O(%) 97.9 70.6 実行時間(s) 20.29 0.13 I/O時間 20.18 0.09 DB CPU(%) 0.5 33.1 I/O(%) 99.5 70.6 • その結果、SQL性能も大幅に良くなりました • 処理スピードが10~20倍に 競合他社とも引けをとらない性能となった Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 30
2010年~ 第二世代 課題 事例② • メール配信PFの処理がデータ量増加とともに遅延 • バッチ処理が12時間ほどかかってしまう • 1日2300回APIがタイムアウトしてしまう Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 31
2010年~ 第二世代 課題 事例② • メール配信PFの処理がデータ量増加とともに遅延 • バッチ処理が12時間ほどかかってしまう • 1日2300回APIがタイムアウトしてしまう →バッチ処理が10時間→2時間に →1日2300回のタイムアウトが1日0~1回に Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 32
2014年~ 第三世代 DBサーバー課題 データベースサーバー • Iserの部分でデータベースサーバーのメモリが断片化し てしまう • ほうっておくとメモリの獲得に失敗してしまい、OSダウン • 根本的に解決する方法がなく、定期的にOS再起動などで対応 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 33
2014年~ 第三世代 STサーバー課題① ストレージサーバー • PCIe-SSDの1枚の容量がおよそ2Tほどで横に台数を並べ ないと容量が確保できない • 障害点増加、管理煩雑 • 一番多い基盤で現在18台運用 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 34
2014年~ 第三世代 STサーバー課題① ASMで2重化 ストレージサーバー18台 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 35
2014年~ 第三世代 STサーバー課題① 必ずどこか2台にデータが書かれている状態 ASMで2重化 ストレージサーバー18台 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 36
2014年~ 第三世代 STサーバー課題① 1台で障害発生 ASMで2重化 障害発生 ストレージサーバー18台 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 37
2014年~ 第三世代 STサーバー課題① 1台で障害ASMが障害発生した機器をサービスアウト データのリバランスを行います。 ASMで2重化 リバランス処理 障害発生 ストレージサーバー18台 リバランス処理 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 38
2014年~ 第三世代 STサーバー課題① ASMで2重化 リバランス完了 障害発生 ストレージサーバー18台 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 39
2014年~ 第三世代 STサーバー課題① ASMで2重化 リバランスが完了した段階で、正常復旧 データの2重化が保証されます サービスアウト ストレージサーバー18台 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 40
2014年~ 第三世代 STサーバー課題① リバランス中は冗長化されてないデータが存在 ASMで2重化 リバランス処理 障害発生 ストレージサーバー18台 リバランス処理 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 41
2014年~ 第三世代 STサーバー課題① もしもリバランス処理中に二重障害が発生 したらデータの冗長性が保てなくなり、 データベースが停止してしまいます ASMで2重化 リバランス処理 障害発生 ストレージサーバー18台 障害発生 リバランス処理 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 42
2014年~ 第三世代 STサーバー課題① 当然台数が多いとこのリスクは高まります ASMで2重化 リバランス処理 障害発生 ストレージサーバー18台 障害発生 リバランス処理 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 43
2014年~ 第三世代 STサーバー課題① 回避策 • データを3重化する →管理するサーバーが増えてしまう →予算的に厳しい →書き込みが遅くなる ASMで2重化 リバランス処理 障害発生 ストレージサーバー18台 障害発生 リバランス処理 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 44
2014年~ DBサーバー3台 第三世代 STサーバー課題② 基盤1 DBサーバー3台 基盤2 それぞれのデータベースサーバーが ストレージサーバーを見ています ストレージサーバー18台 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 45
2014年~ DBサーバー3台 第三世代 STサーバー課題② 基盤1 DBサーバー3台 基盤2 SSDカード SSDカード ストレージサーバー18台 1台につき2枚SSDカードがささっています Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 46
2014年~ DBサーバー3台 第三世代 STサーバー課題② 基盤1 DBサーバー3台 基盤2 基盤1 基盤1 基盤2 基盤2 ストレージサーバー18台 中でパーティションを切っています Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 47
2014年~ DBサーバー3台 第三世代 STサーバー課題② 基盤1 DBサーバー3台 基盤2 基盤1 基盤1 基盤2 基盤2 ストレージサーバー18台 基盤2で増やしたくなった時、 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 48
2014年~ DBサーバー3台 第三世代 STサーバー課題② 基盤1 DBサーバー3台 基盤2 基盤1 基盤1 基盤2 基盤2 ストレージサーバー18台 オンラインでは切り直し不可能 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 49
2014年~ DBサーバー3台 第三世代 STサーバー課題② 基盤1 DBサーバー3台 基盤2 すべてのセッションを一度切らないといけません 基盤1 基盤1 基盤2 基盤2 ストレージサーバー18台 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 50
2014年~ DBサーバー3台 第三世代 STサーバー課題② 基盤1 DBサーバー3台 基盤2 1台ずつ順番にセッションを切って切りなおします ストレージサーバー18台 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 51
2014年~ 第三世代 STサーバー課題② これを手順で表すと 1. ASMから対象のストレージサーバーをOFFLINE 2. 対象のストレージサーバーからiscsiログアウト 3. 2を全データベースサーバー分実施 4. STサーバーのSSDのパーティションを切り直し 5. 対象のストレージサーバーにiscsiログイン 6. ASMから対象のストレージサーバーをONLINE 7. 1~6をストレージ台数分実施 とても大変 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 52
Oracle環境の課題まとめ • IO性能がボトルネック • 解消するためPCIe-SSD+Infiniband構成(第三世代)を構築 →処理速度はかなり速くなったが、 • メンテナンスの煩雑化、障害点増加 • • PCIe-SSDでは容量に制限があるため、どうしてもストレージ 台数が増えてしまう オンラインでデバイスの切り直しができない →事故が増えた… Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 53
次世代構成のストレージに求められる要件 以上のことから次世代構成のストレージは • • • • • 容量が多い(少ない台数で済む) 高性能(PCIe-SSDにも引けをとらない) オンラインメンテナンス可能 ストレージ間通信の安定 ストレージ側での冗長性担保 上記を満たしている事が理想 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 54
3.次世代構成の選定 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 55
選定候補 前段の要求に見合ったストレージを模索 • • 第一候補 • NVMe x SDS ( Software Defined Storage )の構成 第二候補 • ALL Flash Storage x FC ( SCSI )の構成 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 56
候補1 NVMe x SDS アプリケーション • Oracle 12cR1 • Oracle RAC データベースサーバー • Oracle Linux • Oracle Grid Infrastructureに よる冗長化 • 1Uのサーバ • メモリ 256G ストレージサーバー • 10G ethによる接続 • Oracle ASMによる冗長化 • SDS ( Software Defined Storage ) によ • 1Uのサーバ • メモリ 64G • NVMeカード2枚搭載 る管理 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 57
候補1 のイメージ • Service NW • 1Gbps NW x 1 • Bonding • Interconnect NW • 10Gbps x 2 • Bonding (mode 6) • Storage NW • SDS ( 独自プロトコル) • 10Gbps NW x 2 • bonding (mode 6) Core Switch Edge Switch DB Instance DB Instance DB Instance RAC DB Oracle ASM DB node 1 DB node 2 10G Switch (Storage & Interconnect) ST node 1 DB node 3 10G Switch (Storage & Interconnect) ST node 2 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 ST node 3 58
候補2 ALL Flash Storage x FC(SCSI) アプリケーション • Oracle 12cR1 • Oracle RAC データベースサーバー • Oracle Linux • Oracle Grid Infrastructureに よる冗長化 • 1Uのサーバ • メモリ 256G ストレージサーバー • FC ( SCSI )による接続 • 内部コントローラ冗長化 • Oracle ASMによる冗長化 • ALL Flash Storage Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 59
候補2 のイメージ • Service NW • 1Gbps NW x 1 • Bonding • Interconnect NW • 10Gbps NW x 2 • Storage NW • 16Gbps FC SAN x 2 • Multipath ( 4 path) Core Switch Edge Switch DB Instance RAC DB Oracle ASM DB node 1 16G FC Switch FC SAN 01 Flash Storage 01 DB Instance DB Instance DB node 2 16G FC Switch FC SAN 02 DB node 3 10G Switch Interconnect NW 01 10G Switch Interconnect NW 02 Flash Storage 02 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 60
性能比較 • Caribrate IO • Oracle社提供の単純なIO性能測定プロシージャ • Swingbench • • 元Oracle社エンジニアが作成したフリーベンチマークツール http://dominicgiles.com/swingbench.html Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 61
Caribrate IO (I/O性能比較) Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 62
MAX IOPS(最大秒間I/Oリクエスト) MAX IOPS 1400000 1258268 1269320 1153229 1200000 1000000 800000 600000 400000 268875 200000 0 HDD x iSCSI 第二世代 PCI-SSD x IB(iSer) 第三世代 NVMe x SDS 候補1 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 ALL Flash Storage x FC(SCSI) 候補2 63
MAX IOPS(最大秒間I/O転送量) MAX MBPS 20000 17516 18000 16000 14594 14000 12000 10000 8788 8000 6000 4000 3085 2000 0 HDD x iSCSI 第二世代 PCI-SSD x IB(iSer) 第三世代 NVMe x SDS 候補1 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 ALL Flash Storage x FC(SCSI) 候補2 64
MAX IOPS時平均待機時間 LATENCY 1 0.9 0.8 0.7 0.6 0.5 0.4 1ミリ秒以下 0.3 0.2 0.1 0 HDD x iSCSI 第二世代 PCI-SSD x IB(iSer) 第三世代 NVMe x SDS 候補1 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 ALL Flash Storage x FC(SCSI) 候補2 65
Swingbench ( SQL性能比較 ) Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 66
平均レスポンスタイム(ミリ秒) Average Responce Time 1,000 181 172 93 100 75 33 25 106 68 95 49 22 11 10 13 7 6 HDD x iSCSI 第二世代 PCI-SSD x IB(iSer) 第三世代 NVMe x SDS 候補1 ALL Flash Storage x FC(SCSI) 候補2 4 1 10 100 300 500 Session Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 67
Query Per Second Query Per Second 9000 7932 7880 8000 7000 6821 6927 6266 6093 6000 6213 6480 5395 5000 4000 3000 2030 2000 1702 1781 3756 3710 300 500 2539 HDD x iSCSI 第二世代 PCI-SSD x IB(iSer) 第三世代 NVMe x SDS 候補1 ALL Flash Storage x FC(SCSI) 候補2 1000 0 649 10 100 Session Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 68
検証時のCPU使用率 100 100 CPU 100 100 95 95 80 80 90 80 70 70 60 95 90 70 HDD x iSCSI 第二世代 PCI-SSD x IB(iSer) 第三世代 NVMe x SDS 候補1 ALL Flash Storage x FC(SCSI) 候補2 60 50 40 40 35 30 30 20 10 10 0 10 100 300 500 Session Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 69
待機イベント HDD x iSCSI db file sequential read 34% log file sync gc current block 2-way 54% gc buffer busy acquire read by other session 2% 2% 2% その他 6% Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 70
待機イベント ALL Flash Storage x FC ( SCSI ) CPU file sequential read 2%2% 2%2% 2% 3% 3% 3% g file sync cr block 2-way cr grant 2-way 6% cr block 3-way 57% 18% file scattered read current block 2-way current block 3-way cr multi block request その他 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 71
性能まとめ IOPS • ALL Flash Storage が最も限界IOPSが高かった SQL性能 • ALL Flash Storage x FC, NVMe x SDS共にほぼ同等の性能 だった DB待機イベント • ALL Flash StorageはCPUが上位に来ていてIOがボトルネッ クになっていない Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 72
運用面 障害テスト ALL Flash Storage x FC (SCSI) NVMe x SDS ストレージ障害テスト ○ ○ DB障害テスト ○ ○ 10Gスイッチ障害テスト ○ ○ FCスイッチ障害テスト ○ - 障害テストはどちらもクリア Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 73
運用面 ネットワーク環境 ALL Flash Storage x FC (SCSI) NVMe x SDS 利用するNWの安定性 ○ ( FC ) ※安定実績あり ○ ( Ehternet ) ※安定実績あり 利用プロトコルの メモリ枯渇時の安定性 ○ ( SCSI ) ※安定実績あり ○ (SDSプロトコル) ※安定実績あり NWの安定性もどちらもクリア Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 74
運用面 メンテナンス性 ALL Flash Storage x FC (SCSI) NVMe x SDS ストレージ側での LUN切り出し ○ ○ ストレージ側での Target設定変更 ○ ○ イニシエーター側での認識 ○ ○ ASMにDisk追加 ○ ○ オンラインでのメンテナンス可能 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 75
運用面 耐障害性 ALL Flash Storage x FC (SCSI) NVMe x SDS ホスト冗長性 ○ (コントローラー冗長) × Oracle側で冗長 フラッシュ冗長性 ○ ( 独自RAID) × Oracle側で冗長 ALL Flash Storageのほうがより可用性が高い Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 76
運用面 サポート体制 ALL Flash Storage x FC (SCSI) NVMe x SDS サポート先 DBサーバー:A社 ストレージ:C社 (オンサイト保守) DBサーバー :A社 STノード:A社 SSDカード:B社 SDSソフト:B社 24時間365日サポート ○ × ストレージ障害時の保守窓口がALL Flash Storage は一本化 24/365のサポートを受けられた Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 77
運用面 集約性 必要台数 ALL Flash Storage x FC (SCSI) NVMe x SDS 2台~ 7台〜 ALL Flash Storage 2台に集約 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 78
選定結果 • パフォーマンス ALL Flash Storage x FC(SCSI) = NVMe x SDS • 運用・耐障害性 ALL Flash Storage x FC(SCSI) >> NVMe x SDS 以上の事から 弊社ではALL Flash Storageを選定しました Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 79
ALL Flash Storage導入の効果 2台に集約 運用コスト大幅減 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 80
ALL Flash Storage導入の効果 HDDからFlash Storageへ パフォーマンス向上 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 81
4.フラッシュストレージ導入の必要性 Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 82
I/O性能が改善される事によるメリット • HDDの構成 • I/O処理がボトルネックとなる • DBシステムとしては健全な状態ではない • CPUリソースを使い切る前にI/Oで限界を迎えてしまう • CPU ライセンス費用がもったいない • 余計にDBノード増設も必要となってくる • フラッシュストレージの構成 • I/Oのボトルネックが解消 • DB処理時間の大半がCPU時間へ変化 • CPUリソースを使い切る形となる • DBシステムとして健全な状態となる Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 83
安定稼動、安定運用は大切 • ストレージで頻繁に事故が起こると困る • ストレージ側でも可用性は担保されているべき • • • • 電源冗長 コントローラー冗長 RAIDグループ機能 Etc… ※ソフトウェアによるストレージの冗長化に頼りすぎる のは良くない Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 84
最後に Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 85
選定時の検証は入念に • 検証環境 • 本番と全く同じスペック、構成を用意 • 検証内容 • • • • 性能検証 障害テスト メンテナンステスト Etc… ※稼動させてみなければ解らない事は多い Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 86
ご清聴ありがとうございました Copyright (C) 2016 Yahoo! Japan Corporation. All Rights Reserved. 無断引用・転載禁止 87