Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

知念 洋樹 Chinen Hiroki ⚫ 株式会社サイバーエージェント 技術本部 Private Cloud Group ハードウェアチーム 2017年7月サイバーエージェントへ入社 HW選定やStorage製品の選定、構築、運用と手広く従事 趣味:アマチュア無線(call sign: JJ1PZY) ドライブ(1000km/24hは余裕よね?)

Slide 4

Slide 4 text

アジェンダ

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

CyberAgentについて

Slide 7

Slide 7 text

CyberAgentについて ◼ コーポレートビジョン ◼ 21世紀を代表する会社を創る Media ABEMA Ameba マッチング AI インターネット広告 動画広告 アドテクノロジー Game 主力タイトル8本 Cygames SGE

Slide 8

Slide 8 text

CyberAgentの プライベートクラウド

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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廃止 縮小中 拡張中

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

各ロケーションにおける ストレージの解説

Slide 14

Slide 14 text

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廃止 縮小中 拡張中

Slide 15

Slide 15 text

各ロケーションにおけるストレージの解説 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

Slide 16

Slide 16 text

各ロケーションにおけるストレージの解説 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

Slide 17

Slide 17 text

TKY00 Ameba EBS •コンセプト: 障害に強く、堅くデータを保持 •ClusterLVMを使った構成 •GatewayとStoreを分割した構成 •永久β版でした •総容量: 60TB

Slide 18

Slide 18 text

各ロケーションにおけるストレージの解説 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

Slide 19

Slide 19 text

TKY01 Cinder-HDD •コンセプト:障害に強く、堅くデータを保持 •Ameba EBSの進化形 •Singleポイントを無くした構成 •gatewayとstoreに分割し、IOスピードも担保 •OpenStack CinderのLVMドライバで制御 •HDD 3TB x35 RAID6 •総容量: 220TB

Slide 20

Slide 20 text

TKY01 Cinder-HDD •いいところ ⮚ 保守しやすい (全て2重化の恩恵) ⮚ 横にスケールさせやすい •まずいところ ⮚ データ同期が遅い(10TBを2-3日) • 実際に起きた問題 ⮚ Gatewayサーバがkernelパニックで半死に状 態になるも、keepalivedが死の判定をせず failoverが発生しない ⮚ エンクロージャやRaidカードのFW起因の Bugを引いて、片肺運転になってしまう

Slide 21

Slide 21 text

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)

Slide 22

Slide 22 text

TKY01 Cinder-SSD •いいところ ⮚ 簡単な仕組みのため不具合が起きづらい •まずいところ ⮚ 保守がしづらい •実際に起きた問題 ⮚ KernelのBugを引いてしまい、全台Update祭 りを開催(30台ほど) ⮚ シャーシのBackplaneにBugがあり、NVMeが 見えなくなることがあった

Slide 23

Slide 23 text

各ロケーションにおけるストレージの解説 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

Slide 24

Slide 24 text

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/

Slide 25

Slide 25 text

TKY02 Cinder-Standard •いいところ ⮚ 冗長有りの爆速ストレージが誕生した ⮚ 2時間程度でDRBDの初期同期完了する •まずいところ ⮚ iSCSIのLUNが増加するにつれてFailover時間 が延びる(150volume越えで2分越え) ⮚ Volumeサイズの下限を設定しなかったこと により、想定より小さいサイズで2-3倍の Volume数が作られてしまった ⮚ 保守しやすい構成のはずが保守できない •実際に起きた問題 ⮚ サービスからFailover時間が長くてシステム が耐えられないとの声が。。。 ⮚ (解決策はVolume数を減らすしか無い) ⮚ 100Gbpsの帯域をVolume数で割った値で制 限かけているので、IOが遅いとの連絡が… ⮚ PSUが故障し電源喪失

Slide 26

Slide 26 text

TKY02 Cinder-Archive •コンセプト:障害に強くて大容量なStorage •Cinder-StandardのHDD版 •お下がりサーバで構築 •10TB x12 RAID5 •実効容量: 90TB •総容量: 270TB •Service: 25GbE x2 LAG(LACP)

Slide 27

Slide 27 text

TKY02 Cinder-Archive •いいところ ⮚ 大容量ストレージを安価に構築可能 •まずいところ ⮚ Volume数が増えると、Cinder-Standardと同 じ状況になってしまう •実際に起きた問題 ⮚ なし。安定稼働中。

Slide 28

Slide 28 text

TKY02 Cinder-Single •コンセプト:最速Storage。でも冗長無し。 •TKY01のCinder-SSDと基本的に同じ •AMD EPYC Romeを採用 •Intel SSD DC P4610 3.2TB x10 •実効容量: 30TB •総容量: 180TB •Service: 25GbE x2 LAG(LACP)

Slide 29

Slide 29 text

TKY02 Cinder-Single •いいところ ⮚ 爆速ストレージを安価に構築可能 ⮚ ミドルウェア側でデータ冗長をとるシステ ムでれば、容量効率はいい •まずいところ ⮚ なし •実際に起きた問題 ⮚ サービス未投入のためなし。

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

Ceph 2/2 ◼良かった点 ◼メンテナンス・障害時のIO停止が縮小 ◼おおよそ数秒程度 ◼メンテナンス計画が立てやすい ◼容量の拡張が容易 ◼Cephをインストールし所定のTreeにmoveするだけ ◼オブジェクトの再配置時にIO性能の低下は発生 ◼完全に止まるのは1秒程度 ◼再配置が終わるまでは半分~8割程度低下 ◼ローリングアップデートが現実的 ◼13.2.6から13.2.8へのアップデートは問題なく完了 ◼メジャーバージョンアップは……? ◼導入して起きたこと ◼たまにIOが停止する…… ◼おそらくはメモリ関係 ◼下記の対応で一旦は収束 ◼Cephバージョンアップ ◼Poolの拡張 ◼メモリ関係のカーネルパラメータの変更 ◼その他 ◼3レプリカなので利用効率が…… ◼ユーザ側でもレプリケーションしている ◼cinder-single ◼規模が大きくなっても安定的に運用可能か ◼今後に注視

Slide 33

Slide 33 text

ストレージはアプライアンス? それとも手作り?

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

今後のチャレンジ

Slide 36

Slide 36 text

今後のチャレンジ ◼ 脱iSCSI ◼ NVME over Fabric ◼ フラッシュストレージにおけるファブリック技術のスタンダードを目指す仕組み ◼ RDMA/RoCE ◼ 既存の環境に入れるのは難しい ◼ TCP/IP ◼ 既存の環境に入れやすそう ◼ OpenStackとの連帯もやりやすそう? ◼ 弊社内では ◼ いくつかのベンダー様の製品を実際に検証済 ◼ 余裕の100万IOPSを超える性能を叩き出す(!!) ◼ この性能は魅力的 ◼ 製品としてはもう少し先

Slide 37

Slide 37 text

まとめ

Slide 38

Slide 38 text

まとめ ◼ CyberAgentのプライベートクラウド(Cycloud)におけるストレージをご紹介 ◼ アプライアンス ◼ 手作り ◼ SDS(Ceph) ◼ それぞれに、メリット・デメリットがあり使いたい環境に応じて取捨選択が必要 ◼ 本セッションの情報がストレージ選定の参考になれば幸いです ◼ 詳細をもっと知りたい方は別途コンタクトください! ◼ 他社様の事例も知りたいです……