mass storage:RAID Structure , Error Detection and Correction

RAID Structure

  • RAIDredundant array of inexpensive disks
    • multiple disk drives provides reliability via redundancy
  • Increases the mean time to failure
  • Mean time to repair – exposure time when another failure could cause data loss
  • Mean time to data loss based on above factors
  • If mirrored disks fail independently, consider disk with 1300,000 mean time to failure and 10 hour mean time to repair
    • Mean time to data loss is 100, 0002 / (2 ∗ 10) = 500 ∗ 106 hours, or 57,000 years!
  • Frequently combined with NVRAM to improve write performance
  • Several improvements in disk-use techniques involve the use of multiple disks working cooperatively

RAID - 廉价磁盘冗余阵列

多个磁盘驱动器通过冗余提供可靠性

增加平均故障时间

平均修复时间--另一次故障可能导致数据丢失的暴露时间

基于上述因素的平均数据丢失时间

如果镜像磁盘独立发生故障,则考虑平均故障时间为 1300,000 小时、平均修复时间为 10 小时的磁盘

数据丢失的平均时间为 100,0002 / (2 ∗ 10) = 500 ∗ 106 小时,或 57,000 年!

经常与 NVRAM 结合使用以提高写入性能

磁盘使用技术的若干改进涉及使用多个磁盘协同工作

  • Disk striping uses a group of disks as one storage unit
  • RAID is arranged into six different levels
  • RAID schemes improve performance and improve the reliability of the storage system by storing redundant data
    • Mirroring or shadowing (RAID 1) keeps duplicate of each disk
    • Striped mirrors (RAID 1+0) or mirrored stripes (RAID 0+1) provides high performance and high reliability
    • Block interleaved parity (RAID 4, 5, 6) uses much less redundancy
  • RAID within a storage array can still fail if the array fails, so automatic replication of the data between arrays is common
  • Frequently, a small number of hot-spare disks are left unallocated, automatically replacing a failed disk and having data rebuilt onto them

磁盘条带化将一组磁盘用作一个存储单元

RAID 分为六个不同的级别

RAID 方案通过存储冗余数据来提高性能和存储系统的可靠性

镜像或阴影(RAID 1)保留每个磁盘的副本

条带镜像(RAID 1+0)或镜像条带(RAID 0+1)提供高性能和高可靠性

块交错奇偶校验(RAID 4、5、6)使用的冗余要少得多

如果阵列发生故障,存储阵列内的 RAID 仍会发生故障,因此阵列间数据的自动复制很常见

通常会留出少量未分配的热备用磁盘,自动替换故障磁盘,并将数据重建到这些磁盘上

RAID Levels

  • Regardless of where RAID implemented, other useful features can be added
  • Snapshot is a view of file system before a set of changes take place (i.e. at a point in time)
  • Replication is automatic duplication of writes between separate sites
    • For redundancy and disaster recovery
    • Can be synchronous or asynchronous
  • Hot spare disk is unused, automatically used by RAID production if a disk fails to replace the failed disk and rebuild the RAID set if possible
    • Decreases mean time to repair

无论 RAID 在哪里实现,都可以添加其他有用的功能

快照是一组变化发生前(即某个时间点)的文件系统视图

复制是在不同站点之间自动复制写入内容

用于冗余和灾难恢复

可同步或非同步

热备用磁盘是未使用的磁盘,当磁盘出现故障时,RAID 生产会自动使用热备用磁盘来替换故障磁盘,并在可能的情况下重建 RAID 集

缩短平均修复时间

  • RAID alone does not prevent or detect data corruption or other errors, just disk failures
  • Solaris ZFS adds checksums of all data and metadata
  • Checksums kept with pointer to object, to detect if object is the right one and whether it changed
  • Can detect and correct data and metadata corruption
  • ZFS also removes volumes, partitions
    • Disks allocated in pools
    • Filesystems with a pool share that pool, use and release space like malloc() and free() memory allocate / release calls

RAID 本身不能防止或检测数据损坏或其他错误,只能检测磁盘故障

Solaris ZFS 增加了所有数据和元数据的校验和

校验和与对象指针一起保存,以检测对象是否正确以及是否已更改

可检测并纠正数据和元数据损坏

ZFS 还会删除卷和分区

在池中分配的磁盘

具有磁池的文件系统共享该磁池,使用和释放空间,就像 malloc() 和 free() 内存分配/释放调用一样

 

