Skip to content

Longhorn

雲原生分散式區塊儲存系統

軟體分類 生產力 / 系統工具
軟體標籤
開發廠商 Rancher Labs (SUSE) / CNCF
Stars
0
Forks
0
License
APACHE LICENSE 2.0
Version
v1.7.2
Update
OS

產品說明

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 比例,可以更彈性地運用有限的實體硬碟空間。