Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CyberAgentのプライベートクラウドにおけるストレージ戦略
Search
Hiroki Miyamoto
July 30, 2020
Technology
1.5k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CyberAgentのプライベートクラウドにおけるストレージ戦略
Hiroki Miyamoto
July 30, 2020
Other Decks in Technology
See All in Technology
RAG を使わないという選択肢
tatsutaka
1
250
Disciplined Vibes: Scaling AI-Assisted Engineering
sheharyar
0
150
アンオフィシャルな、オフィシャルからのお願い
wyamazak_devrel
0
110
"何を作るか"を任される エンジニアは、どう育つのか
yutaokafuji
1
680
新しいUbuntu/GNOMEが使いたいからXからWaylandへ移行頑張ってるの巻 2026-06-20
nobutomurata
0
120
現地で盛り上がった WWDC26 Keynote
zozotech
PRO
1
250
2026TECHFRESH畢業分享會 - Lightning Talk - 資料也要 CI/CD? 用 Airbyte 自動化資料同步
line_developers_tw
PRO
0
1.1k
Claude Code の Sandbox 機能を Anthropic Sandbox Runtime(srt) で試そう!/lets-play-anthropic-sandbox-runtime
tomoki10
1
610
GitHub Copilot 最新アップデート – 「一歩先」の実践活用術
moulongzhang
4
920
エンジニアリング戦略の作り方 / Crafting Engineering Strategy
iwashi86
21
7k
Android の公式 Skill / Android skills
yanzm
0
150
データサイエンスを価値につなげるプロジェクト設計 〜 DS一年目が現場で得た気づき 〜
ysd113
1
250
Featured
See All Featured
Ruling the World: When Life Gets Gamed
codingconduct
0
250
Evolving SEO for Evolving Search Engines
ryanjones
0
220
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
210
Crafting Experiences
bethany
1
180
First, design no harm
axbom
PRO
2
1.2k
Bash Introduction
62gerente
615
220k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
840
KATA
mclloyd
PRO
35
15k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
150
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
160
Transcript
CyberAgentの プライベートクラウドにおけるストレージ戦略 株式会社サイバーエージェント 宮元 裕樹 株式会社サイバーエージェント 知念 洋樹 Cloud Operator
Days Tokyo 2020 @ 2020/07/30
宮元 裕樹 Miyamoto Hiroki ⚫ 株式会社サイバーエージェント 技術本部 Private Cloud Group
ハードウェアチーム チームリーダー 2011年 インターネットインフラ事業者に入社 OpenStackを利用したクラウドサービスの開発運用等に従事 2017年 デジタルコンテンツ配信事業者に入社 配信基盤のハードウェア選定・運用に従事 2019年9月 サイバーエージェントへ入社 ストレージやコンピュートノードといったハードウェア周りの選定や運用を担当中 趣味: 自宅インフラ、MMORPG
知念 洋樹 Chinen Hiroki ⚫ 株式会社サイバーエージェント 技術本部 Private Cloud Group
ハードウェアチーム 2017年7月サイバーエージェントへ入社 HW選定やStorage製品の選定、構築、運用と手広く従事 趣味:アマチュア無線(call sign: JJ1PZY) ドライブ(1000km/24hは余裕よね?)
アジェンダ
1.アジェンダ 2.CyberAgentについて 3.CyberAgentのプライベートクラウド 4.各ロケーションにおけるストレージの解説 5.ストレージはアプライアンス?それとも手作り? 6.今後のチャレンジ 7.まとめ
CyberAgentについて
CyberAgentについて ◼ コーポレートビジョン ◼ 21世紀を代表する会社を創る Media ABEMA Ameba マッチング AI
インターネット広告 動画広告 アドテクノロジー Game 主力タイトル8本 Cygames SGE
CyberAgentの プライベートクラウド
CyberAgentのプライベートクラウド Media AI Cloud Cloud Private Cloud Group (PCG) Strategic
Infrastructure Agency (SIA)
CyberAgentのプライベートクラウド Media AI Cloud Cloud Private Cloud Group (PCG) Strategic
Infrastructure Agency (SIA)
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廃止 縮小中 拡張中
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
各ロケーションにおける ストレージの解説
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廃止 縮小中 拡張中
各ロケーションにおけるストレージの解説 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
各ロケーションにおけるストレージの解説 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
TKY00 Ameba EBS •コンセプト: 障害に強く、堅くデータを保持 •ClusterLVMを使った構成 •GatewayとStoreを分割した構成 •永久β版でした •総容量: 60TB
各ロケーションにおけるストレージの解説 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
TKY01 Cinder-HDD •コンセプト:障害に強く、堅くデータを保持 •Ameba EBSの進化形 •Singleポイントを無くした構成 •gatewayとstoreに分割し、IOスピードも担保 •OpenStack CinderのLVMドライバで制御 •HDD
3TB x35 RAID6 •総容量: 220TB
TKY01 Cinder-HDD •いいところ ⮚ 保守しやすい (全て2重化の恩恵) ⮚ 横にスケールさせやすい •まずいところ ⮚
データ同期が遅い(10TBを2-3日) • 実際に起きた問題 ⮚ Gatewayサーバがkernelパニックで半死に状 態になるも、keepalivedが死の判定をせず failoverが発生しない ⮚ エンクロージャやRaidカードのFW起因の Bugを引いて、片肺運転になってしまう
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)
TKY01 Cinder-SSD •いいところ ⮚ 簡単な仕組みのため不具合が起きづらい •まずいところ ⮚ 保守がしづらい •実際に起きた問題 ⮚
KernelのBugを引いてしまい、全台Update祭 りを開催(30台ほど) ⮚ シャーシのBackplaneにBugがあり、NVMeが 見えなくなることがあった
各ロケーションにおけるストレージの解説 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
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/
TKY02 Cinder-Standard •いいところ ⮚ 冗長有りの爆速ストレージが誕生した ⮚ 2時間程度でDRBDの初期同期完了する •まずいところ ⮚ iSCSIのLUNが増加するにつれてFailover時間
が延びる(150volume越えで2分越え) ⮚ Volumeサイズの下限を設定しなかったこと により、想定より小さいサイズで2-3倍の Volume数が作られてしまった ⮚ 保守しやすい構成のはずが保守できない •実際に起きた問題 ⮚ サービスからFailover時間が長くてシステム が耐えられないとの声が。。。 ⮚ (解決策はVolume数を減らすしか無い) ⮚ 100Gbpsの帯域をVolume数で割った値で制 限かけているので、IOが遅いとの連絡が… ⮚ PSUが故障し電源喪失
TKY02 Cinder-Archive •コンセプト:障害に強くて大容量なStorage •Cinder-StandardのHDD版 •お下がりサーバで構築 •10TB x12 RAID5 •実効容量: 90TB
•総容量: 270TB •Service: 25GbE x2 LAG(LACP)
TKY02 Cinder-Archive •いいところ ⮚ 大容量ストレージを安価に構築可能 •まずいところ ⮚ Volume数が増えると、Cinder-Standardと同 じ状況になってしまう •実際に起きた問題
⮚ なし。安定稼働中。
TKY02 Cinder-Single •コンセプト:最速Storage。でも冗長無し。 •TKY01のCinder-SSDと基本的に同じ •AMD EPYC Romeを採用 •Intel SSD DC
P4610 3.2TB x10 •実効容量: 30TB •総容量: 180TB •Service: 25GbE x2 LAG(LACP)
TKY02 Cinder-Single •いいところ ⮚ 爆速ストレージを安価に構築可能 ⮚ ミドルウェア側でデータ冗長をとるシステ ムでれば、容量効率はいい •まずいところ ⮚
なし •実際に起きた問題 ⮚ サービス未投入のためなし。
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
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
Ceph 2/2 ◼良かった点 ◼メンテナンス・障害時のIO停止が縮小 ◼おおよそ数秒程度 ◼メンテナンス計画が立てやすい ◼容量の拡張が容易 ◼Cephをインストールし所定のTreeにmoveするだけ ◼オブジェクトの再配置時にIO性能の低下は発生 ◼完全に止まるのは1秒程度
◼再配置が終わるまでは半分~8割程度低下 ◼ローリングアップデートが現実的 ◼13.2.6から13.2.8へのアップデートは問題なく完了 ◼メジャーバージョンアップは……? ◼導入して起きたこと ◼たまにIOが停止する…… ◼おそらくはメモリ関係 ◼下記の対応で一旦は収束 ◼Cephバージョンアップ ◼Poolの拡張 ◼メモリ関係のカーネルパラメータの変更 ◼その他 ◼3レプリカなので利用効率が…… ◼ユーザ側でもレプリケーションしている ◼cinder-single ◼規模が大きくなっても安定的に運用可能か ◼今後に注視
ストレージはアプライアンス? それとも手作り?
ストレージはアプライアンス?それとも手作り? ◼ かけられるコストと工数次第 ◼ アプライアンス ◼ 高コスト ◼ その代わり高い信頼性、可用性、保守性がある ◼
重複排除や圧縮もすごい! ◼ 手作り ◼ (機器は)比較的低コスト ◼ 運用コストは高い ◼ 自分たちが必要とするスペックで設計構築可能 ◼ 信頼性、可用性、保守性は自分たち次第 ◼ アプライアンスレベルはかなり難しい ◼ SDS(Ceph) ◼ 中コスト ◼ どんな構成(HDDか、SATA SSDか、NVMeかなど)か次第 ◼ チューニング次第では信頼性、可用性、保守性は高い ◼ アプライアンス ◼ A社 ◼ B社 ◼ 手作り ◼ Ameba EBS ◼ Cinder-HDD ◼ Cinder-SSD ◼ Cinder-Archive ◼ Cinder-Standard ◼ Cinder-Single ◼ SDS ◼ Ceph
今後のチャレンジ
今後のチャレンジ ◼ 脱iSCSI ◼ NVME over Fabric ◼ フラッシュストレージにおけるファブリック技術のスタンダードを目指す仕組み ◼
RDMA/RoCE ◼ 既存の環境に入れるのは難しい ◼ TCP/IP ◼ 既存の環境に入れやすそう ◼ OpenStackとの連帯もやりやすそう? ◼ 弊社内では ◼ いくつかのベンダー様の製品を実際に検証済 ◼ 余裕の100万IOPSを超える性能を叩き出す(!!) ◼ この性能は魅力的 ◼ 製品としてはもう少し先
まとめ
まとめ ◼ CyberAgentのプライベートクラウド(Cycloud)におけるストレージをご紹介 ◼ アプライアンス ◼ 手作り ◼ SDS(Ceph) ◼
それぞれに、メリット・デメリットがあり使いたい環境に応じて取捨選択が必要 ◼ 本セッションの情報がストレージ選定の参考になれば幸いです ◼ 詳細をもっと知りたい方は別途コンタクトください! ◼ 他社様の事例も知りたいです……