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
ICTSC2020 Ceph
Search
onokatio
March 06, 2021
Technology
1
230
ICTSC2020 Ceph
ICTSC2020 LT会で話したCephの話です
onokatio
March 06, 2021
Tweet
Share
Other Decks in Technology
See All in Technology
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
380
AWS Media Services 最新サービスアップデート 2024
eijikominami
0
200
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
170
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
990
エンジニア人生の拡張性を高める 「探索型キャリア設計」の提案
tenshoku_draft
1
120
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
2
590
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた話
ysknsid25
7
2.6k
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
380
社内で最大の技術的負債のリファクタリングに取り組んだお話し
kidooonn
1
550
Amazon Personalizeのレコメンドシステム構築、実際何するの?〜大体10分で具体的なイメージをつかむ〜
kniino
1
100
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
430
【若手エンジニア応援LT会】ソフトウェアを学んできた私がインフラエンジニアを目指した理由
kazushi_ohata
0
150
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
GitHub's CSS Performance
jonrohan
1030
460k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Six Lessons from altMBA
skipperchong
27
3.5k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
860
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
Transcript
Cephの話 おのかちお
ぼく • おのかちお • 今日のSELinux問題を作った人です ◦ 前半ドタバタしてごめん… :pray: • インフラチームでストレージ周りやってました
注意 このCephは、監視基盤のCeph(Rook)とは別のクラスタです
話すこと • 以前のストレージ構成 • Cephとは • 今回のCephの構成と容量の話 • ブロックストレージをCephに置く話 •
Cephのsnapshotの話 • 起こったトラブルの話
話すこと • 以前のストレージ構成 • Cephとは • 今回のCephの構成と容量の話 • ブロックストレージをCephに置く話 •
Cephのsnapshotの話 • 起こったトラブルの話
以前のストレージ構成
話すこと • 以前のストレージ構成 • Cephとは • 今回のCephの構成と容量の話 • ブロックストレージをCephに置く話 •
Cephのsnapshotの話 • 起こったトラブルの話
話すこと • 以前のストレージ構成 • Cephとは • 今回のCephの構成と容量の話 • ブロックストレージをCephに置く話 •
Cephのsnapshotの話 • 起こったトラブルの話
Cephとは • 分散ストレージ • レプリカの話 • SPOFが居ない • OSDの自動認識 •
リバランス • S3/NFS/CephFS/RBDのインターフェイス
Cephとは - 分散ストレージ • データが分散される ◦ (機材があれば)いくらでもスケールできる • データが複製される ◦
どこかで壊れるor無くなってもデータが消えくい • 単一障害点をなくしやすい ◦ コントロールプレーンもデータプレーンも
Cephとは - レプリカの話 • レプリカ = 重複度 • レプリカサイズ3ならデータが3重に保存される ◦
ただし使用ストレージ容量も3倍 ◦ 書き込み実質速度は3倍 ◦ (今回はWritebackなので実質1倍)
Cephとは - SPOFが居ない • Cephは、Single Point Of Failure(単一障害点)ができにくい仕組 みになっています。 ◦
データプレーン: レプリカ ◦ コントロールプレーン: CRUSHアルゴリズム
Cephとは - 物理ディスクの自動認識 • Cephを構成するサーバーに新しいディスクが挿入される ↓ • 全自動で初期化・Cephへ追加
Cephとは - リバランス • データが増える or 物理ディスクが増える ↓ • 再配置・細分化
Cephとは - インターフェイス • NFS • S3 • CephFS •
RBD (Rados Block Device)
話すこと • 以前のストレージ構成 • Cephとは • 今回のCephの構成と容量の話 • ブロックストレージをCephに置く話 •
Cephのsnapshotの話 • 起こったトラブルの話
話すこと • 以前のストレージ構成 • Cephとは • 今回のCephの構成と容量の話 • ブロックストレージをCephに置く話 •
Cephのsnapshotの話 • 起こったトラブルの話
今回のCephの構成と容量の話 • コントロールプレーン: 6ノード • データプレーン: 6ノード ◦ SSD x6
◦ HDD x3 × 4 × 2 × 2
話すこと • 以前のストレージ構成 • Cephとは • 今回のCephの構成と容量の話 • ブロックストレージをCephに置く話 •
Cephのsnapshotの話 • 起こったトラブルの話
話すこと • 以前のストレージ構成 • Cephとは • 今回のCephの構成と容量の話 • ブロックストレージをCephに置く話 •
Cephのsnapshotの話 • 起こったトラブルの話
ブロックストレージをCephに置く話 • Cephの速度計測会 • humstackがブロックストレージをCephRBDに置く • ところで トラコンのVMの数について
Cephの速度計測会
Cephの速度計測会
Cephの速度計測会
Cephの速度計測会
Cephの速度計測会 (BS展開時)
Cephの速度計測会 (VM起動時)
Cephの速度計測会 (Ceph pool)
humstackがBSをCeph RBDに置く • humstack(仮想化基盤) がCephにブロックストレージを置ける ように改良 by t-inagaki ↓ •
結果的に一つのVM作成・起動が数分程度に! ◦ コンピュートノード間のコピーが要らなくなった ◦ ただしレプリカ=1なので、分散されているだけで耐障害性 の旨みはない
ところで トラコンのVMの数について • 総VM数: 20~30台程度 • チーム数: 22 • 1VM
5GBぐらい 20 〜 30 * 22 *5 = 2 〜 3TB → レプリカサイズを3にすると、9TB超になる → SSD 6TBを超えてしまう
話すこと • 以前のストレージ構成 • Cephとは • 今回のCephの構成と容量の話 • ブロックストレージをCephに置く話 •
Cephのsnapshotの話 • 起こったトラブルの話
話すこと • 以前のストレージ構成 • Cephとは • 今回のCephの構成と容量の話 • ブロックストレージをCephに置く話 •
Cephのsnapshotの話 • 起こったトラブルの話
Cephのsnapshotの話 • Ceph RBDには、既存のオブジェクトをベースに別のオブジェ クトを展開する機能がある • レイヤーとして、ベースと差分を分けられる • VMの差分のみ保存され、各ストレージの共通部分は一つのブ ロックストレージに!
• 展開は爆速・実際に書き込むまで使用容量ゼロ • イメージとしてはDockerのoverlayfs
話すこと • 以前のストレージ構成 • Cephとは • 今回のCephの構成と容量の話 • ブロックストレージをCephに置く話 •
Cephのsnapshotの話 • 起こったトラブルの話
話すこと • 以前のストレージ構成 • Cephとは • 今回のCephの構成と容量の話 • ブロックストレージをCephに置く話 •
Cephのsnapshotの話 • 起こったトラブルの話
起こったトラブルの話 • ioDriveが認識されない • 時刻の精度を高めないといけない話 • OSDがメモリを食ってwireguardサーバーが落ちた話 • Dockerとpodmanが何故か混在した話 •
本番の日の朝にPGの数がオートスケールされることがわかった ので先にPGの数を増やした話
起こったトラブルの話 • ioDriveが認識されない • SSDのドライバがカスタムモジュール ◦ LV metadより先に読み込まれると、CephがLVMを認識 できない ◦
LV metadを無効化し、イベント的にdevice mapperを 認識するようにした
起こったトラブルの話 • 時刻の精度を高めないといけない話 • Cephは時刻の精度が0.05s以下でないとWARNを出す ◦ 最初はNTPdを立てて運用 ▪ spofになるので止めたい ◦
NICTのNTPを使ったら精度があがった ▪ ありがとうNICT!
起こったトラブルの話 • Dockerとpodmanが何故か混在した話 ◦ おそらくインストールミスでDockerとpodmanがノード で混在 ◦ podman消す && Dockerインストール
◦ → OSDとmonが自動で再展開されない ◦ →手動でreapplyして解決
起こったトラブルの話 • 本番の日の朝にPGの数がオートスケールされることがわかった ので先にPGの数を増やした話 ◦ Cephのper OSD PGが2^nを超えるとPGサイズを細分化し てリバランス ◦
→本番中に起こったらSlow OPsになりそう ◦ →今朝気づいた運営委員が事前に細分化
起こったトラブルの話 • ioDriveが認識されない • 時刻の精度を高めないといけない話 • OSDがメモリを食ってwireguardサーバーが落ちた話 • Dockerとpodmanが何故か混在した話 •
本番の日の朝にPGの数がオートスケールされることがわかった ので先にPGの数を増やした話
ご静聴ありがとうございました 質問などあればZoomで話しかけてください! もしくはTwitter (@onokatio_) まで