An emulation capability for Industrial Control Systems
View the Project on GitHub sandialabs/sceptre-docs
A SCEPTRE installation requires one headnode computer and one or more compute node computers.
The headnode is the computer where experiment management tools are installed. Virtual machines are not run on this machine, and thus the resource requirements are less than compute nodes.
The compute node is the computer where virtual machines run. For a minimal SCEPTRE system, you only need one compute node. However, you can use as many compute nodes as you wish in the cluster.
Apt-mirror is a small tool that provides the ability to mirror Ubuntu Linux distribution packages. This is useful if you do not have access to the internet to install system packages. Apt-mirror will download and create a local repository of all the Ubuntu packages you specify.
Warning - This will require a significant amount of disk space since it downloads entire distribution packages (~200-300GB).
To launch and configure virtual machines, the headnode and all compute nodes need access to the base KVM images. These are the ‘golden’ raw image files that are used by QEMU.
To allow all physical hosts access to the base KVM images, a Network File System (NFS) share is installed and configured on the headnode. A NFS allows a system to share directories and files with others over a network. By using NFS, users and programs can access files on remote systems almost as if they were local files. NFS shares are typically installed in a client-server format, with the server hosting the real files, and the clients accessing those files over the network.
Instead of creating a KVM image for every virtual machine in an experiment (which could use a lot of disk space), SCEPTRE uses a virtualization technology called snapshots to create custom virtual machines that share a common base image. A snapshot is a small image file containing any changes from the base image that can be used to launch a virtual machine. Multiple snapshot files created from the same base image can all turn into custom virtual machines, but they all share a common parent image. Using this technology greatly reduces the amount of storage requirements for KVM images.
A base image called `bennu.qc2` is a plain Ubuntu 16.04 Linux operating system image with [bennu](/sceptre-docs/10-bennu.html) installed. When an experiment is deployed, several snapshots are created from the single 'sceptre' base image. Each of these snapshots becomes a specific simulated SCEPTRE device in a deployed experiment, such as an [RTU](/sceptre-docs/glossary.html#acronyms).
Open vSwitch (OVS) is a virtual switch providing advanced networking capabilities including VLAN encapsulation and port-mirroring. It is installed on all compute nodes and serves two primary purposes.