Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
K8sストレージ Longhornとは?
Search
takushi
September 27, 2024
0
160
K8sストレージ Longhornとは?
takushi
September 27, 2024
Tweet
Share
More Decks by takushi
See All by takushi
Rancher v2.12 + Rancherの仕組み
takuhsi
0
560
Rancher 少しだけ Deep Dive
takuhsi
0
150
openSUSE Leap Micro as KVM and Container Host
takuhsi
0
140
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
40
2.2k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
HDC tutorial
michielstock
0
270
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
580
How to Talk to Developers About Accessibility
jct
1
85
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
286
14k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.4k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
1
860
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