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

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

6557f271a0b301f453f773be43cf876f?s=128

Hiroki Miyamoto

July 30, 2020
Tweet

Transcript

  1. CyberAgentの プライベートクラウドにおけるストレージ戦略 株式会社サイバーエージェント 宮元 裕樹 株式会社サイバーエージェント 知念 洋樹 Cloud Operator

    Days Tokyo 2020 @ 2020/07/30
  2. 宮元 裕樹 Miyamoto Hiroki ⚫ 株式会社サイバーエージェント 技術本部 Private Cloud Group

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

    ハードウェアチーム 2017年7月サイバーエージェントへ入社 HW選定やStorage製品の選定、構築、運用と手広く従事 趣味:アマチュア無線(call sign: JJ1PZY) ドライブ(1000km/24hは余裕よね?)
  4. アジェンダ

  5. 1.アジェンダ 2.CyberAgentについて 3.CyberAgentのプライベートクラウド 4.各ロケーションにおけるストレージの解説 5.ストレージはアプライアンス?それとも手作り? 6.今後のチャレンジ 7.まとめ

  6. CyberAgentについて

  7. CyberAgentについて ◼ コーポレートビジョン ◼ 21世紀を代表する会社を創る Media ABEMA Ameba マッチング AI

    インターネット広告 動画広告 アドテクノロジー Game 主力タイトル8本 Cygames SGE
  8. CyberAgentの プライベートクラウド

  9. CyberAgentのプライベートクラウド Media AI Cloud Cloud Private Cloud Group (PCG) Strategic

    Infrastructure Agency (SIA)
  10. CyberAgentのプライベートクラウド Media AI Cloud Cloud Private Cloud Group (PCG) Strategic

    Infrastructure Agency (SIA)
  11. 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廃止 縮小中 拡張中
  12. 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
  13. 各ロケーションにおける ストレージの解説

  14. 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廃止 縮小中 拡張中
  15. 各ロケーションにおけるストレージの解説 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
  16. 各ロケーションにおけるストレージの解説 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
  17. TKY00 Ameba EBS •コンセプト: 障害に強く、堅くデータを保持 •ClusterLVMを使った構成 •GatewayとStoreを分割した構成 •永久β版でした •総容量: 60TB

  18. 各ロケーションにおけるストレージの解説 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
  19. TKY01 Cinder-HDD •コンセプト:障害に強く、堅くデータを保持 •Ameba EBSの進化形 •Singleポイントを無くした構成 •gatewayとstoreに分割し、IOスピードも担保 •OpenStack CinderのLVMドライバで制御 •HDD

    3TB x35 RAID6 •総容量: 220TB
  20. TKY01 Cinder-HDD •いいところ ⮚ 保守しやすい (全て2重化の恩恵) ⮚ 横にスケールさせやすい •まずいところ ⮚

    データ同期が遅い(10TBを2-3日) • 実際に起きた問題 ⮚ Gatewayサーバがkernelパニックで半死に状 態になるも、keepalivedが死の判定をせず failoverが発生しない ⮚ エンクロージャやRaidカードのFW起因の Bugを引いて、片肺運転になってしまう
  21. 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)
  22. TKY01 Cinder-SSD •いいところ ⮚ 簡単な仕組みのため不具合が起きづらい •まずいところ ⮚ 保守がしづらい •実際に起きた問題 ⮚

    KernelのBugを引いてしまい、全台Update祭 りを開催(30台ほど) ⮚ シャーシのBackplaneにBugがあり、NVMeが 見えなくなることがあった
  23. 各ロケーションにおけるストレージの解説 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
  24. 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/
  25. TKY02 Cinder-Standard •いいところ ⮚ 冗長有りの爆速ストレージが誕生した ⮚ 2時間程度でDRBDの初期同期完了する •まずいところ ⮚ iSCSIのLUNが増加するにつれてFailover時間

    が延びる(150volume越えで2分越え) ⮚ Volumeサイズの下限を設定しなかったこと により、想定より小さいサイズで2-3倍の Volume数が作られてしまった ⮚ 保守しやすい構成のはずが保守できない •実際に起きた問題 ⮚ サービスからFailover時間が長くてシステム が耐えられないとの声が。。。 ⮚ (解決策はVolume数を減らすしか無い) ⮚ 100Gbpsの帯域をVolume数で割った値で制 限かけているので、IOが遅いとの連絡が… ⮚ PSUが故障し電源喪失
  26. TKY02 Cinder-Archive •コンセプト:障害に強くて大容量なStorage •Cinder-StandardのHDD版 •お下がりサーバで構築 •10TB x12 RAID5 •実効容量: 90TB

    •総容量: 270TB •Service: 25GbE x2 LAG(LACP)
  27. TKY02 Cinder-Archive •いいところ ⮚ 大容量ストレージを安価に構築可能 •まずいところ ⮚ Volume数が増えると、Cinder-Standardと同 じ状況になってしまう •実際に起きた問題

    ⮚ なし。安定稼働中。
  28. TKY02 Cinder-Single •コンセプト:最速Storage。でも冗長無し。 •TKY01のCinder-SSDと基本的に同じ •AMD EPYC Romeを採用 •Intel SSD DC

    P4610 3.2TB x10 •実効容量: 30TB •総容量: 180TB •Service: 25GbE x2 LAG(LACP)
  29. TKY02 Cinder-Single •いいところ ⮚ 爆速ストレージを安価に構築可能 ⮚ ミドルウェア側でデータ冗長をとるシステ ムでれば、容量効率はいい •まずいところ ⮚

    なし •実際に起きた問題 ⮚ サービス未投入のためなし。
  30. 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
  31. 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
  32. Ceph 2/2 ◼良かった点 ◼メンテナンス・障害時のIO停止が縮小 ◼おおよそ数秒程度 ◼メンテナンス計画が立てやすい ◼容量の拡張が容易 ◼Cephをインストールし所定のTreeにmoveするだけ ◼オブジェクトの再配置時にIO性能の低下は発生 ◼完全に止まるのは1秒程度

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

  34. ストレージはアプライアンス?それとも手作り? ◼ かけられるコストと工数次第 ◼ アプライアンス ◼ 高コスト ◼ その代わり高い信頼性、可用性、保守性がある ◼

    重複排除や圧縮もすごい! ◼ 手作り ◼ (機器は)比較的低コスト ◼ 運用コストは高い ◼ 自分たちが必要とするスペックで設計構築可能 ◼ 信頼性、可用性、保守性は自分たち次第 ◼ アプライアンスレベルはかなり難しい ◼ SDS(Ceph) ◼ 中コスト ◼ どんな構成(HDDか、SATA SSDか、NVMeかなど)か次第 ◼ チューニング次第では信頼性、可用性、保守性は高い ◼ アプライアンス ◼ A社 ◼ B社 ◼ 手作り ◼ Ameba EBS ◼ Cinder-HDD ◼ Cinder-SSD ◼ Cinder-Archive ◼ Cinder-Standard ◼ Cinder-Single ◼ SDS ◼ Ceph
  35. 今後のチャレンジ

  36. 今後のチャレンジ ◼ 脱iSCSI ◼ NVME over Fabric ◼ フラッシュストレージにおけるファブリック技術のスタンダードを目指す仕組み ◼

    RDMA/RoCE ◼ 既存の環境に入れるのは難しい ◼ TCP/IP ◼ 既存の環境に入れやすそう ◼ OpenStackとの連帯もやりやすそう? ◼ 弊社内では ◼ いくつかのベンダー様の製品を実際に検証済 ◼ 余裕の100万IOPSを超える性能を叩き出す(!!) ◼ この性能は魅力的 ◼ 製品としてはもう少し先
  37. まとめ

  38. まとめ ◼ CyberAgentのプライベートクラウド(Cycloud)におけるストレージをご紹介 ◼ アプライアンス ◼ 手作り ◼ SDS(Ceph) ◼

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