Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CyberAgentのプライベートクラウドにおけるストレージ戦略

 CyberAgentのプライベートクラウドにおけるストレージ戦略

Hiroki Miyamoto

July 30, 2020
Tweet

Other Decks in Technology

Transcript

  1. 宮元 裕樹 Miyamoto Hiroki ⚫ 株式会社サイバーエージェント 技術本部 Private Cloud Group

    ハードウェアチーム チームリーダー 2011年 インターネットインフラ事業者に入社 OpenStackを利用したクラウドサービスの開発運用等に従事 2017年 デジタルコンテンツ配信事業者に入社 配信基盤のハードウェア選定・運用に従事 2019年9月 サイバーエージェントへ入社 ストレージやコンピュートノードといったハードウェア周りの選定や運用を担当中 趣味: 自宅インフラ、MMORPG
  2. 知念 洋樹 Chinen Hiroki ⚫ 株式会社サイバーエージェント 技術本部 Private Cloud Group

    ハードウェアチーム 2017年7月サイバーエージェントへ入社 HW選定やStorage製品の選定、構築、運用と手広く従事 趣味:アマチュア無線(call sign: JJ1PZY) ドライブ(1000km/24hは余裕よね?)
  3. CyberAgentについて ◼ コーポレートビジョン ◼ 21世紀を代表する会社を創る Media ABEMA Ameba マッチング AI

    インターネット広告 動画広告 アドテクノロジー Game 主力タイトル8本 Cygames SGE
  4. PCGのプライベートクラウドの概要 2013~2020 2015~ 2018~ Location TKY00 TKY01 TKY02a(Cycloud) Controller Clover

    自社開発 OpenStack Kilo OpenStack Queens Network 1Gbps * 1 10Gbps * 2 25Gbps * 2 CPU 12Core/Node 20Core/Node 40Core/Node Storage 600GB * 4 RAID10 1.2TB * 4 RAID10 Diskless Cinder-boot vCPUs(MAX) 70,000 30,000 20,000+ Racks(MAX) 200+ 60+ 10+ 備考 2020/1Q廃止 縮小中 拡張中
  5. PCGのプライベートクラウド(2018~)概要図 Compute Node Compute Node KVM / Container Users VM

    nova neutron Container k8s Master k8s Master KVM / Container Compute Node Users VM L2 Overlay Network(VXLAN/EVPN on IP CLOS) OpenStack Controller Containers Other Containers Users Service Storage OpenStack Components Physical Components User Components Firewall Load Balancer
  6. PCGのプライベートクラウドの概要 2013~2020 2015~ 2018~ Location TKY00 TKY01 TKY02a(Cycloud) Controller Clover

    自社開発 OpenStack Kilo OpenStack Queens Network 1Gbps * 1 10Gbps * 2 25Gbps * 2 CPU 12Core/Node 20Core/Node 40Core/Node Storage 600GB * 4 RAID10 1.2TB * 4 RAID10 Diskless Cinder-boot vCPUs(MAX) 70,000 30,000 20,000+ Racks(MAX) 200+ 60+ 10+ 備考 2020/1Q廃止 縮小中 拡張中
  7. 各ロケーションにおけるストレージの解説 2013~2020 2015~ 2018~ Location TKY00 TKY01 TKY02a(Cycloud) Controller Clover

    自社開発 OpenStack Kilo OpenStack Queens Network 1Gbps * 1 10Gbps * 2 25Gbps * 2 Storage (Local) 600GB * 4 RAID10 1.2TB * 4 RAID10 Diskless Cinder-boot Storage (External) Ameba EBS Cinder-HDD Cinder-SSD アプライアンス(boot) Cinder-Archive Cinder-Standard Cinder-Single Ceph
  8. 各ロケーションにおけるストレージの解説 2013~2020 2015~ 2018~ Location TKY00 TKY01 TKY02a(Cycloud) Controller Clover

    自社開発 OpenStack Kilo OpenStack Queens Network 1Gbps * 1 10Gbps * 2 25Gbps * 2 Storage (Local) 600GB * 4 RAID10 1.2TB * 4 RAID10 Diskless Cinder-boot Storage (External) Ameba EBS Cinder-HDD Cinder-SSD アプライアンス(boot) Cinder-Archive Cinder-Standard Cinder-Single Ceph
  9. 各ロケーションにおけるストレージの解説 2013~2020 2015~ 2018~ Location TKY00 TKY01 TKY02a(Cycloud) Controller Clover

    自社開発 OpenStack Kilo OpenStack Queens Network 1Gbps * 1 10Gbps * 2 25Gbps * 2 Storage (Local) 600GB * 4 RAID10 1.2TB * 4 RAID10 Diskless Cinder-boot Storage (External) Ameba EBS Cinder-HDD Cinder-SSD アプライアンス(boot) Cinder-Archive Cinder-Standard Cinder-Single Ceph
  10. TKY01 Cinder-HDD •いいところ ⮚ 保守しやすい (全て2重化の恩恵) ⮚ 横にスケールさせやすい •まずいところ ⮚

    データ同期が遅い(10TBを2-3日) • 実際に起きた問題 ⮚ Gatewayサーバがkernelパニックで半死に状 態になるも、keepalivedが死の判定をせず failoverが発生しない ⮚ エンクロージャやRaidカードのFW起因の Bugを引いて、片肺運転になってしまう
  11. TKY01 Cinder-SSD •コンセプト:最速Storage。でも冗長無し。 •外付けUSB HDDを使うイメージ •Intel SSD DC P3600 1.6TB

    x6 /Huawei ES3600P V3 1.6TB x8 •実効容量: 9TB / 12TB •総容量: 375TB •Service: 10GbE x2 LAG(LACP)
  12. TKY01 Cinder-SSD •いいところ ⮚ 簡単な仕組みのため不具合が起きづらい •まずいところ ⮚ 保守がしづらい •実際に起きた問題 ⮚

    KernelのBugを引いてしまい、全台Update祭 りを開催(30台ほど) ⮚ シャーシのBackplaneにBugがあり、NVMeが 見えなくなることがあった
  13. 各ロケーションにおけるストレージの解説 2013~2020 2015~ 2018~ Location TKY00 TKY01 TKY02a(Cycloud) Controller Clover

    自社開発 OpenStack Kilo OpenStack Queens Network 1Gbps * 1 10Gbps * 2 25Gbps * 2 Storage (Local) 600GB * 4 RAID10 1.2TB * 4 RAID10 Diskless Cinder-boot Storage (External) Ameba EBS Cinder-HDD Cinder-SSD アプライアンス(boot) Cinder-Archive Cinder-Standard Cinder-Single Ceph
  14. TKY02 Cinder-Standard •コンセプト:障害に強くて速いStorage •AMD EPYC を採用して豊富なPCIeレーンの恩恵 を受けた構成 •Intel SSD DC

    P4600 3.2TB x12 /1chassis •実効容量: 35TB •Service: 25GbE x4 LAG(LACP) •Interconnect: 25GbE x4 LAG(LACP) •4k rand write: 70万IOPS越え •総容量: 180TB •https://ascii.jp/elem/000/001/716/1716690/
  15. TKY02 Cinder-Standard •いいところ ⮚ 冗長有りの爆速ストレージが誕生した ⮚ 2時間程度でDRBDの初期同期完了する •まずいところ ⮚ iSCSIのLUNが増加するにつれてFailover時間

    が延びる(150volume越えで2分越え) ⮚ Volumeサイズの下限を設定しなかったこと により、想定より小さいサイズで2-3倍の Volume数が作られてしまった ⮚ 保守しやすい構成のはずが保守できない •実際に起きた問題 ⮚ サービスからFailover時間が長くてシステム が耐えられないとの声が。。。 ⮚ (解決策はVolume数を減らすしか無い) ⮚ 100Gbpsの帯域をVolume数で割った値で制 限かけているので、IOが遅いとの連絡が… ⮚ PSUが故障し電源喪失
  16. Storage A1 Controller A Controller B アプライアンス ◼ 2ストレージベンダ ◼

    OS boot領域用ストレージ ◼ ALL FLASH ◼ NVMe ◼ SAS ◼ Active-Active構成 ◼ A1/A2どちらのシャーシが落ちたとしてもIO継続 ◼ 重複排除/圧縮はON ◼ 実環境で4分の1程度 ◼ Cinderから操作 ◼ ド安定の構成 ◼ 障害0 Storage A1 Controller A Controller B SW1 SW2 40GbE 100GbE FC Compute Node Compute Node Compute Node 25GbE iSCSI
  17. OSD Servers Zone3 Zone2 Zone1 Ceph 1/2 ◼ SDS ◼

    ALL NVMe ◼ 10 Disk/node ◼ 2ベンダーのNVMeを利用 ◼ AMD EPYC CPU ◼ Naples世代 ◼ 25GbE * 2 LAG(LACP) ◼ 3Pool ◼ メンテナンスはPool毎に実施 ◼ 3Pool合計で数百TB(RAW)の容量 ◼ 3レプリカ ◼ 実効容量は3分の1 ◼ 13.2.8(mimic) ◼ 13.2.6からローリングアップデートを1度実施 Rack1 Rack2 Rack3 Rack4 Rack5 Rack6 Pool1 Pool1 Pool1 Pool1 Pool1 Pool1 Pool2 Pool2 Pool2 Pool2 Pool2 Pool2 Pool3 Pool3 Pool3 Pool3 Pool3 Pool3
  18. Ceph 2/2 ◼良かった点 ◼メンテナンス・障害時のIO停止が縮小 ◼おおよそ数秒程度 ◼メンテナンス計画が立てやすい ◼容量の拡張が容易 ◼Cephをインストールし所定のTreeにmoveするだけ ◼オブジェクトの再配置時にIO性能の低下は発生 ◼完全に止まるのは1秒程度

    ◼再配置が終わるまでは半分~8割程度低下 ◼ローリングアップデートが現実的 ◼13.2.6から13.2.8へのアップデートは問題なく完了 ◼メジャーバージョンアップは……? ◼導入して起きたこと ◼たまにIOが停止する…… ◼おそらくはメモリ関係 ◼下記の対応で一旦は収束 ◼Cephバージョンアップ ◼Poolの拡張 ◼メモリ関係のカーネルパラメータの変更 ◼その他 ◼3レプリカなので利用効率が…… ◼ユーザ側でもレプリケーションしている ◼cinder-single ◼規模が大きくなっても安定的に運用可能か ◼今後に注視
  19. ストレージはアプライアンス?それとも手作り? ◼ かけられるコストと工数次第 ◼ アプライアンス ◼ 高コスト ◼ その代わり高い信頼性、可用性、保守性がある ◼

    重複排除や圧縮もすごい! ◼ 手作り ◼ (機器は)比較的低コスト ◼ 運用コストは高い ◼ 自分たちが必要とするスペックで設計構築可能 ◼ 信頼性、可用性、保守性は自分たち次第 ◼ アプライアンスレベルはかなり難しい ◼ SDS(Ceph) ◼ 中コスト ◼ どんな構成(HDDか、SATA SSDか、NVMeかなど)か次第 ◼ チューニング次第では信頼性、可用性、保守性は高い ◼ アプライアンス ◼ A社 ◼ B社 ◼ 手作り ◼ Ameba EBS ◼ Cinder-HDD ◼ Cinder-SSD ◼ Cinder-Archive ◼ Cinder-Standard ◼ Cinder-Single ◼ SDS ◼ Ceph
  20. 今後のチャレンジ ◼ 脱iSCSI ◼ NVME over Fabric ◼ フラッシュストレージにおけるファブリック技術のスタンダードを目指す仕組み ◼

    RDMA/RoCE ◼ 既存の環境に入れるのは難しい ◼ TCP/IP ◼ 既存の環境に入れやすそう ◼ OpenStackとの連帯もやりやすそう? ◼ 弊社内では ◼ いくつかのベンダー様の製品を実際に検証済 ◼ 余裕の100万IOPSを超える性能を叩き出す(!!) ◼ この性能は魅力的 ◼ 製品としてはもう少し先
  21. まとめ ◼ CyberAgentのプライベートクラウド(Cycloud)におけるストレージをご紹介 ◼ アプライアンス ◼ 手作り ◼ SDS(Ceph) ◼

    それぞれに、メリット・デメリットがあり使いたい環境に応じて取捨選択が必要 ◼ 本セッションの情報がストレージ選定の参考になれば幸いです ◼ 詳細をもっと知りたい方は別途コンタクトください! ◼ 他社様の事例も知りたいです……