VMware vSAN OSA存储策略 - 基于虚拟机的分布式对象存储_vsan osa esa(1)

可以忍受的故障数 FTT (Failure to Tolerate)

FTT (Failure to Tolerate) 是定义数据保护等级的一个重要参数,FTT = 1 意味着可以忍受一个节点的故障。跟 FTT 紧密相关的另一个参数是数据保护方法 FTM (Failure Tolerance Method),FTM 也定义了数据布局的方式,vSAN 中的 FTM 主要有 Raid-1、Raid-5 和 Raid-6 这几种。

Raid-1 就是镜像 (Mirroring),在另一台服务器的磁盘组上保存数据的副本,当其中一台服务器发生故障时,也可以保证数据不丢失。下图展示了 Raid-1 的工作原理,同一个数据对象存在两个副本分别存放在两台服务器上,这种情况下对应 FTT = 1。

Raid-5 跟传统的 Raid 5 磁盘阵列类的概念类似,只不过阵列不是由同一台服务器上磁盘组成,而是由多台服务器上的磁盘组成,通过增加奇偶校验块来提高数据的容错能力。Raid-5 最少要求4个服务器节点,可以实现 FTT = 1 的容错要求。跟 Raid-1 相比,Raid-5 可以至少节省 30% 的存储空间。(在OSA架构下,性能会有一定下降。)

Raid-6 的工作原理跟 Raid-5 类似,只不过采用了双份的奇偶校验块,从而使数据的容错能力进一步提高。Raid-6 最少要求6个服务器节点,可以实现 FTT = 2 的容错要求。跟 Raid-1 相比,Raid-6 可以至少节省 50% 的存储空间。(在OSA架构下,性能会有一定下降。)

vSAN 中的 Raid-5/6 也称之为纠删码 (Erasure Coding),我们可以把它理解成一种跨服务器的 Raid 阵列实现。

在ESA架构中 Raid-5/6 的性能被优化到和RAID1 接近。

IOPS (Input / Output Per Second) 限制

IOPS 是衡量存储性能的一个重要指标,vSAN 通过为虚机指定 IOPS 限制值,来控制虚机可以获得的存储访问 QoS (Quality of Service) 服务质量等级。通过这个值的设定可以限制某些非关键应用虚机对于 vSAN 性能的占用,从而保证关键应用虚机的存储访问性能。

校验和 (checksum) 验证

校验和 (checksum) 是在数据处理和数据通信领域中,用于校验数据正确性的一种方法:把数据的各个位数累加起来,在处理数据结束之后根据这个数值判断是否接收到的数据是否正确,如果数值匹配那么说明数据被正确地处理了。校验和通常是以十六进制为数制表示的形式来进行计算,如十六进制串: 0102030405060708 的校验和是 24 (十六进制,十进制累加结果为36)。

vSAN 在写入数据时同时也写入该数据的校验和,作为日后比对的依据。打开该功能时,vSAN 在后台执行磁盘扫描 (Disk Scrubbing),如果通过校验和验证发现了错误,则重建数据,能够自动检测和解决静态磁盘错误 (silent disk errors)。

强制调配 (Force Provisioning)

当存储策略中设定的规则不能满足时,vSAN 也可以强制为虚机分配存储空间,保证在一些极端条件下 (如存储空间不够) 也能够为虚机分配空间,让系统能够正常地运行下去。

存储策略的定义和使用

定义存储策略

存储策略必须在虚机创建之前建立,这样才可以在虚机创建时选择使用;当然 vSAN 有缺省的存储策略,如果没什么特殊需求的话,就可以使用缺省的策略。下图示意了虚机存储策略是如何被创建的,创建之后就可以在 web client 管理控制台中看到 vSAN 集群中现有的存储策略。

使用存储策略

接下来就可以在创建虚机的时候指定它所使用的存储策略了,或是修改现有虚机的存储策略。下图示意了修改一个虚机存储策略的过程,管理员修改了虚机的存储策略后,vSAN 会根据新的策略来调整虚机数据的存储布局,以符合新的存储策略的要求。

检查存储策略的合规性 (Compliant)

管理员也可以去检查虚机对象的存储是否符合存储策略的规定,合规 (Compliant) 的意思就是 vSAN 存储满足了存储策略定义的要求。在存储空间资源短缺的情况下,也会产生不合规的情况,例如要求采用镜像来保存虚机对象,如果其他服务器上没有足够空间的话,结果只保存了一份虚机对象副本。如果出现不合规情况的话,就意味着数据对象没有得到应有的安全保护,也有可能是存储策略设置得不合理,管理员就要立即采取行动,找出造成违规的原因。

