我看到有这种configuration的服务器。 这是什么意思?
# cat /proc/mdstat Personalities : [raid1] md0 : active raid1 sda1[0] sdc1[2] sdb1[1] 48827264 blocks super 1.0 [3/3] [UUU]
这是否意味着通过3个驱动器镜像数据,所以有3个磁盘具有相同的数据? 有什么好处? 更多阅读性能的好处之一?
Linux软件RAID 1的实现是一个非标准的RAID级别,可以由奇数个磁盘组成,也称为RAID 1E。 每个磁带都是镜像的,通常在两个磁盘上,这使您可以从一个磁盘的故障中恢复。 与所有RAID 1相比,与单个磁盘相比,其读取性能提高了一倍。 有了3个磁盘,你就有了2个磁盘的有效容量。 将一个磁盘的RAID1扩展到四个将其转换为RAID 1-0卷。
2 drives (RAID1) 3 drives (RAID 1E) 4 drives (RAID 10) -------- ---------- -------------- A1 A1 A1 A1 A2 A1 A1 A2 A2 A2 A2 A2 A3 A3 A3 A3 A4 A4 A3 A3 A4 A4 A5 A5 A5 A6 A6 A4 A4 A5 A6 A6 A7 A7 A8 A8 .. .. .. .. .. .. .. .. ..
此设置的可靠性和容量与3磁盘RAID 5相同,但镜像条纹比计算奇偶校验条纹要便宜。
从理论上讲,你的设置也可能是一个RAID1,其中每一个条带都被镜像三次,但是这看起来不太可能,你可以将读取性能提高三倍,但是只有单个磁盘的容量:
3 drives (RAID1) -------------- A1 A1 A1 A2 A2 A2 A3 A3 A3 A4 A4 A4 .. .. ..
命令mdadm --detail /dev/md0将显示布局 。 RAID10的布局选项是“n”,“o”或“f”之后的一个小数字。 数字表示数据块复制的次数,冗余级别。 默认值是'n2'。 支持的选项是:
n信号“接近”的副本。 一个数据块的多个副本在不同的设备中具有相似的偏移量。
o信号“偏移”副本。 整个条纹不是在条纹内重复,而是由一个设备旋转,因此重复的块位于不同的设备上。 因此,块的后续副本在下一个驱动器中,并且是更下面的一个块。
f信号“远”拷贝(多个拷贝具有非常不同的偏移量)。 有关'near','offset'和'far'的更多细节,请参阅md(4)
”。
对于需要快速访问的重要数据而言,这是一种典型的configuration,并且数据库一般会加载。
如果您的RAID1有两个磁盘,而其中一个磁盘出现故障,那么在重build完成之前,您不会有冗余,因此剩余磁盘上的任何有缺陷的扇区都将导致错误(这也是RAID5系统经常死机的原因) 。
另外,在数据库设置中,随机读取性能至关重要。 有三个磁盘给你三组可以独立定位的读写头,大大提高了性能。
这是使用3个磁盘的RAID,为您提供更高的读取速度和更高的容错性。
我已经看到数据库服务器上的设置,pipe理员希望进行完全备份,但不希望延长数据库的停机时间。 他们用3个镜像创build了raid设置,当需要备份的时候,停止数据库,从raid中删除一个磁盘,从那个磁盘上做备份,并且在备份完成之后,把磁盘放回到raid中, RAID控制器处理重新镜像。
这是近20年前, 当然,现在,你更愿意使用逻辑卷和快照。