Skip to content

XCP Servers (Hypervisors)

XCP-ng hypervisors host the majority of virtual machines in the WithinEarth infrastructure.


Architecture Diagram

graph TB
    subgraph HYPERVISORS["XCP-ng Hypervisor Cluster (3 Physical Servers)"]
        subgraph XCP1["XCP-ng 1: 10.32.8.22"]
            VMS1["11 VMs:<br/>RabbitMQ, SQL Replica 5<br/>MongoDB-RoomMap, CM-1<br/>VPN, HAProxy-SQL-1"]
        end

        subgraph XCP2["XCP-ng 2: 10.32.8.23"]
            VMS2["17 VMs:<br/>MongoDB-ReCheck, pfSense-2<br/>OTH-HAProxy pair<br/>Gateway-2, MariaDB"]
        end

        subgraph XCP3["XCP-ng 3: 10.32.8.24"]
            VMS3["14 VMs:<br/>MongoDB-Logs, UptimeKuma<br/>GitLab, Gateway-1<br/>Zabbix"]
        end

        XOA["XCP Orchestra (XOA)<br/>Centralized Management"]
    end

    XOA --> XCP1 & XCP2 & XCP3

    style XCP1 fill:#87CEEB
    style XCP2 fill:#FFE4B5
    style XCP3 fill:#90EE90

Server Inventory

Server IP Address Type VMs Hosted Key Services
XCP-ng 1 10.32.8.22 Physical 11 RabbitMQ, SQL Replica, MongoDB, CM-1, VPN
XCP-ng 2 10.32.8.23 Physical 17 MongoDB, OTH-HAProxy, pfSense, Gateway
XCP-ng 3 10.32.8.24 Physical 14 MongoDB-Logs, GitLab, Zabbix, UptimeKuma
Total - 3 Physical 42 VMs All virtualized services

XCP-ng 1 (10.32.8.22) - 11 VMs

graph TB
    XCP1["XCP-ng Hypervisor 1<br/>10.32.8.22<br/>Physical Server"]

    XCP1 --> VM1["HAProxy-SQL-Replica-1<br/>Load balancer for SQL reads"]
    XCP1 --> VM2["MongoDB-RoomMapping<br/>10.32.8.96<br/>8.5M documents"]
    XCP1 --> VM3["SupplierProxy-Api-3<br/>10.32.8.43<br/>Supplier integration"]
    XCP1 --> VM4["OTH-3<br/>Online Travel Hub DB"]
    XCP1 --> VM5["Redis-OTH<br/>Cache for OTH"]
    XCP1 --> VM6["CM-1<br/>Channel Manager<br/>7 integrations"]
    XCP1 --> VM7["RabbitMQ<br/>10.32.8.90<br/>Message queue"]
    XCP1 --> VM8["SQL Replica 5<br/>10.32.8.37<br/>Read replica"]
    XCP1 --> VM9["HAProxy-RoomMapping1<br/>Load balancer"]
    XCP1 --> VM10["VPN-Employee<br/>WireGuard VPN"]
    XCP1 --> VM11["XOA<br/>Xen Orchestra<br/>Management"]

    style XCP1 fill:#87CEEB

XCP-ng 2 (10.32.8.23) - 17 VMs

graph TB
    XCP2["XCP-ng Hypervisor 2<br/>10.32.8.23<br/>Physical Server"]

    XCP2 --> VM1["MongoDB-ReCheck-2<br/>10.32.8.52<br/>799K documents"]
    XCP2 --> VM2["SupplierProxy-Api-5<br/>10.32.8.45"]
    XCP2 --> VM3["pfSense-2<br/>Firewall & IDS/IPS"]
    XCP2 --> VM4["OTH-HAProxy-Master<br/>10.32.8.106"]
    XCP2 --> VM5["OTH-HAProxy-Standby<br/>10.32.8.107"]
    XCP2 --> VM6["OTH-4<br/>Database server"]
    XCP2 --> VM7["HAProxy-SQL-LB-2<br/>10.32.8.8"]
    XCP2 --> VM8["ELK-SupplierLogs<br/>Log aggregation"]
    XCP2 --> VM9["MariaDB<br/>MySQL compatible DB"]

    style XCP2 fill:#FFE4B5

XCP-ng 3 (10.32.8.24) - 14 VMs

graph TB
    XCP3["XCP-ng Hypervisor 3<br/>10.32.8.24<br/>Physical Server<br/>10Gbps WAN"]

    XCP3 --> VM1["MongoDB-APILogs<br/>10.32.8.75<br/>162M log documents"]
    XCP3 --> VM2["MongoDB-Supplier-Logs<br/>10.32.8.18"]
    XCP3 --> VM3["UptimeKuma<br/>10.32.8.102<br/>Uptime monitoring"]
    XCP3 --> VM4["API-LogServer-152<br/>Centralized logging"]
    XCP3 --> VM5["Hotel Content API<br/>Content service"]
    XCP3 --> VM6["GitLab<br/>Source control"]
    XCP3 --> VM7["Zabbix<br/>10.32.8.148<br/>Monitoring"]

    style XCP3 fill:#90EE90

XCP Management

Component Purpose
XCP Orchestra (XOA) Centralized VM management UI
Live Migration Move VMs between hosts without downtime
HA Automatic VM restart on host failure
Storage Local and shared storage support

Resource Allocation

Hypervisor Total RAM Total CPU VMs
XCP-ng 1 - - 11
XCP-ng 2 - - 17
XCP-ng 3 - - 14

Last Updated: 2025-12-02