Linux-C-高级-第3章-RAID提升速度及冗余


目录(持续更新)


基础-第0章-安装
基础-第1章-基本操作
基础-第2章-磁盘及文件系统管理
基础-第3章-获得帮助
基础-第4章-用户及权限基础
基础-第5章-网络基本配置
基础-第6章-管道,重定向及文本处理
基础-第7章-系统启动详解

进阶-第1章-日志服务
进阶-第2章-DNS域名服务器
进阶-第3章-FTP文件共享服务
进阶-第4章-NFS文件共享服务
进阶-第5章-SMB文件共享服务
进阶-第6章-WEB服务Apache篇
进阶-第7章-电子邮件服务
进阶-第8章-Linux服务基础及管理

高级-第1章-LVM逻辑卷
高级-第2章-高级权限ACL
高级-第3章-RAID提升速度及冗余
高级-第4章-高级网络-网卡绑定,子端口
高级-第5章-SELinux安全系统基础
高级-第6章-IPTable防火墙基础
高级-第7章-Linux远程管理-SSH、VNC


第3章-RAID提升速度及冗余


第一节 RAID原理

传统磁盘劣势

影响性能的组件 CPU IO 内存 硬盘 网卡
计算机整体IO较低
现代计算机总线,内存速度达到5G/s 但是硬盘IO较低
SATA--- <150M/s
SCSI--- <200M/s
SAS ---  200M/s
SSD ---  500M/s

RAID

现代硬盘缺陷IO性能弱  稳定性非常差

RAID (Redundant Array of Independent Disks) 廉价磁盘冗余整列技术
通过多次盘并行,提高计算机储存IO性能

RAID 分为很多类型成为RAID级别  共7类  常用4类:
RAID 0      读写性能  
RAID 1      读取性能 冗余性
RAID 5      读取性能 冗余性 最多损坏1块硬盘
RAID 6      读取性能 冗余性 最多损坏2块硬盘

磁盘大小与规格尽量一样

RAID 0

RAID 0最少使用2块磁盘,读写是分开读写到多块盘,来提高读写性能

空间利用率:  所有硬盘空间和
性能:        所有硬盘速度和  理论值
冗余:        无

RAID 1

RAID 1最少使用2块磁盘,写数据是,将数据复制到多块硬盘
读数据时提升读性能

空间利用率:  所有硬盘空间最小那个
性能:        读性能:所有硬盘速度和 写性能下降
冗余:        只要有1块正常 数据正常

RAID 5

RAID 5 至少使用3块硬盘,RAID5 与 RAID0 类似,读写数据会将数据分布式读写
写数据是会进行奇偶校验,将校验信息保存在硬盘上,校验信息进行数据恢复使用

空间利用率:  1-1/n
性能:        读性能:接近RAID 0 写性能:较RAID0 差一点
冗余:        可接受1块硬盘损坏

RAID 6

RAID 6 最少使用4块硬盘,和RAID5 类似,读写数据分布式读写
相较RAID5 会多保存一个奇偶校验信息,所以容易性交RIAD5有提升

空间利用率:  1-2/n
性能:        读性能:接近RAID 5 写性能: 较RAID5 差一点
冗余:        可接受2块硬盘损坏

RAID 实现

实现方法两种

    软件实现
        通过系统功能或者RAID软件实现,没有独立硬件接口
        需要一定的系统资源,(CPU 硬盘接口速度),受操作系统稳定性影响
    硬件实现
        通过独立的RAID卡实现,有些主板会集成,有些需要购买独立的RAID卡
        硬件实现不需要占用其他硬件资源,稳定性和速度都比软件RAID强

第二节

MDADM 软件实现RAID

在linux中通过mdadm这个程序实现RAID
支持RAID : 0 1 4 5 6 

基于多块硬盘 分区 或逻辑卷创建RAID

创建好的软件RAID对应/dev/mdn,n为第几个RAID
第一个创建的RIAD为/dev/md0,第二个为/dev/md1

RAID 的信息保存在/proc/mdstat文件中,或通过mdadm命令查看

MDADM命令

创建RAID0
    mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb /dev/sdc
    -C  创建
    -a  自动创建对应设备
    -l  制定创建RAID级别
    -n  磁盘数量

创建好RAID后,需要创建配置文件
    mdadm -D --scan > /etc/mdadm.conf

创建文件系统挂载
    mkfs.ext4 /dev/md0
    mount /dev/md0 /mnt

查看RAID信息

直接mdadm查看信息
    mdadm -D /dev/md0

/proc文件也包含RAID相关信息
    cat /proc/mdstat

其他创建

RAID 1 
    mdadm -C /dev/md0 -a yes -l 1 -n 2 /dev/sdb /dev/sdc

RAID 5
    mdadm -C /dev/md0 -a yes -l 5 -n 3 /dev/sdb /dev/sdc /dev/sdd

RAID 6 
    mdadm -C /dev/md0 -a yes -l 6 -n 4 /dev/sdb /dev/sdc /dev/sdd /dev/sde

备份磁盘

我们也可以使用-x制定一个备份磁盘,备份磁盘一般不用
当出现故障时制定备份磁盘可以自动上线工作
mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb /dev/sdc /dev/sdd /dev/sde

控制RAID

通过命令关闭RAID 关闭之前需要卸载
    mdadm -S /dev/md0
启用RAID 需要先挂载
    mdadm -R /dev/md0

清除设备

先停用RAID 清空磁盘内RAID所有信息
mdadm --zero-superblock /dev/sdb  

模拟RAID故障

实验环境下,可以模拟一个磁盘故障
mdadm /dev/md0 -f /dev/sdb

移除模拟的磁盘故障
mdadm /dev/md0 -f /dev/sdb

换上新硬盘后 添加如RIAD中
mdadm /dev/md0 -a /dev/sdb

你可能感兴趣的:(Linux-C-高级-第3章-RAID提升速度及冗余)