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
92
K8sストレージ Longhornとは?
takushi
September 27, 2024
Tweet
Share
More Decks by takushi
See All by takushi
Rancher 少しだけ Deep Dive
takuhsi
0
130
openSUSE Leap Micro as KVM and Container Host
takuhsi
0
77
Featured
See All Featured
It's Worth the Effort
3n
184
28k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
920
GraphQLとの向き合い方2022年版
quramy
46
14k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
The Cult of Friendly URLs
andyhume
79
6.4k
Adopting Sorbet at Scale
ufuk
77
9.4k
Building Adaptive Systems
keathley
43
2.6k
Git: the NoSQL Database
bkeepers
PRO
430
65k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
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