当前位置: 首页 > news >正文

vSAN02:容错、存储策略、文件服务、快照与备份、iSCSI

目录

    • vSAN容错
      • 条带化
      • 存储策略
        • 1. 创建新策略
        • 2. 应用存储策略
    • vSAN文件服务
      • 文件服务快照与备份
    • vSAN iSCSI目标服务

vSAN容错

FTT:Fault to Tolerance 允许故障数
故障域:每一台vSAN主机是一个故障域
- 假设3台超融合(3计算+1存储),实际上故障域并非9台主机,而是3台主机(存储down后一台超融合内主机均不可用)
- 可以手动指定某些主机属于某个故障域
在这里插入图片描述

默认,vSAN采用raid1,因此是允许故障1节点 FTT=1。不过vSAN最小3个主机组集群,若坏了一个主机,实际上只有2台主机正常工作,所以vSAN功能就异常,原因是缺少了见证,但虚拟机功能仍正常。因此生产环境最少是4台主机组vSAN.
对象只是一个容器,不存放数据;组件才是真实存放数据的。
见证:witness。为了避免/处理脑裂,本身不存放数据(仅占2M,vSphere8 16M)。若组件脑裂,见证会参与投票。
- vSAN设计,只有超过50%投票,才可以被认定为活动副本。
- FTT增加,见证数量也会增加。副本数+见证数=奇数个数

缓存层也遵循FTT制度,同时仅有镜像方式。FTT=1时,缓存会镜像到2份、FTT=2时,镜像会到3份。

条带化

条带化可能可以提高性能:
假设一台虚拟机使用非常频繁,并且大于缓存层设置的大小。这意味着它的热点数据会被频繁更换,降低读写性能。使用条带化,将一个vmdk分为多个条带放到不同的主机上,每个条带都在该主机的缓存层中作为热点数据,这样就提高了性能。
但假如这个条带的拷贝生成在了同一台主机上,那么性能就没法提高。

存储策略

在这里插入图片描述

vSAN默认策略
在这里插入图片描述

1. 创建新策略

在这里插入图片描述

基于主机的策略
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

会提示消耗存储大小,如FTT=2,RAID1,100G将耗费300G;FTT=1,RAID5,100GB将耗费133.33GB
在这里插入图片描述

加密服务:OSA会进行两次加密。第一次是数据进缓存层,第二次是缓存层进容量层
空间效率:必须全闪存才可以启用
在这里插入图片描述

对象空间预留:精简置备、预留25%、预留50%、预留75%、厚置备。是总占用容量先预留下来多少,以便估算vSAN使用容量且减少浪费空间
Flash Read Cache预留:读缓存预留。在缓存层中预留空间指定给到套用这个虚拟机存储策略的虚拟机使用。但其他虚拟机可见的缓存层空间为总值-该值。
禁用对象校验和:发现错误会在能力范围尝试修复。加入软件在写数据时已经作数据校验了,那可以关闭。
强制制备:如果没有办法完成这个策略,会override这个存储策略,使得可以创建该VM。

在这里插入图片描述
在这里插入图片描述

2. 应用存储策略

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这个条带=2,使得一个组件被拆成了2个,即raid0。然后由于FTT=1,RAID=1,所以对这个组件需要镜像,即对这个raid0组进行镜像,变成两个raid0。同时因为主机数为5,满足存放在不同主机的需求,所以每个条带都在不同的主机上。
对于Home namespace,对象不存放数据,所以物理存储的变化不会影响它的内容,依旧是2个组件和一个见证,因为FTT=1,RAID1

vSAN文件服务

NFS支持v3和v4.1,支持SMB

  1. 创建文件服务VM
    在这里插入图片描述

文件服务依赖于文件服务VM。需要使用文件服务VM,所以需要下载对应不同vSAN版本的ovf虚拟机(这个也不全,实际是一组文件,最好去官网下载)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在此时会出现一个报错,提示vSAN文件服务警报,这是因为文件服务已经启动,但文件服务VM还没有初始化好。初始化完成后,告警消失。

  1. 创建文件服务域
    在这里插入图片描述
    在这里插入图片描述

需要提前在DNS服务器上创建好用于文件服务主机ip的A记录和PTR记录
在这里插入图片描述

在这里插入图片描述

  1. 与AD集成(可选,用于SMB)
    在这里插入图片描述
    在这里插入图片描述

  2. 添加相关的DNS记录(A & PTR)

在第2步中已经创建。同时需要注意,上述步骤成功后,可以直接在AD上看到VFS这个文件服务的一个计算机用户。
在这里插入图片描述

  1. 创建共享文件夹
    在这里插入图片描述

创建NFS共享
在这里插入图片描述
在这里插入图片描述

