Wiki source code of VM
Last modified by Leo Fahrbach on 2025/07/04 18:35
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | {{toc/}} | ||
| 2 | |||
| 3 | # Virtuelle Maschinen | ||
| 4 | |||
| 5 | Zum Hosting von Diensten bieten wir virtualisierte Rechner an. | ||
| 6 | |||
| 7 | ## Beantragung | ||
| 8 | |||
| 9 | Deine Organisationseinheit muss einen ESX-Administrator benannt und eingewiesen haben. | ||
| 10 | |||
| 11 | ⭐ Ihr könnt nun in der [[StrukturDB|doc:CIT.ITO.Docs.Services.StrukturDB.WebHome]] selbstständig VMs erstellen! ⭐ | ||
| 12 | [https://struktur.ito.cit.tum.de/struktur/reg/host](https://struktur.ito.cit.tum.de/struktur/reg/host) | ||
| 13 | |||
| 14 | Für super-einfache und sichere Logins ohne Passwort, könnt ihr in der [[StrukturDB|doc:CIT.ITO.Docs.Services.StrukturDB.WebHome]] bei euren Usern deren SSH-key speichern - mit diesem kann man sich dann direkt einloggen. | ||
| 15 | |||
| 16 | * Org-Admins haben sowieso root-Zugriff auf die VM | ||
| 17 | * Weitere Zugriffe auf die VM könnt ihr dafür im machine-Eintrag vergeben | ||
| 18 | * Wenn nötig könnt ihr ne Gruppe für maschinenübergreifenden Berechtigungen anlegen | ||
| 19 | |||
| 20 | Lokale Nutzer (in `/etc/passwd`) sind damit nicht mehr notwendig. | ||
| 21 | Die Login-Berechtigung für Gruppen wird dabei in `/etc/security/access.conf` vergeben. | ||
| 22 | |||
| 23 | Ihr könnt nun auch machine-Einträge für eure Hardwareserver erstellen, und dann auf diesen unsere [[LDAP-Anleitung|doc:CIT.ITO.Docs.Guides.LDAP-Client.WebHome]] befolgen. | ||
| 24 | Dann könnt ihr die Zugriffe für VMs und Hardwareserver auf die gleiche Art verwalten. | ||
| 25 | |||
| 26 | Beim automatischen VM-Erstellen gibt es VMs in der Standardkonfiguration: | ||
| 27 | |||
| 28 | * CPU: 4 Cores | ||
| 29 | * RAM: 4 GB | ||
| 30 | * 100 Gigabyte Systemplatte | ||
| 31 | * Ubuntu | ||
| 32 | |||
| 33 | Abweichende Konfigurationen werden weiterhin über die Antragsbox erstellt. | ||
| 34 | |||
| 35 | ### Antragsbox | ||
| 36 | |||
| 37 | ``` | ||
| 38 | CIT-Org: | ||
| 39 | Betriebssystem: Ubuntu Server 24.04 | ||
| 40 | Kurzer Projektname: | ||
| 41 | Weitere Beschreibung des Projektes: | ||
| 42 | Voraussichtliche Projektlaufzeit: unbestimmt | ||
| 43 | Ansprechpartner: Name - CIT-Account - Telefonnummer | ||
| 44 | Ansprechpartner: Name - CIT-Account - Telefonnummer | ||
| 45 | Spezielle Hardware-Wünsche: | ||
| 46 | Weitere Hinweise: | ||
| 47 | ``` | ||
| 48 | |||
| 49 | * **CIT-Org:** Zuordnung zur Organisationseinheit der CIT. VM-Name wird z. B. orgvm42. | ||
| 50 | * **Kurzer Projektname:** Möglichst ein bis drei Wörter, die diesen Server eindeutig bezeichnen. | ||
| 51 | In der Verwaltungsoberfläche wird dieser Name angezeigt als orgvm42 - ${kurzer projektname} zu sehen sein. Ziel: Schnelle Übersicht über den Zweck der Maschine. | ||
| 52 | * **Weitere Beschreibung des Projektes:** Hier können Sie zum Beispiel schreiben, ob es sich um eine Doktorarbeit handelt oder um Infrastruktur des Lehstuhls | ||
| 53 | * **Projektlaufzeit:** Eine unverbindliche Angabe, die uns bei der Planung hilft. Auch `unbestimmt` ist gültig. | ||
| 54 | * **Ansprechpartner:** Zwei Personen, die mit dem Projekt und mit der Bedienung von VMware vertraut sind. Wir brauchen den zweiten Ansprechpartner, falls der erste nicht erreichbar ist. | ||
| 55 | * Bitte **CIT-Loginnamen** angeben | ||
| 56 | * **Hardware:** Wenn weiter nichts angegeben ist, bekommt der Server 4 CPU und 4 GB RAM. Die Größe der Systemplatte ist immer 100 GiB. | ||
| 57 | Erweiterung möglich: | ||
| 58 | Festplattenkapazität: weitere Festplatte als Ceph RBD, welches separat vom ESX-Verwalter gesichert werden muss und nicht von der ITO gesichert wird. | ||
| 59 | CPU: bis zu insg. 6 vCPU | ||
| 60 | RAM: bis zu insg. 8 GB RAM | ||
| 61 | |||
| 62 | ## Richtlinien | ||
| 63 | |||
| 64 | Damit die vielen VMs reibungslos laufen können, müssen Regeln eingehalten werden: | ||
| 65 | |||
| 66 | * VMs im Cluster sind **Dienste**, also es sind keine Rechenintensiven Programme erlaubt. | ||
| 67 | * Betriebssystem aus Template der ITO (Stand Dezember 2024): | ||
| 68 | * Ubuntu Server 24.04 | ||
| 69 | * Windows Server 2019 Datacenter | ||
| 70 | * Die ITO Systemgruppe hat für alle Server root-Zugang/Admin-Rechte. Unsere Benutzer dürfen nicht vom System entfernt werden, der SSH-Port darf nicht geändert werden. | ||
| 71 | * SSH-Login aussschließlich mit Public Keys ist ausdrücklich **erwünscht**. | ||
| 72 | * Um die übrigen VMs im Cluster nicht unnötig zu belasten, bitten wir um verantwortungsvollen Umgang mit den Ressourcen. Wenn alle Server gleichzeitig CPU, Netzwerk oder Disk-IO bis zum Maximum belasten würden, würde der Cluster sehr träge werden. | ||
| 73 | * Sicherheitpatches für Ubuntu oder Windows müssen regelmäßig eingespielt werden. | ||
| 74 | * Führen Sie bitte **kein Release-Upgrade** auf eine andere Windows-Version, einen neueren Ubuntu-Release oder ein anderes Betriebsystem durch. | ||
| 75 | * Die VMware-Tools (zur Integration des Systems in die Virtualisierungsumgebung) dürfen nicht entfernt werden. | ||
| 76 | * Für jede VM sollte jederzeit ein Ansprechpartner erreichbar sein (auch bei Urlaub, daher mindestens zwei Kontaktpersonen). | ||
| 77 | |||
| 78 | Wir empfehlen außerdem folgende optionale Maßnahmen: | ||
| 79 | |||
| 80 | * Die VMs sind zur Benutzung als Server vorgesehen. Bitte keine Desktop-Umgebung auf Linux-VMs installieren. | ||
| 81 | * Zugriffsbeschränkung durch Firewall gerne möglich (z.B. nur aus Organisationsnetz und VPN) - Verwaltung der Firewall durch Org-Admins mit Auftrag an die ITO Netzwerkgruppe | ||
| 82 | * Sehr gerne SSH-Zugriff ausschließlich mit Public Key Authentication (`PasswordAuthentication no`) | ||
| 83 | |||
| 84 | ## Batch-Beantragung | ||
| 85 | |||
| 86 | Sollten eine Reihe VMs benötigt werden, bitte eine yaml-Datei für automatische Bearbeitung einsenden: | ||
| 87 | |||
| 88 | ```yaml | ||
| 89 | ## Beantragung mehrerer VMs im ITO-Cluster | ||
| 90 | |||
| 91 | # Optionen für alle VMs | ||
| 92 | ALL: | ||
| 93 | antragsbox: | | ||
| 94 | CIT-Org: FUN | ||
| 95 | Betriebssystem: Ubuntu Server 24.04 LTS | ||
| 96 | Kurzer Projektname: {projname} | ||
| 97 | Weitere Beschreibung des Projektes: {projdesc} | ||
| 98 | Voraussichtliche Projektlaufzeit: inf | ||
| 99 | Ansprechpartner: user1 - Dein Name - Telefon | ||
| 100 | user2 - Anderer Name - Telefon | ||
| 101 | |||
| 102 | os: "Ubuntu Server 24.04" | ||
| 103 | org: 'org:FUN' | ||
| 104 | hostpattern: 'funvm%+' | ||
| 105 | lsadmin: ['user:fmi:user1', 'user:fmi:user2'] | ||
| 106 | expiration: "unbestimmt" | ||
| 107 | |||
| 108 | # Individuelle VM-Einstellungen | ||
| 109 | # Werte von ALL werden übernommen und können überschrieben werden! | ||
| 110 | vms: | ||
| 111 | - projname: Bratwurst as a Service | ||
| 112 | projdesc: VM für das Bestellsystem der Bratwürste aus Gang 7 | ||
| 113 | ram: 4 | ||
| 114 | cpu: 2 | ||
| 115 | net: il42_7 | ||
| 116 | |||
| 117 | - projname: Döner as a Service | ||
| 118 | projdesc: Cloud-Dienst zur Beschaffung köstlicher Mitternachtssnacks | ||
| 119 | ram: 2 | ||
| 120 | cpu: 2 | ||
| 121 | net: [il42_2, il42_7] | ||
| 122 | ``` | ||
| 123 | |||
| 124 | ## Nächste Schritte | ||
| 125 | |||
| 126 | * Um beliebigen DNS-Namen in deiner Lehrstuhl-Domain zu bekommen: | ||
| 127 | * [Host-Aliases (a.k.a. CNAME) hinzufügen](https://struktur.ito.cit.tum.de/struktur/proc/host_setaliases) oder | ||
| 128 | * Zusatz-IP mit beliebigem Namen erstellen ([Neuer Host](https://struktur.ito.cit.tum.de/struktur/proc/host_create) mit hosttype=service) (erfordert Konfiguration von netplan / Netzwerkeinstellungen) | ||
| 129 | * [Serverzertifikat](https://wiki.ito.cit.tum.de/bin/view/CIT/ITO/Docs/Services/Certificates/Server%20Certificate/) | ||
| 130 | |||
| 131 | ## Anpassungen | ||
| 132 | |||
| 133 | ### Windows Server 2019 | ||
| 134 | |||
| 135 | Bitte macht kein In-Place-Update von Windows 2012 zu 2019. Gerne stellen wir euch hierfür frische VMs zur Verfügung. | ||
| 136 | |||
| 137 | In unserem Windows 2019-Image haben wir geändert: | ||
| 138 | |||
| 139 | * Firewall: File and Printer Sharing (Echo Request - ICMPv4-In + ICMPv6-In) Enable | ||
| 140 | * Server Manager - Add Roles and Features - Telnet Client | ||
| 141 | * NTP Config (in Admin-CMD Shell): | ||
| 142 | * net stop w32time | ||
| 143 | * w32tm /config /syncfromflags:manual /manualpeerlist:"ntp1.in.tum.de,ntp2.in.tum.de" | ||
| 144 | * w32tm /config /reliable:yes | ||
| 145 | * net start w32time | ||
| 146 | * SSH Server / Client: | ||
| 147 | Settings → Apps → Apps and Features → Manage Optional Features → OpenSSH Server; Client ist bereits installiert | ||
| 148 | * Nochmal SSH (in einer Admin Shell): | ||
| 149 | * Install-Module -Force OpenSSHUtils -Scope AllUsers | ||
| 150 | * Set-Service -Name ssh-agent -StartupType ‘Automatic’ | ||
| 151 | * Set-Service -Name sshd -StartupType ‘Automatic’ | ||
| 152 | * Start-Service ssh-agent | ||
| 153 | * Start-Service sshd | ||
| 154 | * [LRZ Windows Updates](https://doku.lrz.de/pages/viewpage.action?pageId=30082306) | ||
| 155 | Den Gruppenrichtlinieneditor ausführen: Start → gpedit.msc | ||
| 156 | * Computer Configuration → Administrative Templates → Windows Components → Windows Update | ||
| 157 | * "Configure Automatic Updates" → 3 - Auto download and notify for install | ||
| 158 | * "Specify intranet Microsoft update service location" → [https://sus.lrz.de](https://sus.lrz.de) als intranet update und intranet statistics server | ||
| 159 | * "Do not connect to any Windows Update internet locations" → Enable | ||
| 160 | * "Enable client-side targeting" → Enabled | ||
| 161 | * Target group name: Server | ||
| 162 | * Telemetrie: | ||
| 163 | * Group Policy Editor gpedit.msc ; wieder zu Windows Components - Data Collection and Preview Builds | ||
| 164 | * "Allow Telemetry": Disabled | ||
| 165 | * Zusätzlich Telemetrie: Start → Settings → Privacy → Diagnostics & feedback | ||
| 166 | * Diagnostic data: basic | ||
| 167 | * Feedback frequency: never | ||
| 168 | * KMS Server: In einer Admin cmd-Shell | ||
| 169 | * cscript \windows\system32\slmgr.vbs -skms kms.in.tum.de |