Raid基础知识
如果对运维课程感兴趣,可以在b站上、csdn或微信视频号 上搜索我的账号: 运维实战课程,可以关注我,学习更多免费的运维实战技术视频
1.Raid介绍
Raid是廉价冗余磁盘阵列的简称,也称为磁盘阵列。是一种把多块独立的物理磁盘(物理磁盘)按不同的技术方式组合起来形成一个磁盘组,在逻辑上(做完raid,装系统后)看起来就是一块大的磁盘,从而提供比单个物理磁盘更大的存储容量或更高的存储性能,同时又提供不同级别数据冗余备份的一种技术。
2.Raid级别介绍及区别
把多个物理磁盘通过不同的技术方式组成磁盘阵列,这个不同的技术方式就被称为raid级别。Raid级别一般有:raid0、raid1、raid0+1(也称raid10)、raid2、raid3、raid5、raid6、raid7、raid53。生产中常用的raid级别是:raid0、raid1、raid10、raid5
Raid0:读写速度最快,但没有冗余。实际应用场景:mysql slave,集群的节点RS
Raid1:100%的冗余,称为镜像,但读写性能一般,成本高。应用场景:单独的数据重要,不能宕机的业务。监控服务器,系统盘。
Raid5:具备一定性能和冗余,可以坏一块盘,读性能不错,但写入性能不高,介于0和1之间。应用场景:一般的业务都可以用。
Raid10(raid10):读写速度很快,100%冗余,但成本高。综合了0和1的优点。应用场景:性能和冗余要求都很高的业务。数据库主库和存储主节点。
3.Raid技术分类:硬raid技术和软raid技术。
软raid技术:在linux下安装系统过程中或装系统后通过自带的软件就能实现软raid功能,使用软raid可省去购买昂贵的硬件raid控制器和附件就能极大第增强磁盘的IO性能和可靠性。由于是用软件去实现raid功能,所以它配置灵活、管理方便。同时使用软件raid,还可以实现将几个物理磁盘合并成一股更大的虚拟设备,从而达到性能改进和数据冗余的目的。
硬raid技术:比软件raid技术在使用性能和服务性能上更胜一筹,具体表现在检测和修复多位错误的能力,错误磁盘自动检测和阵列重建等方面。从安全性上考虑,基于硬件的raid解决方案也是更安全的,因此在实际的生产场景工作中,基于硬件的raid解决方案应该是我们的首选。互联网公司常用的是生产DELL服务器,默认的就会支持raid0,raid1,如果要支持raid5,raid10就需要买raid卡。
4.Lvm和raid区别
Lvm是逻辑卷管理,它的最大用途是可以灵活的管理磁盘的容量,让磁盘分区可以随意放大或缩小,便于更好的应用磁盘的剩余空间,如果过于强调性能和备份,那么还是应该使用raid功能,而不是lvm。Lvm是在硬盘的分区之上,创建一个逻辑层,以方便系统管理整个硬盘分区系统。简单的说;lvm就是讲几个物理分区或磁盘通过软件组合在一起,看起来像是一个独立的大磁盘,如果要用这块大磁盘,就要在将它分割为可以使用的分区(lv),可以在这个可使用的分区上随意切割、增加或减小分区容量。
lvm和raid区别:
lvm:灵活的管理磁盘的容量,有一定的冗余和性能功能,但很弱。
Raid:更侧重于性能和数据安全。
5.用raid最直接的好处:
提升数据安全性,提升数据读写性能,提供更大的单一逻辑磁盘数据容量存储。
6.各级raid的详细介绍
Raid0提高存储性能的原理:
是把连续的数据分散到多个磁盘上存取。这样系统有数据读写请求就可以在多个磁盘并行的执行。每个磁盘读写属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。
要制作raid0要求至少是1块物理磁盘,一般用来做raid的不同磁盘大小最好一样,可以充分发挥并行优势,而数据分散存储在不同的磁盘上,在读写的时候可以实现并发,所以raid0读写性能最好,但是没有容错功能。即任何一个磁盘的损坏会导致整个raid的全部数据丢失。
Raid1描述:
Raid1又称为镜像,宗旨是最大限度的保证用户数据的可用性和可修复性,raid1的操作方式是把用户写入一个磁盘的数据百分之百的自动复制到另外一块磁盘上,从而实现存储双份的数据。
要制作raid1,要求仅支持2块盘,只能选择2块,第3块选择不了,整个raid大小等于两个磁盘中最小的那块磁盘的容量(当然,最好使用同样大小的磁盘),在存储时同时写入两块磁盘,实现了数据完整备份,但相对降低了写入性能,但是读取数据时可以并发(有的说只能读单盘,有待验证)
损失50%的数据容量,如:2块1T的硬盘,做raid1后,容量为1T
Raid5介绍:
是一种存储性能、数据安全和存储成本兼顾的存储解决方案。介于raid0,raid1之间。
需要3块或以上的物理磁盘,可以提供热备盘实现故障的恢复,采用奇偶校验,可靠性强,且只有同时损坏两块硬盘时数据才完全损坏,只损坏一块硬盘时,系统会根据存储的奇偶校验定位重建数据,临时提供服务,此时如果有热备盘,系统还会自动在热备上重建故障磁盘上的数据。
容量损失一块盘,性能具有和raid0相似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度对比单个磁盘进行写入操作稍慢。
冗余:可以损失一块盘,数据安全保障比raid1低但磁盘利用空间比raid1高。
适合应用在对性能和冗余都有一定要求,又不是十分高的情况。入:mysql的主从库,存储也可以,普通的服务器,为了减少维护成本,又保持一定冗余和读性能都可以做raid5
Raid10(1+0)介绍:
是raid0和raid1的组合形式,也称为raid10,它在提供与raid1一样的数据安全保障的同时,也提高了与raid0近似的存储性能。最少4块盘。不支持虚拟磁盘。
如下图(raid10模型):如果左边的raid1系统中有一块磁盘损坏,此时允许再次损坏的磁盘就剩下两块,也就是右边的raid1中海可以再损坏任意一块磁盘,而整体数据仍然是可用的。
Raid01模型:如果左边的raid0系统中有一块磁盘损坏,此时左边的raid0系统便没有丝毫作用了,所有的IO均转向右边的raid0系统。而此时,仅仅允许左边剩余的那块磁盘损坏。如果右边任何一块磁盘损坏,则整体数据将不可用。综合起来,raid10系统要比raid01系统冗余度高,安全性高,所以两者相比,常用的是raid10,这是理论,实际不这么做。
如果对运维课程感兴趣,可以在b站上、csdn或微信视频号 上搜索我的账号: 运维实战课程,可以关注我,学习更多免费的运维实战技术视频