创建SMB共享
在这里插入图片描述

  1. 连接文件共享
  • 挂载NFS:

查看文件共享挂载方式
在这里插入图片描述

挂载
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 挂载SMB:

在这里插入图片描述

用AD域中的主机访问,上一步的SMB导出路径
在这里插入图片描述

用SMB权限配置,实际调用MMC进行更改
在这里插入图片描述

文件服务快照与备份

在备份之前对文件作快照。备份时会跳过拒绝访问的文件,为了实现全文件夹的备份,先进行快照,后对快照进行备份。
vSphere不支持删除最后的快照。

在这里插入图片描述

一般使用Veeam进行备份。Veeam支持备份前运行脚本,可以执行脚本如下:
在这里插入图片描述

逻辑:连接到vCenter->请求文件共享->拍摄快照->删除旧快照->对新快照进行文件备份
在这里插入图片描述

vSAN iSCSI目标服务

vSAN提供的iSCSI目标服务不支持其他ESXi或友商虚拟化平台使用;Win Linux没问题

  1. 启用iSCSI服务
    在这里插入图片描述在这里插入图片描述在这里插入图片描述

  2. 创建iSCSI目标
    在这里插入图片描述在这里插入图片描述在这里插入图片描述

  3. 挂载LUN
    在这里插入图片描述在这里插入图片描述

  4. 配置发起方限制
    在这里插入图片描述在这里插入图片描述

  5. iSCSI发起链接,查看磁盘
    在这里插入图片描述

相关文章:

vSAN02:容错、存储策略、文件服务、快照与备份、iSCSI

目录 vSAN容错条带化存储策略1. 创建新策略2. 应用存储策略 vSAN文件服务文件服务快照与备份 vSAN iSCSI目标服务 vSAN容错 FTT:Fault to Tolerance 允许故障数 故障域:每一台vSAN主机是一个故障域 - 假设3台超融合(3计算1存储)&…...

图解C#高级教程(四):协变、逆变

本章的主题是可变性(variance),这里的可变性更多的是指基类和派生类之间的转换。可变性分为三种:协变(covariance)、逆变(contravariance)和不变(invariance)…...

详解CSS中的伪元素

4.3 伪元素 可以把样式应用到文档树中根本不存在的元素上。 ::first-line 文本中的第一行 ::first-letter 文本中的第一个字母 ::after 元素之后添加 ::before 元素之前 代码&#xff1a; <!DOCTYPE html> <html> <head><meta charset"utf-8&q…...

paper_template

paper_template Title 文章标题 Abstract 摘要 Keywords 关键词 Highlights Highlights / 创新点 Summary 写完笔记之后最后填&#xff0c;概述文章的内容&#xff0c;以后查阅笔记的时候先看这一段。 Backgrounds 描述当前研究背景 Research Objective 作者的研…...

【Bug】解决 Ubuntu 中 “error: Unable to Find Python3 Executable” 错误

解决 Ubuntu 中 “Unable to Find Python3 Executable” 错误 在 Ubuntu 系统上使用 Python 进行开发时&#xff0c;遇到找不到 python3 可执行文件的错误。 主要问题是无法正常打开终端&#xff08;原生与terminator&#xff09;&#xff0c;找不到python3&#xff0c;且无法…...

CUDA与TensorRT学习六:模型部署-CNN、模型部署-YOLOv8检测器、部署BEVFusion模型

文章目录 一、模型部署-CNN二、模型部署-YOLOv8检测器三、部署BEVFusion模型 一、模型部署-CNN 二、模型部署-YOLOv8检测器 三、部署BEVFusion模型...

防sql注入的网站登录系统设计与实现

课程名称 网络安全 大作业名称 防sql注入的网站登录系统设计与实现 姓名 学号 班级 大 作 业 要 求 结合mysql数据库设计一个web登录页面密码需密文存放&#xff08;可以采用hash方式&#xff0c;建议用sha1或md5加盐&#xff09;采用服务器端的验证码&#…...

如何快速切换电脑的ip地址

在当今的数字化时代&#xff0c;IP地址作为网络身份的重要标识&#xff0c;其重要性日益凸显。无论是出于保护个人隐私的需要&#xff0c;还是为了访问特定的网络服务等&#xff0c;快速切换电脑的IP地址已成为许多用户的迫切需求。本文将为你介绍几种实用的方法&#xff0c;帮…...

鸿蒙HarmonyOS之选择相册文件(照片/视频)方法

一、新建文件工具类FileUtil.ets 包含&#xff1a;选择照片方法、获取文件类型方法、去除后缀、获取后缀方法 import { BusinessError, request } from kit.BasicServicesKit; import photoAccessHelper from ohos.file.photoAccessHelper; import bundleManager from ohos.b…...