Error Detection and Correction

  • Fundamental aspect of many parts of computing (memory, networking, storage)
  • Error detection determines if there a problem has occurred (for example a bit flipping)
    • If detected, can halt the operation
    • Detection frequently done via parity bit
  • Parity one form of checksum – uses modular arithmetic to compute, store, compare values of fixed-length words
    • Another error-detection method common in networking is cyclic redundancy check (CRC) which uses hash function to detect multiple-bit errors
  • Error-correction code (ECC) not only detects, but can correct some errors
    • Soft errors correctable, hard errors detected but not corrected

计算机许多部分(内存、网络、存储)的基本要素

错误检测确定是否发生了问题(例如位翻转)

如果检测到,可停止运行

通常通过奇偶校验位进行检测

奇偶校验是校验和的一种形式--使用模块算术计算、存储、比较固定长度字的值

网络中常见的另一种错误检测方法是循环冗余校验 (CRC),它使用哈希函数检测多位错误

纠错码 (ECC) 不仅能检测错误,还能纠正某些错误

软错误可纠正,硬错误可检测到但无法纠正

  • Data storage and transmission are complex and frequently result in errors. Error detection attempts to spot such problems to alert the system for corrective action and to avoid error propagation. Error correction can detect and repair problems, depending on the amount of correction data available and the amount of data that was corrupted.

数据存储和传输非常复杂,经常会出现错误。错误检测试图发现这些问题,提醒系统采取纠正措施,避免错误传播。纠错可以检测和修复问题,这取决于可用的纠错数据量和损坏的数据量。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/34506.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【TB作品】stm32单片机,红外遥控器,温控风扇,模拟空调,PWM风扇

空调机 硬件:stm32、oled显示器、ds18b20温度传感器、风扇驱动和风扇、红外接收器、遥控器 软件功能: (1)显示室内温度 (2)显示当前模式:常态、除湿、通风 (3)显示当前风…

Ubuntu Apache2 搭建Gerrit 环境

一、前言 时隔多年,好久没有更新CSDN 博客了,主要原因有如下两点: 1、平时工作繁忙,无暇更新。 2、工作内容涉及信息安全,一些工作经验积累不便更新到互联网上。 最近一直在折腾搭建Gerrit 环境,最开始…

win11安装VMware虚拟机,启动系统后蓝屏,安装虚拟机卡在虚拟网卡界面的解决办法

机缘和遇到的问题 由于最近618换了台新笔记本电脑,然后系统自带的操作系统是windows 11 家庭版本,由于工作需要用到window10的环境,不得不安装一个虚拟机来解决问题,然后就把这次安装VMware虚拟机遇到的坑给大家分享一下&#xf…

研二自学嵌入式开发,就业导向,学习路线该如何规划?

研二才来问这个问题,有点晚,离你开始找工作还有大概8~9个月,你应该用应试思维来应对找工作这个事,尤其当前这个经济形势下。 刚好我有一些资料,是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入…

基于Openmv的追小球的云台

介绍 在这篇文章,我会先介绍需要用到且需要注意的函数,之后再给出整体代码 在追小球的云台中,比较重要的部分就是云台(实质上就是舵机)的控制以及对识别的色块位置进行处理得到相应信息后控制云台进行运动 1、舵机模…

asp.net core反向代理

