Longhorn,Kubernetes 云原生分布式块存储

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: Longhorn,Kubernetes 云原生分布式块存储

Longhorn 是用于 Kubernetes 的轻量级、可靠且功能强大的分布式块存储系统。

Longhorn 使用容器(containers)和微服务(microservices)实现分布式块存储。 Longhorn 为每个块设备卷(device volume)创建一个专用的存储控制器(storage controller), 并跨存储在多个节点上的多个副本同步复制该卷。存储控制器(storage controller)和副本(replicas)本身是使用 Kubernetes 编排的。


功能特性



  • 无单点故障的企业级分布式块存储
  • 块存储增量快照
  • 备份到辅助存储(NFS或S3兼容的对象存储)建立在高效的更改块检测之上
  • 定期快照和备份
  • 自动化(Automated)、无中断升级(non-disruptive upgrades)。您可以升级整个 Longhorn 软件堆栈,而不会中断正在运行的存储卷。
  • 直观的 GUI 仪表板


Longhorn 是什么?



LonghornKubernetes 的轻量级、可靠且易于使用的分布式块存储系统。

Longhorn 支持以下架构:


  1. AMD64
  2. ARM64 (实验性的)

Longhorn 是免费的开源软件。最初由 Rancher Labs 开发,现在作为 Cloud Native Computing Foundation 的沙箱项目进行开发。


使用 Longhorn,您可以:


  • 使用 Longhorn 卷作为 Kubernetes 集群中分布式有状态应用程序的持久存储
  • 将块存储划分为 Longhorn 卷,这样无论是否有云提供商,都可以使用 Kubernetes
  • 跨多个节点和数据中心复制块存储以提高可用性
  • 将备份数据存储在 NFSAWS S3 等外部存储上
  • 创建跨集群灾难恢复卷,以便可以从第二个 Kubernetes 集群的备份中快速恢复来自主 Kubernetes 集群的数据
  • 安排卷的定期快照,并安排定期备份到 NFSS3 兼容的辅助存储
  • 从备份恢复卷
  • 在不中断持久卷的情况下升级 Longhorn


Longhorn 带有独立的 UI,可以使用 HelmkubectlRancher app catalog 进行安装。


使用微服务简化分布式块存储


由于现代云环境需要数万到数百万的分布式块存储卷,一些存储控制器已经成为高度复杂的分布式系统。相比之下,Longhorn 可以通过将一个大块存储控制器划分为多个较小的存储控制器来简化存储系统,只要这些卷仍然可以从一个公共磁盘池构建。通过每个卷使用一个存储控制器,Longhorn 将每个卷变成了一个微服务。控制器称为 Longhorn 引擎。


Longhorn Manager 组件编排 Longhorn 引擎,使它们协同工作。


在不依赖云提供商的情况下在 Kubernetes 中使用持久化存储


Pod 可以直接引用存储,但不推荐这样做,因为它不允许 Pod 或容器是可移植的。相反,应在 Kubernetes 持久卷 (PV) 和持久卷声明 (PVC) 中定义工作负载的存储要求。使用 Longhorn,您可以指定卷的大小、IOPS 要求以及在为卷提供存储资源的主机上所需的同步副本数量。然后,您的 Kubernetes 资源可以为每个 Longhorn 卷使用 PVC 和相应的 PV, 或者使用 Longhorn 存储类(storage class)为工作负载自动创建 PV


Replicas 在底层磁盘或网络存储上进行精简配置。


跨多个计算或存储主机调度多个副本(Replicas)


为了提高可用性(availability),Longhorn 创建了每个卷的副本。副本包含卷的一系列快照,每个快照都存储来自前一个快照的更改。卷的每个副本也在一个容器中运行,因此具有三个副本的卷会产生四个容器。


每个卷的副本数量可在 Longhorn 中配置,以及将安排副本的节点。Longhorn 监控每个副本的健康状况并执行修复,并在必要时重建副本。


为每个卷分配多个存储前端


常见的前端包括 Linux 内核设备(映射在 /dev/longhorn 下)和一个 iSCSI 目标。


指定定期快照和备份操作的计划


