我正在购买一台带有8个SAS磁盘的服务器来执行数据库密集型操作。 目前主要的瓶颈是postgres中的大型索引扫描。
我目前正在决定8x300Gb 10k磁盘或8x140Gb 15k磁盘,因为200Gb +逻辑空间会更方便。
RAID控制器的规格表指出: “集成的硬件RAID-0,-1,-1E,可选的RAID-5,-6,-10,-50,-60”
什么是最好的RAIDconfiguration,磁盘中最合适的select是什么?
我是configurationRAID和Postgres的新手,并欣赏这些build议。
集成硬件RAID-0,-1,-1E,可选RAID-5,-6,-10,-50,-60
这听起来有点令人担忧,听起来像是一个低端的RAID控制器。 你想要一个好的RAID控制器,可以跟上8快速硬盘(这实际上不是给定的)。 如果您有相当数量的写入数据库,那么您确实需要电池备份单元,并在RAID控制器上启用电池保护的写入caching 。
至于RAID磁盘布局,有两种常见的思想:
我不想在RAID卷devise上采取任何一方,它往往成为一个事实灯讨论。 理想情况下,您应该尝试不同的存储布局并针对您的特定工作负载进行基准testing。 我的直觉是,RAID10中的所有磁盘比多个工作负载更快,更健壮。
最后一件事,确保操作系统分区和RAID条带边界是一致的 ( 这里以Windows为中心,但是原则是一般的)。 您可以在创build分区时执行此操作。
使用RAID10arrays中的8x146GB磁盘(4个镜像对分成一组)。 这应该为您提供IO访问方面的最佳速度。
你应该阅读在BAARF的任何RAID五(四,… err,免费)之战的信息。 因此,build议使用RAID 10是好的。
而对于数据库性能,使用更快的磁盘(即使它们更小),而不是更慢的磁盘(即使它们更大)。
不要忘记把你的ext3 / 4对准你的RAID stripe / stride大小。 (man mkfs.ext3 / 4 – > stride)
顺便说一下,有没有postgres设置,使其写匹配的条纹大小?
(和谷歌RAID5写洞)