硬盘 连续空间 无法 扩容  
 
 lvm  非连续空间 可以动态扩容  
 
 raid  备份, 提高读写性能,不能扩容 
 
 raid  是磁盘的集合,按照排列组合的方法不  一,给 raid 去了不同的名字  raid0 raid1  raid5 raid10  
 
 
      什么是 RAID  
 
 "RAID" 一词是由 David Patterson, Garth A. Gibson, Randy Katz  于 1987 年在加州大学伯克利分校发明 的。在1988 年 6 月 SIGMOD 会议上提交的论文 "A Case for Redundant Arrays of Inexpensive Disks”" 中 提出,当时性能最好的大型机不断增长的个人电脑市场开发的一系列廉价驱动器的性能所击败。尽管故障与驱动器数量的比例会上升,但通过配置冗余,阵列的可靠性可能远远超过任何大型单个驱动器的可靠性。  
 
 独立硬盘冗余阵列 ( RAID ,  R edundant  A rray of  I ndependent  D isks ),旧称 廉价磁盘冗余阵列 ,简称磁盘阵列 。利用虚拟化存储技术把多个硬盘组合起来,成为一个或多个硬盘阵列组,目的为提升性能或数据冗余,或是两者同时提升。RAID  层级不同,数据会以多种模式分散于各个硬盘,RAID  层级的命名会以  RAID  开头并带数字,例如: RAID 0 、 RAID 1 、 RAID 5、 RAID 6 、 RAID 7 、 RAID 01 、 RAID 10 、 RAID 50 、 RAID 60 。每种等级都有其理论上的优缺 点,不同的等级在两个目标间获取平衡,分别是增加数据可靠性以及增加存储器群)读写性能。  
 
 简单来说, RAID 把多个硬盘组合成为一个逻辑硬盘,因此操作系统只会把它当作一个实体硬盘。 RAID 常被用在服务器电脑上,并且常使用完全相同的硬盘作为组合。由于硬盘价格的不断下降与RAID 功能更 加有效地与主板集成,它也成为普通用户的一个选择,特别是需要大容量存储空间的工作,如:视频与音频制作。  
 
 RAID 功能实现  
 
 提高 IO 能力 (提高数据传输速度) 
 
 提高耐用性 
 
 磁盘冗余备份  
 
 RAID 实现的方式  
 
 外接式磁盘阵列:通过扩展卡提供适配能力  
 
 内接式 RAID :主板集成 RAID 控制器,安装 OS 前在 BIOS 里配置  
 
 软件 RAID :通过 OS 实现,比如:群晖的 NAS 存储  
 
 1.  硬件方式 通过 raid  卡  
 
 2.  软件方式 通过 raid  软件方式  
 
 raid 级别 
 
 RAID-0 :条带卷, strip          RAID-1:镜像卷, mirror          RAID-2     ......    RAID-5         RAID-6  
 
 RAID-7         RAID-10        RAID-01          RAID-50         
 
 RAID-0  
 
 因为读写时都可以 并行处理 ,所以在所有的级别中, RAID 0 的 速度是最快 的。但是 RAID 0 既没有冗余功能,也不具备容错能力,如果一个磁盘(物理)损坏,所有数据都会丢失。 读、写性能提升可用空间:N*min(S1,S2,...)  
 
 无容错能力  
 
 最少磁盘数:2块 
 
 服务器只能识别一种模式,没有混杂模式  
 
 直通模式:没有做 raid  
 
 raid 模式: 做了 raid  
 
 raid 0 1 块没有提高性能的效果  
 
 RAID-1  
 
 也称为镜像 ,  两组以上的N个磁盘相互作镜像 ,在一些多线程操作系统中能有很好的读取速度,理论上读取速度等于硬盘数量的倍数,与RAID 0 相同。另外写入速度有微小的降低。  
 
 读性能提升、写性能略有下降  
 
 磁盘利用率 50%  
 
 有冗余能力  
 
 最少磁盘数:2n (n>=1)       
 
 RAID-5 
 
 读、性能提升  
 
 写的性能略微降低  
 
 利用率: n-1 留出做计算结果  
 
 有容错能力:允许最多1块磁盘损坏  
 
 最少磁盘数: 3  (>=3) 
 
 RAID-10  
 
 读、写性能提升  
 
 可用空间:n/2  
 
 有容错能力:每组镜像最多只能坏一块  
 
 最少磁盘数:4     (偶数>=4)  
 
 
 实现 软raid  
 
 mdadm 工具:为软 RAID 提供管理界面,为空余磁盘添加冗余,结合内核 md(multidevices)RAID 设  
 
 备可命名 为 /dev/md0 、 /dev/md1 、 /dev/md2 、 /dev/md3 等做raid (分区)  
 
 建立文件系统  
 
 挂载  
 
 常用选项说明  
 
 mdadm [mode] <raiddevice> [options] <component-devices>  
 
 命令 模式 阵列名字(md0) 选项 选择/dev/sdb /dev/sdd  
 
 mdadm   -Cv   /dev/md0   -l  10     -n  4     -x  1   /dev/sd[bcde]    {b,c,d,e,f}  
 
 模式:  
 
 创建: -C  
 
 装配: -A  
 
 监控: -F  
 
 管理: -f, -r, -a  
 
 <raiddevice>: /dev/md#  
 
 <component-devices>:  任意块设备  
 
 -C:  创建模式 
 
 -n #:  使用 # 个块设备来创建此 RAID  
 
 -l # :指明要创建的 RAID 的级别  0 1 5 10  
 
 -c CHUNK_SIZE:  指明块大小 , 单位 k  
 
 -x #:  指明空闲盘的个数 热备 盘  -x 1 /dev/sd#  
 
 -D :显示 raid 的详细信息  
 
 mdadm -D /dev/md#  
 
 软 raid 名字  
 
 管理模式:  
 
 -f: 标记指定磁盘为损坏  
 
 -a: 添加磁盘  
 
 -r: 移除磁盘  
 
 观察md的状态: cat /proc/mdstat  
 
 例子  
 
 #使用mdadm创建并定义RAID设备  
 
 mdadm   -C   /dev/md5     -l  5       -n  3      -x  1   /dev/sd{b,c,d,  e}1 
 
              命令       raid 名    raid级别   硬盘数    热备  
 
 madam  -Cv  /dev/md5     -l  5       -n  3     /dev/sd[bcd]1     -x  1   /dev/sde1 
 
               命令      raid名    raid级别   硬盘数                               热备  
 
 #用文件系统对每个RAID设备进行格式化         mkfs.xfs /dev/md0  
 
 
 #使用mdadm检查RAID设备的状况        mdadm --detail /dev/md0     或     mdadm -D /dev/md0  
 
 
 #增加新的成员        mdadm -G /dev/md0 -n4 -a /dev/sdf1  
 
 
 #模拟磁盘故障      mdadm /dev/md0 -f /dev/sda1  
 
 
 #移除磁盘       mdadm /dev/md0 -r /dev/sda1  
 
 
 #在备用驱动器上重建分区      mdadm /dev/md0 -a /dev/sda1          (要先关闭设备) 
 
 
 #删除raid信息:  mdadm --zero-superblock /dev/sdb1  
 
 
 #系统日志信息:        cat /proc/mdstat  
 
 
 生成配置文件:    mdadm -D -s >> /etc/mdadm.conf  
 
 
 停止设备:      m dadm -S /dev/md0           (要先解挂载) 
 
 
 激活设备:mdadm -A -s /dev/md0  
 
 
 强制启动:mdadm -R /dev/md0  
 
 
 删除raid信息:mdadm --zero-superblock /dev/sdb1  
 
 
 
 建立 raid5  
 
 建立 raid 10  
 
 mdadm -A -s /dev/md0  
 
 mdadm -R /dev/md0  
 
 mdadm --zero-superblock /dev/sdb1  
 
 
 建立raid5  
 
 添加4个硬盘,创建bcde硬盘分区:      fdisk  /dev/sdb     (n  t   fd   w)       
 
 
 创建并定义RAID:       mdadm  -Cv  /dev/md5   -l 5  -n 3  /dev/sd[bcd]1  -x 1 /dev/sde1 
 
 
 格式化:           mkfs.xfs    /dev/md5                
 
 
 挂载:            mkdir    /home/raid5           
 
           (临时)   mount    /dev/md5    /home/raid5 
 
           (永久)   vim   /etc/fstab            
 
                        /dev/md5    /home/raid5   xfs   defaults   0  0 
 
                        mount   -a 
 
 查看状态:       cat    /proc/mdstat        或       mdadm   -D   /dev/md0 
 
 
 每5秒看一次:  watch -n 5 'cat /proc/mdstat'  
 
 
 模拟故障:       mdadm   /dev/md5   -f   /dev/sdb1         (让sdb1故障)  
 
                            查看  mdadm   -D   /dev/md5 
 
 
 
 
 
   mdadm   /dev/md5   -r    /dev/sdb1        (删除sdb1) 
 
 
 
 mdadm   /dev/md5   -a   /dev/sdb1          (重建分区) 
 
 
 
 建立raid10 
 
 
 // 先做两个raid1 
 
 mdadm   -Cv  /dev/md0   -l1  -n2  /dev/sd[bc]1 
 
 mdadm   -D   /dev/md0 
 
 
 
 mdadm   -Cv   /dev/md1   -l1   -n2    /dev/sd[de]1 
 
 mdadm   -D    /dev/md1 
 
 
 
 cat     /proc/mdstat 
 
 
 
 创建raid10 
 
 mdadm   -Cv   /dev/md10   -l1   -n2   /dev/md1   /dev/md0 
 
 mdadm   -D    /dev/md10             cat    /proc/mdstat 
 
 
 
 
 
 格式化:      mkfs.xfs    /dev/md10 
 
 挂载:         mkdir   /home/raid10 
 
                     mount   /dev/md10     /home/raid10 
 
 
 
 # 创建 RAID10 ( 先做镜象,再做条带 )  
 
 mdadm -Cv /dev/md0 -l1 -n2 -x1 /dev/sd[bc]1 20G  
 
 mdadm -Cv /dev/md1 -l1 -n2 -x1 /dev/sd[de]1 20G  
 
 mdadm -Cv /dev/md10 -l0 -n2 /dev/md0 /dev/md1 40G