我管理的大多数 Linux 系统都具有硬件 RAID 控制器(主要是HP Smart Array)。他们都在运行 RHEL 或 CentOS。
我正在寻找真实世界的可调参数,以帮助优化将硬件 RAID 控制器与 SAS 磁盘(智能阵列、Perc、LSI 等)和电池后备或闪存后备缓存相结合的设置的性能。假设 RAID 1+0 和多个主轴(4 个以上的磁盘)。
我花了大量时间为低延迟和金融交易应用程序调整 Linux 网络设置。但其中许多选项都有详细记录(更改发送/接收缓冲区、修改 TCP 窗口设置等)。工程师在存储方面做什么?
从历史上看,我对I/O 调度电梯进行了更改,最近选择了deadline
和noop
调度程序来提高我的应用程序的性能。随着 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 选项。
我想知道是否有人在 HP (DL380p) Gen8 服务器中使用 Intel DC3700 SSD(或类似产品)有任何具体经验?
我正在升级一组使用直连存储的数据库服务器。通常,我们在服务器配置中使用 HP 品牌的所有东西,除了一些带有 SSD 的台式机(所有这些都完美无缺)之外,我还没有使用过 SSD——当然不在服务器中。
我们要升级的服务器在 Windows 上运行 SQL Server (2005)。我们正在迁移到 SQL 2012。当前的机器在 DL370 G6 上托管一个 200GB 的数据库,在 RAID 1+0 中配置了 72GB 15K SFF 驱动器,如下所示:OS(2 个轴)、tempdb(4 个轴)、t-logs(8 个轴) )、数据(20 个主轴)。性能不是问题(CPU 负载通常为 20%/峰值 30%,磁盘队列通常为 1)。数据卷磁盘在 P800 上的 MSA50 中运行 - 因此最高可能有 5K IOPS。硬件已接近 4 年,因此是时候进行更新了。
数据使用情况,由单个硬盘报告,显示自部署在数据卷上以来的写入量 < 100TB;< 10TB 写入事务日志卷;和 ~ 1TB 在 tempdb 上。
这就是用例。现在考虑一个新的、相同的磁盘子系统。每台服务器的运行成本约为 1.5 万美元(34 个 15K 硬盘 @ 250 美元 + 2 个 D2700 架 + 用于外部存储的智能阵列 P421)。 …
我打算在我的系统(HP ML370 G5、Smart Array P400、8 SAS 磁盘)上使用 ZFS。我希望 ZFS 单独管理所有磁盘,以便它可以利用更好的调度(即我想在 ZFS 中使用软件 RAID 功能)。
问题是,我找不到禁用 RAID 控制器上的 RAID 功能的方法。现在,控制器将所有磁盘聚合到一个大的 RAID-5 卷中。所以 ZFS 看不到单个磁盘。
有没有办法完成这个设置?
在具有 6 个磁盘的 raid 1+0 之上的 LVM 之上使用 XFS 的 DL380p gen8 服务器上,与 RHEL 5 相比,相同的工作负载导致 RHEL 6 上的磁盘写入增加了十倍,从而使应用程序无法使用。
请注意,我不是在尽可能地优化 co6 系统,而是在理解为什么 co6 的行为如此不同,并解决这个问题。
我们有一个 MySQL 复制设置,使用 mysql 5.5。使用 RHEL 6 作为操作系统的 gen8 服务器上的 Mysql 从服务器性能不佳,使用 vmstat 和 iostat 检查显示这些服务器执行十倍的页面输出活动和十倍的写入磁盘子系统的量。blktrace 显示这些写入不是由 mysql 发起的,而是由内核发起的。
Centos 5:
[dkaarsemaker@co5 ~]$ vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
3 0 12 252668 102684 10816864 0 …
Run Code Online (Sandbox Code Playgroud) 我们的 SQL 服务器负载越来越重,所有迹象都表明磁盘通道是瓶颈。当前的 HP 服务器具有相当低端的阵列卡,我们希望通过 Smart Array 卡和带有 SSD 驱动器的外部存储阵列来增强该服务器。
当前配置是:
数据库服务器托管一个相当大的数据库 (~100Gb),包含实时数据和历史数据。由于很多原因,拆分数据库不是一个选项,所以目前的想法是在新阵列上有多个逻辑驱动器,每个在它自己的通道上,然后将数据库拆分为逻辑 SQL 分区。
例如,该数组可能具有:
目前,我们正在研究带有高端智能阵列卡的D2600。
为了获得最大性能,我们确实需要每个逻辑驱动器都尽可能快地运行。惠普的规格表明,他们的高端 SSD 可以接近最大化智能阵列卡支持的 6Gb 连接。
但是,一些较大的 SA 卡表明它们支持“多通道”;我不清楚的是这是如何工作的。这是否意味着,使用从 SA 到 D2600 的单根电缆,每个 RAID 组都可以配置为获得自己的 6Gb 通道?或者 6Gb 是互连的限制,如果是,是否有任何配置选项(甚至不同的 HP 产品 - 不试图绕过“没有主观问题”规则,老实说 :) )可以克服这个限制?
编辑:我看不到任何可以执行此操作的 HP 服务器,但是如果有一个不错的 Proliant …
我刚刚在我的 HP ProLiant DL320G6 服务器中安装了一个 HP SmartArray P410 控制器。控制器似乎被服务器 BIOS 检测到(它显示在 BIOS 设置的控制器列表中),硬盘驱动器 LED 闪烁,但在引导期间从未提供控制器配置。当它说没有可启动磁盘并返回时,它就出现了。
文档说我应该在被要求输入 ORCA(阵列的选项 ROM 配置)时按 F8,但实际上我从未被要求按 F8。
任何想法如何设置它?
从这些先前提出的问题中剥离出来
我们有一个 HP 3PAR StoreServ 7400,其中 170 个虚拟机分布在 38 台主机上。
这是我理解的问题:(另外我被告知一些信息,我不确定它是否真实,我已经阅读了 HP 3PAR StoreServ 7400 白皮书并且真的找不到任何可以备份我的存储人员的东西告诉我。所以在下面如果有人注意到任何不真实的地方,请告诉我。)
3 PAR 分为 3 个部分,
第 1 层:SSD 用于缓存和快速访问常用文件。
第 2 层:和第 3 层:某种旋转盘,什么以及为什么有额外的 2 层我不确定,但我的假设是第 2 层用于不是最常访问但访问位的数据,第 3 层用于其余的存储。
在 SSD 部分中,当数据写入 SSD 块然后删除该块时,我在许多文章中读到过,直到将新数据写入该块时,该块才会归零,因此,当块内的数据被删除时,存储映射的表info 得到更新,然后当新数据写入同一个块时,该块首先需要归零,然后才能写入。如果驱动器没有周期性地调整,SSD 中的这个过程会导致较低的 w/r 速度。
3PAR LUN 是精简配置的,VM 是 Eager 厚配置的。
根据我的存储专家的说法,3PAR 有一个内置的特殊功能,可以根据需要将未使用的 SSD 存储提供给其他 VM,这是没有意义的。
事实核查:
厚置备的 VM 是一个 VMDK 文件,创建 VM 时,您指定 VM 的大小,这将创建一个 VMDK 文件。在我看来,这告诉我,如果 VM 被定期访问,那么整个 VMDK …
作为 Opteron 处理器系列的测试,我购买了带有 HP Smart Array P410i 控制器的 HP DL385 G7 6128 - 无内存。
该机器具有 20GB ram
2x146GB 15k rpm SAS + 2x250GB SATA2,均采用 Raid 1 配置。
我运行 Vmware ESXi 4.1。
问题:
即使只有一台虚拟机,尝试过Linux 2.6/Windows server 2008/Windows 7,虚拟机感觉真的很慢。在 Windows 7 中,vmware 转换器安装甚至超时。SATA盘和SAS盘都试过,SATA盘几乎不可用,而SAS盘感觉极慢。
我在基础架构客户端中看不到很多磁盘活动,但我一直没有寻找原因,甚至没有尝试过诊断,因为我觉得这要么是因为廉价的 raid 控制器 - 要么只是因为缺乏对它的记忆。
尽管存在问题,我还是继续安装了一个提供关键功能的虚拟机,因此将其关闭并运行诊断并不容易。
非常想知道你们对它有什么看法,它更有可能是控制器/磁盘的问题还是由于预算组件而导致性能低下?
提前致谢,
是否有人使用 HP Array Configuration Utility 命令行界面 (hpacucli.exe) 将物理磁盘信息存入文件?
我现在不在机器上,但基本上我想找出服务器中每个物理磁盘的状态,即良好、失败、预测失败、重建、丢失等。
我想从脚本中运行它,因此我可以通过管道传输到文件的单个(或一组)命令就是我正在寻找的。
理想情况下,安装尽可能简单,无需重新启动服务器。主要是DL380 G5's
因为它是否有帮助。