标签:dev 结合 容量 同步 com sha size 大小 选项
1、RAID简介
RAID(Redundant Array of Inexpensive Disks)称为廉价磁盘冗余阵列。RAID 的基本想法是把多个便 宜的小磁盘组合到一起,成为一个磁盘组,使性能达到或超过一个容量巨大、价格昂贵的磁盘。
目前 RAID 技术大致分为两种:基于硬件的 RAID 技术和基于软件的 RAID 技术。其中在 Linux 下通 过自带的软件就能实现 RAID 功能,这样便可省去购买昂贵的硬件 RAID 控制器和附件就能极大地增强磁 盘的 IO 性能和可靠性。由于是用软件去实现的 RAID 功能,所以它配置灵活、管理方便。同时使用软件 RAID,还可以实现将几个物理磁盘合并成一个更大的虚拟设备,从而达到性能改进和数据冗余的目的。当 然基于硬件的 RAID 解决方案比基于软件 RAID 技术在使用性能和服务性能上稍胜一筹,具体表现在检测 和修复多位错误的能力、错误磁盘自动检测和阵列重建等方面。
2、RAID级别介绍
随着RAID技术经过不断的发展,现已有RAID 0 到 RAID 6 七种基本的RAID 级别,同时还有RAID 0 和 RAID 1 的组合形式,称为 RAID10。其中的级别并不代表技术的高低,而 RAID 2 和 RAID 4 基本上不 再使用了,RAID 3 则是由于实现起来太复杂也很少使用。目前这些常用的 RAID 级别 Linux 内核都能够支 持,本节就以 Linux 2.6 的内核为例,在 Linux 2.6 内核中的软 RAID 可支持以下级别: RAID 0、RAID 1、 RAID 4、RAID 5 以及 RAID 6 等。Linux 2.6 的内核除支持以上几种 RAID 级别外,还可支持 LINEAR(线 性模式)的软 RAID 线性模式是将两个或更多的磁盘组合到一个物理设备中,磁盘不必具有相同的大小, 在写入 RAID 设备时会首先填满磁盘 A,然后是磁盘 B,以此类推。
(1)RAID 0
也称为条带模式(striped),即把连续的数据分散到多个磁盘上存取,如图1-8-1所示。当系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。因为读取和写入是在设备上并行完成的,读取和写 入性能将会增加,这通常是运行 RAID 0 的主要原因。但 RAID 0 没有数据冗余,如果驱动器出现故障, 那么将无法恢复任何数据。
RAID 0 需要几块磁盘:
正常情况下两块起。但是一块也可以做。
图1-8-1
(2)RAID 1
RAID 1 又称为镜像(Mirroring),一个具有全冗余的模式,如图1-8-2所示。RAID 1 可以用于两个或 2xN 个磁盘,并使用 0 块或更多的备用磁盘,每次写数据时会同时写入镜像盘。这种阵列可靠性很高,但其有 效容量减小到总容量的一半,同时这些磁盘的大小应该相等,否则总容量只具有最小磁盘的大小。
图1-8-2
(3)RAID 4
创建 RAID 4 需要三块或更多的磁盘,它在一个驱动器上保存校验信息,并以 RAID 0 方式将数据写入其它磁盘,如图1-8-3所示。因为一块磁盘是为校验信息保留的,所以阵列的大小是(N-l)*S,其中 S 是阵列中最小驱动器的大小。就像在RAID 1中那样,磁盘的大小应该相等。
如果一个驱动器出现故障,那么可以使用校验信息来重建所有数据。如果两个驱动器出现故障,那么所有数据都将丢失。不经常使用这个级别的原因是校验信息存储在一个驱动器上。每次写入其它磁盘时,都必须更新这些信息。因此,在大量写入数据时很容易造成校验磁盘的瓶颈,所以目前这个级别的RAID很少使用了。
(4)RAID 5
在希望结合大量物理磁盘并且仍然保留一些冗余时,RAID 5可能是最有用的RAID模式。RAID 5可以用在三块或更多的磁盘上,并使用0块或更多的备用磁盘。就像RAID 4一样,得到的RAID5设备的大小是(N-1)*S。
RAID 5与RAID 4之间最大的区别就是校验信息均匀分布在各个驱动器上,如图1-8-3所示,这样就避免了RAID 4中出现的瓶颈问题。如果其中一块磁盘出现故障,那么由于有校验信息,所以所有数据仍然可 以保持不变。如果可以使用备用磁盘,那么在设备出现故障之后,将立即开始同步数据。如果两块磁盘同 时出现故障,那么所有数据都会丢失。RAID 5可以经受一块磁盘故障,但不能经受两块或多块磁盘故障。
图1-8-3
(5)RAID 6
RAID 6 是在 RAID 5 基础上扩展而来的。与 RAID 5 一样,数据和校验码都是被分成数据块然后分别 存储到磁盘阵列的各个硬盘上。只是 RAID 6 中增加一块校验磁盘,用于备份分布在各个磁盘上的校验码, 如图1-8-4所示,这样 RAID 6 磁盘阵列就允许两个磁盘同时出现故障,所以 RAID 6 的磁盘阵列最少需要四块硬盘。
图1-8-4
(6)RAID 1+0
N(偶数,N>=4)块盘两两镜像后,在组合成一个RAID 0。容量为N/2,N/2块盘同时写入,写速度一般,N快盘同时读取,读速度较快。性能高,可靠性高。
图1-8-5
小结:
级别 |
磁盘数(n为整数) |
容量 |
原理 |
优点 |
缺点 |
Raid 0 |
(1)2块起 |
磁盘之和 |
数据分散并存磁盘 |
读写速度快 |
没有数据冗余 |
Raid 1 |
2n块 |
磁盘和/2 |
数据写入磁盘并生成镜像盘 |
全冗余 |
读写速度没提高,容量减少一半 |
Raid4 |
3块起 |
(N-1)磁盘 |
数据分散存于磁盘,有校验盘 |
读写快、有校验(允许坏一块) |
校验盘压力大 |
Raid5 |
3块起 |
(N-1)磁盘 |
数据、校验分散存于磁盘 |
读写快、有校验(允许坏一块) |
—— |
Raid6 |
4块起 |
(N-2)磁盘 |
Raid5基础加第二块奇偶校验信息块 |
读写快(允许坏二块) |
磁盘利用率差 |
Raid1+0 |
4块起且偶数 |
N/2磁盘 |
磁盘两两镜像再组合raid0模式 |
读写快 |
磁盘利用率差 |
阵列卡就是用来实现RAID功能的板卡,通常是由I/O处理器、硬盘控制器、硬盘连接器和缓存等一系列零组件构成的。
不同的RAID卡支持的RAID功能不同,例如支持RAID 0、RAID 1、RAID 5、RAID 6、RAID 10等
RAID卡的接口类型:IDE接口、SCSI接口、SATA接口和SAS接口
陈列卡的缓存:
缓存(Cache)是RAID卡与外部总线交换数据的场所,RAID卡先将数据传送到缓存,再由缓存和外边数据总线交换数据。它是RAID卡电路板上的一块存储芯片,与硬盘盘片相比,具有极快的存取速度。
缓存的大小与速度是直接关系到RAID卡的实际传输速度的重要因素,大缓存能够大幅度地提高数据命中率从而提高RAID卡整体性能。
不同的RAID卡出厂时配置的内存容量不同,一般为几兆到数百兆容量不等。
1、开进进入管理界面
进入界面:DELL :Crtl+RIBM:Crtl+H
2、确认硬盘状态已Ready
下一页:Crtl+N
3、上一页:Crtl+P 回到首页,按回车,进入制作界面
4、在RAID Level选项处回车,选择RAID 5
5、按空格键选中要制作RAID的硬盘,使其前面显示 [X]
6、选择右侧的OK,回车
出现提示需要初始化:
7、初始化
(1)确认物理硬盘是否online。选中Physical Disks 0,按“→”键
(2)初始化。选中Virtual Disks 0 按“F2”键,选择“Fast Init”快速初始化
回车,选择yes,回车
出现完成界面:
(3)保存退出,按ESC键,选择“OK”
(4)重启后开始安装系统
1、所需软件:mdadm,若未安装,centos6.5-DVD1光盘中有rpm安装包。
2、mdadm命令
(1)作用:实现软件RAID,跟随不同选项作用不同
(2)格式:mdadm [选项] 参数
(3)常用选项:
-C或--create:创建一个新的软 RAID,后面接 raid 设备的名称。例如,/dev/md0, /dev/md1 等。
-A或--assemble:加载一个已存在的阵列,后面跟阵列以及设备的名称。
-S或--stop:停止指定的 RAID 设备。
-D或--detail:输出指定 RAID 设备的详细信息。
-s或--scan:扫描配置文件或/proc/mdstat 文件来搜索软 RAID 的配置信息,该参数不 能单独使用, 只能配置其它参数才能使用。
-l或--level:设置 RAID 的级别,例如设置“--level=5”则表示创建阵列的级别是RAID 5。
-n或--raid-devices:指定阵列中活动磁盘的数目。
-x:指定阵列中备用磁盘数
-G或--grow:改变在用阵列的大小或形态。
-v或--vebose:显示细节。
1、新增四块20G的新硬盘
2、将四块硬盘分别分区,全部大小都分为一个区,并改为id为“fd” [root@crushlinux ~]# fdisk -l |grep "/dev/" Disk /dev/sda: 107.4 GB, 107374182400 bytes /dev/sda1 * 1 64 512000 83 Linux /dev/sda2 64 13055 104344576 fd Linux raid autodetect Disk /dev/sdb: 21.5 GB, 21474836480 bytes Disk /dev/sdc: 21.5 GB, 21474836480 bytes Disk /dev/sdd: 21.5 GB, 21474836480 bytes Disk /dev/sde: 21.5 GB, 21474836480 bytes Disk /dev/mapper/vg_crushlinux-lv_root: 53.7 GB, 53687091200 bytes Disk /dev/mapper/vg_crushlinux-lv_swap: 2080 MB, 2080374784 bytes Disk /dev/mapper/vg_crushlinux-lv_home: 51.1 GB, 51078234112 bytes [root@crushlinux ~]# fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x32ce07cb. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won‘t be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) WARNING: DOS-compatible mode is deprecated. It‘s strongly recommended to switch off the mode (command ‘c‘) and change display units to sectors (command ‘u‘). Command (m for help): Command actio e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-2610, default 1): 回车 Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): 回车 Using default value 2610 Command (m for help): t Selected partition 1 Hex code (type L to list codes): fd Changed system type of partition 1 to fd (Linux raid autodetect) Command (m for help): p Disk /dev/sdb: 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: 0x32ce07cb Device Boot Start End Blocks Id System /dev/sdb1 1 2610 20964793+ fd Linux raid autodetect Command (m for help): w
The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@crushlinux ~]# fdisk /dev/sdc Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0xe51fbee9. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won‘t be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) WARNING: DOS-compatible mode is deprecated. It‘s strongly recommended to switch off the mode (command ‘c‘) and change display units to sectors (command ‘u‘). Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-2610, default 1): 回车 Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): 回车 Using default value 2610 Command (m for help): t Selected partition 1 Hex code (type L to list codes): fd Changed system type of partition 1 to fd (Linux raid autodetect) Command (m for help): p 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: 0xe51fbee9 Device Boot Start End Blocks Id System /dev/sdc1 1 2610 20964793+ fd Linux raid autodetect Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@crushlinux ~]# fdisk /dev/sdd Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x5debbc94. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won‘t be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) WARNING: DOS-compatible mode is deprecated. It‘s strongly recommended to switch off the mode (command ‘c‘) and change display units to sectors (command ‘u‘). Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-2610, default 1): 回车 Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): 回车
Using default value 2610 Command (m for help): t Selected partition 1 Hex code (type L to list codes): fd Changed system type of partition 1 to fd (Linux raid autodetect) Command (m for help): p Disk /dev/sdd: 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: 0x5debbc94 Device Boot Start End Blocks Id System /dev/sdd1 1 2610 20964793+ fd Linux raid autodetect Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@crushlinux ~]# fdisk /dev/sde Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0xe1933df7. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won‘t be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) WARNING: DOS-compatible mode is deprecated. It‘s strongly recommended to switch off the mode (command ‘c‘) and change display units to sectors (command ‘u‘). Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-2610, default 1): 回车 Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): 回车 Using default value 2610 Command (m for help): t Selected partition 1 Hex code (type L to list codes): fd Changed system type of partition 1 to fd (Linux raid autodetect) Command (m for help): p Disk /dev/sde: 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: 0xe1933df7 Device Boot Start End Blocks Id System /dev/sde1 1 2610 20964793+ fd Linux raid autodetect Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. 3、创建RAID 5,命名为“md5” [root@crushlinux ~]# fdisk -l |grep "raid" /dev/sdb1 1 2610 20964793+ fd Linux raid autodetect /dev/sdc1 1 2610 20964793+ fd Linux raid autodetect /dev/sdd1 1 2610 20964793+ fd Linux raid autodetect /dev/sde1 1 2610 20964793+ fd Linux raid autodetect [root@crushlinux ~]# mdadm -Cv /dev/md5 -l5 -n3 -x1 /dev/sd[bcde]1 mdadm: layout defaults to left-symmetri mdadm: layout defaults to left-symmetric mdadm: chunk size defaults to 512K mdadm: size set to 20947968K mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md5 started. 4、格式化,挂载于/xuexi目录下,并设置为开机自动挂载 [root@crushlinux ~]# mkfs.ext4 /dev/md5 mke2fs 1.41.12 (17-May-2010 文件系统标签= 操作系统:Linux 块大小=4096 (log=2) 分块大小=4096 (log=2) Stride=128 blocks, Stripe width=256 blocks 2621440 inodes, 10473984 blocks 523699 blocks (5.00%) reserved for the super user 第一个数据块=0 Maximum filesystem blocks=4294967296 320 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624 正在写入inode表: 完成 Creating journal (32768 blocks): 完成 Writing superblocks and filesystem accounting information: 完成 This filesystem will be automatically checked every 27 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. [root@crushlinux ~]# mkdir /xuexi [root@crushlinux ~]# mount /dev/md5 /xuexi/
[root@crushlinux ~]# df -hT
Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/vg_crushlinux-lv_root ext4 50G 4.4G 43G 10% / tmpfs tmpfs 495M 84K 495M 1% /dev/shm /dev/sda1 ext4 485M 35M 426M 8% /boot /dev/mapper/vg_crushlinux-lv_home ext4 47G 188M 45G 1% /home /dev/sr0 iso9660 4.2G 4.2G 0 100% /media/CentOS_6.5_Final /dev/md5 ext4 40G 176M 38G 1% /xuexi [root@crushlinux ~]# vi /etc/fstab # /etc/fstab # Created by anaconda on Thu Dec 24 15:36:54 2015
# Accessible filesystems, by reference, are maintained under ‘/dev/disk‘ # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info/dev/mapper/vg_crushlinux-lv_root / ext4 defaults 1 1 UUID=278b5e9f-7709-4048-8f0a-f28713123645 /boot ext4 defaults 1 2 /dev/mapper/vg_crushlinux-lv_home /home ext4 defaults 1 2 /dev/mapper/vg_crushlinux-lv_swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/md5 /xuexi ext4 defaults 1 -- INSERT -- 保存退出。 5、手动创建RAID配置文件 /etc/mdadm.conf [root@crushlinux ~]# mdadm -D -s > /etc/mdadm.conf [root@crushlinux ~]# vi /etc/mdadm.conf ARRAY /dev/md5 metadata=1.2 spares=1 name=crushlinux.amber.com:5 UUID=6c31fadb:e55a0b83:1c59891b:e06cf232 auto= -- INSERT – 保存退出 6、模拟/dev/sdb1硬盘损坏,将其拔出后再插入 [root@crushlinux ~]# mdadm /dev/md5 -f /dev/sdb1 mdadm: set /dev/sdb1 faulty in /dev/md5 [root@crushlinux ~]# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md5 : active raid5 sdd1[4] sde1[3] sdc1[1] sdb1[0](F) 41895936 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU] [=>...................] recovery = 6.9% (1453696/20947968) finish=2.2min speed=145369K/sec unused devices: <none> [root@crushlinux ~]# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md5 : active raid5 sdd1[4] sde1[3] sdc1[1] sdb1[0](F) 41895936 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU] [====>................] recovery = 22.3% (4690048/20947968) finish=1.4min speed=180386K/sec unused devices: <none> [root@crushlinux ~]# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md5 : active raid5 sdd1[4] sde1[3] sdc1[1] sdb1[0](F) 41895936 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU] unused devices: <none> [root@crushlinux ~]# mdadm /dev/md5 -r /dev/sdb1 mdadm: hot removed /dev/sdb1 from /dev/md5 [root@crushlinux ~]# mdadm /dev/md5 -a /dev/sdb1 mdadm: added /dev/sdb1 [root@crushlinux ~]# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md5 : active raid5 sdb1[5](S) sdd1[4] sde1[3] sdc1[1] 41895936 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU] unused devices: <none> 7、RAID的拉伸 添加一块新硬盘/dev/sdf 并创建 sdf1 分区,在添加到 RAID5 中作为热备盘 [root@crushlinux ~]# fdisk /dev/sdf Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x507a5a39. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won‘t be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) WARNING: DOS-compatible mode is deprecated. It‘s strongly recommended to switch off the mode (command ‘c‘) and change display units to sectors (command ‘u‘). Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-2610, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): Using default value 2610 Command (m for help): t Selected partition 1 Hexcode (type L to list codes): fd Changed system type of partition 1 to fd (Linux raid autodetect) Command (m for help): p Disk /dev/sdf: 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: 0x507a5a39 Device Boot Start End Blocks Id System /dev/sdf1 1 2610 20964793+ fd Linux raid autodetect Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. [root@crushlinux ~]# mdadm /dev/md5 -a /dev/sdf1 mdadm: added /de [root@crushlinux ~]# mdadm -G /dev/md5 -n 4 [root@crushlinux ~]# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md5 : active raid5 sdf1[6] sdb1[5](S) sdd1[4] sdc1[1] sde1[3] 41895936 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU] [===============>.....] reshape = 77.8% (16317952/20947968) finish=0.5min speed=139542K/sec unused devices: <none> [root@crushlinux ~]# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md5 : active raid5 sdf1[6] sdb1[5](S) sdd1[4] sdc1[1] sde1[3] 62843904 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU] unused devices: <none> 8、删除软raid /dev/md5设备 [root@crushlinux ~]# umount /dev/md5 [root@crushlinux ~]# mdadm -S /dev/md5 mdadm: stopped /dev/md5 [root@crushlinux ~]# vim /etc/fstab 删除/dev/md5行 [root@crushlinux ~]# rm -f /etc/mdadm.conf
标签:dev 结合 容量 同步 com sha size 大小 选项
原文地址:http://www.cnblogs.com/crushlinux/p/6819254.html