安装程序如下所示:
VMware ESXi 6.0
数据存储由ESXi安装后的所有剩余磁盘空间组成(小于8tb)
在来宾CentOS上,系统分区是LVM ext4
数据分区是具有单个PV,LV和VG ext4的LVM
现在我遇到的问题是磁盘上的数据传输速度非常慢。 试图从LVM上的一个地方复制一个半大文件(10-30GB)到LVM上的另一个地方,传输速率大约为240MB / s,这是我所期望的速度,但只是几秒钟后(通常为30日),下降到1-4 MB / s,查看iotop告诉我一个进程开始运行,称为flush-253:2,这似乎会减慢一切。
我一直在使用rsync –progress来实时获得传输速度的更好图片,但是我看到与cp操作相同的结果。
当它终于完成,我已经尝试再次执行相同的程序,相同的文件到相同的位置。 在整个传输过程中,rsync的指定传输速度第二次保持稳定在240MB / s左右,但是当rsync指示文件传输完成时,只要完成第一个复制过程,就会在该状态下挂起。 我可以看到flush-253:2进程对两个进程都很困难。
现在我知道这个设置并不是最佳的,我宁愿为ESXi系统配备一个单独的磁盘,但是我不认为这应该是导致这种极端低速传输的原因。
我search了关于刷新过程的信息,据我所知,它基本上将内存中的数据写入到实际的磁盘上,但是我还没有发现任何人说他们已经经历了这种低速传输速率。 系统还没有投入生产,而CPU几乎没有运行,拷贝程序运行时有大约100GB的空闲内存可供使用。
有没有人有什么想法尝试? 我在另一个系统上看到了类似的结果,除了完全不同的(稍微小一点的)硬件之外,基本上它们都是以相同的方式设置的。 我还有第三个系统在LVM上运行CentOS 5和ext3,没有像这样的问题。
编辑1:我意识到现在已经记错了,系统分区也是lvm,但仍然是一个单独的数据分区卷
[root@server /]# mount /dev/mapper/vg1-lv_root on / type ext4 (rw) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0") /dev/sda1 on /boot type ext4 (rw) /dev/mapper/vg1-lv_home on /home type ext4 (rw) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw) /dev/mapper/vg_8tb-lv_8tb on /datavolume type ext4 (rw,nobarrier) [root@server /]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_1-lv_root<br> 50G 9.7G 37G 21% / tmpfs 91G 0 91G 0% /dev/shm /dev/sda1 477M 52M 400M 12% /boot /dev/mapper/vg_1-lv_home 45G 52M 43G 1% /home /dev/mapper/vg_8tb-lv_8tb 7.9T 439G 7.1T 6% /datavolume
更新1:我已经尝试将dirty_ratio一直增加到90,并且仍然没有看到任何改进。 我也尝试用-o nobarriers装上它,结果仍然是一样的
更新2:对于那些试图帮助我解决困惑的人,抱歉,现在我已经看了一下自己,硬件实际上是HP Proliant 380 G7,我不知道这是否有什么不同。
我也看了一下自己的RAIDconfiguration,看来我们使用的是P410 RAID控制器,当我启动进入RAIDpipe理时,它说
HP Smart array (I think) P410 "SOMETHING", with 0MB in parenthesis
我猜这可能意味着我们有写入caching0MB?
在硬件方面,我有点不太在意,如果不是已经存在的话,你可以为这个RAID控制器添加一个写caching模块(?)吗? 或者你需要一个新的控制器/移动到SAN? 我怎么知道它是否有写caching,但也许电池已经死了?
更新3:感谢您的build议和一些进一步的研究,现在我将尝试在ESXi中安装HP智能arrays驱动程序的振动文件,并希望更清楚地了解我所拥有的内容。 我也在系统BIOS中find启用驱动器caching的选项,所以我可能有最后的手段,以防万一它没有控制器上的写入caching。
更新4(解决):感谢所有谁build议的解决scheme,是的,结果是磁盘控制器上没有caching模块。
对于任何有类似问题的人,我安装了用于ESXi的hpssacli实用程序VIB,并可以通过以下输出确认回复中build议的内容。
Cache Board Present:False
Smart Array P410i in Slot 0 (Embedded) Bus Interface: PCI Slot: 0 Serial Number: Controller Status: OK Hardware Revision: C Firmware Version: 6.62 Rebuild Priority: Medium Surface Scan Delay: 15 secs Surface Scan Mode: Idle Parallel Surface Scan Supported: No Wait for Cache Room: Disabled Surface Analysis Inconsistency Notification: Disabled Post Prompt Timeout: 0 secs Cache Board Present: False Drive Write Cache: Disabled Total Cache Size: 0 MB SATA NCQ Supported: True Number of Ports: 2 Internal only Driver Name: HP HPSA Driver Version: 5.5.0 PCI Address (Domain:Bus:Device.Function): 0000:05:00.0 Host Serial Number: Sanitize Erase Supported: False Primary Boot Volume: logicaldrive 1 Secondary Boot Volume: None
它不会显示您有任何写入caching。
请确认您的服务器的代和模型。 如果您的磁盘连接的控制器上没有Flash支持的写caching模块(FBWC),则VMware的性能将受到影响。
这里的另一个问题是LVM和几年前在RHEL6中出现的一些默认值。 你会想尝试这个禁用写屏障。 LVM可能会成为一个问题,因为它会导致人们避免分割他们的卷……而这会影响像tuned-adm这样的工具来完成他们的工作。
我问了mount的输出。 你可以请张贴吗?
尝试用no barrier标志安装卷。 写入障碍是ext4上EL6的默认设置,所以这是您遇到的最大问题。
看来你的RAID控制器没有caching。 主要的问题是硬件RAID卡默认情况下会禁用磁盘的专用DRAMcaching。
简而言之,这意味着,当几秒钟后(确切地说~30秒),脏页面caching将被刷新到磁盘,大量的随机I / O请求开始锤击(缓慢)机械磁盘,从而导致吞吐量下降。
重新启用磁盘的专用DRAM高速caching(通常是RAID控制器选项),性能应该会提高。 为了更快写入,您可以closures写屏障(使用nobarrier安装选项),但不幸的是,如果没有BBUcaching,将其closures会影响系统崩溃/停电时的数据可靠性。
编辑: 在这里看看更多的信息。
似乎这是一个重复的:
Flush-0:n进程导致了巨大的瓶颈
事实上,你应该检查dirty_ratio,这是怎么回事,第一次写入内存,所以你有一个非常快的IO速度在开始。 稍后当RAM填充到dirty_ratio时,内核开始充斥到磁盘。
一些问题:
和两个个人笔记: – 我不认为你会永远达到恒定的240 MB /秒与6个慢速SATA驱动器72K和RAID 10。