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
K8sストレージ Longhornとは?
Search
takushi
September 27, 2024
0
140
K8sストレージ Longhornとは?
takushi
September 27, 2024
Tweet
Share
More Decks by takushi
See All by takushi
Rancher v2.12 + Rancherの仕組み
takuhsi
0
530
Rancher 少しだけ Deep Dive
takuhsi
0
140
openSUSE Leap Micro as KVM and Container Host
takuhsi
0
99
Featured
See All Featured
Practical Orchestrator
shlominoach
190
11k
Navigating Team Friction
lara
189
15k
Context Engineering - Making Every Token Count
addyosmani
3
110
Code Reviewing Like a Champion
maltzj
525
40k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
940
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Faster Mobile Websites
deanohume
310
31k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
830
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Designing for Performance
lara
610
69k
How to Think Like a Performance Engineer
csswizardry
27
2k
Transcript
K8sストレージ Longhorn とは? Hiroshi Nakao 1
プロフィール 中尾 拓史(Nakao Hiroshi) SUSEソフトウェアソリューションズジャパン ソリューションアーキテクト 2021年6月~ SUSE入社
Kubernetes ベースのマイクロサービス
— 高可用のkubernetesのためのソフトウェアディファインストレージ — 軽量で信頼性が高く、使いやすい仕様 — Rancherからワンクリックでデプロイ可能 — あらゆるkubernetesに対応.
— Storageに依存しない– あらゆる ext4 filesystemはLonghornクラスタをデプロイできる — NFSとS3に適応 (backup storage) — Kubernetesファーストの設計 –CRDsと controller pattern で実装 4 Longhornとは?
Key Feature • 100% open sourceのエンタープライズ向け分散 型ブロックストレージ • Rancherから1クリックデプロイが可能
• 直感的なGUIで簡単に操作可能 • スナップショットとバックアップでデータの安全性 を確保 • RPOとRTOを設定することで高速なリカバリが可 能 • Rancherで利用できる • CNCFサンドボックスプロジェクト
Longhorn要件 • Kubernetes v1.21以上 • ホストファイルシステムが、ext4、XFSをサポートしていること • RWXを利用するためにはNFSv4 Clientのインストールが必要 •
open-iscsiがインストールされていること • x86, Arm64で動作 詳しくはこちら
Longhornアーキテクチャ Manager Pod UI or Volume Plugin Engine レプリカ ボリューム作
成要求 Engine作成& レプリカ作成 読み書きを要 求 DaemonSetとして実行。クラスタないのボリューム作成と 管理を行う。 ボリュームのコントローラー。Linuxプロセス。 ボリュームごとに作成される。Sparse Fileを使用し構築さ れる。
Longhorn アーキテクチャ
Longhornレプリカ スナップショット スナップショット スナップショット 最も古いスナップショットが ベースとして使われ、差分が書 き込まれていく レプリカ ボリュームごとにレプリカが各 ノードで実行
全てのレプリカは同じ扱い 各スナップショットに indexが貼 られどれがライブデータかを探 し、読み込み、書き込みを行 う。 読み取りインデックスはメモリ 内に保持される
スナップショット スナップショット スナップショット スナップショット 最も古いスナップショットが ベースとして使われ、差分が書 き込まれていく。 全てのスナップショットを繋げ ることで現在の状態が反映
• ユーザーはスナップショットの数と定 期的な取得を設定 • ボリュームの各レプリカの一部として ローカルディスクに保存される
バックアップ • スナップショットをソースとしてバックアップを作 成 • スナップショットが作成された時点のボリューム のデータが反映 •
1つ前のスナップショットからブロックごとに上書 きがあるか、新規データ分を新規に反映
DR 2つのLonghornをインストールした、K8s環境を用意し、同じバックアップ先を指定、こ のバックアップをDRボリュームとして指定する。 バックアップ リストア
Longhorn UI
Longhorn構築方法 — Rancher UIからのインストール — Kubectlを利用したインストール — Helmを利用したインストール
Longhorn v1.7の変更点(一部) • Data v2 Engine (Preview)
• 定期的なフルバックアップ • Backing imageのHA化
Data v2 Engine IOPS
Data v2 Engine Latency
Data v2 Engine • SPDKを活用しパフォーマンスの向上 • I/Oレイテンシの短縮、IOPSとスループットが向上
• Huge pageの割り当てが必要 • V2 Data Engineを使用するとinstance-manager-podが1core CPUを占有
定期的なフルバックアップ • 左の図のようにこれまでは、初回 のバックアップのみがフルバック アップだった • N回分の増分バックアップ毎にフ ルバックアップ実行を指定可能 • フルバックアップ実行時は、ス
ループットが落ちる
Backing imageのHA化 • バックアップイメージファイルは 特定のノードやディスクに保存 • コピー数はクラスター内で複数 のバックアップイメージファイル を保持できる •
ブロック故障時にバックアップ イメージから即座にリストア可 能 バックアップ バックアップイ メージ バックアップイメージをリス トア バックアップイメージを HA化することが可能に
None
• アーキテクチャ https://longhorn.io/docs/1.7.1/ • Data v2 Engine https://longhorn.io/docs/1.7.1/v2-data-engine/
• 定期的なフルバックアップ https://longhorn.io/docs/1.7.1/important-notes/#support-periodic-and-o n-demand-full-backups-to-enhance-backup-reliability • Baking Image https://longhorn.io/docs/1.7.1/important-notes/#high-availability-of-back ing-images 22 参考URL