Stefan's Website

about me projects tech talk brick movies
projects > opensand >

OpenSANd Architecture

21 May 2014

OpenSANd command line interface

The CLI is called oscontrol and connects to the local opensand daemon


The nbdproxy is part of the VirtualControl software.
Unix domain socket TCP/IP

OpenSANd daemon

NBD Server

The NBD Server is already quite a bit modified and will be further extended in the future.



Backup system

OpenSANd disks are cut into equally sized chunks (1 MiB blocks). Each piece has a timestamp that is reset whenever the contents of this chunk change. The file containing these timestamps is called a blocklist. The backup process checks these blocklists in order to see which portions of an LVM disk need to be saved. Like this, even very large disks can be backuped (or restored, if necessary) in a very short time.

The backup chunks are located in a normal filesystem (ext3 or ext4), chunks that haven't changed since the last backup are hardlinked. Chunks may be transparently zipped (by a separate archiving process traversing the backup directories), depending on whether they come from an encrypted disk or not (there's of course absolutely no reason in trying to zip encrypted disks).

Backup servers are expected to be separate pieces of hardware. Each backup server is assigned to one OpenSANd server. Because of the large filesystems required for the backup system to work, plus the cheap prices for a simple disk server, backup system sharing is completely unsupported.

Backup servers are accessed with a separate tool from the OpenSANd server.