linux磁盘阵列

devtools/2024/9/25 23:19:09/

磁盘阵列

可以用不同的磁盘,组成一个逻辑上的硬盘。高可用,冗余

lvm 扩容

raid 高可用

磁盘的组成方式不同,也就是不同的raid级别

raid级别 使用硬盘数量 磁盘利用率 冗余能力 读写性能

raid0 N 100% 0 读写最好

raid1 N(偶数) 50% 坏一块 读写性能好,写相对较差

raid5 N>=3 n-1/n 坏一块 读性能好,写性能一般

raid6 N>=4 n-2/n 坏两块 读性能好,写性能最差

aid1+0 N>=4(N是偶数) 50% 每个组当中可以坏一个 读性能好,写性能一般

raid0

在这里插入图片描述

条带化存储:数据分散在多个物理磁盘上的存储方式。利用多个磁盘并行读取和写入。存储性能和读写性能是最好的

使用条带化存储,没有冗余能力,坏一块盘数据就会丢失

raid0 使用场景 高吞吐和低延迟的应用场景。视频,大数据处理

raid0 最少要一块硬盘分区。

硬盘利用率是100%。

raid1(镜像存储)
在这里插入图片描述

镜像存储:两两复制,数据会存储在所有的硬盘上

raid1 需要的磁盘数N(偶数)

raid1 可以提供读性能,写性能相对较低,数据在每个磁盘上都要备份

raid1 可以提供冗余

raid1 磁盘利用率50%

raid5

在这里插入图片描述

raid5 条带 数据是分散存储,根据校验机制,循环均衡存储

raid5 n>=3

raid5 有冗余,可以坏一块盘,如果有热备份,可以再坏一个盘

raid5 读写性能好,写性能相对较差

raid5 磁盘利用率(n-1)/n 66% raid5是最多的

raid6

在这里插入图片描述

raid6 需要4块硬盘,n>=4

raid6 磁盘利用率 n-x/n

raid6 有冗余,奇偶校验,每个盘上的数据一致,循环按照奇数和偶数来把数据写入磁盘

raid6 最多可以坏两个盘

raid6 读性能和daid5差不多,比raid5强,比raid1低一些。写性能最差

raid6 可靠性最高,最可靠的raid级别,金融,医疗,法律,银行都爱用raid6,对数据的完整性和可靠性要求很高,选择raid6

raid 1+0

在这里插入图片描述

raid10 n>=4,n必须是偶数,先做镜像在做条带

raid10 有冗余,可以坏两块,每个两两复制的硬盘当中可以坏一个

raid10 磁盘利用率n/2 50% 土豪

raid10 读写性能高,读性能和raid0差不多,稍低一些,写性能和raid1差不多,比raid1稍差

热备份:当阵列中,有一块硬盘坏了,热备份盘可以随时顶替。相当于磁盘的最后一次保险

工作原理:热备份相当于给raid又做了一个备份,raid当中坏了一块硬盘,热备份在顶替的过程中,利用校验算法,把阵列当中的数据同步过来,然后再顶替坏掉的硬盘。在替换过程中,阵列是不可使用的,不能读写的,顶替完成之后,raid恢复正常。

冷:static

热:活动

实验

rpm -q mdadm

mdadm -E /dev/sd[b-e]1

检测分区是否已被raid使用

mdadm -C -v /dev/md5 -l5 -n3 /dev/sd[b-d]1 -x1 /dev/sde1

-C 创建raid

-v 显示创建过程中的详细信息

/dev/md5 raid5

-l 指定raid的级别 raid5

-n 指定多少个硬盘,一定要和级别相符

-x raid的热备份有几个就写几个

cat /proc/mdstat 查看安装过程

mdadm -D /dev/md5 查看详细信息

mdadm /dev/md5 -f /dev/sdb1 模拟故障

mdadm -Cv /dev/md10 -l10 - n4 -x1 /dev/sd{b,c,d,e,f} 2

b,c,d,e,2 raid10

f 热备盘

mdadm -S /dev/ma10 停止


http://www.ppmy.cn/devtools/44030.html

相关文章

记录一次cas单点登录的集成

主要思路:浏览器访问CAS服务器登录,拿到凭证给后端,后端用此凭证到CAS服务器验证登录并拿到用户信息,之后基于该凭证维持用户的登录状态。 主要流程: 1.浏览器访问后端需认证登录地址(不带ticket&#xf…

Hugging face ubuntu使用教程(一)

1. 安装相应的conda虚拟环境,注意需要安装 1.1 cudatoolkit cudnn pytorch 虚拟环境conda安装cuda11.7和cudnn和pytorch_pytorch cuda11.7-CSDN博客 1.2 transformers transformers/README_zh-hans.md at main huggingface/transformers GitHub 如果有缺失包&…

ClickHouse知识点

Clickhouse clickhouse是一款列式存储数据库。 主要应用于OLAP领域。 OLAP:联机分析处理,主要做数据分析。 OLTP:联机事务处理,主要处理事务。 clickhouse索引和分区: clickhouse可以进行分区操作,对…

Python的类全面系统学习

文章目录 1. 基本概念1.1 类(Class)1.2 对象(Object) 2. 类的属性和方法3. 类的继承3.1 继承的概念3.2 单继承3.3 多重继承 4. 方法重写与多态4.1 方法重写4.2 多态 5. 特殊方法与运算符重载5.1 特殊方法(魔法方法&…

ubuntu 安装 kvm 启动虚拟机

1. 基础环境设置 #更新环境 apt update apt upgrade#配置网卡 cat >/etc/netplan/br.yml<<EOF network:ethernets:eth2: {}bridges:br0:interfaces:- eth2addresses:- 192.192.1.213/24gateway4: 192.192.1.1nameservers:addresses:- 8.8.8.8- 8.8.4.4 EOF #安装组件…

Git常用操作

目录 1 初始化2 仓库3 四个区域4 文件状态5 基本概念6 特殊文件7 添加和提交8 分支9 合并分支10 撤销和恢复11 查看状态12 stash13 远程仓库14 GitFlow15 参考 1 初始化 查看版本 git -v配置用户名 git config --global user.name "Zhang Beihai"配置邮箱 git co…

有些错误,常犯常新、常新常犯:记录一个使用element-plus的tooltip组件的错误

使用element-plus的tooltip组件&#xff0c;最开始的写法是这样的&#xff1a; <el-tooltipclass"box-item"effect"dark"content"tooltip content" ><el-button v-if"isDisabled" :underline"false" type"pr…

深入了解Nodejs模块机制

深入了解Nodejs模块机制 我们都知道Nodejs遵循的是CommonJS规范&#xff0c;当我们require(moduleA)时&#xff0c;模块是怎么通过名字或者路径获取到模块的呢&#xff1f;首先要聊一下模块引用、模块定义、模块标识三个概念。 1 CommonJS规范 1.1 模块引用 模块上下文提供…