Wiki source code of VM
Version 12.1 by Christoph Bußenius on 2025/06/23 16:11
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 | * 80 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 80 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: [[Host-Aliases (CNAME) hinzufügen|https://struktur.ito.cit.tum.de/struktur/proc/host_setaliases]] oder Zusatz-IP mit beliebigen Namen erstellen ([[Neuer Host|https://struktur.ito.cit.tum.de/struktur/proc/host_create]] mit hosttype=service) | ||
127 | * [[Serverzertifikat|https://wiki.ito.cit.tum.de/bin/view/CIT/ITO/Docs/Services/Certificates/Server%20Certificate/]] | ||
128 | |||
129 | ## Anpassungen | ||
130 | |||
131 | ### Windows Server 2019 | ||
132 | |||
133 | Bitte macht kein In-Place-Update von Windows 2012 zu 2019. Gerne stellen wir euch hierfür frische VMs zur Verfügung. | ||
134 | |||
135 | In unserem Windows 2019-Image haben wir geändert: | ||
136 | |||
137 | * Firewall: File and Printer Sharing (Echo Request - ICMPv4-In + ICMPv6-In) Enable | ||
138 | * Server Manager - Add Roles and Features - Telnet Client | ||
139 | * NTP Config (in Admin-CMD Shell): | ||
140 | * net stop w32time | ||
141 | * w32tm /config /syncfromflags:manual /manualpeerlist:"ntp1.in.tum.de,ntp2.in.tum.de" | ||
142 | * w32tm /config /reliable:yes | ||
143 | * net start w32time | ||
144 | * SSH Server / Client: | ||
145 | Settings → Apps → Apps and Features → Manage Optional Features → OpenSSH Server; Client ist bereits installiert | ||
146 | * Nochmal SSH (in einer Admin Shell): | ||
147 | * Install-Module -Force OpenSSHUtils -Scope AllUsers | ||
148 | * Set-Service -Name ssh-agent -StartupType ‘Automatic’ | ||
149 | * Set-Service -Name sshd -StartupType ‘Automatic’ | ||
150 | * Start-Service ssh-agent | ||
151 | * Start-Service sshd | ||
152 | * [LRZ Windows Updates](https://doku.lrz.de/pages/viewpage.action?pageId=30082306) | ||
153 | Den Gruppenrichtlinieneditor ausführen: Start → gpedit.msc | ||
154 | * Computer Configuration → Administrative Templates → Windows Components → Windows Update | ||
155 | * "Configure Automatic Updates" → 3 - Auto download and notify for install | ||
156 | * "Specify intranet Microsoft update service location" → [https://sus.lrz.de](https://sus.lrz.de) als intranet update und intranet statistics server | ||
157 | * "Do not connect to any Windows Update internet locations" → Enable | ||
158 | * "Enable client-side targeting" → Enabled | ||
159 | * Target group name: Server | ||
160 | * Telemetrie: | ||
161 | * Group Policy Editor gpedit.msc ; wieder zu Windows Components - Data Collection and Preview Builds | ||
162 | * "Allow Telemetry": Disabled | ||
163 | * Zusätzlich Telemetrie: Start → Settings → Privacy → Diagnostics & feedback | ||
164 | * Diagnostic data: basic | ||
165 | * Feedback frequency: never | ||
166 | * KMS Server: In einer Admin cmd-Shell | ||
167 | * cscript \windows\system32\slmgr.vbs -skms kms.in.tum.de |