Good day to all.
I have five servers with Proxmox version 5 installed and all have the same problem with the performance of hard drives inside the guest VMs.
Problem with ZFS and LVM.
The ZFS problem is the following: inside virtual machines that are located on the ZFS storage, when copying files from a file server (separate physical machine) after copying about three gigabytes of data, the copying speed starts dropping from 70 MB per second to zero (for a few seconds the copying stops completely, then the speed rises to 50-60 MB, some more data is copied and again the speed drops to zero and so on). At the same time, all the VMs on this ZFS pool begin to lag terribly.
During copying, iotop shows a lot of zvol processes with IO from 10 to 39%. When copying speed drops to zero, the zvol processes in iotop disappear, and the IO becomes 0%.
But if I kill ZFS on the same disks and create an ext4 partition from them and connect it as a virtual machine storage, I plug the disk into the guest VM from it - then when copying the same data
(iso-image) speed is stable at around 70-80 Mbit per second. VM does not hang, does not lag.
ZFS created a partition with zpool create -o ashift = 12 parameters. ZFS-POOL / dev / mapper / cfs-zfs. CFS-ZFS is an encrypted device that sits on top of a five-disk raid6 mdadm.
I also tried different parameters of ashift and volblocksize and the size of clusters of file systems inside virtual machines - does not affect the speed and result.
Problem LVM - created LVM partition from single disk without encryption. (tried from two, tried on top of mdadm raid1 - does not affect the effect). On the LVM storage, when copying the same data, the speed it starts from 70-80 MB, and then drops to 20-30 MB per second and stays so stable.
It is very strange, but if you create a disk (lvcreate -L 30G vm-vg) on the same LVM slot, mark it in ext4 and connect it to a virtual machine, then there is no speed problem.
There are no speed problems on the Proxmox server itself. I copy from the same file server the same iso-image in /zfs-pool - the speed is 70-80 MB per second and is kept stable.
Guest VM - Win2012R2 (full updates), 2 cores, 8GB RAM, Virtio SCSI HDD, Virtio ethernet.
Linux VM has exactly the same problem.
I’ll immediately add that I tried to copy the data, delete it and copy it again to the same place - it does not affect the situation.
Hard drives are connected via LSI SAS 9260-8i. Each disk is assembled as a separate raid0 from one disk.
Hard drives - 6 pieces of 300Gb SAS 10k RPM and 2 600Gb HP 10k RPM.
CPU: 2 x Intel Xeon CPU E5-2609
Supermicro X9DRi-LN4 +
RAM: 128Gb DDR3 ECC
pve-manager / 5.4-3 / 0a6eaa62 (running kernel: 4.15.18-12-pve)
Another configuration of two servers for example, that this is not bad iron:
HP DL510 G8
CPU: 4 x Intel Xeon CPU E5-4640
RAM: 368Gb
HP SmartArray Raid controller. Two HP 600Gb SAS 10k drives in RAID1.
External storage HP P2000G3. 9 disks in RAID6 for ZFS virtual machines. 6 RAID5 disks for LVM virtual machines. 8Gbit / s FibreChannel.
pve-manager / 5.3-11 / d4907f84 (running kernel: 4.15.18-11-pve)
Supermicro X11DPi-N
CPU: 2 x Intel Xeon Silver 4110
Adaptec 6x1Tb SATA RAID Controller. Each disk in RAID-0 is created.
ZFS RAID-1 system (two disks)
Virtual machine storage: ZFS over RAID-5 mdadm of four disks.
pve-manager / 5.2-1 / 0fcd7879 (running kernel: 4.15.17-1-pve)
I know about the fact that ZFS does not like RAID controllers and it is desirable for it to allocate an SSD disk for cache and slog, but what about LVM? On Proxmox 4 with the LVM repository, I had no problems. The problems apparently began in fifth version of proxmox. I started using ZFS with proxmox version 5 for VM replications. At the time of the creation of a replica of any of the VMs, it is impossible to use the others (in the same ZFS-pool).
Translated from Russian to English to google translate ^ _ ^
I have five servers with Proxmox version 5 installed and all have the same problem with the performance of hard drives inside the guest VMs.
Problem with ZFS and LVM.
The ZFS problem is the following: inside virtual machines that are located on the ZFS storage, when copying files from a file server (separate physical machine) after copying about three gigabytes of data, the copying speed starts dropping from 70 MB per second to zero (for a few seconds the copying stops completely, then the speed rises to 50-60 MB, some more data is copied and again the speed drops to zero and so on). At the same time, all the VMs on this ZFS pool begin to lag terribly.
During copying, iotop shows a lot of zvol processes with IO from 10 to 39%. When copying speed drops to zero, the zvol processes in iotop disappear, and the IO becomes 0%.
But if I kill ZFS on the same disks and create an ext4 partition from them and connect it as a virtual machine storage, I plug the disk into the guest VM from it - then when copying the same data
(iso-image) speed is stable at around 70-80 Mbit per second. VM does not hang, does not lag.
ZFS created a partition with zpool create -o ashift = 12 parameters. ZFS-POOL / dev / mapper / cfs-zfs. CFS-ZFS is an encrypted device that sits on top of a five-disk raid6 mdadm.
I also tried different parameters of ashift and volblocksize and the size of clusters of file systems inside virtual machines - does not affect the speed and result.
Problem LVM - created LVM partition from single disk without encryption. (tried from two, tried on top of mdadm raid1 - does not affect the effect). On the LVM storage, when copying the same data, the speed it starts from 70-80 MB, and then drops to 20-30 MB per second and stays so stable.
It is very strange, but if you create a disk (lvcreate -L 30G vm-vg) on the same LVM slot, mark it in ext4 and connect it to a virtual machine, then there is no speed problem.
There are no speed problems on the Proxmox server itself. I copy from the same file server the same iso-image in /zfs-pool - the speed is 70-80 MB per second and is kept stable.
Guest VM - Win2012R2 (full updates), 2 cores, 8GB RAM, Virtio SCSI HDD, Virtio ethernet.
Linux VM has exactly the same problem.
I’ll immediately add that I tried to copy the data, delete it and copy it again to the same place - it does not affect the situation.
Hard drives are connected via LSI SAS 9260-8i. Each disk is assembled as a separate raid0 from one disk.
Hard drives - 6 pieces of 300Gb SAS 10k RPM and 2 600Gb HP 10k RPM.
CPU: 2 x Intel Xeon CPU E5-2609
Supermicro X9DRi-LN4 +
RAM: 128Gb DDR3 ECC
pve-manager / 5.4-3 / 0a6eaa62 (running kernel: 4.15.18-12-pve)
Another configuration of two servers for example, that this is not bad iron:
HP DL510 G8
CPU: 4 x Intel Xeon CPU E5-4640
RAM: 368Gb
HP SmartArray Raid controller. Two HP 600Gb SAS 10k drives in RAID1.
External storage HP P2000G3. 9 disks in RAID6 for ZFS virtual machines. 6 RAID5 disks for LVM virtual machines. 8Gbit / s FibreChannel.
pve-manager / 5.3-11 / d4907f84 (running kernel: 4.15.18-11-pve)
Supermicro X11DPi-N
CPU: 2 x Intel Xeon Silver 4110
Adaptec 6x1Tb SATA RAID Controller. Each disk in RAID-0 is created.
ZFS RAID-1 system (two disks)
Virtual machine storage: ZFS over RAID-5 mdadm of four disks.
pve-manager / 5.2-1 / 0fcd7879 (running kernel: 4.15.17-1-pve)
I know about the fact that ZFS does not like RAID controllers and it is desirable for it to allocate an SSD disk for cache and slog, but what about LVM? On Proxmox 4 with the LVM repository, I had no problems. The problems apparently began in fifth version of proxmox. I started using ZFS with proxmox version 5 for VM replications. At the time of the creation of a replica of any of the VMs, it is impossible to use the others (in the same ZFS-pool).
Translated from Russian to English to google translate ^ _ ^