Uit Hack42
Ga naar: navigatie, zoeken
Project: Virtualisatie
Schroefje24.png
Schroefje24.png
Schroefje24.png
Schroefje24.png
Virtualisatie Picture.jpg

Virtualisatie

Naam Virtualisatie
Door BugBlue, SA007, Dvanzuijlekom
Status Uitvoer
Madskillz Knutselen, (Linux) Systeembeheer, Networking, Storage
Doel / Omschrijving
Een virtualisatieplatform voor containers/VM's in de space
Alle Projecten - Project Toevoegen
File:Virtualisatie_Picture.jpg noez


Voor het draaien van containers en/of virtuele machines hebben we een virtualisatieplatform ingericht. Momenteel is dit hornby.space.hack42.nl. De host is vernoemd naar Frank Hornby, uitvinder van Meccano. Dit vanwege het feit dat Meccano een integraal en cruciaal onderdeel is van de serverbehuizing.

Doel

Deze host is bedoeld om containers/VM's te draaien die kunnen worden ingezet voor (bijvoorbeeld) space-infra zaken en allerhande hackerspace-gerelateerde activiteiten/doeleinden. In plaats van allerlei (niet-gerelateerde) functionaliteiten in een enkele 'superserver' te consolideren is het juist de bedoeling om dit, waar mogelijk, zoveel mogelijk uit te spreiden over individuele containers/VM's. Dit heeft als voordeel dat de hypervisor zelf zo 'clean' mogelijk wordt gehouden, wat upgrades vergemakkelijkt, maar ook dat individuele VM's geen oerwoud van maatwerk-dependencies worden (wat ook weer OS upgrades/patches vergemakkelijkt).

Hardware

  • HP xw6600 Workstation voorzien van laatste BIOS (v1.46) en een verse CMOS batterij
  • 2x Intel Xeon E5430 CPU's, 8 cores (2x 4) @2.66GHz
  • 32GB RAM (8x 4GB DIMMs) DDR2-667, Fully Buffered, 72-bit ECC
  • 6x 250GB Hitachi Deskstar harddisks (in ZFS RAID-Z2)
    • Hebben enkele jaren 24/7 als Virtual Tape Library gedraaid in een datacenter
    • Vooraf met 'badblocks -wvs' getest, 0 bad blocks (te zien aan "OK" geschreven op de drive)

Ondanks dat dit workstation zou moeten kunnen booten vanaf een USB stick, lijkt deze problemen te hebben met sommige Operating Systems en/of sticks. Proxmox wordt bijvoorbeeld niet herkend, maar Tails wel.

Software

De server draait Proxmox Virtual Environment. Dit is een open-source virtualisatieplatform op basis van Debian GNU/Linux. Het geeft de mogelijkheid om zowel Linux Containers (LXC) als full-blown VM's te draaien onder KVM-technologie. Hackerspace NURDspace gebruikt ook Proxmox en heeft inmiddels enkele jaren goede ervaringen met haar virtualisatieplatform.

Maatwerk

Na installatie is het volgende gedaan:

SSH Login Accounts

Op het systeem zijn enkele gebruikersaccounts aangemaakt voor beheerders. Deze zijn handmatig in de groepen adm, sudo, operator en users geplaatst. Homedirectories zijn iets verder dichtgezet qua permissies.

root@hornby:~# useradd -c "<Voornaam Achternaam>" -s /bin/bash -m <username>
root@hornby:~# gpasswd -a <username> <groupname> # 4x
root@hornby:~# chgrp operator /home/<username>
root@hornby:~# chmod o-rx /home/<username>

Uitschakelen Enterprise Repo

In /etc/apt/sources.list.d/pve-enterprise.list is de Enterprise repository uitgecomment, aangezien we hier geen licentie voor hebben. Dit voorkomt de '401 Unauthorized' foutmelding tijdens het draaien van 'apt-get update'.

Extra Packages

Om beheer te vergemakkelijken zijn de volgende extra packages geïnstalleerd:

  • sudo
  • vim-nox

SSHD Login Banner

Er is een loginbanner in /etc/issue.net geplaatst en deze is geactiveerd in /etc/ssh/sshd_config.

Storage

Voor opslag van VM's, containers, ISO's etc zijn (via de commandline) aparte ZFS pools gemaakt. Deze zijn vervolgens via de webinterface gemapped aan de juiste targets. De automatisch aangemaakte 'local' mappings zijn verwijderd en/of disabled.

root@hornby:~# zfs create rpool/data/backup
root@hornby:~# zfs create rpool/data/image
root@hornby:~# zfs create rpool/data/iso

Dit ziet er als volgt uit:

root@hornby:~# cat /etc/pve/storage.cfg 
dir: local
        disable
        path /var/lib/vz
        content iso,rootdir,vztmpl,images
        maxfiles 0
        shared 0

zfspool: image
        pool rpool/data/image
        content rootdir,images
        sparse 1

dir: iso
        path /rpool/data/iso
        content iso,vztmpl
        shared 0

dir: backup
        path /rpool/data/backup
        content backup
        maxfiles 1
        shared 0

Groups

Er is een nieuwe group admins ("Hack42 PVE Cluster Administrators") aangemaakt en deze is op groupniveau de (PVE) rol "Administrator" toegekend. Individuele users zijn in die group geplaatst.

Netwerk

De server is middels de Cisco SRW 2048 aangesloten op het Hack42 Managed Hardware VLAN via de PCI NIC. De onboard NIC is momenteel ongebruikt.

Toegang

Fysiek

De server ligt in het 19" rack in het serverhok op de begane grond.

Logisch

De hypervisor is toegankelijk via SSH en de webinterface. Die laatste heeft de voorkeur. Merk op dat deze een self-signed certificaat zal aanbieden. Middels de HTML5 webinterface is het mogelijk om containers en VM's aan te maken, maar bijvoorbeeld ook om een (grafische) console te openen naar een container/VM of zelfs die van de host zelf.

Aanvraagprocedure Container/VM

Om onze ISO 9001 certificering te behouden, zal je een (origineel exemplaar, geen kopie) "Aanvraagformulier CI Container/VM" (formulier 251-B) moeten overleggen bij iedere container/VM-aanvraag. Deze formulieren zijn in de space te vinden, op de gebruikelijke locatie. Let wel dat dit formulier enkel op persoonlijke basis wordt uitgegeven. Legitimatie is verplicht, doe dit door middel van twee identiteitsdocumenten: minstens één geldig officieel identiteitsdocument en daarnaast (bijvoorbeeld) een bankpas/afschrift. Er wordt maximaal één formulier per lopende aanvraagprocedure uitgegeven en in behandeling genomen.

Voor toegang tot de host of voor het (laten) deployen van een container/VM op de host kan je contact opnemen met één van de onderstaande sysadmins. Zorg wel dat je in het bezit bent van een compleet en correct ingevuld formulier 251-B, uiteraard voorzien van ondertekening door tenminste één bestuurslid en één van de onderstaande personen (maximaal één signatuur per rol):

Build POIDH

www.flickr.com - tags:hack42 hornbyspacehack42nl (random) (max: 4)