I already used Virtualizor with Multi Virtualization feature (OpenVZ+KVM) on CentOS 6. It quite worked, but i had issue being unable to assign more than 18GB RAM to a KVM VPS. Here you can read full tutorial: https://internetlifeforum.com/virtualisation/8351-virtualizor-kvm-openvz-installation-tutorial-centos-6-9-64bit/

OpenVZ7 Virtuozzo seems little bit better, it do not have problem with 18GB RAM+ and it is using newer 3.x openvz kernel. huge drawback was unability to migrate my OpenVZ 6 VPS's to OpenVZ 7. There is a script for that, but worked badly (very long migration, and every other one failed for me (but i am a noob). So here is the things that was done to setup OpenVZ7+Virtualizor+KVM at one machine.

Virtualizor requires OpenVZ from ISO, not CentOS7+OpenVZ7

I tried to install Virtualizor at CentOS7 + OpenVZ 7:
yum localinstall https://download.openvz.org/virtuozzo/releases/openvz-VERSIONHERE/x86_64/os/Packages/o/openvz-release-VERSIONHERE.vz7.x86_64.rpm
yum install prlctl prl-disp-service vzkernel
reboot
(source)

Virtualizor denied to install on such a setup:
./install.sh with kernel=virtuozzo flag, Result: Virtuozzo can be installed only in Virtuozzo OS
When use "kernel=openvz". the result is: "Openvz cannot be installed on CentOS 7"
Support staff said i need to install OpenVZ 7 Virtuozzo iso from https://download.openvz.org/virtuozzo/releases/

My provider installed that iso for me, else there is a tutorial that may work even without IPMI.

Setting up different subnet's IP for my node server

I wanted to use different IP for my server. One from another subnet my server provider assigned to the server. If you do not need to change it, you can skip to next chapter.
Per the "ifconfig" result the IPs i need to replace was in the em1 and br0 so i edited these two config. files:
vi /etc/sysconfig/network-scripts/ifcfg-em1
vi /etc/sysconfig/network-scripts/ifcfg-br0
and replaced
IPADDR="*.*.*.194"
GATEWAY="*.*.*.193"
NETMASK="255.255.255.224"
by:
IPADDR="*.*.*.138"
GATEWAY="*.*.*.137"
NETMASK="255.255.255.248" (was /29 subnet, so the last octet is different, ip calculators can tell this)

After saving i reboot the server and next time i logged in via new IP which i set.

Change hostname and resolv.conf

First set PTR/rDNS record in your server provider client area for the server IP to resolve to the hostname of your choice (servername.yourdomain.com). Then change hostname in server:

hostnamectl set-hostname servername.yourdomain.com

