Joh*_*ohn 5 oracle raid storage ssd oracle-11g
我正在为一个小型但读取 I/O 密集型数据库配置服务器。它用作公共访问更大的 Oracle RAC 数据库的主索引。在查看 I/O 要求时,确定一组 SSD 将提供所需的性能,并且成本低于大量 SAS 15K 轴。我有一台 HP 服务器,带有仅连接到 SSD 的 Smart Array P400。控制器有 256MB 的 BBWC。SSD 是三星(我相信)制造的基于 60GB SLC 的 2.5" SATA。
我想知道是否有人了解 RAID 10 或 5 的最佳条带大小、文件系统建议?我们将使用 Oracle 11g,所以我相信我需要有一个文件系统而不是使用 RAW 块设备。服务器将运行 RHEL 5.5。
在过去的几个月里,我阅读了大量关于 SSD 的文章,我并不反对做更多的工作,但是我的 google-fu 已经开始让我无法继续前进。我在 SSD RAID 上找到的大多数文档都是针对那些为家用 PC 上的启动驱动器执行消费级 SSD RAID 0 的人,以加快 Windows 7 启动和加载游戏的速度。我的意思是,我不是在找人来做我的工作,只是提供他们的任何经验或他们找到的文档的链接。
提前致谢!
编辑一些额外的信息,而不是回复每一条评论:
驱动器空间根本不是问题,因为数据库足够小,可以毫无问题地安装在其中一个 SSD 上。
作为一个读取量很大的数据库(4-8k 中的 95%+ 随机读取),我认为我可能会从 RAID 5 中获得更好的性能,因为我可以从阵列中的 N-1 个驱动器读取,而不仅仅是从阵列中的活动磁盘读取镜像,因为我读过一些内容表明 Smart Array P400 不支持从 RAID 10 组中的镜像两侧读取。也就是说,在我不得不担心之前,我相当肯定控制器最终会成为瓶颈。
关于 TRIM:我相当肯定,即使这些驱动器支持 TRIM(我不相信他们支持),那么将 TRIM 命令通过 RAID 控制器推送到单个驱动器也会有些困难。操作系统支持也很冒险,因为 Red Hat Enterprise Linux 5 仍然基于 2.6.18 内核树,尽管进行了大量自定义以从更高版本的内核版本中引入功能。EXT4 还没有得到官方支持,作为一个生产盒,我需要让自己处于 Red Hat 和 HP 会在出现问题时帮助我的领域。不过,我确实相信在驱动器级别存在某种垃圾收集。我在不同的基准测试过程中多次填充磁盘,并且没有
以下是使用 256KB 条带大小的 6 驱动器 RAID 10 阵列的一些基准数据。分区为 EXT3,64 个扇区对齐。使用 NOOP 调度程序,并在挂载时给出 NOATIME 选项。我还将操作系统读取缓存增加到 8MB(我相信默认值为 512K)。我在这个测试中使用了 Iozone 3.347,记录大小为 4KB,基准文件大小为 25GB,希望能从图片中取出缓存并测量驱动器的实际性能。我还用四个线程运行了它(4x25GB 文件由 4 个子进程写入以对驱动器施加压力。)
运行开始:2010 年 8 月 30 日星期一 12:09:57
Record Size 4 KB
File size set to 26214400 KB
Command line used: /opt/iozone/bin/iozone -b /root/4k25g4t.xls -r 4k -s 25g -t 4 -i 0 -i 1 -i 2
Output is in Kbytes/sec
Time Resolution = 0.000001 seconds.
Processor cache size set to 1024 Kbytes.
Processor cache line size set to 32 bytes.
File stride size set to 17 * record size.
Throughput test with 4 processes
Each process writes a 26214400 Kbyte file in 4 Kbyte records
Children see throughput for 4 initial writers = 253416.93 KB/sec
Parent sees throughput for 4 initial writers = 229461.66 KB/sec
Min throughput per process = 61416.07 KB/sec
Max throughput per process = 64604.90 KB/sec
Avg throughput per process = 63354.23 KB/sec
Min xfer = 24924492.00 KB
Children see throughput for 4 rewriters = 259375.90 KB/sec
Parent sees throughput for 4 rewriters = 234136.11 KB/sec
Min throughput per process = 63879.16 KB/sec
Max throughput per process = 65675.30 KB/sec
Avg throughput per process = 64843.97 KB/sec
Min xfer = 25497648.00 KB
Children see throughput for 4 readers = 490873.09 KB/sec
Parent sees throughput for 4 readers = 490830.09 KB/sec
Min throughput per process = 119007.65 KB/sec
Max throughput per process = 124878.35 KB/sec
Avg throughput per process = 122718.27 KB/sec
Min xfer = 24984912.00 KB
Children see throughput for 4 re-readers = 477533.65 KB/sec
Parent sees throughput for 4 re-readers = 477503.03 KB/sec
Min throughput per process = 115802.55 KB/sec
Max throughput per process = 121579.46 KB/sec
Avg throughput per process = 119383.41 KB/sec
Min xfer = 24973364.00 KB
Children see throughput for 4 random readers = 35728.62 KB/sec
Parent sees throughput for 4 random readers = 35728.53 KB/sec
Min throughput per process = 8926.97 KB/sec
Max throughput per process = 8937.35 KB/sec
Avg throughput per process = 8932.16 KB/sec
Min xfer = 26183936.00 KB
Children see throughput for 4 random writers = 23527.42 KB/sec
Parent sees throughput for 4 random writers = 20701.37 KB/sec
Min throughput per process = 5757.43 KB/sec
Max throughput per process = 6035.68 KB/sec
Avg throughput per process = 5881.86 KB/sec
Min xfer = 25011236.00 KB
"Throughput report Y-axis is type of test X-axis is number of processes"
"Record size = 4 Kbytes "
"Output is in Kbytes/sec"
" Initial write " 253416.93
" Rewrite " 259375.90
" Read " 490873.09
" Re-read " 477533.65
" Random read " 35728.62
" Random write " 23527.42
Run Code Online (Sandbox Code Playgroud)
到目前为止我在其他答案中没有看到的一些要点:
一般来说,SSD 在随机 IO 方面的速度大约是 SAS 驱动器的 100 倍。多一点。根据您的要求,用 SSD 的 RAID 5 替换 SAS 的 RAID 10 是完全可行的,并且在 IOPS 和价格方面仍然显着领先。
最佳条带大小通常是 64k 的倍数 - 尤其是当 SSD 在这些段中读/写时。那么不一定需要 TRIM(没有部分写入)...但如果有的话那就太好了。
MS在数据库中有一些关于SSD的文章,这些文章也适用于oracle(相同的原理-优化IOPS)。Oracle 也应该有一些。
归档时间: |
|
查看次数: |
5651 次 |
最近记录: |