相关疑难解决方法(0)

Linux - 真实世界的硬件 RAID 控制器调整(scsi 和 cciss)

我管理的大多数 Linux 系统都具有硬件 RAID 控制器(主要是HP Smart Array)。他们都在运行 RHEL 或 CentOS。

我正在寻找真实世界的可调参数,以帮助优化将硬件 RAID 控制器与 SAS 磁盘(智能阵列、Perc、LSI 等)和电池后备或闪存后备缓存相结合的设置的性能。假设 RAID 1+0 和多个主轴(4 个以上的磁盘)。

我花了大量时间为低延迟和金融交易应用程序调整 Linux 网络设置。但其中许多选项都有详细记录(更改发送/接收缓冲区、修改 TCP 窗口设置等)。工程师在存储方面做什么?

从历史上看,我对I/O 调度电梯进行了更改,最近选择了deadlinenoop调度程序来提高我的应用程序的性能。随着 RHEL 版本的进步,我还注意到 SCSI 和 CCISS 块设备的编译默认值也发生了变化。随着时间的推移,这对推荐的存储子系统设置产生了影响。但是,我已经有一段时间没有看到任何明确的建议了。而且我知道操作系统默认设置不是最佳的。例如,对于服务器级硬件上的部署而言,128kb 的默认预读缓冲区似乎非常小。

以下文章探讨了更改预读缓存和nr_requests值对块队列的性能影响。

http://zackreed.me/articles/54-hp-smart-array-p410-controller-tuning
http://www.overclock.net/t/515068/tuning-a-hp-smart-array-p400-with -linux-why-tuning-really-matters
http://yoshinorimatsunobu.blogspot.com/2009/04/linux-io-scheduler-queue-size-and.html

例如,以下是 HP Smart Array RAID 控制器的建议更改:

echo "noop" > /sys/block/cciss\!c0d0/queue/scheduler 
blockdev --setra 65536 /dev/cciss/c0d0
echo 512 > /sys/block/cciss\!c0d0/queue/nr_requests
echo 2048 > /sys/block/cciss\!c0d0/queue/read_ahead_kb
Run Code Online (Sandbox Code Playgroud)

还有什么可以可靠地调整来提高存储性能?
我专门在生产场景中寻找 sysctl 和 sysfs 选项。

storage hp performance-tuning hp-smart-array hardware-raid

29
推荐指数
1
解决办法
2万
查看次数

每天接收数百 GB 数据的服务器上的阵列

希望这是一个简单的问题。现在我们正在部署用作数据仓库的服务器。我知道使用 RAID 5 的最佳做法是每个 RAID 5 6 个磁盘。但是,我们的计划是使用 RAID 10(为了性能和安全)。我们总共有 14 个磁盘(实际上有 16 个,但有两个用于操作系统)。记住性能是一个很大的问题,哪个更好 - 做几个 RAID 1?做一个大的RAID 10?一个大型RAID 10是我们最初的计划,但我想看看是否有人有任何我没有想到的意见。

请注意:此系统是为使用 RAID 1+0 而设计的,因此丢失一半的原始存储容量不是问题。抱歉,我最初没有提到这一点。更关心的是我们是要使用一个包含所有 14 个磁盘的大型 RAID 1+0,还是几个较小的 RAID 1+0,然后使用 LVM 对它们进行条带化。我知道更高 RAID 级别的最佳做法是永远不要在阵列中使用超过 6 个磁盘。

raid

3
推荐指数
1
解决办法
502
查看次数