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
- 创建文件服务VM

文件服务依赖于文件服务VM。需要使用文件服务VM,所以需要下载对应不同vSAN版本的ovf虚拟机(这个也不全,实际是一组文件,最好去官网下载)




在此时会出现一个报错,提示vSAN文件服务警报,这是因为文件服务已经启动,但文件服务VM还没有初始化好。初始化完成后,告警消失。
- 创建文件服务域


需要提前在DNS服务器上创建好用于文件服务主机ip的A记录和PTR记录

-
与AD集成(可选,用于SMB)


-
添加相关的DNS记录(A & PTR)
在第2步中已经创建。同时需要注意,上述步骤成功后,可以直接在AD上看到VFS这个文件服务的一个计算机用户。
- 创建共享文件夹

创建NFS共享
创建SMB共享
- 连接文件共享
- 挂载NFS:
查看文件共享挂载方式

挂载



- 挂载SMB:

用AD域中的主机访问,上一步的SMB导出路径

用SMB权限配置,实际调用MMC进行更改

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

一般使用Veeam进行备份。Veeam支持备份前运行脚本,可以执行脚本如下:

逻辑:连接到vCenter->请求文件共享->拍摄快照->删除旧快照->对新快照进行文件备份

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



-
创建iSCSI目标



-
挂载LUN


-
配置发起方限制


