Longhorn is a distributed block storage system for Kubernetes.
Longhorn is lightweight, reliable, and powerful. You can install Longhorn on an existing Kubernetes cluster with one
kubectl apply command or using Helm charts. Once Longhorn is installed, it adds persistent volume support to the Kubernetes cluster.
Longhorn implements distributed block storage using containers and microservices. Longhorn creates a dedicated storage controller for each block device volume and synchronously replicates the volume across multiple replicas stored on multiple nodes. The storage controller and replicas are themselves orchestrated using Kubernetes. Here are some notable features of Longhorn:
- Enterprise-grade distributed storage with no single point of failure
- Incremental snapshot of block storage
- Backup to secondary storage (NFSv4 or S3-compatible object storage) built on efficient change block detection
- Recurring snapshot and backup
- Automated non-disruptive upgrade. You can upgrade the entire Longhorn software stack without disrupting running volumes!
- Intuitive GUI dashboard
You can read more technical details of Longhorn here.
The latest release of Longhorn is v1.0.1.
Longhorn is 100% open source software. Project source code is spread across a number of repos:
- Longhorn engine -- Core controller/replica logic https://github.com/longhorn/longhorn-engine
- Longhorn manager -- Longhorn orchestration https://github.com/longhorn/longhorn-manager
- Longhorn UI -- Dashboard https://github.com/longhorn/longhorn-ui
For the installation requirements, refer to the Longhorn documentation.
Longhorn can be installed on a Kubernetes cluster in several ways:
The official Longhorn documentation is here.
Contributing code is not the only way of contributing. We value feedbacks very much and many of the Longhorn features are originated from users' feedback. If you have any feedbacks, feel free to file an issue and talk to the developers at the CNCF #longhorn slack channel.
Copyright (c) 2014-2020 The Longhorn Authors
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.