Can add/replace nameser IPs in /etc/resolv.conf
(8.8.8.8 for google's open DNS)

("/etc/hosts" and "/etc/sysconfig/network" files i kept like it was even it not contained my server IP, unsure if good idea)

yum install fail2ban
vi /etc/fail2ban/jail.local
[DEFAULT]
bantime = 3600
[sshd]
enabled = true

Install Virtualizor control panel

Install Virtualizor: http://www.virtualizor.com/wiki/Install_Virtuozzo

./install.sh [email protected] kernel=virtuozzo beta=true interface=em1
(i used above switches, em1 was my first and primary interface in "ifconfig" output, br0 is a bridge; virtualizor do not recommend beta=true!, i faced multiple issues, maybe because beta)

Installator may seem stuck. Let it run can run even 15+ minutes (?), then the Virtualizor login URL is: https://IP:4085/
(I could not access, had to stop firewalld: systemctl stop firewalld;systemctl disable firewalld)

Added IP pool into Virtualizor:

do it in Virtualizor / IP Pools / Create IP Pool:
If adding IP subnet (example /27, /29, /28...) do NOT select option "All Servers", but localhost or default, else it will not show "routed network" mode which appears to be required in order for it to work. I talk about it a few lines below.
Name: *.*.*.192/* (main ip of the subnet with subnet size bits - example 14.22.39.192/27)
*.*.*.193 (one ip above subnet's IP is gateway)
255.255.255.224 (last octet (224 can be different based on subnet size bits)
(use: http://jodies.de/ipcalc , http://www.calculator.net/ip-subnet-calculator.html)
As a first IP i entered *194 because 193 is the gateway
Use Routed network: i ticked this, when is left un-ticked, it may cause KVM VPS fail to start (if this option is not available, ensure on the top of the "Create IP Pool" page you have not selected "All Servers" option)

Here are resulting network interface configurations (i do not advise editing your files manualy unless you are sure, instead add "IP pool" in Virtualizor and it will update your network interface files):

cat /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE="br0"
DNS2="107.155.155.155"
DNS1="8.8.8.8"
IPADDR="*.*.*.138"
NETMASK="255.255.255.248"
GATEWAY="*.*.*.137"
BOOTPROTO="static"
ONBOOT="yes"
IPV6INIT="yes"
TYPE="Bridge"
DELAY="2"
STP="off"
UUID="e4dd8c12-e956-4d34-a4ee-d518680ef646"

cat /etc/sysconfig/network-scripts/ifcfg-em1
BOOTPROTO="none"
IPADDR="*.*.*.138"
NETMASK="255.255.255.248"
GATEWAY="*.*.*.137"
DEVICE=em1
HWADDR="f0:4d:*:*:*:*"
ONBOOT=yes
PEERDNS=yes
PEERROUTES=yes
DEFROUTE=yes
DNS1=8.8.8.8
DNS2=107.155.155.155

cat /etc/sysconfig/network-scripts/ifcfg-em2
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=em2
UUID=3958dcfe-a228-4565-a696-c3a4d182b34e
DEVICE=em2
ONBOOT=no

Adding VPS plan

When tried to add VPS plan, the error was there:
Could not make the Query.
INSERT INTO plans SET ****
Array
(
[0] => 42S22
[1] => 1054
[2] => Unknown column 'install_xentools' in 'field list'
)

So i went into Virtualizor / Configuration / PHPMyAdmin and in Virtualizor database, "plans" table, switched to Structure tab and added new "column" field list. Then the plan was added.

Creating VPS

It failed with error:

Redirecting to /bin/systemctl restart dhcpd.service
Failed to restart dhcpd.service: Unit not found.
Starting VPS
Illegal target name 'vmv1001'.
Illegal target name 'vmv1001ARPIN'.
Illegal target name 'vmv1001ARPIN'.
Chain 'vmv1001' doesn't exist.
Chain 'vmv1001ARPIN' doesn't exist.
Failed to start the VM: The %1 virtual network cannot be found. Try to choose another network. (Details: Network not found: no network with matching name 'Bridged')
Fetching VPS Status
Errors:

Array
(
[err_start] => There was an error while starting the new VPS
Starting the VM...
)
The support staff solved the issue by possibly removing IP pool and making sure the IP pool is not configured for "All servers" (it is an option on "Create IP pool" page) and then tick "Routed network" mode to enable it. Then i changed VPS IP and VPS was able to start.

Virtualizor have Virtuozzo KVM and Virtuozzo OpenVZ 7 VPS templates free for download thru Virtualizor "Template browser".

In Virtualizor control panel, KVM VPS may have these settings:
"I/O Policy" can be: Native or Threads
"Disk Caching" can be Writeback, Writethrough, Direct Sync, Default
Here (https://wiki.mikejung.biz/KVM_/_Xen) is advised to use:
cache=directsync
io=native
---
"Issue discards to PVs that are no longer used by an LV. ... e.g. lvremove, lvreduce .. SSDs and thinly provisioned LUNs generally do (benefit from discards) ... only be used if both the storage and kernel provide support"

ENABLE: vi /etc/lv/lv.conf
find issue_discards variable and change it to 1