什么是RAID? RAID:Redundant Arrays of Inexpensive(Independent) Disks1988年由加利福尼亚大学伯克利分 校(University of California-Berkeley) “A Case for Redundant Arrays of Inexpensive Disks” 多个磁盘合成一个“阵列”来提供更好的性能、冗余,或者两者都提供 RAID 提高IO能力:磁盘并行读写 提高耐用性:磁盘冗余来实现 级别:多块磁盘组织在一起的工作方式有所不同 RAID实现的方式: 外接式磁盘阵列:通过扩展卡提供适配能力 内接式RAID:主板集成RAID控制器,安装OS前在BIOS里配置 软件RAID:通过OS实现 RAID级别 RAID-0:条带卷,strip RAID-1: 镜像卷,mirror RAID-2 .. RAID-5 RAID-6 RAID-10 RAID-01 RAID0 读、写性能提升; 可用空间:N*min(S1,S2,...) 无容错能力 最少磁盘数:2, 2+ RAID1 读性能提升、写性能略有下降; 可用空间:1*min(S1,S2,...) 有冗余能力 最少磁盘数:2, 2N RAID-4 多块数据盘异或运算值存于专用校验盘 RAID-5: 读、写性能提升 可用空间:(N-1)*min(S1,S2,...) 有容错能力:允许最多1块磁盘损坏 最少磁盘数:3, 3+ RAID-6: 读、写性能提升 可用空间:(N-2)*min(S1,S2,...) 有容错能力:允许最多2块磁盘损坏 最少磁盘数:4, 4+ RAID-10: 读、写性能提升 可用空间:N*min(S1,S2,...)/2 有容错能力:每组镜像最多只能坏一块 最少磁盘数:4, 4+ RAID-01 多块磁盘先实现RAID0,再组合成RAID1 JBOD:Just a Bunch Of Disks 功能:将多块磁盘的空间合并一个大的连续空间使用 可用空间:sum(S1,S2,...) RAID7 可以理解为一个独立存储计算机,自身带有操作系统和管理工具,可以独立运行,理论上性能最高的RAID 模式 常用级别: RAID-0, RAID-1, RAID-5, RAID-10, RAID-50, JBOD 软RAID mdadm:为软RAID提供管理界面 为空余磁盘添加冗余 结合内核中的md(multi devices) RAID设备可命名为/dev/md0、/dev/md1、/dev/md2、/dev/md3等 软件RAID的实现 mdadm:模式化的工具 命令的语法格式:mdadm [mode] <raiddevice> [options] <component-devices> 支持的RAID级别:LINEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10 模式: 创建:-C 装配: -A 监控: -F 管理:-f, -r, -a <raiddevice>: /dev/md# <component-devices>: 任意块设备 -C: 创建模式 -n #: 使用#个块设备来创建此RAID -l #:指明要创建的RAID的级别 -a {yes|no}:自动创建目标RAID设备的设备文件 -c CHUNK_SIZE: 指明块大小,单位k -x #: 指明空闲盘的个数 -D:显示raid的详细信息 mdadm -D /dev/md# 管理模式: -f: 标记指定磁盘为损坏 -a: 添加磁盘 -r: 移除磁盘 观察md的状态: cat /proc/mdstat 软RAID配置示例 使用mdadm创建并定义RAID设备 mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 用文件系统对每个RAID设备进行格式化 mke2fs -j /dev/md0 测试RAID设备 使用mdadm检查RAID设备的状况 mdadm --detail|D /dev/md0 增加新的成员 mdadm –G /dev/md0 –n4 -a /dev/sdf1 软RAID测试和修复 模拟磁盘故障 mdadm /dev/md0 -f /dev/sda1 移除磁盘 mdadm /dev/md0 –r /dev/sda1 从软件RAID磁盘修复磁盘故障 替换出故障的磁盘然后开机 在备用驱动器上重建分区 mdadm /dev/md0 -a /dev/sda1 mdadm、/proc/mdstat及系统日志信息 软RAID管理 生成配置文件:mdadm –D –s >> /etc/mdadm.conf 停止设备:mdadm –S /dev/md0 激活设备:mdadm –A –s /dev/md0 激活 强制启动:mdadm –R /dev/md0 删除raid信息:mdadm --zero-superblock /dev/sdb1 练习 1:创建一个可用空间为1G的RAID1设备,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup 目录 2:创建由三块硬盘组成的可用空间为2G的RAID5设备,要求其chunk大小为256k,文件系统为ext4,开机 可自动挂载至/mydata目录 1.1先准备三个1G大小的磁盘或者分区,分区需要改分区格式为fd
┌─[root@centos6]─[~]
└──╼ #fdisk -l /dev/sdc
Disk /dev/sdc: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x675ef717
Device Boot Start End Blocks Id System
/dev/sdc1 1 132 1060258+ fd Linux raid autodetect
/dev/sdc2 133 264 1060290 fd Linux raid autodetect
/dev/sdc3 265 396 1060290 fd Linux raid autodetect
┌─[root@centos6]─[~]
└──╼ #lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 3.7G 0 rom /mnt/cdrom
sdb 8:16 0 20G 0 disk
└─myvg-mylv (dm-0) 253:0 0 10.2G 0 lvm
sdc 8:32 0 20G 0 disk
├─sdc1 8:33 0 1G 0 part
├─sdc2 8:34 0 1G 0 part
└─sdc3 8:35 0 1G 0 part
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 48.8G 0 part /
├─sda3 8:3 0 29.3G 0 part /data
├─sda4 8:4 0 1K 0 part
├─sda5 8:5 0 2G 0 part [SWAP]
└─sda6 8:6 0 3G 0 part
1.2创建RAID1
┌──[root@centos6]─[~] └──╼ #mdadm -C /dev/md0 -a yes -l1 -n2 -x1 /dev/sdc{1,2,3} mdadm: Note: this array has metadata at the start and may not be suitable as a boot device. If you plan to store '/boot' on this device please ensure that your boot-loader understands md/v1.x metadata, or use --metadata=0.90 Continue creating array? yes mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started. ┌─[root@centos6]─[~] └──╼ #mdadm -D /dev/md0 /dev/md0: Version : 1.2 Creation Time : Thu Apr 26 10:46:27 2018 Raid Level : raid1 Array Size : 1059264 (1034.44 MiB 1084.69 MB) Used Dev Size : 1059264 (1034.44 MiB 1084.69 MB) Raid Devices : 2 Total Devices : 3 Persistence : Superblock is persistent Update Time : Thu Apr 26 10:46:33 2018 State : clean Active Devices : 2 Working Devices : 3 Failed Devices : 0 Spare Devices : 1 Name : centos6.NO10:0 (local to host centos6.NO10) UUID : b3b80825:bc7b09a9:7985cd23:7fc67a02 Events : 17 Number Major Minor RaidDevice State 0 8 33 0 active sync /dev/sdc1 1 8 34 1 active sync /dev/sdc2 2 8 35 - spare /dev/sdc3 1.3创建文件系统 mkfs -t ext4 /dev/md0 1.4创建挂载点 mkdir /backup 1.5 将挂载信息写入/etc/fstab文件中 blkid | tail -1,查看新设备的UUID UUID=bb2731ef-c4c2-4ac6-9d6f-5b121547ff51 /backup ext4 defaultS 0 0
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/97069