產品說明
Longhorn 是一款專為 Kubernetes (K8s) 環境設計的開源分散式區塊儲存系統。它最初由 Rancher Labs 開發,目前已成為雲原生運算基金會 (CNCF) 的孵化專案。與傳統的大型儲存系統(如 Ceph)不同,Longhorn 採用「微服務儲存」架構,為每個磁碟卷軸 (Volume) 啟動獨立的控制器,極大簡化了儲存管理的複雜性。
Longhorn 能夠將 K8s 叢集內各節點的本地磁碟整合為一個高可用的儲存池,並透過多副本機制確保資料安全。它內建了直觀的圖形化管理介面,讓開發者與運維人員只需幾次點擊,就能完成備份、排程快照以及異地災備 (DR) 設定,是 K8s 環境中實踐有狀態應用 (Stateful Applications) 的理想選擇。
核心特色:
- 雲原生微服務架構:每個 Volume 都有專屬的 Controller,單一 Volume 故障不會影響整個儲存叢集。
- 企業級備份與快照:支援增量備份至 NFS 或 S3 相容儲存,並可輕鬆從快照還原資料。
- 異地災備 (Cross-cluster DR):支援跨叢集的資料同步,能在災難發生時快速拉起備份卷軸。
- 自動修復與平衡:當節點失效時,Longhorn 會自動在健康節點上重建副本以維持預定的副本數。
- 直觀的 Web UI:內建儀表板,可即時監控 IOPS、吞吐量與儲存卷軸的健康狀態。
常用指令
Longhorn 主要透過 Kubernetes 的自定義資源 (CRD) 進行操作,雖然多數日常維運可以在 Web UI 完成,但管理者常使用 kubectl 進行狀態檢查。
K8s 整合管理
# 查看 Longhorn 所有組件與系統 Pods 狀態
kubectl -n longhorn-system get pods
# 列出所有的 Longhorn 卷軸資源狀態
kubectl get volumes.longhorn.io -n longhorn-system
| 指令 | 功能說明 | 使用情境 |
|---|---|---|
| kubectl get lhs | 列出快照資訊 | 查看特定卷軸目前擁有的快照清單與大小。 |
| kubectl describe nodes.longhorn.io | 節點儲存資訊 | 檢查各節點的可預留空間與已使用物理容量。 |
| kubectl apply -f sc.yaml | 建立 StorageClass | 定義 Longhorn 儲存類別,供應用程式透過 PVC 申請使用。 |
| longhornctl | 專用診斷工具 | 用于 CLI 模式下的進階故障排除與效能基準測試。 |
| kubectl delete lhs [name] | 手動清理快照 | 當需要立即釋放空間而自動清理尚未執行時使用。 |
進階維修技巧
- 副本平衡:若發現資料分佈不均,可在 UI 開啟
Replica Soft Anti-Affinity讓系統自動優化儲存佈局。 - ReadWriteMany (RWX) 支援:Longhorn 內建 NFS 伺服器支援,可讓多個 Pod 同時讀寫同一個儲存卷軸。
- 磁碟空間超額預留:透過設定
Storage Overprovisioning比例,可以更彈性地運用有限的實體硬碟空間。
操作介面
專家建議: Longhorn 非常適合對「部署速度」與「易用性」有高要求的 K8s 團隊。相較於 Ceph 複雜的運維門檻,Longhorn 的「安裝即用」特性與全圖形化管理,能顯著降低企業導入分散式儲存的成本與風險。
title: Longhorn
cn_title: 雲原生分散式區塊儲存系統
slogan: 為 Kubernetes 打造的高可用輕量級儲存利器
date: 2026-01-09
featured: true
software_version: 1.7.2
software_os:
- Linux (Kubernetes)
software_license: Apache License 2.0
developer: Rancher Labs (SUSE) / CNCF
official_site: https://longhorn.io/
repo_url: https://github.com/longhorn/longhorn
software_banner: Longhorn_banner_20260109.png
software_icon: Longhorn_icon_20260109.png
software_logo: Longhorn_logo_20260109.jpg
tags: - CloudNative
- Storage
- Kubernetes
categories: 生產力
sub_categories: 系統工具
產品說明
Longhorn 是一款專為 Kubernetes (K8s) 環境設計的開源分散式區塊儲存系統。它最初由 Rancher Labs 開發,目前已成為雲原生運算基金會 (CNCF) 的孵化專案。與傳統的大型儲存系統(如 Ceph)不同,Longhorn 採用「微服務儲存」架構,為每個磁碟卷軸 (Volume) 啟動獨立的控制器,極大簡化了儲存管理的複雜性。
Longhorn 能夠將 K8s 叢集內各節點的本地磁碟整合為一個高可用的儲存池,並透過多副本機制確保資料安全。它內建了直觀的圖形化管理介面,讓開發者與運維人員只需幾次點擊,就能完成備份、排程快照以及異地災備 (DR) 設定,是 K8s 環境中實踐有狀態應用 (Stateful Applications) 的理想選擇。
核心特色:
- 雲原生微服務架構:每個 Volume 都有專屬的 Controller,單一 Volume 故障不會影響整個儲存叢集。
- 企業級備份與快照:支援增量備份至 NFS 或 S3 相容儲存,並可輕鬆從快照還原資料。
- 異地災備 (Cross-cluster DR):支援跨叢集的資料同步,能在災難發生時快速拉起備份卷軸。
- 自動修復與平衡:當節點失效時,Longhorn 會自動在健康節點上重建副本以維持預定的副本數。
- 直觀的 Web UI:內建儀表板,可即時監控 IOPS、吞吐量與儲存卷軸的健康狀態。
常用指令
Longhorn 主要透過 Kubernetes 的自定義資源 (CRD) 進行操作,雖然多數日常維運可以在 Web UI 完成,但管理者常使用 kubectl 進行狀態檢查。
K8s 整合管理
# 查看 Longhorn 所有組件與系統 Pods 狀態
kubectl -n longhorn-system get pods
# 列出所有的 Longhorn 卷軸資源狀態
kubectl get volumes.longhorn.io -n longhorn-system
| 指令 | 功能說明 | 使用情境 |
|---|---|---|
| kubectl get lhs | 列出快照資訊 | 查看特定卷軸目前擁有的快照清單與大小。 |
| kubectl describe nodes.longhorn.io | 節點儲存資訊 | 檢查各節點的可預留空間與已使用物理容量。 |
| kubectl apply -f sc.yaml | 建立 StorageClass | 定義 Longhorn 儲存類別,供應用程式透過 PVC 申請使用。 |
| longhornctl | 專用診斷工具 | 用於 CLI 模式下的進階故障排除與效能基準測試。 |
| kubectl delete lhs [name] | 手動清理快照 | 當需要立即釋放空間而自動清理尚未執行時使用。 |
進階維修技巧
- 副本平衡:若發現資料分佈不均,可在 UI 開啟
Replica Soft Anti-Affinity讓系統自動優化儲存佈局。 - ReadWriteMany (RWX) 支援:Longhorn 內建 NFS 伺服器支援,可讓多個 Pod 同時讀寫同一個儲存卷軸。
- 磁碟空間超額預留:透過設定
Storage Overprovisioning比例,可以更彈性地運用有限的實體硬碟空間。




![]()

