我被困在如何最好地配置磁盘阵列。我们有Hp P2000 G3磁盘阵列,每个磁盘有24个SAS物理磁盘,300 G3。我们需要配置这个数组获得两个PostgreSQL 9.2的副本,因为两个不同的系统。我们知道,建议将数据库和事务日志(Pg_xlog)文件存储在不同的磁盘上。
因此,我们必须设置4个逻辑磁盘:
2 for transaction logs with RAID 1
2 for database with RAID 10这个分配方案对吗?或者,最好用4个逻辑磁盘制作一个大RAID 10?

发布于 2012-11-30 09:44:38
分离xlog和主堆/索引的建议是减少磁盘刷新的影响。
对于高端设备来说,这不应该是必需的。如果您关心性能,您应该使用一个RAID控制器与持久的写回高速缓存(电池支持,闪存,或混合),在回写缓存模式。这将几乎完全消除同步刷新的成本,并允许您单独优化吞吐量。
这个HP P2000 G3磁盘阵列似乎是标准的,有2GB的读/写缓存。确保它处于回写模式。
通常,对于RAID控制器和磁盘阵列,请确保购买回写缓存模块并使用它。无论花费多少,它都会极大地提高数组的写入性能,以至于您无法相信。
至于数组布局,做出这些决定的最佳方法是测试吞吐量。使用PgBench (最好优化以模拟工作负载)和原始磁盘I/O基准测试。查看哪些数组安排为您提供了最佳的吞吐量和最低的同步延迟。
记住要考虑多个磁盘故障。RAID10中的2x8磁盘数组(8个磁盘跨,镜像一次)足够大,完全有可能出现双磁盘故障。你能负担得起停机时间吗?您是否会运行流只读副本或PITR从服务器,以便在丢失数组时不会丢失数据?计算出失败的概率,并记住有50%的机会有50%的任何双磁盘故障,取出整个阵列。
https://serverfault.com/questions/453767
复制相似问题