我听从了一位熟人的建议,为我订购的这台服务器设置了 RAID。规格如下。我计划使用此服务器在 PHP/MySQL 环境中托管多个站点,并在 Ubuntu Server 中托管 SVN 存储库。我希望有一个设置,其中主驱动器是镜像的,这样如果驱动器发生故障,服务器就可以使用另一对驱动器。
我正在阅读维基百科关于突袭设置,我看到了 RAID 0-5,但在维基百科上没有看到 10。也许我只是不确定我在寻找什么,老实说,我从未使用过任何 RAID。
板载英特尔 ESB2 RAID 控制器 - 0、1、5、10 SATA RAID
Manufacturer: SuperMicro
Model / Part Number: 6015P-TR
Processor(s): Dual (2x) Intel Xeon 2GHz 5130 Dual Core 64-Bit Processors - 4MB Cache, 1333MHz FSB
Memory: 4GB RAM (4x 1GB PC2-5300) - 8 slots on motherboard
Hard Drive(s): Four (4) Hitachi 500GB 7200RPM SATA Hard Drives
Optical Drive: DVD-ROM
Floppy Drive: Included
Network Interface: Dual 10/100/1000 Gigabit Ethernet
RAID: On-Board Intel ESB2 RAID controller - 0,1,5,10 SATA RAID
Power Supplies: 2 (Redundant) - 700W each
Form Factor: Rack Mount - 1U
由于我对 RAID 很陌生,所以我不确定采用 RAID 的最佳路线是什么。
更新
此时,当我从 RAID 控制器中选择 RAID10 并进入 Ubuntu 服务器安装时,它会显示 2 个独立的 500GB 驱动器,而不是单个 1 TB 驱动器。Ubuntu 在安装期间没有给我任何 RAID 选项。
我想我只需将所有内容安装在服务器的 500 GB 驱动器之一上,然后将我网站的所有数据放在另一个驱动器上。
我需要尽快启动这台服务器,我不能花数周时间解决 RAID 问题。
答案1
大多数 RAID 级别的理念是通过结合以下方法为磁盘阵列提供更好的可靠性或速度:
- 条纹- 高效地将数据分割到两个或多个磁盘上
+speed
- 镜像- 将数据复制到两个或更多磁盘上
-capacity
+reliability
- 平价- 单独的磁盘来验证其他磁盘上的数据是否正确
+reliability
你必须决定什么对你来说是最重要的,容量,可靠性, 或者速度。
突袭 1+0
官方名称为RAID 10是RAID 1+0. Raid 1+0 是速度和可靠性之间的良好折衷,因为它结合了条纹和镜像。使用 Raid 1+0,您将拥有1TB的空间。
RAID 1+0 硬件控制器的工作原理:
+-----------------------------------------------------+
| | :
| 500GB 500GB 500GB 500GB | :
| | | | | | :
| +-500GB-MIRROR-+ +-500GB-MIRROR-+ | : RAID Controller
| | | | :
| +---------1TB-STRIPE--------+ | :
| | | :
+-------------------------|---------------------------+
|
+-------------------------|---------------------------+
| | | :
| OPERATING SYSTEM | :
| | | : Software
| APPLICATION | :
| | :
+-----------------------------------------------------+
重要的是要理解,有了 RAID 控制器,操作系统就知道没有什么关于 RAID 或多个磁盘,它只会看到一个简单的单个硬盘。所有硬件控制的 RAID 配置都必须通过 BIOS 完成。
冗余:RAID 1+0 与 RAID 0+1
RAID 0+1实际上是RAID 1+0,恰恰相反:
RAID 1+0 ¡ RAID 0+1
|
[#] [#] [#] [#] | [#] [#] [#] [#]
| | | | | | | | |
+-MIRROR-+ +-MIRROR-+ | +-STRIPE-+ +-STRIPE-+
| | | | |
+----STRIPE----+ | +----MIRROR----+
| ! |
但是,RAID 1+0 的使用更为普遍,因为它具有更好的冗余性(由于多个驱动器故障而导致阵列故障的可能性更小)。每个 RAID 级别的阵列故障概率为:
- RAID 1+0:
1 drive fails: 0 (0%)
,,2 drives fail: ⅓ (33%)
3 drives fail: 1 (100%)
- RAID 0+1:
1 drive fails: 0 (0%)
,,2 drives fail: ⅔ (66%)
3 drives fail: 1 (100%)
答案2
和往常一样,在房间里问:“我应该使用哪个 RAID 级别?”,你会得到 (N + 1) 个答案,其中 N 是房间里的系统管理员数量。你可能想读一下关于这个话题的过去帖子有很多。
对于 4 磁盘服务器,我会说:
如果要最大化性能,请选择 RAID“10”。这是显而易见的。请注意,RAID“10”不是经典的 RAID 级别,而是嵌套 RAID,并且根据制造商的实施,它是 RAID 0+1 或 RAID 1+0。
如果要最大化磁盘空间,请选择 RAID 5。不要只在 4 个驱动器上使用 RAID 6,RAID 6 用于防止同时发生 2 个磁盘故障,而这种情况在只有 4 个磁盘的情况下极不可能发生。在大型(~10+ 个磁盘)阵列中,这种情况更有可能发生,因为重建时间也更长。请记住,RAID 5 的小文件写入性能不好。
使用 RAID 10 您将拥有 1 TB 空间,使用 RAID 5 您将拥有 1.5 TB(未校正文件系统开销和硬盘制造商的营销)。
不要忘记设置主动监控,这样如果磁盘出现故障,您就会收到警报,以便您可以更换它并重建阵列以达到最佳效果。
答案3
RAID 10 不是正式的 RAID 级别,而是嵌套 RAID 级别。它实际上是 RAID 1+0,即镜像条带。您可以有效地将 2 个或更多 RAID 1 集分成一个 RAID 0 集。
在普通的 RAID 0 组中,如果一个磁盘发生故障,您将丢失整个阵列;在 RAID 10 组中,如果整个镜像组发生故障,您将丢失整个阵列。
因此,在考虑需要哪种设置时,取决于您是需要冗余、速度还是两者兼而有之。如果您只需要冗余,那么 RAID 1 或 5 更适合您,从 RAID 1 到 10 不会获得额外的冗余。
答案4
在这种情况下,您需要在可靠性和速度之间做出选择。
您可以使用 RAID 10,正如 Sam Cogan 指出的那样,它是 RAID 0(条带)的 RAID 1(镜像)。这是性能更高的选项。正如 Sam 还指出的那样,您可以丢失一个磁盘,但仍然可以拥有一套完好无损的磁盘。丢失第二块磁盘有 50% 的几率导致数据丢失,因为有可能完全丢失一套 RAID 1。
如果您宁愿牺牲性能来换取可靠性,则可以使用 RAID 6,它保留 2 个驱动器用于奇偶校验信息。由于您有 4 个驱动器,因此您将拥有 2 个驱动器的可用空间(在本例中与 RAID10 相同)。这比 RAID10 慢,但任何时候都不会因为 2 个磁盘丢失而导致数据丢失。