Longhorn,企业级云原生容器分布式存储 - 支持 ReadWriteMany (RWX) 工作负载(实验性功能)
内容来源于官方 Longhorn 1.1.2 英文技术手册。
系列
- Longhorn 是什么?
- Longhorn 企业级云原生容器分布式存储解决方案设计架构和概念
- Longhorn 企业级云原生容器分布式存储-部署篇
- Longhorn 企业级云原生容器分布式存储-券(Volume)和节点(Node)
- Longhorn,企业级云原生容器分布式存储-K8S 资源配置示例
- Longhorn,企业级云原生容器分布式存储 - 监控(Prometheus+AlertManager+Grafana)
- Longhorn,企业级云原生容器分布式存储 - 备份与恢复
- Longhorn,企业级云原生容器分布式存储 - 支持 ReadWriteMany (RWX) 工作负载(实验性功能)
Longhorn 通过 NFSv4 服务器(share-manager)公开常规 Longhorn 卷,原生支持 RWX 工作负载。
对于每个正在使用的 RWX 卷 Longhorn 将在 longhorn-system 命名空间中创建一个 share-manager-<volume-name> Pod。
该 Pod 负责通过在 Pod 内运行的 NFSv4 服务器导出 Longhorn 卷。
还有为每个 RWX 卷创建的服务,用作实际 NFSv4 客户端连接的端点。
要求
为了能够使用 RWX 卷,每个客户端节点都需要安装 NFSv4 客户端。
对于 Ubuntu,您可以通过以下方式安装 NFSv4 客户端:
apt install nfs-common
对于基于 RPM 的发行版,您可以通过以下方式安装 NFSv4 客户端:
yum install nfs-utils
如果 NFSv4 客户端在节点上不可用,则在尝试挂载卷时,以下消息将是错误的一部分:
for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program.\n
RWX 卷的创建和使用
对于动态配置的 Longhorn 卷,访问模式基于 PVC 的访问模式。
对于手动创建的 Longhorn 卷(恢复、DR 卷),可以在 Longhorn UI 创建期间指定访问模式。
通过 UI 为 Longhorn 卷创建 PV/PVC 时,PV/PVC 的访问模式将基于卷的访问模式。
只要卷未绑定到 PVC,就可以通过 UI 更改 Longhorn 卷的访问模式。
对于 RWX PVC 使用的 Longhorn 卷,卷访问模式将更改为 RWX。
故障处理
share-manager Pod 的任何故障(卷故障、节点故障等)都将导致重新创建 Pod 并设置卷的 remountRequestedAt 标志,
这将导致 workload Pods 被删除,Kubernetes 重新创建它们。此功能取决于
卷意外分离时自动删除工作负载 Pod 的设置,
默认情况下为 true。如果该设置被禁用,workload Pods 可能会在 RWX 卷故障时出现 io errors。
建议启用上述设置以保证在 RWX 卷出现问题时自动进行工作负载故障转移。
从以前的外部供应商迁移
下面的 PVC 创建了一个 Kubernetes job,可以将数据从一个卷复制到另一个卷。
- 将
data-source-pvc替换为之前由Kubernetes创建的NFSv4 RWX PVC的名称。 - 将
data-target-pvc替换为您希望用于新工作负载的新RWX PVC的名称。
您可以手动创建一个新的 RWX Longhorn volume + PVC/PV,或者只创建一个 RWX PVC,然后让 Longhorn 为您动态配置一个卷。
两个 PVC 都需要存在于同一个命名空间中。如果您使用的命名空间与默认命名空间不同,请在下方更改 job 的命名空间。
apiVersion: batch/v1
kind: Job
metadata:
namespace: default # namespace where the PVC's exist
name: volume-migration
spec:
completions: 1
parallelism: 1
backoffLimit: 3
template:
metadata:
name: volume-migration
labels:
name: volume-migration
spec:
restartPolicy: Never
containers:
- name: volume-migration
image: ubuntu:xenial
tty: true
command: [ "/bin/sh" ]
args: [ "-c", "cp -r -v /mnt/old /mnt/new" ]
volumeMounts:
- name: old-vol
mountPath: /mnt/old
- name: new-vol
mountPath: /mnt/new
volumes:
- name: old-vol
persistentVolumeClaim:
claimName: data-source-pvc # change to data source PVC
- name: new-vol
persistentVolumeClaim:
claimName: data-target-pvc # change to data target PVC
历史
- 从 v1.0.1 开始可用,
External provisioner - 从 v1.1.0 开始可用,
Native RWX support
Longhorn,企业级云原生容器分布式存储 - 支持 ReadWriteMany (RWX) 工作负载(实验性功能)的更多相关文章
- Longhorn,企业级云原生容器分布式存储 - 定制默认设置
内容来源于官方 Longhorn 1.1.2 英文技术手册. 系列 Longhorn 是什么? Longhorn 云原生容器分布式存储 - 设计架构和概念 Longhorn 云原生容器分布式存储 - ...
- Longhorn,企业级云原生容器分布式存储 - K8S 资源配置示例
内容来源于官方 Longhorn 1.1.2 英文技术手册. 系列 Longhorn 是什么? Longhorn 企业级云原生容器分布式存储解决方案设计架构和概念 Longhorn 企业级云原生容器分 ...
- Longhorn,企业级云原生容器分布式存储 - 监控(Prometheus+AlertManager+Grafana)
内容来源于官方 Longhorn 1.1.2 英文技术手册. 系列 Longhorn 是什么? Longhorn 企业级云原生容器分布式存储解决方案设计架构和概念 Longhorn 企业级云原生容器分 ...
- Longhorn,企业级云原生容器分布式存储 - 备份与恢复
内容来源于官方 Longhorn 1.1.2 英文技术手册. 系列 Longhorn 是什么? Longhorn 企业级云原生容器分布式存储解决方案设计架构和概念 Longhorn 企业级云原生容器分 ...
- Longhorn,企业级云原生容器分布式存储 - 高可用
内容来源于官方 Longhorn 1.1.2 英文技术手册. 系列 Longhorn 是什么? Longhorn 企业级云原生容器分布式存储解决方案设计架构和概念 Longhorn 企业级云原生容器分 ...
- Longhorn 企业级云原生容器存储解决方案-部署篇
内容来源于官方 Longhorn 1.1.2 英文技术手册. 系列 Longhorn 是什么? Longhorn 云原生分布式块存储解决方案设计架构和概念 安装 Longhorn 可以通过多种方式安装 ...
- Longhorn 云原生容器分布式存储 - Air Gap 安装
内容来源于官方 Longhorn 1.1.2 英文技术手册. 系列 Longhorn 是什么? Longhorn 云原生容器分布式存储 - 设计架构和概念 Longhorn 云原生容器分布式存储 - ...
- Longhorn 云原生容器分布式存储 - Python Client
内容来源于官方 Longhorn 1.1.2 英文技术手册. 系列 Longhorn 是什么? Longhorn 云原生容器分布式存储 - 设计架构和概念 Longhorn 云原生容器分布式存储 - ...
- Longhorn 云原生容器分布式存储 - 故障排除指南
内容来源于官方 Longhorn 1.1.2 英文技术手册. 系列 Longhorn 是什么? Longhorn 云原生容器分布式存储 - 设计架构和概念 Longhorn 云原生容器分布式存储 - ...
随机推荐
- python使用笔记12--操作mysql数据库
1.创建连接 1 import pymysql 2 connect = pymysql.connect(host='127.0.0.1', 3 user='root', 4 password='123 ...
- Charles使用笔记001
一.抓电脑的请求 Proxy-->勾选Windows Proxy 二.Charles 拦截原理 三.Charles 拦截修改数据 选择一个链接-->右键-->勾选Breakpoint ...
- C语言:九宫格改进
#include <stdio.h> /* 如下排列表示 A00 A01 A02 A10 A11 A12 A20 A21 A22 */ unsigned char array[3][3] ...
- python从图片中找图
import aircv as ac def matcha(bb,aa):#从bb查找aa,如果有则返回其坐标位置 yuan=ac.imread(bb) mubi=ac.imread(aa) resu ...
- 使用BeautifulSoup自动爬取微信公众号图片
爬取微信分享的图片,根据不同的页面自行修改,使用BeautifulSoup爬取,自行格局HTML修改要爬取图片的位置 import re import time import requests imp ...
- Installation failed with message INSTALL_FAILED_TEST_ONLY问题
Android Studio连接手机进行app调试,遇到如下问题: Installation failed with message INSTALL_FAILED_TEST_ONLY. It is p ...
- 12. Mysql基础入门
课程大纲 • 数据库概述 • MySQL基本操作 • MySQL索引基础 • MySQL高级特性
- SLAM的数学基础(3):几种常见的概率分布的实现及验证。
分布,在计算机学科里一般是指概率分布,是概率论的基本概念之一.分布反映的是随机或某个系统中的某个变量,它的取值的范围和规律. 常见的分布有:二项分布.泊松分布.正态分布.指数分布等,下面对它们进行一一 ...
- Spring Boot邮箱链接注册验证
Spring Boot邮箱链接注册验证 简单介绍 注册流程 [1]前端提交注册信息 [2]后端接受数据 [3]后端生成一个UUID做为token,将token作为redis的key值,用户数据作为re ...
- bash的快捷键
ctrl + u取消 当前光标之前的输入 ctrl + k 取消 当前光标之后的输入 ctrl + a 移动 当前光标到行首 ctrl + e 移动 当前光标到行尾