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
120
K8sストレージ Longhornとは?
takushi
September 27, 2024
Tweet
Share
More Decks by takushi
See All by takushi
Rancher 少しだけ Deep Dive
takuhsi
0
140
openSUSE Leap Micro as KVM and Container Host
takuhsi
0
89
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
301
21k
Writing Fast Ruby
sferik
628
62k
Unsuck your backbone
ammeep
671
58k
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.8k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
283
13k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
What's in a price? How to price your products and services
michaelherold
246
12k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
BBQ
matthewcrist
89
9.8k
Music & Morning Musume
bryan
46
6.7k
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