新建项目 新建空白的asp.net core web项目 安装Yarp.ReverseProxy包版本为2.2.0-preview.1.24266.1 编写代码 namespace YarpStu01;public class Program {public static void Main(string[] args){var builder WebApplication.CreateBuilder(args);builder.Services.AddRev…

JavaWeb——MySQL:DQL

3. DQL:查询 查询是使用最多、最频繁的操作,因为前面的修改以及删除,一般会交给数据库专业的人员,对于非数据库专业人员来说,老板一般会放心的让你对数据库只进行查询操作; 3.2 条件查询(where&#xff09…

浏览器自带的IndexDB的简单使用示例--小型学生管理系统

浏览器自带的IndexDB的简单使用示例--小型学生管理系统 文章说明代码效果展示 文章说明 本文主要为了简单学习IndexDB数据库的使用&#xff0c;写了一个简单的增删改查功能 代码 App.vue&#xff08;界面的源码&#xff09; <template><div style"padding: 30px&…

2024年通信技术与计算机科学国际学术会议(ICCTCS 2024)

2024年通信技术与计算机科学国际学术会议&#xff08;ICCTCS 2024&#xff09; 2024 International Academic Conference on Communication Technology and Computer Science&#xff08;ICCTCS 2024&#xff09; 会议简介&#xff1a; 2024年通信技术与计算机科学国际学术会议…

Leetcode.1735 生成乘积数组的方案数

题目链接 Leetcode.1735 生成乘积数组的方案数 rating : 2500 题目描述 给你一个二维整数数组 q u e r i e s queries queries &#xff0c;其中 q u e r i e s [ i ] [ n i , k i ] queries[i] [n_i, k_i] queries[i][ni​,ki​] 。第 i i i 个查询 q u e r i e s [ i …

JAVA SDK 整合 AI 大语言模型

目前主流模型厂商的 SDK 并没有很好的支持 JAVA 环境&#xff0c;主流还是使用的 Python &#xff0c;如果希望将 AI 功能集成到业务中来&#xff0c;则需要找找有没有一些现成的开源项目&#xff0c;但是这种项目一般需要谨慎使用&#xff0c;以防有偷取 app_key 等风险问题 前…

如何在Linux下使用git(几步把你教会)

目录 一、注册github账号 二、新建项目 1.点击右上角自己的头像&#xff0c;然后点击Your repositories。 2.点击New。 3.配置新项目信息。 4.点击Create repository即可成功创建。 三、安装git 四、配置git 五、初始化git仓库 1.先进入想要使用git的目录。 2.初始化…

数据时代的数字企业

1.写在前面 讨论数据治理在数字企业中的影响和必要性&#xff0c;并介绍数据治理的核心内容和实践方法。作者强调了数据质量、数据安全、数据隐私和数据合规等方面是数据治理的核心内容&#xff0c;并介绍了具体的实践措施和案例分析。企业需要重视这些方面以实现数字化转型和…

多孔散热器简介

今天给大家分享关于多孔散热器的一些构造、散热情况。 更多资讯&#xff0c;请关注B站【莱歌数字】&#xff0c;有视频教程~~ 常见的散热器通常由不渗透水、空气和其他液体的无孔材料制成。固体铝和铜是行业标准。 但散热器也可以作为半多孔材料或多孔涂层。研究和应用表明&…

防静电监控系统全方位防静电监测,保障产品质量

在当今高度精密的电子制造领域&#xff0c;产品质量的保障至关重要。哪怕是微小的静电干扰&#xff0c;都可能导致电子元件损坏、性能下降&#xff0c;从而影响整个产品的质量和可靠性。为了应对这一挑战&#xff0c;某电子工厂车间引入了先进的防静电监控系统&#xff0c;实现…

11g rac db安装软件时找不到 节点的问题处理

问题 在安装11.2.0.4db软件时数据库软件无法识别集群的两个主机 处理方法 [oracleracdg1-1 database]$ cd /u01/app/oraInventory/ [oracleracdg1-1 oraInventory]$ ls ContentsXML logs oraInst.loc orainstRoot.sh oui [oracleracdg1-1 oraInventory]$ cd ContentsXML/…

Qt | QSS自定义部件的外观

01、简介 一、自定义部件外观基础 1、有 3 种方法可实现自定义界面外观:重新实现 paintEvent()函数,使用 QStyle 类的绘制函数,子类化 QStyle,本小节仅介绍方法 1 和 2 的使用方式,方法 3 见下一节。 2、方法一:Qt 通过 QWidget::paintEvent()函数实现界面外观的绘制,…

Linux运行jar包:Invalid or corrupt jarfile

你们好&#xff0c;我是金金金。 场景 maven打包springboot项目得到一个jar包&#xff0c;我通过xshell上传到虚拟机环境里面&#xff0c;试图运行它&#xff0c;结果Invalid or corrupt jarfile&#xff1a;jar 文件无效或损坏 排查 jdk版本是否一致&#xff1f;结果&#xf…

参数页面设计

目录 一 设计原型 二 后台源码 一 设计原型 二 后台源码 namespace 参数页面设计 {public partial class Form1 : Form{List<PMs> PMs new List<PMs>();public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){for (int …

深入解析 Python dataclass:类属性与类方法解释

文章目录 dataclass实例属性和类属性自动设置属性 实例方法静态方法&#xff08;staticmethod&#xff09;和 类方法&#xff08;classmethod&#xff09;静态方法类方法 dataclass dataclass 是 Python 3.7 引入的一个装饰器&#xff0c;用于简化类的定义。 使用 dataclass …