linux学习笔记十(Raid基本知识)
前言:磁盘管理对于一个运维工程师来说是很重要的。如何管理好数据,那么离不开Raid。
内容:
1.常用的Raid的类型:
Raid0 (条带)
Raid1 (镜像)
Raid5 (奇偶校验)
Raid1 + Raid0(先1后0)
Raid0+Raid1(先0后1)
Raid5+Raid0 同理
Raid0+Raid5 同上
Jbod 也是常用的的,这个可以通过增加硬盘来扩容。
总结:
Raid0 性能提升:读,写
冗余能力:无
空间利用率:nS
至少2块盘Raid1 性能提升:读性能提升,写性能下降
冗余能力:有
空间利用率:1/2
至少2块盘Raid5 性能提升:读,写提升
冗余能力:有
空间利用率:(n-1)/n
至少需要3块盘Raid1+Raid0 性能提升:读,写提升
冗余能力:有
空间利用率:1/2
至少需要4块盘Raid0+Raid1 性能提升:读,写提升
冗余能力:有
空间利用率:1/2
至少需要4块盘Raid5+Raid0 性能提升:读,写提升
冗余能力:有
空间利用率:(n-2)/n
至少需要6块盘jbod 性能提升:无
冗余能力:无
空间利用率:100%
至少需要2块
2.实现Raid
Raid可以通过软件模拟的方式进行,这里乜有环境来做硬件的Raid。
逻辑Raid : /dev/dm# #代表着编号
一些软Raid的软件使用:
md: raid模块
mdadm(md管理器): 将任何块设备做成RAID
模式化的命令:
创建模式
-C
专用选项:
-l: 级别
-n #: 设备个数
-a {yes|no}: 是否自动为其创建设备文件
-c: CHUNK大小(数据块大小), 2^n,默认为64K
-x #: 指定空闲盘个数(坏掉一块盘之后就能顶 上)
管理模式
--add, --remove, --fail
mdadm /dev/md# --fail /dev/sda7
监控模式
-F
增长模式
-G
装配模式
-A
查看RAID阵列的详细信息
mdadm -D /dev/md#
--detail
停止阵列:
mdadm -S /dev/md#
--stop
练习:
创建一个空间大小为10G的RAID5设备;其chuck大小为32k;要求此设备开机时可以自动挂载至/backup目录;
创建一个2G大小的RAID0可以是4个 512MB 或者是2个1G
创建一个2G大小的RAID1可以是2个2G
创建一个2G大小的RAID5 可以是3个1G
watch: 周期性地执行指定命令,并以全屏方式显示结果
-n #:指定周期长度,单位为秒,默认为2
格式: watch -n # ‘COMMAND‘(双引号也行)
例如:watch "cat /proc/mdstat"
将当前RAID信息保存至配置文件,以便以后进行装配:
mdamd -D --scan > /etc/mdadm.conf
mdamd -A /dev/md# 就能够直接装配起来
注意:
如果一个chunk是64k 一个磁盘块是4K (4096)那么也就是说:一个chunk是16个磁盘块。
mke2fs有-E的stride功能,能够调整chunk除以Block大小的倍数,这样可以优化软raid
3.rm -f /dev/md# 之前应该mdadm -S /dev/md#(停止软Raid)。
3具体的流程:(以Raid0为例)
1.创建/dev/sda{5,6,7},并且类型都是raid类型
2.partporbe /dev/sda(更新分区信息)
3.cat /proc/partitions(查看分区)
4.mdadm -C /dev/md0 -n 2 -l 0 -x 1 -a yes /dev/sda{5,6,7}
5.mdadm -D /dev/md0(可以查看运行情况)
本文出自 “技术至上” 博客,谢绝转载!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。