【QT Qucik】C++交互:接收QML信号

在本节课中&#xff0c;我们将深入探讨如何在C中接收QML发出的信号。我们将分为几个部分&#xff0c;详细说明信号的定义、发送及其在C中的接收。 理解信号和槽机制 Qt的信号与槽机制是一种用于对象之间通信的强大工具。信号是对象在特定事件发生时发送的通知&#xff0c;而槽…...

【C++】关键字+命名空间

大家好&#xff0c;我是苏貝&#xff0c;本篇博客带大家了解C的命名空间&#xff0c;如果你觉得我写的还不错的话&#xff0c;可以给我一个赞&#x1f44d;吗&#xff0c;感谢❤️ 目录 一. 关键字二. 命名空间2.1 命名空间的定义2.2 命名空间的使用a. 命名空间名称作用域限定…...

网络层——IP

IP地址 结构&#xff1a; 由32位二进制数组成&#xff0c;通常用点分的形式被分为四个部分&#xff0c;每个部分1byte&#xff0c;最大值为255。 从功能的角度看&#xff0c;ip地址由两部分组成&#xff0c;网络号和主机号。网络号标识了ip所在的网段&#xff0c;主机号标识了…...

随笔 漫游互联网

网络编程基础&#xff1a;漫游互联网 温故而知新&#xff0c;可以为师矣。互联网我们可以想象成一个立体的网状结构&#xff0c;由一个一个的小网络组成的网状结构&#xff0c;在一个一个小网络中通过一台一台机器组成&#xff0c;经过几十年的发展终于有了今天这个样子。谈论…...

8.9K Star,开源自托管离线翻译引擎

Hi&#xff0c;骚年&#xff0c;我是大 G&#xff0c;公众号「GitHub 指北」会推荐 GitHub 上有趣有用的项目&#xff0c;一分钟 get 一个优秀的开源项目&#xff0c;挖掘开源的价值&#xff0c;欢迎关注。 在全球化的今天&#xff0c;跨语言交流已成为日常需求&#xff0c;然…...

MySQL基础之DML

MySQL基础之DML 语法不区分大小写 分类 DD(definition)L 定义DM(manipulation)L 操作DQ(query)L 查询DC(control)L 控制 添加数据 # 指定字段添加数据(一条)insert into 表名(字段1,字段2,...) values(值1,值2,...);# 全部字段添加数据(一条)insert into 表名 values(值1,值…...

男单新老对决:林诗栋VS马龙,巅峰之战

听闻了那场激动人心的新老对决&#xff0c;不禁让人热血沸腾。在这场乒乓球的巅峰之战中&#xff0c;林诗栋与马龙的对决无疑是一场视觉与技术的盛宴。 3:3的决胜局&#xff0c;两位选手的每一次挥拍都充满了策略与智慧&#xff0c;他们的每一次得分都让人心跳加速。 林诗栋&am…...

Java如何判断堆区中的对象可以被回收了?

如何判断堆区中的对象可以被回收了 在Java中&#xff0c;垃圾回收机制会帮助我们自动回收不再被使用的对象&#xff0c;已到达即使释放内存的效果&#xff0c;但是Java又是怎么知道哪些对象不会再被我们继续使用了呢&#xff0c;希望你通过本篇文章&#xff0c;理解引用计数法与…...

.Net 6.0 监听Windows网络状态切换

上次发了一个文章获取windows网络状态&#xff0c;判断是否可以访问互联网。传送门&#xff1a;获取本机网络状态 这次我们监听网络状态切换&#xff0c;具体代码如下&#xff1a; public class WindowsNetworkHelper {private static Action<bool>? _NetworkStatusCh…...

UE4 材质学习笔记01(什么是着色器/PBR基础)

1.什么是shader 着色器是控制屏幕上每个像素颜色的代码&#xff0c;这些代码通常在图形处理器上运行。 现如今游戏引擎使用先进的基于物理的渲染和照明。而且照明模型模型大多数是被锁定的。 因此我们创建着色器可以控制颜色&#xff0c;法线&#xff0c;粗糙度&#xff0c;…...

算法 | 位运算(哈希思想)

位运算 &与两个位都为1时&#xff0c;结果才为1&#xff08;有0为0&#xff09;|或两个位都为0时&#xff0c;结果才为0&#xff08;有1为1&#xff09;^异或两个位相同为0&#xff0c;相异为1~取反0变1&#xff0c;1变0<<左移各二进位全部左移若干位&#xff0c;高…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

聊聊 Pulsar:Producer 源码解析

一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台&#xff0c;以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中&#xff0c;Producer&#xff08;生产者&#xff09; 是连接客户端应用与消息队列的第一步。生产者…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...