HP DL380p Gen8(p420i控制器)XFS分区上的I / O奇怪

在具有6个磁盘的raid 1 0之上的LVM上使用XFS的DL380p gen8服务器上,与RHEL 5相比,相同的工作负载导致RHEL 6上的磁盘写入增加了10倍,使应用程序无法使用.

请注意,我不是要尽可能地优化co6系统,而是要理解为什么co6表现得如此截然不同,并解决这个问题.

的vmstat / iostat的

我们使用mysql 5.5进行MySQL复制设置.使用RHEL 6作为操作系统的gen8服务器上的MysqL从属执行得很糟糕,使用vmstat和iostat检查显示这些服务器执行的页面输出活动是十倍,磁盘子系统的写入量是十倍. blktrace表明这些写操作不是由MysqL启动的,而是由内核启动的.

第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    0     8   124    0    0  9  1 90  0  0
 1  0     12 251580 102692 10817116    0    0    48  2495 3619 5268  6  1 93  0  0
 3  0     12 252168 102692 10817848    0    0    32  2103 4323 5956  6  1 94  0  0
 3  0     12 252260 102700 10818672    0    0   128  5212 5365 8142 10  1 89  0  0

[dkaarsemaker@co5 ~]$iostat 1
Linux 2.6.18-308.el5 (bc290bprdb-01.lhr4.prod.booking.com)  02/28/2013

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           8.74    0.00    0.81    0.25    0.00   90.21

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
cciss/c0d0      277.76       399.60      5952.53 2890574849 43058478233
cciss/c0d0p1      0.01         0.25         0.01    1802147      61862
cciss/c0d0p2      0.00         0.01         0.00     101334      32552
cciss/c0d0p3    277.75       399.34      5952.52 2888669185 43058383819
dm-0             32.50        15.00       256.41  108511602 1854809120
dm-1            270.24       322.97      5693.34 2336270565 41183532042

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           7.49    0.00    0.79    0.08    0.00   91.64

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
cciss/c0d0      300.00        32.00      4026.00         32       4026
cciss/c0d0p1      0.00         0.00         0.00          0          0
cciss/c0d0p2      0.00         0.00         0.00          0          0
cciss/c0d0p3    300.00        32.00      4026.00         32       4026
dm-0              0.00         0.00         0.00          0          0
dm-1            300.00        32.00      4026.00         32       4026

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           4.25    0.00    0.46    0.21    0.00   95.09

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
cciss/c0d0      507.00       160.00     10370.00        160      10370
cciss/c0d0p1      0.00         0.00         0.00          0          0
cciss/c0d0p2      0.00         0.00         0.00          0          0
cciss/c0d0p3    507.00       160.00     10370.00        160      10370
dm-0              0.00         0.00         0.00          0          0
dm-1            507.00       160.00     10370.00        160      10370

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5.33    0.00    0.50    0.08    0.00   94.09

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
cciss/c0d0      318.00        64.00      4559.00         64       4559
cciss/c0d0p1      0.00         0.00         0.00          0          0
cciss/c0d0p2      0.00         0.00         0.00          0          0
cciss/c0d0p3    319.00        64.00      4561.00         64       4561
dm-0              0.00         0.00         0.00          0          0
dm-1            319.00        64.00      4561.00         64       4561

在Centos 6上,分页和磁盘写入增加了十倍:

[root@co6 ~]# 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
 0  0      0 361044  52340 81965728    0    0    19  1804   36  110  1  1 98  0  0  
 0  0      0 358996  52340 81965808    0    0   272 57584 1211 3619  0  0 99  0  0  
 2  0      0 356176  52348 81966800    0    0   240 34128 2121 14017  1  0 98  0  0 
 0  1      0 351844  52364 81968848    0    0  1616 29128 3648 3985  1  1 97  1  0  
 0  0      0 353000  52364 81969296    0    0   480 44872 1441 3480  1  0 99  0  0  

[root@co6 ~]# iostat 1
Linux 2.6.32-279.22.1.el6.x86_64 (bc291bprdb-01.lhr4.prod.booking.com)  02/28/2013  _x86_64_    (32 cpu)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.08    0.00    0.67    0.27    0.00   97.98

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda             373.48      1203.02    115203.05   11343270 1086250748
dm-0             63.63        74.92       493.63     706418    4654464
dm-1            356.48      1126.72    114709.47   10623848 1081596740

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.25    0.00    0.19    0.06    0.00   99.50

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda             330.00        80.00     77976.00         80      77976
dm-0              0.00         0.00         0.00          0          0
dm-1            328.00        64.00     77456.00         64      77456

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.38    0.00    0.19    0.63    0.00   98.81

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda             570.00      1664.00    128120.00       1664     128120
dm-0              0.00         0.00         0.00          0          0
dm-1            570.00      1664.00    128120.00       1664     128120

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.66    0.00    0.47    0.03    0.00   98.84

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda             317.00       448.00     73048.00        448      73048
dm-0             34.00         0.00       272.00          0        272
dm-1            309.00       448.00     72776.00        448      72776

缩小范围

