DESL Microgrid Handbook
A handbook and learning notes for the DESL Microgrid platform.
IT Infrastructure
Overview
The DESL Microgrid server setup utilizes a physical Dell server running VMware ESXi hypervisor to host three distinct virtual machines (VMs). This virtualization approach isolates network traffic, database management, and control functions while allowing fast internal inter-VM communication over software switches (vSwitch).
┌────────────────────────┐ ┌────────────────────────┐
│ DESL Microgrid Subnet │ │ EPFL Public Network │
│ 192.168.1.X │ │ 128.179.xx.xx │
└───────────┬────────────┘ └───────────┬────────────┘
│ │
┌─────────────────────────────┼───────────────────────────────┼──────────────────────────┐
│ Dell Physical Server │ vmnic0 │ vmnic3 │
│ (ESXi Host: 192.168.1.55) │ │ │
│ ▼ ▼ │
│ ┌──────────────────┐ ┌──────────────────┐ │
│ │ vSwitch0 │ │ vSwitch1 │ │
│ └─────────┬────────┘ └─────────┬────────┘ │
│ │ │ │
│ ┌──────────────────────┼──────────────────────┐ │ │
│ │ ens256 │ ens160 │ Ethernet0 │ ens192 │
│ ▼ ▼ ▼ ▼ │
│ ┌───────────┐ ┌───────────┐ ┌────────────┐ │
│ │ VM.1 │ │ VM.2 │ │ VM.3 │ │
│ │ Router ├─────-──►│ DataBase │ │ DESLCtrl │ │
│ │ (Ubuntu) │ │ (Ubuntu) │ │ (Win 10) │ │
│ └───────────┘ └───────────┘ └────────────┘ │
│ 192.168.1.56 192.168.1.58 192.168.1.59 │
│ 128.179.34.35 │
└────────────────────────────────────────────────────────────────────────────────────────┘
Component
| Machine / Layer | OS / Function | Private IP | Port Mapping | Role |
|---|---|---|---|---|
| ESXi Host | VMware ESXi | 192.168.1.55 |
— | Physical Dell Hypervisor host |
| VM.1 Router | Ubuntu Linux | 192.168.1.56 / .57 |
128.179.34.35 |
Firewall, traffic routing, DNAT port forwarding |
| VM.2 DataBase | Ubuntu Linux | 192.168.1.58 |
:52000 (InfluxDB):52100 (Grafana) |
Time-series data storage & monitoring dashboard |
| VM.3 DESLCtrl | Windows 10 | 192.168.1.59 |
— | Matlab / Labview control algorithm execution |
Access
Internal Access (Local Microgrid Subnet)
- Users connected to the DESL Microgrid Network (
192.168.1.X) can directly target individual VM IPs via SSH or web browser without going through external translation. - ESXi Management Interface: https://192.168.1.55
- username:
root - password:
Root442$1
- username:
- DataBase VM Direct SSH:
ssh <username>@192.168.1.58- username(Database VM):
database - password:
DESLDatabase
- username(Database VM):
External Access (Public EPFL Network)
External access to internal resources is handled via Port Forwarding (DNAT) configured on VM.1 Router:
- InfluxDB API: Incoming traffic to
128.179.34.35:52000\(\rightarrow\) Forwarded internally to192.168.1.58:8086- username:
admin - password:
DESLInfluxDB
- username:
- Grafana Dashboard: Incoming traffic to
128.179.34.35:52100\(\rightarrow\) Forwarded internally to192.168.1.58:3000- username:
admin - password:
DESLGrafana2024$1
- username:
Operating Procedures
A. Accessing the DataBase VM via Web Console
- Connect to the local MG network.
- Open a web browser and navigate to https://192.168.1.55.
- Log in using the ESXi root credentials.
- Navigate to Virtual Machines \(\rightarrow\) VM.2 DataBase \(\rightarrow\) Console \(\rightarrow\) Launch Web Console.
B. Adding the Database VM Direct SSH Access
- Open the Database VM console or SSH session with admin rights.
ssh database@192.168.1.58- Now you can execute Linux commands directly on the Database VM, such as:
- checking InfluxDB status:
sudo systemctl status influxd- find PID of InfluxDB process:
ps aux | grep influxd- stop InfluxDB service:
sudo service influxd stop- restart InfluxDB service:
influxdC. InfluxDB Troubleshooting & Restart Protocol
If InfluxDB fails or holds locked port instances:
- Connect to the DataBase VM (
192.168.1.58). - Stop any rogue or hanging background instances:
sudo service influxd stop- Restart the service in the background cleanly:
sudo systemctl start influxd
# OR run directly in the background:
nohup influxd > /dev/null 2>&1 &
TipInfluxDB Crash Troubleshooting
The InfluxDB service may crash when a large query is executed, I doubt this is due to the limited RAM of the VM.
- Until August 2026, the VM.2 DataBase is only allocated 4GB of RAM.
- May manage memory limits using the
influxdconfiguration options or environment variables, such as settingINFLUXD_QUERY_INITIAL_MEMORY_BYTESandINFLUXD_QUERY_MAX_MEMORY_BYTESto cap memory usage per query.
Repository
- An InfluxDB query client is available DESL/Influx_reading_writing.
PythonandMatlabclients are provided for reading and writing time-series data to the InfluxDB server. - Microgrid central control algorithm is available DESL/Labview-ugrid/mg_central_controller.