指定这些操作的频率(每小时、每天、每周、每月和每年)、执行这些操作的确切时间(例如,每个星期日凌晨 3:00),以及保留多少定期快照和备份集。

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1天前
|
存储 关系型数据库 分布式数据库
PolarDB,阿里云的云原生分布式数据库,以其存储计算分离架构为核心,解决传统数据库的扩展性问题
【7月更文挑战第3天】PolarDB,阿里云的云原生分布式数据库,以其存储计算分离架构为核心,解决传统数据库的扩展性问题。此架构让存储层专注数据可靠性,计算层专注处理SQL,提升性能并降低运维复杂度。通过RDMA加速通信,多副本确保高可用性。资源可独立扩展,便于成本控制。动态添加计算节点以应对流量高峰,展示了其灵活性。PolarDB的开源促进了数据库技术的持续创新和发展。
12 2
|
15天前
|
存储 Kubernetes 安全
云上攻防-云原生篇&K8s安全&Config泄漏&Etcd存储&Dashboard鉴权&Proxy暴露
云上攻防-云原生篇&K8s安全&Config泄漏&Etcd存储&Dashboard鉴权&Proxy暴露
|
15天前
|
Kubernetes 安全 Cloud Native
云上攻防-云原生篇&Kubernetes&K8s安全&API&Kubelet未授权访问&容器执行
云上攻防-云原生篇&Kubernetes&K8s安全&API&Kubelet未授权访问&容器执行
|
16天前
|
运维 Kubernetes Cloud Native
云原生时代的技术革命:Kubernetes与容器编排
【6月更文挑战第17天】在数字化转型的浪潮中,云原生技术正成为推动企业IT架构现代化的核心力量。本文将深入探讨Kubernetes作为云原生生态中的佼佼者,如何引领容器编排的技术革命,并分析其在现代应用部署、管理和扩展中的关键作用。通过实例和案例分析,我们将揭示Kubernetes如何助力企业实现更高效、灵活和可靠的云原生应用管理。
|
1天前
|
Prometheus Kubernetes Cloud Native
云原生周刊:Argo Rollouts 支持 Kubernetes Gateway API 1.0 | 2024.7.1
探索开源世界:Kubetools的推荐系统[Krs](https://github.com/kubetoolsca/krs)助力K8s优化,追踪K8s组件清单,指引IAC集成。阅读建议: Prometheus与Thanos的进化故事,Adidas容器平台管理经验,K8s请求实现详解。关注云原生:Argo Rollouts支持Gateway API 1.0,Kubewarden v1.14强化策略与镜像安全。
|
9天前
|
Kubernetes Cloud Native Shell
云原生 - K8s命令合集
云原生 - K8s命令合集
15 0
|
9天前
|
存储 Kubernetes Cloud Native
云原生 - Kubernetes基础知识学习
云原生 - Kubernetes基础知识学习
18 0
|
2月前
|
存储 Kubernetes 监控
【云原生】Kubernetes----PersistentVolume(PV)与PersistentVolumeClaim(PVC)详解
【云原生】Kubernetes----PersistentVolume(PV)与PersistentVolumeClaim(PVC)详解
|
2月前
|
Kubernetes Cloud Native 开发者
构建高效云原生应用:Kubernetes与微服务架构的融合
【5月更文挑战第31天】 在数字化转型和技术迭代的大潮中,企业对于敏捷、可扩展的IT基础设施需求日益增长。云原生技术以其独特的优势成为推动这一进程的关键力量。本文深入探讨了如何通过结合Kubernetes容器编排和微服务架构来构建和维护高效、可靠的云原生应用。我们将剖析这种技术整合的必要性,揭示其背后的原理,并讨论在实际部署过程中可能遇到的挑战及解决方案。通过案例分析和最佳实践的分享,旨在为开发者和架构师提供一套行之有效的云原生应用构建指南。
|
存储 运维 Kubernetes
阿里云数字新基建系列:云原生操作系统Kubernetes-第1章(4)
阿里云数字新基建系列包括5本书,题材涉及Kubernetes、混合云架构、云数据库、CDN原理与流媒体技术、云服务器运维(Windows),囊括了领先的云技术知识与阿里云技术团队独到的实践经验,是国内IT技术图书中又一套重磅作品! 本书是阿里云容器服务产品线上实践的技术沉淀,主要包括理论篇和实践篇两部分内容。理论篇注重理论介绍,核心是Kubernetes on Cloud,即着重介绍Kubernetes和阿里云产品的结合。实践篇是疑难问题的诊断案例,希望通过案例来和读者分享Kubernetes深度问题诊断......
阿里云数字新基建系列:云原生操作系统Kubernetes-第1章(4)