Flussonic Media Server documentation

Cluster DVR

Problems of DVR clustering Anchor Anchor x2

The task of archive storage in a distributed video delivery environment creates several problems:

  • It's necessary to ensure the safety and availability of an archive. RAID-systems do not solve the problem because when you turn off the server all data on it becomes unavailable;
  • for a popular content it's necessary to ensure the delivery of the archive closer to users and to ensure load reduction on source servers;
  • in a geo-distributed video delivery environment you must be able to restore the integrity of the archive on the secondary servers after a loss of the source server;

The easiest option for clustered DVR access is to turn DVR on the source and on the secondary servers.

Clustering of DVR in Flussonic can be turned on easily: use the "source" directive to receive the video:

source origin1 {
  dvr /storage 2d;
}

In this case, the local server, even if DVR is turned off, will respond to the DVR queries (but not over all protocols), receiving the missing video from the source.

An important feature of Flussonic is the ability to use separate segment cache on the SSD for reducing load. Usually up to 90% of all visits is for the last day of a video, so for broadcasting of a large-scale events you can use SSD to reduce HDD load:

stream ort {
   url udp://239.0.0.1:5000;
   dvr /storage 80d;
   cache /cache 2d 800G;
}

When using DVR clustering, you can omit the "storage" on the secondary servers and specify only a segment cache:

source origin1 {
   cache /cache 2d 400G;
}

In this configuration the secondary server will use a segment cache to store DVR, but actually the entire archive will be controlled by the source server. In case of loss of communication with the source, the secondary server will not be able to respond to requests to the archive.