linux之RAID介绍(第3次修改,有时间可以学下存储技术)
2018-09-06 21:19
746 查看
RAID:Redundant Array of indenpensive Disk磁盘冗余阵列,RAID阵列技术允许将一系列磁盘分组,以实现为数据保护而必需的数据冗余,以及为提高读写性能而形成的数据条带分布。
RAID技术有:基于硬件的RAID技术和基于软件的RAID技术,基于硬件的RAID技术昂贵,我们这次介绍基于软件RAID技术。
RAID常用级别介绍:RAID0 RAID1 RAID3 RAID5 RAID6 RAID7 RAID10。
1.RAID0又称数据分块(Stripping技术或称数据条带模式)
至少需要2块硬盘,将2块以上的盘合并成一块,总容量是每块盘容量之和。
通过把数据分成多个数据块并行写入或读取多个磁盘以提高访问磁盘的速度,RAID0从理论上讲带宽增加,读写速度会提升盘数量N倍的速度。
优缺点点:读写速度快,但没有冗余和奇偶校验位,当数据损坏或一盘故障,数据无法恢复。应用场景:负载均衡集群下面多个相同RS节点服务器分布式文件存储下面的节点或CHUNK SERVERMYSQL主从复制的多个Slave服务器对性能要求高,但是对冗余低的业务
2.RAID1,镜像RAID一个磁盘上的数据,完全复制到另一磁盘上。如果一个磁盘的数据发生错误或者磁盘坏道,那么另一个磁盘可以补救磁盘故障带来的数据丢失或损坏。最大优点是 完全冗余,但总容量会与较小容量的硬盘一样以及读取速度最差。只支持2块盘,总容量是容量小的那块盘。3.RAID3,单盘容错传输并行使用Stripping技术将数据分块,对这些块进行异或校验,校验数据写在最后一个硬盘上。特点有一个盘为校验盘。当一个盘故障时,除故障盘外,写操作还会继续对数据盘和校验盘进行操作。读操作对剩余盘和校验盘异或计算重构故障盘的数据。4.RAID5,分布式奇偶校验位,最少三块硬盘 与RAID3不同的是,RAID5是将校验位信息分布在不同磁盘上,并非一块磁盘上,减少了奇偶校验盘的负担,是RAID0和RAID1的折中方案。
RAID5具有是一种存储性能、数据安全和存储成本兼顾的存储解决方案。但是各方面性能以及速度都一般。5.RAID10,RAID01
![](http://s1.51cto.com/images/20180912/1536735140226655.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
6.RAID6.双重奇偶校验位RAID6:以上RAID等级只能保护一块盘数据丢失或损坏的情况,当2块以上的盘损坏时,则无法恢复数据,而RAID6是双重校验保护同时2块盘数据丢失或损坏,阵列仍能工作,成本非常高。实例:设置RAID5,使用mdadm命令基本语法 : mdadm [mode] [options]
[mode] 有7种:
Assemble:将以前定义的某个阵列加入当前在用阵列。
Build:Build a legacy array ,每个device 没有 superblocks
Create:创建一个新的阵列,每个device 具有 superblocks
Manage: 管理阵列,比如 add 或 remove
Misc:允许单独对阵列中的某个 device 做操作,比如抹去superblocks 或 终止在用的阵列。
Follow or Monitor:监控 raid 1,4,5,6 和 multipath 的状态
Grow:改变raid 容量或 阵列中的 device 数目
可用的 [options]:
-A, --assemble:加入一个以前定义的阵列
-B, --build:Build a legacy array without superblocks.
-C, --create:创建一个新的阵列
-Q, --query:查看一个device,判断它为一个 md device 或是 一个 md 阵列的一部分
-D, --detail:打印一个或多个 md device 的详细信息
-E, --examine:打印 device 上的 md superblock 的内容
-F, --follow, --monitor:选择 Monitor 模式
-G, --grow:改变在用阵列的大小或形态
-b, --brief:较少的细节。用于 --detail 和 --examine 选项
-f, --force
-c, --config= :指定配置文件,缺省为 /etc/mdadm/mdadm.conf
-s, --scan:扫描配置文件或 /proc/mdstat以搜寻丢失的信息。配置文件/etc/mdadm/mdadm.conf
create 或 build 使用的选项:
-c, --chunk=:Specify chunk size of kibibytes. 缺省为 64.
--rounding=: Specify rounding factor for linear array (==chunk size)
-l, --level=:设定 raid level.
--create可用:linear, raid0, 0, stripe, raid1,1, mirror, raid4, 4, raid5, 5, raid6, 6, multipath, mp.
--build可用:linear, raid0, 0, stripe.
-p, --parity=:设定 raid5 的奇偶校验规则:eft-asymmetric, left-symmetric, right-asymmetric, right-symmetric, la, ra, ls, rs.缺省为left-symmetric
-n, --raid-devices=:指定阵列中可用 device 数目,这个数目只能由 --grow 修改
-x, --spare-devices=:指定初始阵列的热备 数目
-z, --size=:组建RAID1/4/5/6后从每个device获取的空间总数
--assume-clean:目前仅用于 --build 选项
-R, --run:阵列中的某一部分出现在其他阵列或文件系统中时,mdadm会确认该阵列。此选项将不作确认。
-f, --force:通常mdadm不允许只用一个device 创建阵列,而且创建raid5时会使用一个device作为missing drive。此选项正相反。
-a, --auto{=no,yes,md,mdp,part,p}{NN}:
RAID技术有:基于硬件的RAID技术和基于软件的RAID技术,基于硬件的RAID技术昂贵,我们这次介绍基于软件RAID技术。
RAID常用级别介绍:RAID0 RAID1 RAID3 RAID5 RAID6 RAID7 RAID10。
1.RAID0又称数据分块(Stripping技术或称数据条带模式)
至少需要2块硬盘,将2块以上的盘合并成一块,总容量是每块盘容量之和。
通过把数据分成多个数据块并行写入或读取多个磁盘以提高访问磁盘的速度,RAID0从理论上讲带宽增加,读写速度会提升盘数量N倍的速度。
优缺点点:读写速度快,但没有冗余和奇偶校验位,当数据损坏或一盘故障,数据无法恢复。应用场景:负载均衡集群下面多个相同RS节点服务器分布式文件存储下面的节点或CHUNK SERVERMYSQL主从复制的多个Slave服务器对性能要求高,但是对冗余低的业务
2.RAID1,镜像RAID一个磁盘上的数据,完全复制到另一磁盘上。如果一个磁盘的数据发生错误或者磁盘坏道,那么另一个磁盘可以补救磁盘故障带来的数据丢失或损坏。最大优点是 完全冗余,但总容量会与较小容量的硬盘一样以及读取速度最差。只支持2块盘,总容量是容量小的那块盘。3.RAID3,单盘容错传输并行使用Stripping技术将数据分块,对这些块进行异或校验,校验数据写在最后一个硬盘上。特点有一个盘为校验盘。当一个盘故障时,除故障盘外,写操作还会继续对数据盘和校验盘进行操作。读操作对剩余盘和校验盘异或计算重构故障盘的数据。4.RAID5,分布式奇偶校验位,最少三块硬盘 与RAID3不同的是,RAID5是将校验位信息分布在不同磁盘上,并非一块磁盘上,减少了奇偶校验盘的负担,是RAID0和RAID1的折中方案。
RAID5具有是一种存储性能、数据安全和存储成本兼顾的存储解决方案。但是各方面性能以及速度都一般。5.RAID10,RAID01
![](http://s1.51cto.com/images/20180912/1536735140226655.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
6.RAID6.双重奇偶校验位RAID6:以上RAID等级只能保护一块盘数据丢失或损坏的情况,当2块以上的盘损坏时,则无法恢复数据,而RAID6是双重校验保护同时2块盘数据丢失或损坏,阵列仍能工作,成本非常高。实例:设置RAID5,使用mdadm命令基本语法 : mdadm [mode] [options]
[mode] 有7种:
Assemble:将以前定义的某个阵列加入当前在用阵列。
Build:Build a legacy array ,每个device 没有 superblocks
Create:创建一个新的阵列,每个device 具有 superblocks
Manage: 管理阵列,比如 add 或 remove
Misc:允许单独对阵列中的某个 device 做操作,比如抹去superblocks 或 终止在用的阵列。
Follow or Monitor:监控 raid 1,4,5,6 和 multipath 的状态
Grow:改变raid 容量或 阵列中的 device 数目
可用的 [options]:
-A, --assemble:加入一个以前定义的阵列
-B, --build:Build a legacy array without superblocks.
-C, --create:创建一个新的阵列
-Q, --query:查看一个device,判断它为一个 md device 或是 一个 md 阵列的一部分
-D, --detail:打印一个或多个 md device 的详细信息
-E, --examine:打印 device 上的 md superblock 的内容
-F, --follow, --monitor:选择 Monitor 模式
-G, --grow:改变在用阵列的大小或形态
-b, --brief:较少的细节。用于 --detail 和 --examine 选项
-f, --force
-c, --config= :指定配置文件,缺省为 /etc/mdadm/mdadm.conf
-s, --scan:扫描配置文件或 /proc/mdstat以搜寻丢失的信息。配置文件/etc/mdadm/mdadm.conf
create 或 build 使用的选项:
-c, --chunk=:Specify chunk size of kibibytes. 缺省为 64.
--rounding=: Specify rounding factor for linear array (==chunk size)
-l, --level=:设定 raid level.
--create可用:linear, raid0, 0, stripe, raid1,1, mirror, raid4, 4, raid5, 5, raid6, 6, multipath, mp.
--build可用:linear, raid0, 0, stripe.
-p, --parity=:设定 raid5 的奇偶校验规则:eft-asymmetric, left-symmetric, right-asymmetric, right-symmetric, la, ra, ls, rs.缺省为left-symmetric
-n, --raid-devices=:指定阵列中可用 device 数目,这个数目只能由 --grow 修改
-x, --spare-devices=:指定初始阵列的热备 数目
-z, --size=:组建RAID1/4/5/6后从每个device获取的空间总数
--assume-clean:目前仅用于 --build 选项
-R, --run:阵列中的某一部分出现在其他阵列或文件系统中时,mdadm会确认该阵列。此选项将不作确认。
-f, --force:通常mdadm不允许只用一个device 创建阵列,而且创建raid5时会使用一个device作为missing drive。此选项正相反。
-a, --auto{=no,yes,md,mdp,part,p}{NN}:
首先要安装mdadm,-C 指定名称,-l RAID级别,-n 几块设备,-x 一块热备 + 各个设备或分区 [root@www ~]# mdadm -C /dev/md0 -l 5 -n 3 -x 1 /dev/sde /dev/sdf /dev/sdg /dev/sdh #或者某块盘的几个分区,/dev/sdf{1,2,3,4,5} mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started.查看RAID重构速度与是否完成
[root@www ~]# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md127 : active raid5 sdh[3](S) sdg[4] sdf[1] sde[0] 207872 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU] unused devices: <none> You have mail in /var/spool/mail/root [root@www ~]#配置RAID配置文件,格式化并挂载
[root@www ~]# mdadm --detail --scan --verbose /dev/md0 > /etc/mdadm.conf#设置配置文件。默认是无。 [root@www ~]# mkfs.ext4 /dev/md0 mke2fs 1.41.12 (17-May-2010) 文件系统标签= 操作系统:Linux 块大小=1024 (log=0) 分块大小=1024 (log=0) Stride=512 blocks, Stripe width=1024 blocks 52000 inodes, 207872 blocks 10393 blocks (5.00%) reserved for the super user 第一个数据块=1 Maximum filesystem blocks=67371008 26 block groups 8192 blocks per group, 8192 fragments per group 2000 inodes per group Superblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729, 204801 正在写入inode表: 完成 Creating journal (4096 blocks): 完成 Writing superblocks and filesystem accounting information: 完成 This filesystem will be automatically checked every 32 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.查看RAID阵列详细信息
[root@www ~]# mdadm -D /dev/md127 mdadm: Unknown keyword /dev/md0: mdadm: Unknown keyword Working /dev/md127: Version : 1.2 Creation Time : Fri Aug 31 05:24:53 2018 Raid Level : raid5 Array Size : 207872 (203.03 MiB 212.86 MB) Used Dev Size : 103936 (101.52 MiB 106.43 MB) Raid Devices : 3 Total Devices : 4 Persistence : Superblock is persistent Update Time : Wed Sep 12 15:08:19 2018 State : clean Active Devices : 3 Working Devices : 4 Failed Devices : 0 Spare Devices : 1 Layout : left-symmetric Chunk Size : 512K Name : www:0 (local to host www) UUID : b7c928ab:54d90fdc:988b8879:f55ad474 Events : 27 Number Major Minor RaidDevice State 0 8 64 0 active sync /dev/sde 1 8 80 1 active sync /dev/sdf 4 8 96 2 active sync /dev/sdg 3 8 112 - spare /dev/sdh #热备 [root@www ~]#模拟/dev/sdg损坏
[root@www ~]# mdadm /dev/md127 --fail /dev/sdg mdadm: set /dev/sdg faulty in /dev/md127 [root@www ~]#再次查看RAID阵列信息
[root@www ~]# mdadm -D /dev/md127 /dev/md127: Version : 1.2 Creation Time : Fri Aug 31 05:24:53 2018 Raid Level : raid5 Array Size : 207872 (203.03 MiB 212.86 MB) Used Dev Size : 103936 (101.52 MiB 106.43 MB) Raid Devices : 3 Total Devices : 4 Persistence : Superblock is persistent Update Time : Wed Sep 12 15:26:07 2018 State : clean Active Devices : 3 Working Devices : 3 Failed Devices : 1 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Name : www:0 (local to host www) UUID : b7c928ab:54d90fdc:988b8879:f55ad474 Events : 46 Number Major Minor RaidDevice State 0 8 64 0 active sync /dev/sde 1 8 80 1 active sync /dev/sdf 3 8 112 2 active sync /dev/sdh #已更换热备 4 8 96 - faulty /dev/sdg #损坏 [root@www ~]#移除损坏的磁盘
[root@www ~]# mdadm /dev/md127 -r /dev/sdg mdadm: hot removed /dev/sdg from /dev/md127 [root@www ~]#新加一块热备盘
[root@www ~]# mdadm /dev/md127 --add /dev/sdl mdadm: added /dev/sdl [root@www ~]#查看RAID详细信息
[root@www ~]# mdadm -D /dev/md127 /dev/md127: Version : 1.2 Creation Time : Fri Aug 31 05:24:53 2018 Raid Level : raid5 Array Size : 207872 (203.03 MiB 212.86 MB) Used Dev Size : 103936 (101.52 MiB 106.43 MB) Raid Devices : 3 Total Devices : 4 Persistence : Superblock is persistent Update Time : Wed Sep 12 15:34:25 2018 State : clean Active Devices : 3 Working Devices : 4 Fail 5b4 ed Devices : 0 Spare Devices : 1 Layout : left-symmetric Chunk Size : 512K Name : www:0 (local to host www) UUID : b7c928ab:54d90fdc:988b8879:f55ad474 Events : 48 Number Major Minor RaidDevice State 0 8 64 0 active sync /dev/sde 1 8 80 1 active sync /dev/sdf 3 8 112 2 active sync /dev/sdh &nb 60f4 sp; 4 8 176 - spare /dev/sdl [root@www ~]#
相关文章推荐
- [置顶] 修改linux操作系统的时间可以使用date指令 运维系统工程师必会技术
- 存储RAID技术介绍
- 修改linux的时间可以使用date指令
- 修改linux操作系统的时间可以使用date指令 运维系统工程师必会技术
- 修改linux的时间可以使用date指令
- Linux时钟介绍和修改系统时间
- Linux下修改时间时区的方法介绍
- Linux下修改时间时区的方法介绍
- 从这里可以看到存储过程被 修改的时间 嘎嘎嘎
- Linux下raid技术以及几种Raid介绍
- 存储RAID技术介绍
- 修改linux的时间可以使用date指令
- 修改linux的时间可以使用date指令
- 修改linux的时间可以使用date指令
- 修改CentOS Linux的时间可以使用date指令
- 修改linux的时间可以使用date指令
- linux修改系统时间的详细方法介绍
- 存储RAID技术介绍
- ceph存储 git查看某个文件修改历史Linux下的命令
- 在 Linux 下使用 RAID(一):介绍 RAID 的级别和概念