-
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 元素之前 代码: <!DOCTYPE html> <html> <head><meta charset"utf-8&q…...
paper_template
paper_template Title 文章标题 Abstract 摘要 Keywords 关键词 Highlights Highlights / 创新点 Summary 写完笔记之后最后填,概述文章的内容,以后查阅笔记的时候先看这一段。 Backgrounds 描述当前研究背景 Research Objective 作者的研…...
【Bug】解决 Ubuntu 中 “error: Unable to Find Python3 Executable” 错误
解决 Ubuntu 中 “Unable to Find Python3 Executable” 错误 在 Ubuntu 系统上使用 Python 进行开发时,遇到找不到 python3 可执行文件的错误。 主要问题是无法正常打开终端(原生与terminator),找不到python3,且无法…...
CUDA与TensorRT学习六:模型部署-CNN、模型部署-YOLOv8检测器、部署BEVFusion模型
文章目录 一、模型部署-CNN二、模型部署-YOLOv8检测器三、部署BEVFusion模型 一、模型部署-CNN 二、模型部署-YOLOv8检测器 三、部署BEVFusion模型...
防sql注入的网站登录系统设计与实现
课程名称 网络安全 大作业名称 防sql注入的网站登录系统设计与实现 姓名 学号 班级 大 作 业 要 求 结合mysql数据库设计一个web登录页面密码需密文存放(可以采用hash方式,建议用sha1或md5加盐)采用服务器端的验证码&#…...
如何快速切换电脑的ip地址
在当今的数字化时代,IP地址作为网络身份的重要标识,其重要性日益凸显。无论是出于保护个人隐私的需要,还是为了访问特定的网络服务等,快速切换电脑的IP地址已成为许多用户的迫切需求。本文将为你介绍几种实用的方法,帮…...
鸿蒙HarmonyOS之选择相册文件(照片/视频)方法
一、新建文件工具类FileUtil.ets 包含:选择照片方法、获取文件类型方法、去除后缀、获取后缀方法 import { BusinessError, request } from kit.BasicServicesKit; import photoAccessHelper from ohos.file.photoAccessHelper; import bundleManager from ohos.b…...
【QT Qucik】C++交互:接收QML信号
在本节课中,我们将深入探讨如何在C中接收QML发出的信号。我们将分为几个部分,详细说明信号的定义、发送及其在C中的接收。 理解信号和槽机制 Qt的信号与槽机制是一种用于对象之间通信的强大工具。信号是对象在特定事件发生时发送的通知,而槽…...
【C++】关键字+命名空间
大家好,我是苏貝,本篇博客带大家了解C的命名空间,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 一. 关键字二. 命名空间2.1 命名空间的定义2.2 命名空间的使用a. 命名空间名称作用域限定…...
网络层——IP
IP地址 结构: 由32位二进制数组成,通常用点分的形式被分为四个部分,每个部分1byte,最大值为255。 从功能的角度看,ip地址由两部分组成,网络号和主机号。网络号标识了ip所在的网段,主机号标识了…...
随笔 漫游互联网
网络编程基础:漫游互联网 温故而知新,可以为师矣。互联网我们可以想象成一个立体的网状结构,由一个一个的小网络组成的网状结构,在一个一个小网络中通过一台一台机器组成,经过几十年的发展终于有了今天这个样子。谈论…...
8.9K Star,开源自托管离线翻译引擎
Hi,骚年,我是大 G,公众号「GitHub 指北」会推荐 GitHub 上有趣有用的项目,一分钟 get 一个优秀的开源项目,挖掘开源的价值,欢迎关注。 在全球化的今天,跨语言交流已成为日常需求,然…...
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马龙,巅峰之战
听闻了那场激动人心的新老对决,不禁让人热血沸腾。在这场乒乓球的巅峰之战中,林诗栋与马龙的对决无疑是一场视觉与技术的盛宴。 3:3的决胜局,两位选手的每一次挥拍都充满了策略与智慧,他们的每一次得分都让人心跳加速。 林诗栋&am…...
Java如何判断堆区中的对象可以被回收了?
如何判断堆区中的对象可以被回收了 在Java中,垃圾回收机制会帮助我们自动回收不再被使用的对象,已到达即使释放内存的效果,但是Java又是怎么知道哪些对象不会再被我们继续使用了呢,希望你通过本篇文章,理解引用计数法与…...
.Net 6.0 监听Windows网络状态切换
上次发了一个文章获取windows网络状态,判断是否可以访问互联网。传送门:获取本机网络状态 这次我们监听网络状态切换,具体代码如下: public class WindowsNetworkHelper {private static Action<bool>? _NetworkStatusCh…...
UE4 材质学习笔记01(什么是着色器/PBR基础)
1.什么是shader 着色器是控制屏幕上每个像素颜色的代码,这些代码通常在图形处理器上运行。 现如今游戏引擎使用先进的基于物理的渲染和照明。而且照明模型模型大多数是被锁定的。 因此我们创建着色器可以控制颜色,法线,粗糙度,…...
算法 | 位运算(哈希思想)
位运算 &与两个位都为1时,结果才为1(有0为0)|或两个位都为0时,结果才为0(有1为1)^异或两个位相同为0,相异为1~取反0变1,1变0<<左移各二进位全部左移若干位,高…...
Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...
[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...
图解JavaScript原型:原型链及其分析 | JavaScript图解
忽略该图的细节(如内存地址值没有用二进制) 以下是对该图进一步的理解和总结 1. JS 对象概念的辨析 对象是什么:保存在堆中一块区域,同时在栈中有一块区域保存其在堆中的地址(也就是我们通常说的该变量指向谁&…...
数据库——redis
一、Redis 介绍 1. 概述 Redis(Remote Dictionary Server)是一个开源的、高性能的内存键值数据库系统,具有以下核心特点: 内存存储架构:数据主要存储在内存中,提供微秒级的读写响应 多数据结构支持&…...
医疗AI模型可解释性编程研究:基于SHAP、LIME与Anchor
1 医疗树模型与可解释人工智能基础 医疗领域的人工智能应用正迅速从理论研究转向临床实践,在这一过程中,模型可解释性已成为确保AI系统被医疗专业人员接受和信任的关键因素。基于树模型的集成算法(如RandomForest、XGBoost、LightGBM)因其卓越的预测性能和相对良好的解释性…...
验证redis数据结构
一、功能验证 1.验证redis的数据结构(如字符串、列表、哈希、集合、有序集合等)是否按照预期工作。 2、常见的数据结构验证方法: ①字符串(string) 测试基本操作 set、get、incr、decr 验证字符串的长度和内容是否正…...
深入理解 C++ 左值右值、std::move 与函数重载中的参数传递
在 C 编程中,左值和右值的概念以及std::move的使用,常常让开发者感到困惑。特别是在函数重载场景下,如何合理利用这些特性来优化代码性能、确保语义正确,更是一个值得深入探讨的话题。 在开始之前,先提出几个问题&…...
【笔记】结合 Conda任意创建和配置不同 Python 版本的双轨隔离的 Poetry 虚拟环境
如何结合 Conda 任意创建和配置不同 Python 版本的双轨隔离的Poetry 虚拟环境? 在 Python 开发中,为不同项目配置独立且适配的虚拟环境至关重要。结合 Conda 和 Poetry 工具,能高效创建不同 Python 版本的 Poetry 虚拟环境,接下来…...







