RAIDZ 并不是真正意义上的 RAID,而是一种更高层的解决方案,解决了 RAID-5 的 “ write hole ”问题。NVRAM带电保护的RAM。NVMe是一种快速访问的接口协议。
一、RAIDZ 是 SUN Microsystem 在其 ZFS文件系统中采用的软件 RAID 的解决方案 。
RAIDZ 出现的背景是因为硬件 RAID 没有表现出其声称应达到快速、可靠的效果 ,存在问题之一就是一个称为 RAID-5 “ write hole ”的缺陷:
RAID 的写实分为两步的,
首先更新数据,其次更新校验(将新数据和旧校验异或以使得所有磁盘异或为零)。
如果这个写的过程中发生断电、系统崩溃等故障时,这时磁盘上存储的数据和校验就不匹配了,如果没有一个好的日志或快照机制来进行恢复的话,错误的数据将永远保存在磁盘上而无法纠正,而这一切对用户都是不知道的。为解决这一问题,有用户采用昂贵的 NVRAM 进行断电保护。
RAIDZ 并不是真正意义上的 RAID,而是一种更高层的解决方案,所以它不需要像 RAID 一样的额外设备,使用动态的条带宽度,并利用了 ZFS 中类似于 RAID 的一种完整性冗余机制——重定向写(RoW,Ridrect-on-write)解决了 RAID-5 的 “ write hole ”问题:
首先数据写到一个新的位置,接着再改写原来指向旧数据的指针,避免了小写必须读后写的操作而在全条带上进行写,利用小块镜像来代替奇偶校验,这是因为能够知道文件系统存储结构并能够在需要的时候分配额外的空间,
RAID-Z2 是 RAIDZ 的升级, RAIDZ 采用的是类似 RAID-5 的单个奇偶校验位,
RAIDZ-Z2 是采用类似于 RAID-6 的两个奇偶校验,
这样前者允许一个磁盘损坏,而后者可以允许两个磁盘损坏而不丢失数据。
二、NVRAM( Non-Volatile Random Access Memory) 是非易失性随机访问存储器,指断电后仍能保持数据的一种RAM。
如果通俗地解释非易失性存储器,那就是指断电之后,所存储的数据不丢失的随机访问存储器。
1.随机访问存储器(Random Access Memory,RAM),断电之后信息就丢失了。
2.NVRAM可以随机访问。因此有些解释中,说Flash是属于NVRAM,是不准确的。因为从严格意义上来说,Flash分有两种:nand flash和nor flash。
其中的nor属于是可以随机访问的,而nand flash不是真正的随机访问,属于顺序访问(serial access)。
三、NVMe
NVM Express –用于PCI Express附加存储的寄存器接口和命令集,以及适用于多种操作系统的行业标准软件。NVMe被广泛认为是PCIeSSD的事实上的行业标准。
M.2是固态硬盘的接口类型,PCI-e是通道类别,两者概念不同。
目前市面上的SSD主要分为三种规格(ngff接口就是M.2接口):
① 2.5英寸SATA接口SSD;
优点就是兼容性较强,而且普遍比NVME SSD便宜些,缺点就是速度相对较慢(但比机械快很多),最快连续读写一般也无法超过550MB/s。
② M.2接口SSD(走SATA通道);
本质性能上和第一种完全一致,非常不建议购买这一类!
③ M.2接口SSD(走PCI-E通道且支持NVMe协议)
想买M.2接口SSD的用户务必购买这一类,这一类产品读写速度很容易达到1000MB/s甚至3000MB/s以上,比如三星PM961/SM961等,价格也不贵。
四、NVDIMM
非易失性 双列直插式内存模块(non-volatile dual in-line memory module,缩写NVDIMM)是一种用于计算机的随机存取存储器。
非易失性存储器是即使断电也能保留其内容的内存,这包括意外断电、系统崩溃或正常关机。双列直插式表示该内存使用DIMM封装。
NVDIMM由 BBU(Battery Backed Up) DIMM 演变而来。
BBU采用含有重金属的后备电池以维持普通挥发性内存中的内容几小时之久,但不符合绿色能源的要求。
由超级电容作为动力源的NVDIMM应运而生。并且NVDIMM使用非挥发性的flash存储介质来保存数据,数据能够保存的时间更长。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)