vSAN规划注意

  • 至少单台物理服务器256G 内存以上。
  • 每台服务器CPU是同型号,最少是同代。建议近三年发布的。
  • 要求有单独的接入交换机(方便网络接入)。
  • 要求集群数量最少三台,推荐为四台以上。
  • vSAN 集群网络之间延迟要求小于1毫秒,最好独立VLAN。
  • 要求有单独两块硬盘做RAID1 作为系统盘,独立于vSAN。
  • vSAN 至少要求一个SSD+一个HDD,推荐为两块SDD 作为缓存层,两块HDD作为容量层,作为两个硬盘组。
  • 缓存硬盘和容量硬盘的总容量比应该为1:10
  • vSAN网络要求10G起步,推荐使用25G*2
  • 缓存盘和容量盘要求直通或RAID0,推荐用SAS卡接入,有一定队列深度要求。
  • 集群中所有vSAN主机相互访问延迟不应该大于1MS.
  • 网卡要求四个10G网卡,其中两个作为管理、虚拟机迁移、vSAN网络。其他两个为业务网卡。
  • 单个阵列卡,RAID和直通模式不能混用,否则vSAN会有问题。vSAN告警
  • vSAN 规定每个磁盘组最少需要一块SSD作为缓存+一块HDD/SSD作为容量层,最多一块+7块HDD/SSD作为容量层。每台主机不能多于 5 个磁盘组。(vSAN会占用内存、 HA也会预留内存)
  • vSAN缓存盘,30%作为写缓存 70%作为读缓存。每个磁盘组仅可以有一个缓存盘。
  • vSAN OSA 混合硬盘组,缓存层和容量层的大小比应该最小为 1:10
  • vSAN OSA 全闪存硬盘组,缓存盘最大利用率为600G。可增加使用到1.6TB
  • vSAN ESA 架构,需要每台至少有512G内存,四个NVME SSD,两个25G网卡。
  • vSAN可以部署RDMA 增加性能,但需要网卡+交换机支持。

硬件兼容性查询:https://www.vmware.com/resources/compatibility/search.php

延伸阅读

将 VMware vSphere / vSAN 软件与 Intel 的最新硬件平台技术相结合,可以为用户交付最佳的超融合架构平台,帮助用户简化数据中心管理,降低采购和运维成本,轻松应对企业在数字化转型中面对的各种挑战。(AMD目前的服务器CPU性价比更高。)

  • VMware vSAN 是最佳的存储方案平台,具有管理简便、高性能、低成本、易扩展的特点,在 vSAN 平台上可以支持任何类型的应用。
  • Intel 至强处理器提供最强计算能力,基于傲腾 (Optane) 和 3D NAND 技术的固态盘是理想的高速缓存,以太网融合网卡提供稳定的网络带宽和低网络延迟。(傲腾 产品线已经被放弃了。)

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
img

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

odb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-rb1j5mFZ-1712722644472)]

  • 25
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,常用于物联网设备之间的通信。它使用发布-订阅模式,其中消息发布者将消息发布到特定的主题(Topic),而消息订阅者则订阅感兴趣的主题,以接收相应的消息。 要使用MQTT传输和存储数据,需要以下步骤: 1. 创建MQTT客户端:首先,需要创建一个MQTT客户端,该客户端可以是生产者(Publisher)或消费者(Subscriber)。 2. 连接到MQTT代理(Broker):MQTT客户端需要连接到MQTT代理,该代理负责接收和转发消息。连接时需要指定代理的地址和端口。 3. 发布消息:如果是生产者,可以使用以下代码将消息发布到指定的主题: ```java MqttMessage message = new MqttMessage(); message.setQos(0); message.setPayload("hello MQTT from MQTTPublisher!".getBytes()); topic.publish(message); ``` 在上述代码中,我们创建了一个MqttMessage对象,并设置了消息的质量等级(QoS)和消息内容。然后,通过调用topic.publish()方法将消息发布到指定的主题。 4. 订阅主题:如果是消费者,可以使用以下代码订阅感兴趣的主题: ```java topic.subscribe(); ``` 在上述代码中,我们调用topic.subscribe()方法订阅感兴趣的主题。 5. 接收消息:如果是消费者,可以使用以下代码接收发布者发布的消息: ```java topic.setMessageHandler(new MqttMessageHandler() { @Override public void messageArrived(String topic, MqttMessage message) throws Exception { // 处理接收到的消息 } }); ``` 在上述代码中,我们通过设置MqttMessageHandler来处理接收到的消息。 通过以上步骤,你可以使用MQTT传输和存储数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值