Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >故障分析 | Greenplum 集群 standby 故障处理

故障分析 | Greenplum 集群 standby 故障处理

原创
作者头像
爱可生开源社区
发布于 2022-12-07 05:24:45
发布于 2022-12-07 05:24:45
9142
举报

作者:杨文

DBA,负责客户项目的需求与维护,没有擅长,会点数据库,不限于MySQLRedisCassandra、GreenPlum、ClickHouse、Elastic、TDSQL等等。

本文来源:原创投稿

*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。


1、背景

客户测试环境Greenplum集群中,standby节点数据目录被误删除,导致standby节点不可用。如果此时由于其它各种原因导致master节点也不可用,则集群将无法对外提供服务,因此现需尽快恢复standby节点。

2、Greenplum集群架构简单介绍

1)库由Master Severs和Segment Severs组成。

2)Master Server:

  • Greenplum数据库的Master是整个Greenplum数据库系统的入口,它接受连接和SQL查询并且把工作分布到Segment实例上。
  • Master是全局系统目录的所在地。存储全局系统元数据信息。
  • Master会认证客户端连接、处理到来的SQL命令、在Segment之间分布工作负载、协调每一个Segment返回的结果以及把最终结果呈现给客户端程序。

3)Segment Severs:

  • Greenplum数据库的Segment实例是独立的数据库,每一个都存储了数据的一部分并且执行查询处理的主要部分。
  • 用户定义的表及其索引会分布在Greenplum数据库系统中可用的Segment上,每一个Segment都包含数据的不同部分。服务于Segment数据的数据库服务器进程运行在相应的Segment实例之下。用户通过Master与一个Greenplum数据库系统中的Segment交互。
  • 当某个segment宕掉后,启用对应的mirror segment提供服务,保证数据不丢失。

3、本地模拟客户环境:

3.1、本地Greenplum集群环境:

  • 1台Master;
  • 1台standby Master;
  • 5台segment计算节点,每个节点4个段,每个段有镜像,一共是40个段。

3.2、模拟master standby坏掉:

