User Tools

Site Tools


server:nerdserv

Nerdserv

Nerdserv is a VM-Host in the serverroom, that is (usually) not reachable from the outside (unless you use a VPN)

Its purpose is to provide LXC-Containers and VMs to the crew. There is no guarantee on availability of this system. It is purely experimental and considered to be non-critical to the operation of the space station.

What VMs can be on there?

TL;DR: Stuff that is beneficial to the crew, the station or is fulfilling our mission according to our bylaws (Satzungszweck). No mining, no torrenting, no illegal purposes, no wasting of ressources, no tunnels or holes in Firewalls.

Infrastructure

This is the category of machines we really prefer on this host. All VMs that provide a service to the crew fall under this category. Everything that has to do with controlling or steering the space station, providing information or services to the crew is very very welcome.

Relatively speaking, these VMs can request and receive a lot of ressources and exist indefinitly, as long as they are being maintained and cared for.

Examples:

  • Home Assistant
  • Phone mgmt systems (like asterisk, which used to run on the old nerdserv prior to 2014)
  • Systems that create content for infoscreens like OpenMCT or Flowhub
  • Collaboration stacks like Collabora, onlyoffice, hedgedoc …
  • PXE-Boot server

Naming Scheme: Hostname should give an indication what application(s) are running on the machine

Personal

This is the 2nd category of machines on this host. These VMs serve the purpose of individual crew members. If you really like to toy around with some software packages, or want to learn how to use and deploy docker, ansible or any other software package for your own education and training, then this category is for you. This category are basically “private playgrounds”

Relatively speaking, these VMs should be frugal and minimal with the ressources they request and will not exist indefinitly, but only as long as they are actively in use.

It is preferred, if an end-date can be specified, when requesting such a machine, but we understand that this can not always be estimated how long such a playground is needed.

Examples:

  • “I need a VM outside of my own computer”
  • “I need a sandbox to play around with a different OS then my computer”
  • “I need this to run overnight and dont want to leave my notebook on board”
  • “I need a development machine for my (educational / self-teaching) project”

Naming Scheme: Hostname starts with the ldap-name of the member, followed by a - and then some indication of the purpose of the machine

Ressource wasting

This category will not receive a VM and is documented here, so that everybody understands what usage is not okay

Anything that wastes ressources, like mining of cryptotokens or running torrents is not allowed on nerdserv. VMs that have this purpose will not be created. VMs that exist and suddenly start doing any of these activities (or activities in the same spirit) will be deactivated or deleted. We may not even give prior notice.

Examples:

  • No Torrents or automatic copyright infringement mechanisms
  • No Mining of Cryptotokens/Coins
  • No Proof of Work Blockchains
  • No machines which punch holes or tunnels in our firewall. If you need external access, talk to admax@
  • No machines that are for the commercial benefit of individual crewmembers (or their startups)

Edgecases: Continous Integration Pipelines can, depending on how often they run and how large the project is, really eat up all provided ressources quickly. In general, this may not be a good fit for nerdserv. Talk to admax@ before you deploy systems that will eat up 100% of the provided cores over many hours.

How to get a LXC or VM?

There are two ways to get an LXC or a VM

Infrastructure as Code

If you are able to use Github and the task of “creating a pull request” does not scare you, then we'd like to ask you, to specify your VM (or LXC) yourself.

To do this, clone https://github.com/c-base/nerdserv

Inside the Folder /proxmox, you can duplicate any of the machine files, like homeassistant.tf, rename the file and edit the contents so it matches your requirements. Dont forget to include your ssh pub cey in the locals.tf file. After creation, your username for this SSH-Key initially is “debian”. Please change it.

This Tutorial is in so far incomplete, as it has been discovered that the OS needs to be specified and the SSH key of the user wanting the machine needs to be added here as well. How this works can be edited by anyone who is reading this.

Then commit and create a pull request. After the pull request is merged, terraform will perform its magic and the VM (or LXC Container) will pop into existence.

Manual

Please specify if you need a VM or LXC, the OS you like to have on there, the number of Cores, amount of RAM, usage scenario, Disk space, hostname, ssh-pub-cey, end-date (if possible) and request your VM through writing an email to admax@

System Specification

Hardware

Nerdserv runs on a Super Micro board called a2sdi-16c-hln4f. This board has a Intel Atom Processor C3955 with 16 Cores. The board is equipped with 128GB of ECC RDIMM RAM, which can be extended to 256GB of RAM, if two RAM Modules (RDIMM ECC DDR4 2400 64GB) are bought and added

The OS is on two SSDs that are in a RAID1 configuration. This is exclusivly for the Hypervisor.

VMs get their disk space from a M.2 NVME Disk that has 2TB capacity.

Software

As Hypervisor, Proxmox is used.

Storage

If you require signifcant amounts of storage (“more then a couple of GB”), please use the MFS as (mounted) storage

Backups

Maybe a snapshot from your VM is regularly created and saved on the MFS. Do not rely on this.

server/nerdserv.txt · Last modified: 2023/07/17 18:58 by ijon