Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Rook-Cephでいろいろベンチとってみる
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Takuya Utsunomiya
March 27, 2020
Technology
6.5k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rook-Cephでいろいろベンチとってみる
Rook-CephでいろいろIO測ってみました。
Takuya Utsunomiya
March 27, 2020
Transcript
18 slides
で いろいろベンチとってみる Takuya Utsunomiya Storage Solution Architect, Red Hat K.K.
apiVersion: apiextentions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: name: 宇都宮 卓也 spec: group:
レッドハット株式会社 role: ストレージソリューションアーキテクト born: 大阪 version: 38歳 favorites: technology: ストレージ hobby: [“野球好き”, “プロレス好き”,”将棋好き”] drink: [“ビール”, “ワイン”] @japan_rook Japan Rook https://rook.connpass.com/ 一部執筆 してます #japanrook 2
で 計測してみる
モチベーション • IO測るの楽しいから • バックエンドのストレージ直で使うのと Rook-Cephを挟むのとでどれくらい変わるかみたい • Cephの構成変えることでどれくらい変わるのか見たい • IO測るの楽しいから
◦ ほんとだよ? なんでIO計測とかするの? 4
環境 • k8s 1.16 on AWS • 3 master +
3 worker ◦ master : m5.xlarge (4vCPU, 16Gi RAM) ◦ worker : m5.4xlarge (16vCPU, 64Gi RAM) • Rook-Cephはworkerへ • Rook 1.2.7, Ceph 14.2.8 ◦ 最新の組み合わせ 5
遊びかた • FIO 3.13 ◦ Kubestoneのfioを使う ◦ Fio Custom Resourceが便利
• fioのPodから100GBのPVマウント(xfs)してIOかける • 4K random read, 4K random writeでIOPSとlatencyをみる • 他のFioのオプションは ----> ◦ 割と適当に… 6 [global] direct=1 size=1G ioengine=libaio overwrite=1 runtime=120 ramp_time=10 startdelay=10 time_based [rw-64] rw=randwrite directory=/tmp bs=4k iodepth=64 [rr-64] rw=randread directory=/tmp bs=4k iodepth=64 ...
何を測るか • 素のEBS(gp2) vs Rook-Ceph 3x replica RBD • Cephクラスタのosd数
◦ 3 osd vs 12 osd • レプリカ数 ◦ 3x replica RBD vs 2x replica RBD 7
None
補足説明 • イメージはこんな感じ ----> • gp2は1TB未満だと3,000IOPSが天井 • 事前の予想 「readは互角くらい」 「writeは純粋にEBSの方が3倍はやい」
9 node EBS node EBS node EBS osd osd osd RBD 3x replica EBS raw EBS(gp2)
結果 • ReadはRook-Cephの方がIOPSもlatencyも断然はやい ◦ 全osdからreadできるから3,000IOPS以上出せる • WriteはEBSの方がはやい。けど3倍もいかない。 ◦ 三重書きのオーバーヘッド ◦
とは言え負荷が高くなって天井に当たると変わらない 10 結論 : 負荷が低い時のwriteは結構違う。 個人的にはreadが強いRook-Cephの方が役に立つ気がする。
None
補足説明 • イメージはこんな感じ ----> • 合計容量は同じになるようにする ◦ 3 osd …
600Gi x 3 ◦ 12 osd … 150Gi x 12 • 事前の予想 「OSDの数が多い方がreadもwriteも圧倒的に はやいはず」 12 node EBS node EBS node EBS osd osd osd RBD node node node RBD 3x replica EBSEBSEBSEBS EBSEBSEBSEBS EBSEBSEBSEBS osd osd osd osd osd osd osd osd osd osd osd osd 3x replica
結果 • やっぱりosdが多いほうがはやい ◦ 負荷が高いほうが違いがはっきりする • osdの容量を増やすよりScale-Outする方が断然おすすめ 13 結論 :
なにはともあれosdが多い方が正義。
None
補足説明 • イメージはこんな感じ ----> • Cephは3x replicaが主流だけど2x replicaもで きる。もちろんnodeをまたいで複製する。 •
利用可能容量は増えるけど、二重障害で data lossになるリスクがある。 • 事前の予想 「readはどちらも同じくらい」 「writeは2x replicaの方がはやい」 15 node node node RBD 2x replica EBSEBSEBSEBS EBSEBSEBSEBS EBSEBSEBSEBS osd osd osd osd osd osd osd osd osd osd osd osd node node node RBD 3x replica EBSEBSEBSEBS EBSEBSEBSEBS EBSEBSEBSEBS osd osd osd osd osd osd osd osd osd osd osd osd
結果 • Readは3xの方がちょっとはやい ◦ 2xの方がprimary osd偏りやすい?運ゲー? ◦ pg数を増やせば同じくらいになる? • Writeは2xの方がはやい
◦ さすがに二重書きの方がオーバーヘッド少ない 16 結論 : writeは結構変わる。 冗長性を取るか、write速い&少ない容量消費を取るか。
まとめ どうだった? 17 • テストケースが少ないけれど大まかな傾向は見えた。 • パブリッククラウドみたいにストレージに QoSをかけられている環境では Rook-Cephは限界突 破する手段になる。
• とにかくosdはたくさんあるに越したことない。 • Write intensiveな用途では2x replicaも一つの手。 • 12osdにするとなかなか4x3で分散してくれなくて困った。 TopologySpreadConstraintsサ ポートが待たれる。 • やっぱりIO測るのは楽しい。
18
More Decks by Takuya Utsunomiya
See All by Takuya Utsunomiya
OpenShift Virtualizationのストレージ、しゃべりたいだけしゃべる / ocpv-storage
tutsunom
1
1.2k
VMをPodで起動するKubeVirtの真髄 / KubeVirt
tutsunom
2
12k
オブジェクトストレージゲートウェイ:NooBaa / Object Storage Gateway NooBaa
tutsunom
1
1.2k
Multi-Cloud Gatewayでデータを統治せよ!/ Data Federation with MCG
tutsunom
1
1.5k
運用者にやさしいOpenShift / OpenShift is operator-friendly
tutsunom
0
1.1k
OpenShiftのクラスターバックアップリストア / OpenShift Cluster Backup Restore
tutsunom
2
2.6k
COSI (Container Object Storage Interface) で広がる永続ストレージの世界 / CNDT2021 COSI
tutsunom
0
1.9k
このろくでもない、すばらしきストレージの世界。/storage is brilliant
tutsunom
1
1.1k
Kasten K10でBackup&Restore / Kasten K10 Backup Restore
tutsunom
1
1.4k
Other Decks in Technology
See All in Technology
Claude Codeで新規事業を伸ばせるか? Zennの試行錯誤の記録
wadayusuke
2
190
ラクスル会社紹介資料|エンジニア向け / RAKSUL Introduction for Engineers
raksulrecruiting
0
110
Kiro Web 入門 (サインインから、頼み方、PR の受け取り、クラウドの決まりまで) | 目指せ Kiro マスター 04
inariku
PRO
2
120
Context != Context: One window, many lifecycles (AI Native DevCon, Nov 2026)
birgitta410
0
140
Agent Harnessはどう作る?事例から学ぶAI Agentの設計思想
sergicalsix
0
310
JAWS_FESTA2026_オンプレ-AWS間プロキシサーバの移行_性能_障害対応で得た実践ノウハウ_高島一晃.pdf
tkazuaki0820
1
130
仕様と現実の間で落とし所を探るリモートMCPの認証・認可 — Sansanの認証基盤における課題と実践
sansantech
PRO
2
300
プロダクションコードにおける encoding/json から encoding/json/v2 へのスムーズな移行
sansantech
PRO
1
430
Kiro CLI 入門 (ターミナルと CI で使う) | 目指せ Kiro マスター 03
inariku
PRO
2
150
An Introduction to Context Ontology Accelerator (teaching AI agents what your data means)
inariku
PRO
1
270
Claude Securityを使ってみた / claude-security-claude-code-meetup-nagoya
tnir
0
110
3文字略語に騙されない! 世界一わかりやすい『EDR』超入門
kamadamakoto
1
150
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
Optimizing for Happiness
mojombo
378
71k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
580
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
23k
Evolving SEO for Evolving Search Engines
ryanjones
0
360
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
350
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
300
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k