赞
踩
Longhorn 是用于 Kubernetes 的轻量级、可靠且功能强大的分布式块存储系统。
Longhorn
使用容器(containers
)和微服务(microservices
)实现分布式块存储。 Longhorn
为每个块设备卷(device volume
)创建一个专用的存储控制器(storage controller
), 并跨存储在多个节点上的多个副本同步复制该卷。存储控制器(storage controller
)和副本(replicas
)本身是使用 Kubernetes 编排的。
无单点故障的企业级分布式块存储
块存储增量快照
备份到辅助存储(NFS或S3兼容的对象存储)建立在高效的更改块检测之上
定期快照和备份
自动化(Automated
)、无中断升级(non-disruptive upgrades
)。您可以升级整个 Longhorn
软件堆栈,而不会中断正在运行的存储卷。
直观的 GUI
仪表板
使用 Longhorn
,您可以:
使用 Longhorn
卷作为 Kubernetes
集群中分布式有状态应用程序的持久存储
将块存储划分为 Longhorn
卷,这样无论是否有云提供商,都可以使用 Kubernetes
卷
跨多个节点和数据中心复制块存储以提高可用性
将备份数据存储在 NFS
或 AWS S3
等外部存储上
创建跨集群灾难恢复卷,以便可以从第二个 Kubernetes
集群的备份中快速恢复来自主 Kubernetes
集群的数据
安排卷的定期快照,并安排定期备份到 NFS
或 S3
兼容的辅助存储
从备份恢复卷
在不中断持久卷的情况下升级 Longhorn
Longhorn
带有独立的 UI
,可以使用 Helm
、kubectl
或 Rancher app catalog
进行安装。
由于现代云环境需要数万到数百万的分布式块存储卷,一些存储控制器已经成为高度复杂的分布式系统。相比之下,Longhorn
可以通过将一个大块存储控制器划分为多个较小的存储控制器来简化存储系统,只要这些卷仍然可以从一个公共磁盘池构建。通过每个卷使用一个存储控制器,Longhorn 将每个卷变成了一个微服务。控制器称为 Longhorn 引擎。
Longhorn Manager
组件编排 Longhorn
引擎,使它们协同工作。
Pod
可以直接引用存储,但不推荐这样做,因为它不允许 Pod
或容器是可移植的。相反,应在 Kubernetes
持久卷 (PV
) 和持久卷声明 (PVC
) 中定义工作负载的存储要求。使用 Longhorn
,您可以指定卷的大小、IOPS
要求以及在为卷提供存储资源的主机上所需的同步副本数量。然后,您的 Kubernetes
资源可以为每个 Longhorn
卷使用 PVC
和相应的 PV
, 或者使用 Longhorn
存储类(storage class
)为工作负载自动创建 PV
。
Replicas
在底层磁盘或网络存储上进行精简配置。
为了提高可用性(availability
),Longhorn
创建了每个卷的副本。副本包含卷的一系列快照,每个快照都存储来自前一个快照的更改。卷的每个副本也在一个容器中运行,因此具有三个副本的卷会产生四个容器。
每个卷的副本数量可在 Longhorn
中配置,以及将安排副本的节点。Longhorn
监控每个副本的健康状况并执行修复,并在必要时重建副本。
常见的前端包括 Linux
内核设备(映射在 /dev/longhorn
下)和一个 iSCSI
目标。
指定这些操作的频率(每小时、每天、每周、每月和每年)、执行这些操作的确切时间(例如,每个星期日凌晨 3:00
),以及保留多少定期快照和备份集。
Longhorn存储
Longhorn 在 Kubernetes 集群中使用的是每个节点的本地存储空间来创建虚拟块设备卷。这意味着 Longhorn 在每个节点上使用本地磁盘空间来存储数据。这些本地磁盘空间可以是物理硬盘、SSD、或者其他存储介质。
Longhorn 通过创建 Replica 来在不同节点上复制数据,从而确保数据的可靠性和容错性。这意味着每个 Replica 都会占用节点上的存储空间。如果在集群中启用了三个副本(replicas),那么每个节点上可能会存有三份数据的副本。
请注意,Longhorn 的设计有助于提高数据的可靠性和冗余性,但也会占用节点的存储空间。因此,在部署 Longhorn 时,需要考虑每个节点的存储容量以及集群中复制的副本数量,以确保有足够的存储空间来支持数据的存储和复制。
longhorn 的特点
Longhorn 是一个用于 Kubernetes 的开源分布式块存储系统,具有许多特点,包括但不限于:
易于部署和管理: Longhorn 可以作为标准的 Kubernetes 本地存储类插件进行安装和部署,无需外部存储设备即可提供高可靠性的持久化存储。
分布式块存储: Longhorn 提供了分布式块存储解决方案,允许用户在 Kubernetes 集群中创建可靠、容错的持久化存储卷,并通过多个 Replica 实现数据的冗余备份。
快照和备份: Longhorn 支持快照和备份功能,用户可以创建卷的快照以便后续恢复或复原,也可以备份数据到远程存储位置。
动态数据复制: Longhorn 使用动态数据复制以提高数据的冗余性和可靠性,同时确保数据在集群中的分布和均衡性。
远程复制和故障转移: Longhorn 支持异地复制和故障转移功能,可以将数据镜像到其他集群,以实现跨数据中心或跨区域的数据复制和灾难恢复。
图形用户界面(GUI): Longhorn 提供直观的 Web 界面,允许用户轻松管理存储卷、快照、备份等功能。
云原生支持: Longhorn 是为云原生环境设计的,完全集成到 Kubernetes 中,支持常见的云服务提供商,如 AWS、GCP、Azure 等。
总的来说,Longhorn 提供了一个简单、易用且功能丰富的分布式块存储解决方案,为运行在 Kubernetes 上的应用程序提供稳定可靠的持久化存储支持。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。