云服务器端口开启 最近公司要求各部门写一些技术类分享文章,一方面可以作为技术交流与客户进行分享互动;另一方面也可以在撰写文章的过程中,对自己的知识体系进行一个梳理···
云服务器端口开启
最近公司要求各部门写一些技术类分享文章,一方面可以作为技术交流与客户进行分享互动;另一方面也可以在撰写文章的过程中,对自己的知识体系进行一个梳理总结,对于自己也有一定帮助。
但是难点就是:到底要分享什么?我思前想后,想起了当年在某个技术话题中分享过关于JBOD与RAID的讨论分享,于是就作为本周的技术分享主题,再与大家分享交流。
图1:当时的话题讨论贴内容
云服务器稳定吗
其实在做IT基础设施规划或者项目交付时,存储架构是绕不开的一环。很多刚入行的朋友经常会感到困惑:服务器里插了那么多硬盘,为什么有的项目要配昂贵的 RAID 卡做复杂的阵列,而有的项目(特别是现在的超融合)却直接点名要最简单的 JBOD 直通模式?
今天我们就脱离枯燥的教科书定义,结合实际的项目经验,配合几张示意图,聊聊JBOD和RAID这两位老朋友的区别,以及究竟该如何看菜下碟。
一、 本质区别:各自为战 vs. 统一指挥
要理解两者的区别,最为核心的一点在于:谁在掌控磁盘?是磁盘们各自为战,还是由一个大脑(阵列卡控制器)统一指挥?
虽然 JBOD 和 RAID 0 在操作系统层面看起来,经常都是把几块小硬盘合并成了一块超级大硬盘(逻辑空间),但它们底层的内功心法完全不同。
1. JBOD (Just a Bunch Of Disks):单纯的拼接
JBOD,人如其名——就是一堆磁盘。它的逻辑非常简单粗暴:
·写入机制(串联):数据写入时,就像往一排柜子里塞东西。填满第一个柜子(硬盘),再填第二个,以此类推。数据在物理上是连续分布的。
·性能表现:因为是写完一个再写下一个,同一时间通常只有一块硬盘在主力工作。所以,它的读写性能基本等于单块硬盘的性能。
·可靠性:它是松散定居。如果其中一块盘坏了,你只会丢失这块盘上的数据,其他盘的数据通常安然无恙。
图2: JBOD 的工作原理 —— 线性存储
2. RAID 0 (Redundant Array of Independent Disks Level 0):并发的艺术
RAID 0 则引入了强力的控制器概念,它对磁盘进行了统一的格式化和管理:
·写入机制(条带化):控制器就像一个大厨,把发来的数据切成无数个小块(称为条带 Stripe),然后并发地、随机地打散存储在所有磁盘上。
·性能表现:这是 RAID 0 最大的优势。读写数据时,多块硬盘同时开工。理论上,硬盘越多,叠加的读写速度越快(N块盘约等于N倍速度)。
·可靠性(硬伤):这是一个连坐机制。因为一份完整的数据被切碎分摊在所有盘上,只要有任意 1 块磁盘损毁,所有数据碎块就拼不回来了,导致全部数据丢失,且几乎无法恢复。
图 3:RAID 0 的工作原理 —— 条带化并发
理解了上面的基础之后,对于我们常听说的其他 RAID 模式(如 RAID 1, 5, 6, 10)其实都是在 RAID 0 的基础上,增加了数据镜像或奇偶校验机制,来弥补 RAID 0 数据安全性的短板。下面简单介绍一下,更详细的内容可以自己网上找一下资料:
·Raid 0:至少需要两块硬盘,磁盘越多,读写速度越快,没有冗余。
·Raid 1:只能用两块硬盘,两块硬盘的数据互为镜像(写慢,读快),一块磁盘冗余。
·Raid 5:至少需要3块硬盘,一块磁盘冗余。它是最通行的配置方式。具有奇偶校验的数据恢复功能的数据存贮方式。奇偶校验数据块分布于阵列里的各个硬盘中。
·Raid 6:至少需要4块硬盘,2块磁盘冗余,硬盘的总数大于等于4即可。
web服务器 阿里云
·Raid 10:至少需要4块硬盘,冗余一半的硬盘数量,但是硬盘的总数必须是大于或等于4的偶数(相当于每两块硬盘做一个Raid0,然后把各个Raid0做成一个Raid1)。
·Raid 50:至少需要6块硬盘,磁盘的冗余相当于每三个硬盘做了一个Raid5,然后,每个Raid5又组合成了Raid0(Raid5中有一个硬盘冗余,即使坏了也不会破坏Raid0),所以,Raid50的磁盘的 冗余硬盘数量=磁盘总数÷3 。
·Raid 60:至少需要8块硬盘。
二、 实战心得:为什么架构风向变了?
在过去传统的单机存储或简单的服务器项目中,我们大概率会首选 RAID 技术。原因很简单:传统的操作系统自身不具备强大的磁盘管理和纠错能力,需要依赖硬件 RAID 卡来提供速度和安全感。
但在如今的云计算和超融合(HCI)时代,那就是大人们——风向变了。
在我的实际项目案例中,只要涉及VSAN、Ceph、Nutanix等超融合架构,几乎清一色使用JBOD(或者称之为 Passthrough 直通模式)。
这是为什么?
因为超融合系统的核心是分布式存储软件(软件定义存储 SDS)。这个软件层非常聪明,它需要在更高维度统一调度资源,它希望直接接管底层的每一块物理硬盘,自己来安排数据的切片、多副本存放和故障修复。
如果在底层硬件上又做了一层 RAID,反而坏事:
1.性能损耗(双重管理):就像请了两个管家,硬件 RAID 卡管一次,上层软件又管一次,互相打架,效率反而低了。
2.屏蔽细节(无法治病):硬件 RAID 会屏蔽硬盘的真实健康状态(如 S.M.A.R.T 信息),导致上层聪明的软件无法及时发现坏道或进行精细化的数据修复。
图 4:传统架构 vs. 超融合架构的存储层级对比
三、 灵魂拷问:到底谁的优势更大?
这也是技术圈最容易争论的话题。我的观点是:脱离项目场景谈技术优劣,都是耍流氓。
技术没有绝对的更好,只有更合适。每种技术的诞生都有其合理性,关键在于你的需求痛点在哪里。我们通过一个简单的场景决策图来看看:
图 5:存储模式场景决策指南
总结选型思路:
1.如果是跑超融合/分布式存储:闭眼选JBOD直通,这是最佳实践。
2.如果是存监控录像/冷数据:数据量极大,预算有限,且能容忍偶尔丢失一块盘的数据片段,选JBOD性价比极高。
3.如果是传统企业的关键业务:比如一台跑 ERP 的单机数据库服务器,数据是命脉,必须上硬件RAID 卡,根据预算选择 RAID 10 或 RAID 5/6。
4.如果是追求极致速度的临时中转站:选RAID 0。
四、结语
做技术选型,不是选最贵的,也不是选最新的,而是要深刻理解业务对性能、容量、安全、成本这四个维度的权重,从而找到那个完美的平衡点。
云盘服务器 带宽

发表评论
最近发表
标签列表