Multi-Server Deployment
Meridian VMS is designed to scale horizontally by distributing cameras across multiple recording servers. Each server operates independently while the management server acts as the central control plane.
Architecture
Section titled “Architecture” ┌──────────────────────┐ │ Management Server │ │ (central control) │ └──┬─────┬─────┬───────┘ │ │ │ │ │ │ ┌────────┘ │ └────────┐ ▼ ▼ ▼ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ Recorder 1 │ │ Recorder 2 │ │ Recorder 3 │ │ 60 cameras │ │ 60 cameras │ │ 40 cameras │ └─────────────┘ └─────────────┘ └─────────────┘Camera Distribution
Section titled “Camera Distribution”Cameras are assigned to recording servers through the management web interface. Each camera belongs to exactly one recording server at a time.
Assignment approaches:
- Manual assignment — Administrators explicitly assign cameras to servers when creating or editing camera records. This gives full control over which cameras run on which hardware.
- Auto-assignment — When no server is specified during camera creation, the system automatically assigns the camera to the server with the fewest cameras, providing basic load balancing.
Server Independence
Section titled “Server Independence”Each recording server operates independently:
- No inter-server communication — Recording servers do not talk to each other. All coordination goes through the management server.
- Isolated failure domains — If one server goes offline, the others continue recording and serving their cameras without any impact.
- Independent streaming — Each server runs its own stream relay. Camera connections are local to each server.
- Independent storage — Each server writes recordings to its own local disk. There is no shared storage requirement.
Real-Time Configuration Updates
Section titled “Real-Time Configuration Updates”When camera configuration changes on the management server, those changes are pushed to the affected recording server immediately. There is no need to restart services or wait for a polling cycle.
Supported real-time changes include:
| Change | Effect |
|---|---|
| Camera added or reassigned to a server | Server begins ingesting and recording the new camera |
| Camera removed or reassigned away | Server stops recording and releases the camera stream |
| Camera settings changed | Server applies new settings (stream URL, recording parameters, etc.) |
| Detection zones modified | AI detection engine updates its zone configuration |
Health Monitoring
Section titled “Health Monitoring”Each recording server sends periodic status updates to the management server, including:
- Per-camera recording status (recording, error, or offline)
- Disk usage and capacity
The management server uses this data to classify each server’s overall health:
| Status | Meaning |
|---|---|
| Online | Server is operational and reporting regularly |
| Degraded | Server is running but some cameras are experiencing issues |
| Offline | Server has stopped reporting — potentially down or unreachable |
This health data is displayed in the web interface dashboard and is used by the failover service for automatic camera rebalancing.
Scaling Guidance
Section titled “Scaling Guidance”Cameras Per Server
Section titled “Cameras Per Server”The practical camera limit per recording server depends on several factors:
| Factor | Consideration |
|---|---|
| Network bandwidth | A 10 Gbps link supports approximately 150 cameras at 6 Mbps average bitrate |
| CPU | Stream-copy recording is lightweight; modern hardware handles 200+ cameras |
| Disk throughput | Sequential write speed must exceed total ingest bitrate |
| GPU (if detection is enabled) | Inference throughput limits the number of cameras that can be analysed |
| RAM | Each camera uses a moderate amount of memory for buffering and processing |
A well-provisioned server with 10 Gbps networking and adequate storage can typically handle 100—150 cameras.
Adding a New Server
Section titled “Adding a New Server”To add a new recording server:
- Install the recording software on the new server (see Installation).
- Configure it with the management server’s address and authentication credentials.
- Start the service — it will register itself with the management server automatically.
- Assign cameras to the new server via the web interface.
The new server begins recording immediately upon camera assignment.
Removing a Server
Section titled “Removing a Server”To decommission a recording server:
- Reassign all cameras to other servers via the web interface.
- Wait for the new servers to begin recording the reassigned cameras.
- Stop and disable the recording service on the decommissioned server.
- Optionally, archive or export any needed recordings from the server’s disk.