How to create multiple virtual machines on one physical server?
We have purchased a physical server for the office and plan to deploy the following components on it:
- A local repository with source code
- Sentry service (as a Docker image)
- Test server for the testing team
- MySQL database replication node for providing local access to the production database within the office
It is necessary to isolate each component in a separate virtual machine. What technologies and tools can be used to implement such an architecture?
Creating multiple virtual machines on a single physical server is possible using virtualization technologies such as KVM, VMware, or Proxmox VE. For your architecture with separate isolated environments for a local repository, Sentry, test server, and MySQL replication node, it is recommended to use the Proxmox VE platform, which combines KVM for full virtualization and LXC containers for lightweight solutions.
Table of Contents
- Basic Virtualization Technologies
- Platform Selection for Your Architecture
- Step-by-Step Implementation with Proxmox VE
- Alternative Solutions
- Performance Optimization
- Security and Isolation
Basic Virtualization Technologies
Virtualization allows running multiple independent virtual machines on a single physical server, each with its own operating system and applications. According to research, modern virtualization provides powerful capabilities for server consolidation and resource optimization [https://www.scalecomputing.com/resources/server-hardware-virtualization-maximizing-resource-utilization-and-flexibility].
Main approaches to virtualization include:
KVM (Kernel-based Virtual Machine)
- How it works: Directly integrated into the Linux kernel, provides full hardware virtualization
- Advantages: High performance, support for various operating systems, built-in security
- Application: Ideal for running full VMs with Windows or Linux [https://www.proxmox.com/en/products/proxmox-virtual-environment/features]
LXC (Linux Containers)
- How it works: Operating system-level virtualization, sharing the host system’s kernel
- Advantages: Minimal overhead, high density placement
- Application: For lightweight isolated Linux systems https://www.datto.com/blog/what-is-proxmox-virtual-environment/
Hypervisors
- Type 1: Run directly on hardware (ESXi, Proxmox VE, KVM)
- Type 2: Installed on top of the host OS (VirtualBox, VMware Workstation)
- Recommendation: For server environments, use Type 1 hypervisors https://www.clouddatainsights.com/virtualization-in-2024-hypervisors-competition-and-the-broadcom-effect/
Platform Selection for Your Architecture
For your specific task with four components, the optimal choice will be Proxmox VE, which offers a unique combination of technologies:
Why Proxmox VE?
- Single platform: Combines KVM and LXC under a single management interface
- Open source: Free to use in home and test environments
- Subscription for enterprises: Commercial support available https://syncbricks.com/the-complete-guide-to-virtualization-technologies-in-2025-vmware-proxmox-and-beyond/
Alternatives for Comparison
| Platform | License Type | KVM Support | Features |
|---|---|---|---|
| Proxmox VE | Open source + commercial | Yes | Clustering, ZFS storage |
| VMware ESXi | Commercial | Yes | HA, DRS, advanced clustering |
| KVM (Vanilla) | Open source | Yes | Requires manual setup |
| XCP-ng | Open source | Yes | XenServer alternative |
Important: Unlike VMware, Proxmox VE does not require a license for basic functionality, making it cost-effective for your case https://medium.com/@PlanB./proxmox-vs-vmware-can-open-source-virtualization-meet-enterprise-demands-a9edcf9ee921.
Step-by-Step Implementation with Proxmox VE
Step 1: Install Proxmox VE
- Download ISO from the official website
- Create a bootable USB drive
- Install the system on your physical server:
- Recommended system partition: 50-100 GB
- Allocate remaining space to ZFS storage
Step 2: Configure Storage
# Create ZFS pool for VM storage
zpool create -o ashift=12 tank raidz1 /dev/sdb /dev/sdc /dev/sdd
# Configure Proxmox to use the pool
pvesm add zfs tank --content rootdir,vzdir,images
Step 3: Create Virtual Machines
VM 1: Local source code repository
- Technology: LXC (container)
- Resources: 2 vCPU, 4GB RAM, 50GB disk space
- OS: Ubuntu 22.04 LTS
- Purpose: GitLab or similar service
VM 2: Sentry (Docker)
- Technology: LXC with Docker
- Resources: 4 vCPU, 8GB RAM, 100GB disk space
- OS: Ubuntu 22.04 LTS
- Purpose: Running Docker containers for Sentry
VM 3: Test server
- Technology: KVM (full VM)
- Resources: 4 vCPU, 16GB RAM, 200GB disk space
- OS: Windows Server or Linux depending on requirements
- Purpose: Environment for testers
VM 4: MySQL replication node
- Technology: KVM (full VM)
- Resources: 2 vCPU, 8GB RAM, 150GB disk space
- OS: Ubuntu 22.04 LTS
- Purpose: MySQL replication and local access
Step 4: Configure Networking
# Create bridge for network isolation
pvesh create /network bridge --name vmbr1 --bridge-stp off --bridge-fd 0
# Configure VLAN if needed
pvesh create /network/vlan --bridge vmbr1 --vlan-raw-device vmbr1 --vlan-id 100
Alternative Solutions
VMware vSphere/ESXi
Advantages:
- High reliability and advanced HA (High Availability) features
- Automatic resource allocation (DRS)
- Enterprise support
Disadvantages:
- Requires licenses for advanced features
- More complex setup
- High cost https://www.virtualizationhowto.com/2024/06/proxmox-alternatives-in-2024-comparing-10-hypervisors-pros-and-cons/
XCP-ng
Advantages:
- Free and open source alternative to XenServer
- Good performance
- Clustering support
Disadvantages:
- Less functionality compared to Proxmox
- Limited documentation
Vanilla KVM + libvirt
Advantages:
- Maximum flexibility
- Full control over configuration
- Customization capabilities
Disadvantages:
- Requires manual setup and management
- No default web interface
Performance Optimization
Resource Allocation
For your architecture with four VMs, the following resource allocation is recommended:
| Component | vCPU | RAM | Disk | Technology |
|---|---|---|---|---|
| Repository | 2 | 4GB | 50GB | LXC |
| Sentry | 4 | 8GB | 100GB | LXC + Docker |
| Test server | 4 | 16GB | 200GB | KVM |
| MySQL replication | 2 | 8GB | 150GB | KVM |
| Total | 12 | 36GB | 500GB |
Optimization Tips:
- Use ZFS for the disk subsystem - provides compression and deduplication
- Configure NUMA for multi-core processors
- Use SSD for operating systems and active disks
- Optimize network settings for VMs with high network activity https://www.unitrends.com/blog/what-is-proxmox-virtual-environment/
Security and Isolation
Isolation Levels in Proxmox VE
1. Hypervisor Level
- KVM: Full VM isolation at the hardware level
- LXC: Isolation through Linux namespaces and cgroups
- SELinux/AppArmor: Additional security mechanisms https://thectoclub.com/tools/best-virtualization-software/
2. Network Isolation
# Create separate network bridges
pvesh create /network bridge --name vmbr1 --bridge-stp off
pvesh create /network bridge --name vmbr2 --bridge-stp off
# Configure firewall rules
pvesh create /nodes/[node]/firewall/ipset --name sentry-vm
pvesh create /nodes/[node]/firewall/rules --action DROP --type IN --source NOT ipset!sentry-vm
3. Security Configuration for Each VM
| VM Type | Recommended Security Settings |
|---|---|
| Repository | Only incoming SSH connections, disable root access |
| Sentry | Isolated network, access only from test VM |
| Test server | Limited privileges, prohibit access to other VMs |
| MySQL | Data encryption, internal access only |
Additional Security Measures:
- Regular updates of Proxmox VE and guest systems
- Backup configurations and data
- Monitoring of resources and security
- Uninterruptible power supply for the physical server
Sources
- Future of Desktop Virtualization in 2024 and Beyond - V2 Cloud
- Server Virtualization Trends & Solutions 2024
- Maximize Efficiency with Server Hardware Virtualization
- Virtualization in 2024: Hypervisors, Competition and More
- 18 Best Virtualization Software in 2025
- Server Virtualization Software and Management
- Proxmox Virtual Environment - Overview
- What is Server Virtualization? A Complete Guide
- What Is Virtualization? | IBM
- Top 5 Virtualization Solutions for Your Business in 2024
- What is Proxmox Virtual Environment (Proxmox VE)? | Datto
- The Complete Guide to Virtualization Technologies in 2025
- Proxmox Virtual Environment - Features
- Proxmox 🆚 VMware: What’s Right for You?
- Proxmox VE vs. VMware ESXi vs. Hyper-V – 4sysops
- Proxmox vs. VMware: Can Open-Source Virtualization Meet Enterprise Demands?
- Proxmox Alternatives in 2024: Comparing 10 Hypervisors Pros and Cons
- What is Proxmox VE (Virtual Environment)? | Unitrends
- Proxmox vs VMware | Virtualization Platform Comparison
Conclusion
For creating multiple isolated virtual machines on a single physical server for your architecture, it is recommended to use Proxmox VE, which optimally combines performance, flexibility, and cost.
Key Recommendations:
- Use a hybrid approach: KVM for resource-intensive VMs (test server, MySQL) and LXC for lightweight services (repository, Sentry)
- Optimize resource allocation: Allocate sufficient memory and CPU for each component considering future load
- Ensure network isolation: Create separate network bridges and configure firewalls to protect VMs
- Implement backup: Set up regular backup of configurations and important data
- Plan for scaling: Allocate additional resources on the physical server for possible expansion
This architecture will allow you to efficiently use the resources of a single physical server while ensuring full isolation and security for each component of your IT infrastructure.