【ロングホーン】

Longhorn とは?

最終更新:
💡 Kubernetesの保存データを複数ノードで支える

Kubernetes向けのオープンソース分散ブロックストレージ。ボリュームのデータを複数ノードのレプリカへ複製し、永続データの保存や障害からの復旧を支える。

📌 このページのポイント
Longhorn:ボリュームを複製 アプリのPod ボリュームのエンジン ノードA 健全な複製 ノードB 健全な複製 ノードC 障害の例 使えるレプリカを残して復旧に備える
複製構成の例です。レプリカの配置と健全性、Podの再配置や付け替えなどが復旧を左右します。バックアップは別に用意します。
ひよこ ひよこ
Longhornは何を保存するの?
ペンギン先生 ペンギン先生
Kubernetes上のアプリが使う永続データだよ。たとえばデータベースの保存先となるボリュームを提供する。アプリが動くPodと、保存データの管理を分けて考えられるんだ。
ひよこ ひよこ
一つのノードに保存するのと何が違う?
ペンギン先生 ペンギン先生
複製する構成では、同じボリュームのレプリカを複数ノードに置けるよ。一台の障害でその保存先が使えなくなっても、別の健全なレプリカを使って復旧できる。ノードの停止が必ずデータ消失を意味するわけではないけれど、保存先を分散して備えられるんだ。
ひよこ ひよこ
一台壊れてもアプリは止まらない?
ペンギン先生 ペンギン先生
無停止を保証するものではないよ。使えるレプリカが残っているかに加え、Podの再配置やボリュームの付け替えが必要になる場合がある。古いPodが残って付け替えを妨げることもあるため、復旧方針を確認しておこう。
ひよこ ひよこ
コピーがあればバックアップはいらない?
ペンギン先生 ペンギン先生
役割が違うよ。レプリカは現在のデータを複製するので、誤った更新も複製され得る。スナップショットはある時点の状態を記録し、バックアップはS3互換ストレージやNFSなどの外部保存先へ保管するために使う。保存先や復元手順も用意しよう。
ひよこ ひよこ
管理画面から全部同じように設定できる?
ペンギン先生 ペンギン先生
Web UIでボリュームなどの状態を管理できるよ。ただしV1とV2のデータエンジンでは必要な環境や対応機能が異なる。利用する版・エンジンの資料で、レプリカ配置、スナップショット、バックアップの対応を確認しよう。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Longhorn」って出てきたら「Kubernetesで使う、データを複数ノードに複製できるストレージ」と思えばだいたいOK!
📖 おまけ:英語の意味
「Longhorn」 = Kubernetes向け分散ストレージのプロジェクト名
💬 longとhornを合わせると「長い角」という意味になるよ。ここでは命名の意図を断定せず、ストレージの製品名として覚えよう。

参考資料

← 用語集にもどる