使用RHEL 5的第8代服务器和使用RHEL 5或6的第7代服务器不显示
这个问题.此外,RHEL 6使用ext3作为文件系统而不是我们的
认xfs不显示问题.问题实际上似乎介于XFS,gen8硬件和centos 6之间.RHEL 6也显示了这个问题.

编辑29/04:我们在G8机器上添加了qlogic HBA.在光纤通道存储上使用XFS不会显示问题.所以它肯定在xfs / hpsa / p420i之间的交互中.

XFS

rhel 8中较新的xfs似乎能够检测底层条带宽度,但是
仅在使用hpsa驱动程序的p420i控制器上,而不是使用p410i控制器
CCISS.

xfs_info输出

[root@co6 ~]# xfs_info /MysqL/bp/
Meta-data=/dev/mapper/sysvm-MysqLVol isize=256    agcount=16,agsize=4915136 blks
         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=78642176,imaxpct=25
         =                       sunit=64     swidth=192 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal               bsize=4096   blocks=38400,version=2
         =                       sectsz=512   sunit=64 blks,lazy-count=1
realtime =none                   extsz=4096   blocks=0,rtextents=0

在上面标记为OK的所有设置中,sunit / swidth均为0.我们似乎是
无法在mkfs或noalign挂载选项中更改此设置.我们也
不知道这是不是原因.

页面

其他在rhel 6上有XFS问题的人说,禁用大页面,和
特别透明的大页面可能是有益的.我们两个都禁用了
问题没有消失.

我们已经尝试并观察了许多事情,以下都没有帮助:

>使用numactl影响内存分配.我们注意到g7和g8具有不同的numa布局,没有看到效果
>较新的内核(新的3.6)似乎没有解决这个问题.也没有使用fedora 17.
> iostat不会报告写入事务增加十倍,只会写入写入的字节数
>使用不同的I / O调度程序无效.
>挂载相关文件系统noatime / nobarrier / nopdiratime没有帮助
>更改/ proc / sys / vm / dirty_ratio无效
>在基于2640和2670 cpu的系统上都会发生这种情况
> hpsa-3.2.0无法解决问题

XFS和EL6已经陷入了丑陋的状态……我暂时放弃了EL6系统上的XFS,因为有几个上游功能/更改进入了Red Hat内核……

这是一个惊喜,并引起了一些恐慌:Why are my XFS filesystems suddenly consuming more space and full of sparse files?

自2012年11月,内核比2.6.32-279.11.1.el6新的XFS版本航运有来自Red Hat Bugzilla 860787.而产生从那时起一个恼人的负载性能问题,我有不可预知的性能和更高的运行队列高于平均水平.

对于新系统,我使用的是ZFS或者只是ext4.对于旧系统,我将它们冻结在2.6.32-279.11.1.el6.

尝试使用以下命令回滚到该版本:

yum install kernel-2.6.32-279.11.1.el6.x86_64

除此之外,由于您使用的RAID控制器的类型,典型的优化是有序的:

挂载您的XFS文件系统noatime.您还应该利用Tuned framework

tuned-adm profile enterprise-storage

将readahead,nobarrier和I / O电梯设置为良好的基线.

编辑:

有很多关于XFS文件系统优化的建议.我在过去十年中专门使用了文件系统,并且由于操作系统发生了潜在的变化,因此不得不偶尔调整参数.我没有经历过像你这样的戏剧性的性能下降,但我也没有使用LVM.

考虑到不同的内核生成,编译认值,调度程序,包等,我认为它是unreasonable to expect EL5 to act the same way as EL6.

那时我该怎么办?

>我会检查mkfs.xfs参数以及如何构建系统.您是在安装期间使用XFS分区还是在事后创建分区?我在主OS安装后创建了XFS文件系统,因为我在给定参数中有更多的灵活性.
>我的mkfs.xfs创建参数很简单:例如,mkfs.xfs -f -d agcount = 32 -l size = 128m,version = 2 / dev / sdb1.
>我的挂载选项是:noatime,logbufs = 8,logbsize = 256k,nobarrier我会允许XFS dynamic preallocation本机运行而不是像你在这里那样限制它.我的表现有所改善.
> So I don’t use LVM.特别是在硬件RAID之上…特别是在HP Smart Array控制器上,其中有一些类似LVM的功能本机.但是,使用LVM,您无权访问fdisk以创建原始分区.从EL5更改为EL6的一件事是安装程序中的分区对齐以及更改为fdisk以设置柱面边界上的起始扇区.
>确保以当前版本级别运行HP Smart Array控制器和驱动器.此时,将整个服务器更新到current HP Service Pack for ProLiant firmware revision是有意义的.这是一个可引导的DVD,它将升级系统中所有检测到的组件.
>我会检查RAID控制器设置.粘贴hpacucli ctrl的输出显示配置详细信息. Here’s mine.您希望缓存比率偏向写入与读取. 75:25是常态.对于此应用程序,认条带大小256K应该没问题.>我可能会在没有LVM的情况下尝试这个.>您的sysctl.conf参数是什么?

相关文章

Centos下搭建性能监控Spotlight
CentOS 6.3下Strongswan搭建IPSec VPN
在CentOS6.5上安装Skype与QQ
阿里云基于centos6.5主机VPN配置
CentOS 6.3下配置multipah
CentOS安装、配置APR和tomcat-native