代码语言:txt
AI代码解释
复制
[root@standby01 ~]$ su - gpadmin
[gpadmin@standby01 ~]$ rm -rf /greenplum/gpdata/master/*
[gpadmin@standby01 ~]$ exit
[root@standby01 ~]$ reboot
[root@standby01 ~]$ su - gpadmin
[gpadmin@standby01 ~]$ ps -ef |grep postgres
gpadmin 17372 17298  0 18:47 pts/0  00:00:00 grep --color=auto postgres
[gpadmin@standby01 ~]$ cd /greenplum/gpdata/master/
[gpadmin@standby01 master]$ ll
总用量 0

4、故障分析及解决:

4.1、检查状态:

代码语言:txt
AI代码解释
复制
[gpadmin@master01 ~]$ gpstate -f
截取部分有用信息:
20220508:18:37:03:044858 gpstate:master01:gpadmin-[INFO]:-obtaining Segment details from master...
20220508:18:37:08:044858 gpstate:master01:gpadmin-[INFO]:-Standby master details
20220508:18:37:08:044858 gpstate:master01:gpadmin-[INFO]:-----------------------
20220508:18:37:08:044858 gpstate:master01:gpadmin-[INFO]:-    Standby address        = standby01 
20220508:18:37:08:044858 gpstate:master01:gpadmin-[INFO]:-    Standby data directory = /greenplum/gpdata/master/gpseg-1
20220508:18:37:08:044858 gpstate:master01:gpadmin-[INFO]:-    Standby port           = 5432
20220508:18:37:08:044858 gpstate:master01:gpadmin-[WARNING]:- Standby PID            = 0                           <<<<<<<<
20220508:18:37:08:044858 gpstate:master01:gpadmin-[WARNING]:- Standby status         = Standby process not running <<<<<<<<
20220508:18:37:08:044858 gpstate:master01:gpadmin-[INFO]:---------------------------------------------------------
20220508:18:37:08:044858 gpstate:master01:gpadmin-[INFO]:--pg_stat.replication
20220508:18:37:08:044858 gpstate:master01:gpadmin-[INFO]:---------------------------------------------------------
20220508:18:37:08:044858 gpstate:master01:gpadmin-[INFO]:-No entries found.
20220508:18:37:08:044858 gpstate:master01:gpadmin-[INFO]:---------------------------------------------------------

可以看到:Standby status = Standby process not running。

代码语言:txt
AI代码解释
复制
[gpadmin@master01 ~]$ psql -c "select * from gp_segment_configuration order by content asc,dbid;"
--同样,能够看到Standby节点down掉了。
代码语言:txt
AI代码解释
复制
[gpadmin@master01 ~]$ gpstate
截取部分有用信息:
20220508:18:42:46:045284 gpstate:master01:gpadmin-[INFO]:-Greenplum instance status summary
20220508:18:42:47:045284 gpstate:master01:gpadmin-[INFO]:----------------------------------------------------
20220508:18:42:47:045284 gpstate:master01:gpadmin-[INFO]:-   Master instance                            = Active
20220508:18:42:47:045284 gpstate:master01:gpadmin-[INFO]:-   Master standby                             = standby01 
20220508:18:42:47:045284 gpstate:master01:gpadmin-[WARNING]:-Standby master status                      = Standby host DOWN <<<<<<<<
20220508:18:42:47:045284 gpstate:master01:gpadmin-[INFO]:-   Total segment instance count from metadata = 40
20220508:18:42:47:045284 gpstate:master01:gpadmin-[INFO]:----------------------------------------------------
20220508:18:42:47:045284 gpstate:master01:gpadmin-[INFO]:-   Primary Segment Status
20220508:18:42:47:045284 gpstate:master01:gpadmin-[INFO]:----------------------------------------------------

可以看到Standby status = Standby host DOWN。

4.2、清除有故障的主机的(备库)配置信息:

代码语言:txt
AI代码解释
复制
[gpadmin@master01 ~]$ gpinitstandby -r
执行过程省略,但有个选项需要确认:
Do you want to continue with deleting the standby master? Yy|Nn (default=N):
> y

4.3、添加standby库:

代码语言:txt
AI代码解释
复制
[gpadmin@master01 ~]$ gpinitstandby -s standby01 
执行过程省略,但有个选项需要确认:
Do you want to continue with standby master initialization? Yy|Nn (default=N):
> y

4.4、确认集群状态:

代码语言:txt
AI代码解释
复制
[gpadmin@master01 ~]$ gpstate -f
截取部分有用信息:
20220508:18:56:33:044858 gpstate:master01:gpadmin-[INFO]:-Standby master details
20220508:18:56:33:044858 gpstate:master01:gpadmin-[INFO]:-----------------------
20220508:18:56:33:044858 gpstate:master01:gpadmin-[INFO]:-    Standby address        = standby01 
20220508:18:56:33:044858 gpstate:master01:gpadmin-[INFO]:-    Standby data directory = /greenplum/gpdata/master/gpseg-1
20220508:18:56:33:044858 gpstate:master01:gpadmin-[INFO]:-    Standby port           = 5432
20220508:18:56:33:044858 gpstate:master01:gpadmin-[INFO]:- Standby PID            = 18067                           <<<<<<<<
20220508:18:56:33:044858 gpstate:master01:gpadmin-[INFO]:- Standby status         = Standby host passive
20220508:18:56:33:044858 gpstate:master01:gpadmin-[INFO]:---------------------------------------------------------
20220508:18:56:33:044858 gpstate:master01:gpadmin-[INFO]:--pg_stat.replication
20220508:18:56:33:044858 gpstate:master01:gpadmin-[INFO]:---------------------------------------------------------
20220508:18:56:33:044858 gpstate:master01:gpadmin-[INFO]:--WAL Sender State:streaming
20220508:18:56:33:044858 gpstate:master01:gpadmin-[INFO]:--Sync state:sync
代码语言:txt
AI代码解释
复制
[gpadmin@master01 ~]$ gpstate
截取部分有用信息:
20220508:18:42:47:045284 gpstate:master01:gpadmin-[INFO]:-   Master instance                            = Active
20220508:18:42:47:045284 gpstate:master01:gpadmin-[INFO]:-   Master standby                             = standby01
20220508:18:42:47:045284 gpstate:master01:gpadmin-[INFO]:-   Standby master status                      = Standby host passive
20220508:18:42:47:045284 gpstate:master01:gpadmin-[INFO]:-   Total segment instance count from metadata = 40
代码语言:txt
AI代码解释
复制
[gpadmin@master01 ~]$ psql -c "select * from gp_segment_configuration order by content asc,dbid;"
只截取关键信息:
dbid | content | role | preferred_role | mode | status | port | hostname  | address   | datadir
------------------------------------------------------------------------------------------------------------------------
   1 |      -1 | p    | p              | n    | u      | 5432 | master01  | master01  | /greenplum/gpdata/master/gpseg-1
  43 |      -1 | m    | m              | s    | u      | 5432 | standby01 | standby01 | /greenplum/gpdata/master/gpseg-1

4.5、检测standby:

代码语言:txt
AI代码解释
复制
[gpadmin@standby01 ~]$ ps -ef |grep postgres
gpadmin  18067      1  0  18:56 ?      00:00:03  /usr/local/greenplum-db-6.7.0/bin/postgres -D /greenplum/gpdata/master/gpseg-1 -p 5432 -E
gpadmin  18208  18067  0  18:56 ?      00:00:00  postgres: 5432, master logger process
gpadmin  18209  18067  0  18:56 ?      00:00:00  postgres: 5432, startup process recovering 00000001000000000000000A
gpadmin  18217  18067  0  18:56 ?      00:00:00  postgres: 5432, checkpointer process
gpadmin  18218  18067  0  18:56 ?      00:00:00  postgres: 5432, writer process
gpadmin  18219  18067  0  18:56 ?      00:00:00  postgres: 5432, wal receiver process streaming 0/281E5D60
gpadmin  18586  17298  0  19:06 pts/0  00:00:00  grep --color=auto postgres
代码语言:txt
AI代码解释
复制
[gpadmin@standby01 master]$ pwd
/greenplum/gpdata/master
[gpadmin@standby01 master]$ ls
gpseg-1
[gpadmin@standby01 masterj$ cd gpseg-1/
[gpadmin@standby01 gpseg-1]$ ls
backup_label.old        pg_hba.conf    pg_tblspc
base                    pg_ident.conf  pg_twophase
global                  pg_log         pg_utilitymodedtmredo
gpexpand.status_detail  pg_logical     PG_VERSION
gpmetrics               pg_multixact   pg_xlog
gpperfmon               pg_notify      postgresql.auto.conf
gpsegconfig_dump        pg_replslot    postgresql.conf
gpssh.conf              pg_serial      postmaster.opts
interna1.auto.conf      pg_snapshot    spostmaster.pid
pg_clog  pg_stat        recovery.conf
pg_distributedlog       pg_stat_tmp
pg_dynshmem             pg_subtrans

可以看到standby数据恢复,并且集群状态恢复正常。

5、额外补充:

如果Greenplum集群中master节点故障,处理思路:

1)先把standby提升为新master,确保集群第一时间可用,提供对外服务;

2)修复旧master,并添加到集群中成为新standby;

3)若要回切成原master-standby状态:下线新master -> 提升原master节点 -> 新增standby节点。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
2 条评论
热度
最新
good
good
回复回复点赞举报
你好,怎么在这个基础上添加闹钟功能
你好,怎么在这个基础上添加闹钟功能
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
Erasure-Code-擦除码-2-实现篇
本文链接: [https://blog.openacid.com/storage/ec-2/]
drdrxp
2022/04/28
7180
Erasure-Code-擦除码-2-实现篇
分布式系统下的纠删码技术(一) — Erasure Code (EC)
近几个月主要参与一个分布式存储系统的纠删码部分(用于数据容错),纠删码在学术界出现比较早,现在ceph,微软的存储系统,Hadoop 3.0等都用了EC。文章会分为多篇,主要将Erasure Code,LRC, 以及相关的数学基础,作为学习总结。
全栈程序员站长
2022/11/17
3.2K0
分布式系统下的纠删码技术(一) — Erasure Code (EC)
Erasure-Code-擦除码-1-原理篇
本文链接: [https://blog.openacid.com/storage/ec-1/] 下载pdf: [Erasure-Code-擦除码-1-原理篇.pdf]
drdrxp
2022/04/28
5760
Erasure-Code-擦除码-1-原理篇
RS 纠删码为什么可以提高分布式存储可靠性?| 原力计划
Erasure Code(EC),即纠删码,是一种前向错误纠正技术(Forward Error Correction,FEC,说明见后附录)。目前很多用在分布式存储来提高存储的可靠性。相比于多副本技术而言,纠删码以最小的数据冗余度获得更高的数据可靠性,但是它的编码方式比较复杂。
区块链大本营
2020/03/24
1.6K0
RS 纠删码为什么可以提高分布式存储可靠性?| 原力计划
详解HDFS3.x新特性-纠删码
EC(纠删码)是一种编码技术,在HDFS之前,这种编码技术在廉价磁盘冗余阵列(RAID)中应用最广泛(RAID介绍:大数据预备知识-存储磁盘、磁盘冗余阵列RAID介绍),RAID通过条带化技术实现EC,条带化技术就是一种自动将 I/O 的负载均衡到多个物理磁盘上的技术,原理就是将一块连续的数据分成很多小部分并把他们分别存储到不同磁盘上去,这就能使多个进程同时访问数据的多个不同部分而不会造成磁盘冲突(当多个进程同时访问一个磁盘时,可能会出现磁盘冲突),而且在需要对这种数据进行顺序访问的时候可以获得最大程度上的 I/O 并行能力,从而获得非常好的性能。在HDFS中,把连续的数据分成很多的小部分称为条带化单元,对于原始数据单元的每个条带单元,都会计算并存储一定数量的奇偶检验单元,计算的过程称为编码,可以通过基于剩余数据和奇偶校验单元的解码计算来恢复任何条带化单元上的错误。
五分钟学大数据
2021/01/15
1.6K0
什么是HDFS的纠删码
Fayson在前面的文章中介绍过CDH6,参考《Cloudera Enterprise 6正式发布》和《如何在Redhat7.4安装CDH6.0》。CDH6主要集成打包了Hadoop3,包括Hadoop3的一些新特性的官方支持,比如NameNode联邦,纠删码等。纠删码可以将HDFS的存储开销降低约50%,同时与三分本策略一样,还可以保证数据的可用性。本文Fayson主要介绍纠删码的工作原理。
Fayson
2018/11/16
5.5K0
OPPO数据湖统一存储技术实践
OPPO是一家智能终端制造公司,有着数亿的终端用户,每天产生了大量文本、图片、音视频等非结构化数据。在保障数据连通性、实时性以及数据安全治理要求的前提下,如何低成本、高效率地充分挖掘数据价值,成为了拥有海量数据的公司的一大难题。目前业界的流行解决方案是数据湖,本文介绍的OPPO自研的数据湖存储CBFS在很大程度上可解决目前的痛点。
从大数据到人工智能
2022/04/23
6730
OPPO数据湖统一存储技术实践
【系统设计】S3 对象存储
在本文中,我们设计了一个类似于 Amazon Simple Storage Service (S3) 的对象存储服务。S3 是 Amazon Web Services (AWS) 提供的一项服务, 它通过基于 RESTful API 的接口提供对象存储。根据亚马逊的报告,到 2021 年,有超过 100 万亿个对象存储在 S3 中。
全球技术精选
2022/09/05
6.9K0
【系统设计】S3 对象存储
纯干货 | 深入剖析 HDFS 3.x 新特性-纠删码
HDFS是一个高吞吐、高容错的分布式文件系统,但是HDFS在保证高容错的同时也带来了高昂的存储成本,比如有5T的数据存储在HDFS上,按照HDFS的默认3副本机制,将会占用15T的存储空间。那么有没有一种能达到和副本机制相同的容错能力但是能大幅度降低存储成本的机制呢,有,就是在HDFS 3.x 版本引入的纠删码机制。
五分钟学大数据
2021/04/01
1.7K0
有趣的纠删码(erasure code)
RAID 是 "Redundant Array of Independent Disk" 的缩写,中文意思是独立冗余磁盘阵列 是一种古老的磁盘冗余备份技术,也许你从未了解其中的原理,但肯定也听说过它的大名。简单地解释,就是将N台硬盘通过RAID Controller(分Hardware,Software)结合成虚拟单台大容量的硬盘使用,其特色是N台硬盘同时读取速度加快及提供容错性.
王磊-字节跳动
2021/05/30
12K0
Ceph架构概览
ceph 客户端从ceph monitor获取cluster map,然后执行在pool中的pg执行IO操作。cursh ruleset和pg的数量是决定数据对象放在哪里的核心因素。获取到最新的cluster map,ceph客户端是不知道数据对象在哪里。
用户4700054
2022/08/17
1.4K0
Ceph架构概览
可靠分布式系统-paxos的直观解释
另外一个经常被提及的分布式算法是[raft], raft的贡献在于把一致性算法落地. 因为 [Leslie Lamport] 的理论很抽象, 要想把他的理论应用到现实中, 还需要工程师完全掌握他的理论再添加工程必要的环节才能跑起来.
drdrxp
2022/04/28
2620
可靠分布式系统-paxos的直观解释
分布式存储系统纠删码技术分享
海云捷迅云课堂专题,旨在秉承开源理念,为大家提供OpenStack技术原理与实践经验,该专题文章均由海云捷迅工程师理论与实践相结合总结而成,如大家有其他想要了解的信息,可留言给我们,我们会根据问题酌情回复。
海云捷迅
2020/07/08
4K0
分布式存储系统纠删码技术分享
HDFS EC 在知乎的应用
纠删码(Erasure Coding)简称 EC,是一种编码技术,通常被用于 RAID 和通信领域来保证数据的可靠性。采用纠删码编码的文件通常称为纠删码文件或者 EC 文件,EC 文件在小部分损坏时,也能够解码出可靠的数据。
从大数据到人工智能
2023/02/21
1.2K0
HDFS EC 在知乎的应用
应用AI芯片加速 Hadoop 3.0 纠删码的计算性能
在保证可靠性的前提下如何提高存储利用率已成为当前 DFS 应用的主要问题之一。
ethanzhang
2018/12/30
10.5K1
应用AI芯片加速 Hadoop 3.0 纠删码的计算性能
[GAN学习系列3]采用深度学习和 TensorFlow 实现图片修复(上)
在之前的两篇 GAN 系列文章--[GAN学习系列1]初识GAN以及[GAN学习系列2] GAN的起源中简单介绍了 GAN 的基本思想和原理,这次就介绍利用 GAN 来做一个图片修复的应用,主要采用的也是 GAN 在网络结构上的升级版--DCGAN,最初始的 GAN 采用的还是神经网络,即全连接网络,而 DCGAN 则是换成卷积神经网络(CNNs)了,这可以很好利用 CNN 强大的特征提取能力,更好的生成质量更好的图片。
kbsc13
2019/08/16
1.1K0
世界最优秀的分布式文件系统架构演进之路
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
玄姐谈AGI
2020/02/13
7900
世界最优秀的分布式文件系统架构演进之路
纠删码优势分析
纠删码概述 存储节点或者存储介质失效已经成为经常的事情,提高存储可靠性以及保障数据可用性已经变得非常重要,纠删码具有高存储效率和高容错能力。在体量非常大的存储中纠删码存储方式相比副本方式存在编码开销,又由于其特有的IO访问路径,其改进空间比较大 保障数据可用性的常用方法就是数据冗余,传统的数据冗余方式就是副本和纠删码方式,副本是将每个原始数据分块都镜像复制到其他设备上来保证原始数据丢失或者失效时有副本可恢复;副本方式不涉及数据变换,而纠删码会对数据进行变换和运算,得到支持数据冗余的编码数据,比如k+r(k个
用户4700054
2022/08/17
1.7K0
纠删码优势分析
Hadoop3.0时代,怎么能不懂EC纠删码技术?
根据云存储服务商Backblaze发布的2021年硬盘“质量报告”,现有存储硬件设备的可靠性无法完全保证,我们需要在软件层面通过一些机制来实现可靠存储。一个分布式软件的常用设计原则就是面向失效的设计。
个推
2022/05/27
1.5K0
Hadoop3.0时代,怎么能不懂EC纠删码技术?
有关RAID我们需要了解的一些知识
RAID 技术相信大家都有接触过,尤其是服务器运维人员,RAID 概念很多,有时候会概念混淆。这篇文章为网络转载,写得相当不错,它对 RAID 技术的概念特征、基本原理、关键技术、各种等级和发展现状进行了全面的阐述,并为用户如何进行应用选择提供了基本原则,对于初学者应该有很大的帮助。 一、RAID概述 1988 年美国加州大学伯克利分校的 D. A. Patterson 教授等首次在论文 “A Case of Redundant Array of Inexpensive Disks” 中提出了 RAID 概念 [1] ,即廉价冗余磁盘阵列( Redundant Array of Inexpensive Disks )。由于当时大容量磁盘比较昂贵, RAID 的基本思想是将多个容量较小、相对廉价的磁盘进行有机组合,从而以较低的成本获得与昂贵大容量磁盘相当的容量、性能、可靠性。随着磁盘成本和价格的不断降低, RAID 可以使用大部分的磁盘, “廉价” 已经毫无意义。因此, RAID 咨询委员会( RAID Advisory Board, RAB )决定用 “ 独立 ” 替代 “ 廉价 ” ,于时 RAID 变成了独立磁盘冗余阵列( Redundant Array of Independent Disks )。但这仅仅是名称的变化,实质内容没有改变。   RAID 这种设计思想很快被业界接纳, RAID 技术作为高性能、高可靠的存储技术,已经得到了非常广泛的应用。 RAID 主要利用数据条带、镜像和数据校验技术来获取高性能、可靠性、容错能力和扩展性,根据运用或组合运用这三种技术的策略和架构,可以把 RAID 分为不同的等级,以满足不同数据应用的需求。 D. A. Patterson 等的论文中定义了 RAID1 ~ RAID5 原始 RAID 等级, 1988 年以来又扩展了 RAID0 和 RAID6 。近年来,存储厂商不断推出诸如 RAID7 、 RAID10/01 、 RAID50 、 RAID53 、 RAID100 等 RAID 等级,但这些并无统一的标准。目前业界公认的标准是 RAID0 ~ RAID5 ,除 RAID2 外的四个等级被定为工业标准,而在实际应用领域中使用最多的 RAID 等级是 RAID0 、 RAID1 、 RAID3 、 RAID5 、 RAID6 和 RAID10。   从实现角度看, RAID 主要分为软 RAID、硬 RAID 以及软硬混合 RAID 三种。软 RAID 所有功能均有操作系统和 CPU 来完成,没有独立的 RAID 控制 / 处理芯片和 I/O 处理芯片,效率自然最低。硬 RAID 配备了专门的 RAID 控制 / 处理芯片和 I/O 处理芯片以及阵列缓冲,不占用 CPU 资源,但成本很高。软硬混合 RAID 具备 RAID 控制 / 处理芯片,但缺乏 I/O 处理芯片,需要 CPU 和驱动程序来完成,性能和成本 在软 RAID 和硬 RAID 之间。   RAID 每一个等级代表一种实现方法和技术,等级之间并无高低之分。在实际应用中,应当根据用户的数据应用特点,综合考虑可用性、性能和成本来选择合适的 RAID 等级,以及具体的实现方式。 二、基本原理 RAID ( Redundant Array of Independent Disks )即独立磁盘冗余阵列,通常简称为磁盘阵列。简单地说, RAID 是由多个独立的高性能磁盘驱动器组成的磁盘子系统,从而提供比单个磁盘更高的存储性能和数据冗余的技术。 RAID 是一类多磁盘管理技术,其向主机环境提供了成本适中、数据可靠性高的高性能存储。 SNIA 对 RAID 的定义是 [2] :一种磁盘阵列,部分物理存储空间用来记录保存在剩余空间上的用户数据的冗余信息。当其中某一个磁盘或访问路径发生故障时,冗余信息可用来重建用户数据。磁盘条带化虽然与 RAID 定义不符,通常还是称为 RAID (即 RAID0 )。   RAID 的初衷是为大型服务器提供高端的存储功能和冗余的数据安全。在整个系统中, RAID 被看作是由两个或更多磁盘组成的存储空间,通过并发地在多个磁盘上读写数据来提高存储系统的 I/O 性能。大多数 RAID 等级具有完备的数据校验、纠正措施,从而提高系统的容错性,甚至镜像方式,大大增强系统的可靠性, Redundant 也由此而来。   这里要提一下 JBOD ( Just a Bunch of Disks )。最初 JBOD 用来表示一个没有控制软件提供协调控制的磁盘集合,这是 RAID 区别与 JBOD 的主要因素。目前 JBOD 常指磁盘柜,而不论其是否提供 RAID 功能。   RAID 的两个关键目标是提高数据可靠性和 I/O 性能。磁盘阵列中,数据分散在多个磁盘中,然而对于计算机系统
全栈程序员站长
2022/06/29
1.7K0
有关RAID我们需要了解的一些知识
推荐阅读
相关推荐
Erasure-Code-擦除码-2-实现篇
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档