27、服务器硬件及RAID配置
文章目录
第七章 服务器硬件及RAID配置
RAID磁盘阵列详解
### RAID 0磁盘阵列
特点:最少需要两块磁盘、数据条带分布式、没有冗余(不存储镜像、校验信息)、安全性不高 、利用率100%
RAID 1磁盘阵列
特点 :最少两块磁盘、有备份、高读写性能、成本高但安全、利用率50%
RAID 5 磁盘阵列 生产常用
特点:最少3块磁盘 数据条形式分布 ,以奇偶校验 ,做冗余 ,三备一, 利用率75% , 读快写慢, 性能与冗余折中方案。
扩展补充:RAID条带、镜像、数据校验
RAID条带(strip)是把连续的数据分割成相同大小的数据块,把每段数据分别写入到阵列中的不同磁盘上的方法。简单的说,
条带是一种将多个磁盘驱动器合并为一个卷的方法。 许多情况下,这是通过硬件控制器来完成的
RAID 中主要有三个关键概念和技术:镜像( Mirroring )、数据条带( Data Stripping )和数据校验( Data parity ) 。
镜像:将数据复制到多个磁盘,一方面可以提高可靠性,另一方面可并发从两个或多个副本读取数据来提高读性能。
显而易见,镜像的写性能要稍低, 确保数据正确地写到多个磁盘需要更多的时间消耗。
数据条带:将数据分片保存在多个不同的磁盘,多个数据分片共同组成一个完整数据副本,这与镜像的多个副本是不同的,它通常用于性能考虑。
数据条带具有更高的并发粒度,当访问数据时,可以同时对位于不同磁盘上数据进行读写操作, 从而获得非常可观的 I/O 性能提升 。
数据校验:利用冗余数据进行数据错误检测和修复,冗余数据通常采用海明码、异或操作等算法来计算获得。利用校验功能,可以很大程度上提高磁盘阵列的可靠性、鲁棒性和容错能力。
不过,数据校验需要从多处读取数据并进行计算和对比,会影响系统性能。
不同等级的 RAID 采用一个或多个以上的三种技术,来获得不同的数据可靠性、可用性和 I/O 性能。
至于设计何种 RAID (甚至新的等级或类型)或采用何种模式的 RAID ,需要在深入理解系统需求的前提下进行合理选择,综合评估可靠性、性能和成本来进行折中的选择
RAID 6 磁盘阵列
特点:四块 利用率 60%
RAID 1+0 磁盘阵列 生产常用
特点:最少4块磁盘,先按raid0 分成两组 再分别对两组按raid1 方式镜像,兼顾冗余(提供镜像存储)和(数据条带分布式),在实际运用用较为产常用。
RAID级别
构建软RAID磁盘阵列
创建命令 mdadm
实战模拟步骤
创建软RAID磁盘阵列步骤:
1、检查是否已安装mdadm软件包
rpm -q mdadm
yum install -y mdadm
2、使用fdisk.工具将新磁盘设备/dev/ sdb、 /dev/sdc、 /dev/sdd、 /dev/sde划分出主分区sdb1、sdc1、 sdd1、 sde1, 并且把分区类型的ID标记号改为"fd”
fdisk /dev/ sdb
fdisk /dev/ sdc
3、创建RAID设备
#创建RAID5
mdadm -C -v /dev/md0 [-a yes] -l5 -n3 /dev/sd[bcd]1 -x1 /dev/sde1
-C:表示新建;
-v:显示创建过程中的详细信息。
/dev/md0: 创建RAID5的名称。
-a yes:–auto,表示如果有什么设备文件没有存在的话就自动创建,可省略。
-l: 指定RAID 的级别,l5表示创建RAID5。
-n:指定使用几块硬盘创建RAID, n3表示使用3块硬盘创建RAID。
/dev/sd [bcd]1: 指定使用这3块磁盘分区去创建RAID。
-x:指定使用几块硬盘做RAID的热备用盘,
x1表示保留1块空闲的硬盘作备用
/dev/sde1: 指定用作于备用的磁盘
mkfs.xfs /dev/md5 : 重新刷新
mkdir /myraid5 创建我的目录
mount /dev/md5 /myraid5/ 挂载我的目录上
df -Th
cd /myraid5/ 以下可以写数据
cp -r /etc/ ./
ls
cd etc/
ls
vim yum.conf
删除文件 raid去掉一个盘 看数据能否变动
cat /proc/mdstat 查看磁盘
mdadm -D /dev/md5 查看详细信息
mdadm /dev/md5 -f /dev/sdb1 #模拟/dev/sdb1故障 -f 干掉
mdadm -D /dev/md0 #查看发现sde1已顶替sdb1
#创建RAID10 ( 先做镜象,再做条带)
#创建RAID10 (先做镜象,再做条带)
mdadm -Cv /dev/md0 -l1 -n2 /dev/sd[bc]1 两个1
mdadm -Cv /dev/md1 -l1 -n2 /dev/sd[de]1
mdadm -Cv /dev/md10 -l0 -n2 /dev/md0/dev/md1 两个1 加0
#查看RAID磁盘详细信息
cat /proc/mdstat #还能查看创建RAID的进度
或者
mdadm -D /dev/md0 查看详细信息
#用watch命令来每隔-一段时间刷新/proc/mdstat的输 出
watch -n 10 ’ cat /proc/mdstat ’
#检查磁盘是否EL做RAID.
mdadm -E /dev/sd[b-e] 1
4、创建并挂载文件系统
mkfs -t xfs /dev/imd0
mkdir /myraid
mount /dev/md0 /myraid/
df -Th
cp /etc/ fstab /etc/fstab.bak
vim /etc/fstab
/dev/md0 /myraid xfs defaults 0 0
5、实现故障恢复
mdadm /dev/md0 -f /dev/sdb1 #模拟/dev/sdb1故障 -f 关掉 faulty
mdadm -D /dev/md0 #查看发现sde1已顶替sdb1
切换完成 数据不会少
6、 创建/etc/mdadm.conf 配置文件,方便管理软RAID的配置,比如启动、停止
echo ’ DEVICE /dev/sdc1 /dev/sdb1 /dev/sdd1 /dev/sde1’ > /etc/mdadm.conf
mdadm命令其它常用选项
-r: 移除设备
-a:添加设备 mdadm /dev/md0 -f /dev/sdb1
-S: 停止RAID
-A: 启动RAID
mdadm /dev/md0 -f /dev/ sdb1
mdadm /dev/md0 -r /dev/ sdb1
mdadm /dev/md0 -a /dev/ sde1
echo ’ DEVICE /dev/sdc1 /dev/sdb1 /dev/ sdd1’ > /etc/mdadm. conf
[root@kgc ~]# mdadm --detail --scan >> /etc/mdadm.conf
umount /dev/md0 卸载
mdadm -S /dev/md0 停止
mdadm -As /dev/md0 在开启
#-s: 指查找/etc/mdadm. conf 文件中的配置信息
umount: /myraid5:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
fuser -mv /dev/md5
kill -9 进程号
RAID 1+0
四个硬盘
fdisk -l
ls /dev/sd*
fdisk /dev/sdb
n
p
t
fd 类似循环
madam -C -v /dev/md0 -l1 -n2 /dev/sd[bc]
madam -C -v /dev/md -l1 -n2 /dev/sd[de]
ls /dev/md*
mdadm -C -v /dev/md10 -l0 -n2 /dev/md0 /dev/md1
mkfs.xfs /dev/md10
mkdir /myraid10
mount /dev/md10 /myraid10/
df -Th
mdadm -D /devmd10 查看
echo ’ DEVICE /dev/sdc1 /dev/sdb1 /dev/sdd1 /dev/sde1’ > /etc/mdadm.conf
cat /etc/mdadm.conf
mdadm -S /dev/md10
umount /myraid10
mdadm -S /dev/md10
mdadm -D /dev/md10
总结:
RAID 用来做数据冗余的 主要学raid5 、raid1+0 ,构建用mdadm 命令。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律