Hi
For a home server/nas I'm using the latests versions of Proxmox (5.4) and OMV (4.1.22-1) on recent hardware (core i3-8100, 16gb of ram, installed on a ssd...). I have only one 8TB hard-drive with no raid configuration for my data storage.
I use my previous server (intel Atom J1900, 8GB of ram, an old 1TB hard-drive and another identical 8TB drive) as a second node of a cluster as a kind of backup solution to be able to continue to work in case of a failure on my main system (It powers itself on every night to synchronize [ZFS replication] with the main node and shuts itself off when finished).
As I want encryption on my data hard drive I've done the following things :
On the proxmox host :
- created a LUKS volume on that drive
- created a ZFS volume on the opened LUKS volume
- passed a Virtio SCSI volume of almost all the available space to my OMV VM
On my OMV VM :
- formated the space with ext4
For the record here are the commands used to create the thing:
cryptsetup luksFormat -c aes-xts-plain64 -s 512 -h sha512 /dev/disk/by-id/ata-ST8000DM004-2CX188_WCT123456
cryptsetup luksOpen /dev/disk/by-id/ata-ST8000DM004-2CX188_WCT123456 8to2_chiff
zpool create -o ashift=12 -O normalization=formD -O atime=off -m none -R /mnt -O compression=lz4 tank /dev/mapper/8to2_chiff
The whole thing works ok... but I have huge performance issues, whatever number of cores, ram, cache system I use for the VM/volume passed to the VM.
When I transfer files (mostly using samba) from my main computer to the OMV shared drive, I reach 113 MBs the first few seconds, then after a while the transfer slows down to few MBs, sometimes even stops for few seconds...
I always do my tests with a big 4GB file (and not with many little files as I know it affects the transfer speed).
The CPU usage increases a lot and the E/S delays goes to the roof on the proxmox host. It affects the whole system as for example sometimes a simple "ls" command in a ssh terminal is slowed down if I'm transfering files to the OMV VM at the same times.
I've made a lot of tests, trying to find the bottleneck without finding it clearly:
- the lan and network cards are not a problem: I can transfer to the full 1Gbs speed from many different computers, and even to the proxmox host itself
- the encryption does not seem to be the problem: AES_NI acceleration is ok on this hardware and it is also activated on the VM (VM CPU type: host).
- samba is not the problem: I tried to make some "local copies" between the proxmox host and the vm (scp) with the same kind of problems. I also installed samba on the host and tried to write to the ZFS space through my network with great performances.
- the OMV VM is probably not the problem by itself as the performances are still bad if I mount the VM container (as in "mount /dev/tank/vm-107-disk-0 /mnt/temp") and tries to write files to the mounted space. The results are very inconsistent: if I time a cp command, for the same 4GB file it can take as little as 38 seconds (great: 100MBs) up to 1min32 (really bad: 41MBs)
- The hard drive is not the problem: I can write to 100MBs without any problem
So I'm a bit confused, I'm about to move all my files directly on the ZFS volume on the proxmox host and share the files through samba installed on this host instead of the OMV method but I will loose the automatic ZFS VM replication to my second node I like so much (so fast).
Do you have ideas? Suggestions? What should I try?
For a home server/nas I'm using the latests versions of Proxmox (5.4) and OMV (4.1.22-1) on recent hardware (core i3-8100, 16gb of ram, installed on a ssd...). I have only one 8TB hard-drive with no raid configuration for my data storage.
I use my previous server (intel Atom J1900, 8GB of ram, an old 1TB hard-drive and another identical 8TB drive) as a second node of a cluster as a kind of backup solution to be able to continue to work in case of a failure on my main system (It powers itself on every night to synchronize [ZFS replication] with the main node and shuts itself off when finished).
As I want encryption on my data hard drive I've done the following things :
On the proxmox host :
- created a LUKS volume on that drive
- created a ZFS volume on the opened LUKS volume
- passed a Virtio SCSI volume of almost all the available space to my OMV VM
On my OMV VM :
- formated the space with ext4
For the record here are the commands used to create the thing:
cryptsetup luksFormat -c aes-xts-plain64 -s 512 -h sha512 /dev/disk/by-id/ata-ST8000DM004-2CX188_WCT123456
cryptsetup luksOpen /dev/disk/by-id/ata-ST8000DM004-2CX188_WCT123456 8to2_chiff
zpool create -o ashift=12 -O normalization=formD -O atime=off -m none -R /mnt -O compression=lz4 tank /dev/mapper/8to2_chiff
The whole thing works ok... but I have huge performance issues, whatever number of cores, ram, cache system I use for the VM/volume passed to the VM.
When I transfer files (mostly using samba) from my main computer to the OMV shared drive, I reach 113 MBs the first few seconds, then after a while the transfer slows down to few MBs, sometimes even stops for few seconds...
I always do my tests with a big 4GB file (and not with many little files as I know it affects the transfer speed).
The CPU usage increases a lot and the E/S delays goes to the roof on the proxmox host. It affects the whole system as for example sometimes a simple "ls" command in a ssh terminal is slowed down if I'm transfering files to the OMV VM at the same times.
I've made a lot of tests, trying to find the bottleneck without finding it clearly:
- the lan and network cards are not a problem: I can transfer to the full 1Gbs speed from many different computers, and even to the proxmox host itself
- the encryption does not seem to be the problem: AES_NI acceleration is ok on this hardware and it is also activated on the VM (VM CPU type: host).
- samba is not the problem: I tried to make some "local copies" between the proxmox host and the vm (scp) with the same kind of problems. I also installed samba on the host and tried to write to the ZFS space through my network with great performances.
- the OMV VM is probably not the problem by itself as the performances are still bad if I mount the VM container (as in "mount /dev/tank/vm-107-disk-0 /mnt/temp") and tries to write files to the mounted space. The results are very inconsistent: if I time a cp command, for the same 4GB file it can take as little as 38 seconds (great: 100MBs) up to 1min32 (really bad: 41MBs)
- The hard drive is not the problem: I can write to 100MBs without any problem
So I'm a bit confused, I'm about to move all my files directly on the ZFS volume on the proxmox host and share the files through samba installed on this host instead of the OMV method but I will loose the automatic ZFS VM replication to my second node I like so much (so fast).
Do you have ideas? Suggestions? What should I try?
Last edited: