大量的可用RAM,NVMe Intel P4500以及所有内容都变慢-交换分区添加失败的故事

在本文中,我将讨论VPS云中的一台服务器最近发生的情况,使我困惑了几个小时。我已经配置Linux服务器和对Linux服务器进行故障排除大约15年了,但是这种情况根本不适合我的实践-我做出了一些错误的假设,并且在完全确定问题的原因并解决之前有些失望。


前言


我们运营一个中型云,该云在以下配置的典型服务器上构建-32核,256 GB RAM和NVMe PCI-E Intel P4500 4TB。我们非常喜欢这种配置,因为它使我们不必考虑缺少IO,从而在VM实例(实例)的类型级别上提供了正确的限制。由于NVMe Intel P4500具有令人印象深刻的性能,因此我们可以同时为计算机提供完整的IOPS设置,并为IOWAIT为零的备份服务器提供备份存储。


我们属于那些不使用超融合SDN和其他时尚,时尚,年轻作品来存储VM卷的老信徒,他们相信,系统越简单,在“大师到山上”的条件下就越容易开玩笑。因此,我们将QCOW2格式的VM卷存储在XFS或EXT4中,该文件部署在LVM2之上。


我们还必须通过用于编排的产品Apache CloudStack来使用QCOW2。

要执行备份,我们会像LVM2快照一样拍摄完整的卷映像(是的,我们知道LVM2快照很慢,但是Intel P4500也在这里帮助了我们)。我们这样做lvmcreate -s ..并使用它来dd将备份发送到具有ZFS存储的远程服务器。在这里,我们仍然有点进步-ZFS仍可以以压缩形式存储数据,并且我们可以使用快速恢复数据DD使用来获取单个VM卷mount -o loop ...


当然,您可以不拍摄LVM2卷的完整映像,而可以在模式下挂载文件系统RO并复制QCOW2映像本身,但是,我们面临这样一个事实,即XFS变得不那么糟糕了,这不是立即发生的,而是不可预测的。我们真的不喜欢当管理程序主机在周末,夜晚或假日突然突然“粘住”时,由于错误发生时不清楚。因此,对于XFS,我们不使用模式下的安装快照RO来提取卷,而只是复制整个LVM2卷。

在我们的情况下,备份服务器的备份速度取决于备份服务器的性能,对于不可压缩的数据大约为600-800 MB / s,另一个限制因素是10Gbit / s通道,它将备份服务器连接到群集。


8 . , , , -, , , 8 GB/, -.


, — Intel P4500, NFS , , ZFS.



- SWAP 8 GB, - "" DD . 2xSATA SSD RAID1 2xSAS HDD RAID1 LSI HP. , , , " readonly", SWAP-. RAM 30-40% , SWAP .


. :


#!/bin/bash

mkdir -p /mnt/backups/volumes

DIR=/mnt/images-snap
VOL=images/volume
DATE=$(date "+%d")
HOSTNAME=$(hostname)

lvcreate -s -n $VOL-snap -l100%FREE $VOL
ionice -c3 dd iflag=direct if=/dev/$VOL-snap bs=1M of=/mnt/backups/volumes/$HOSTNAME-$DATE.raw
lvremove -f $VOL-snap

ionice -c3, NVMe , IO :


cat /sys/block/nvme0n1/queue/scheduler
[none] 

, legacy- SSD RAID-, , AS IS. , , ionice .


iflag=direct DD. direct IO , IO . , oflag=direct , ZFS .


.


… , , IOWAIT 50%. :


Volume group "images" not found

" Intel P4500", , , . LVM2 LVM2:


vgcfgrestore images

:


— , , VPS- , . , — iostat IOPS- IOWAIT. , " NVMe" , .



. VPS- 128 GB RAM. , 32 GB . VPS , , SWAP- .


. vm.swappiness - 60. SWAP SAS HDD RAID1.


( ). DD , RAM NFS. , swappiness, VPS , HDD RAID1. , IOWAIT , IO NVMe, IO HDD RAID1.


. 32GB. 16 , , SWAP . swappiness 5 .


这怎么可能不发生首先,如果SWAP位于SSD RAID或NVMe设备上,其次,如果没有NVMe设备,但是会有一个速度较慢的设备无法产生如此大的数据量-具有讽刺意味的是,问题发生了NVMe太快了。


之后,一切都开始像以前一样工作-零IOWAIT。


All Articles