Wiki-Quellcode von VM
Zuletzt geändert von Christian Lübben am 2025/04/11 13:55
Zeige letzte Bearbeiter
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 | * CPU: 4 Cores | ||
28 | * RAM: 4 GB | ||
29 | * 80 Gigabyte Systemplatte | ||
30 | * Ubuntu | ||
31 | |||
32 | Abweichende Konfigurationen werden weiterhin über die Antragsbox erstellt. | ||
33 | |||
34 | ### Antragsbox | ||
35 | ``` | ||
36 | CIT-Org: | ||
37 | Betriebssystem: Ubuntu Server 24.04 | ||
38 | Kurzer Projektname: | ||
39 | Weitere Beschreibung des Projektes: | ||
40 | Voraussichtliche Projektlaufzeit: unbestimmt | ||
41 | Ansprechpartner: Name - CIT-Account - Telefonnummer | ||
42 | Ansprechpartner: Name - CIT-Account - Telefonnummer | ||
43 | Spezielle Hardware-Wünsche: | ||
44 | Weitere Hinweise: | ||
45 | ``` | ||
46 | |||
47 | * **CIT-Org:** Zuordnung zur Organisationseinheit der CIT. VM-Name wird z. B. orgvm42. | ||
48 | * **Kurzer Projektname:** Möglichst ein bis drei Wörter, die diesen Server eindeutig bezeichnen. | ||
49 | In der Verwaltungsoberfläche wird dieser Name angezeigt als orgvm42 - ${kurzer projektname} zu sehen sein. Ziel: Schnelle Übersicht über den Zweck der Maschine. | ||
50 | * **Weitere Beschreibung des Projektes:** Hier können Sie zum Beispiel schreiben, ob es sich um eine Doktorarbeit handelt oder um Infrastruktur des Lehstuhls | ||
51 | * **Projektlaufzeit:** Eine unverbindliche Angabe, die uns bei der Planung hilft. Auch `unbestimmt` ist gültig. | ||
52 | * **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. | ||
53 | * Bitte **CIT-Loginnamen** angeben | ||
54 | * **Hardware:** Wenn weiter nichts angegeben ist, bekommt der Server 4 CPU und 4 GB RAM. Die Größe der Systemplatte ist immer 80 GiB. | ||
55 | Erweiterung möglich: | ||
56 | Festplattenkapazität: weitere Festplatte als Ceph RBD, welches separat vom ESX-Verwalter gesichert werden muss und nicht von der ITO gesichert wird. | ||
57 | CPU: bis zu insg. 6 vCPU | ||
58 | RAM: bis zu insg. 8 GB RAM | ||
59 | |||
60 | ## Richtlinien | ||
61 | |||
62 | Damit die vielen VMs reibungslos laufen können, müssen Regeln eingehalten werden: | ||
63 | |||
64 | * VMs im Cluster sind **Dienste**, also es sind keine Rechenintensiven Programme erlaubt. | ||
65 | * Betriebssystem aus Template der ITO (Stand Dezember 2024): | ||
66 | * Ubuntu Server 24.04 | ||
67 | * Windows Server 2019 Datacenter | ||
68 | * 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. | ||
69 | * SSH-Login aussschließlich mit Public Keys ist ausdrücklich **erwünscht**. | ||
70 | * 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. | ||
71 | * Sicherheitpatches für Ubuntu oder Windows müssen regelmäßig eingespielt werden. | ||
72 | * Führen Sie bitte **kein Release-Upgrade** auf eine andere Windows-Version, einen neueren Ubuntu-Release oder ein anderes Betriebsystem durch. | ||
73 | * Die VMware-Tools (zur Integration des Systems in die Virtualisierungsumgebung) dürfen nicht entfernt werden. | ||
74 | * Für jede VM sollte jederzeit ein Ansprechpartner erreichbar sein (auch bei Urlaub, daher mindestens zwei Kontaktpersonen). | ||
75 | |||
76 | Wir empfehlen außerdem folgende optionale Maßnahmen: | ||
77 | |||
78 | * Die VMs sind zur Benutzung als Server vorgesehen. Bitte keine Desktop-Umgebung auf Linux-VMs installieren. | ||
79 | * 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 | ||
80 | * Sehr gerne SSH-Zugriff ausschließlich mit Public Key Authentication (`PasswordAuthentication no`) | ||
81 | |||
82 | ## Batch-Beantragung | ||
83 | |||
84 | Sollten eine Reihe VMs benötigt werden, bitte eine yaml-Datei für automatische Bearbeitung einsenden: | ||
85 | |||
86 | ```yaml | ||
87 | ## Beantragung mehrerer VMs im ITO-Cluster | ||
88 | |||
89 | # Optionen für alle VMs | ||
90 | ALL: | ||
91 | antragsbox: | | ||
92 | CIT-Org: FUN | ||
93 | Betriebssystem: Ubuntu Server 24.04 LTS | ||
94 | Kurzer Projektname: {projname} | ||
95 | Weitere Beschreibung des Projektes: {projdesc} | ||
96 | Voraussichtliche Projektlaufzeit: inf | ||
97 | Ansprechpartner: user1 - Dein Name - Telefon | ||
98 | user2 - Anderer Name - Telefon | ||
99 | |||
100 | os: "Ubuntu Server 24.04" | ||
101 | org: 'org:FUN' | ||
102 | hostpattern: 'funvm%+' | ||
103 | lsadmin: ['user:fmi:user1', 'user:fmi:user2'] | ||
104 | expiration: "unbestimmt" | ||
105 | |||
106 | # Individuelle VM-Einstellungen | ||
107 | # Werte von ALL werden übernommen und können überschrieben werden! | ||
108 | vms: | ||
109 | - projname: Bratwurst as a Service | ||
110 | projdesc: VM für das Bestellsystem der Bratwürste aus Gang 7 | ||
111 | ram: 4 | ||
112 | cpu: 2 | ||
113 | net: il42_7 | ||
114 | |||
115 | - projname: Döner as a Service | ||
116 | projdesc: Cloud-Dienst zur Beschaffung köstlicher Mitternachtssnacks | ||
117 | ram: 2 | ||
118 | cpu: 2 | ||
119 | net: [il42_2, il42_7] | ||
120 | ``` | ||
121 | |||
122 | ## Anpassungen | ||
123 | |||
124 | ### Windows Server 2019 | ||
125 | |||
126 | Bitte macht kein In-Place-Update von Windows 2012 zu 2019. Gerne stellen wir euch hierfür frische VMs zur Verfügung. | ||
127 | |||
128 | In unserem Windows 2019-Image haben wir geändert: | ||
129 | |||
130 | * Firewall: File and Printer Sharing (Echo Request - ICMPv4-In + ICMPv6-In) Enable | ||
131 | * Server Manager - Add Roles and Features - Telnet Client | ||
132 | * NTP Config (in Admin-CMD Shell): | ||
133 | * net stop w32time | ||
134 | * w32tm /config /syncfromflags:manual /manualpeerlist:"ntp1.in.tum.de,ntp2.in.tum.de" | ||
135 | * w32tm /config /reliable:yes | ||
136 | * net start w32time | ||
137 | * SSH Server / Client: | ||
138 | Settings → Apps → Apps and Features → Manage Optional Features → OpenSSH Server; Client ist bereits installiert | ||
139 | * Nochmal SSH (in einer Admin Shell): | ||
140 | * Install-Module -Force OpenSSHUtils -Scope AllUsers | ||
141 | * Set-Service -Name ssh-agent -StartupType ‘Automatic’ | ||
142 | * Set-Service -Name sshd -StartupType ‘Automatic’ | ||
143 | * Start-Service ssh-agent | ||
144 | * Start-Service sshd | ||
145 | * [LRZ Windows Updates](https://doku.lrz.de/pages/viewpage.action?pageId=30082306) | ||
146 | Den Gruppenrichtlinieneditor ausführen: Start → gpedit.msc | ||
147 | * Computer Configuration → Administrative Templates → Windows Components → Windows Update | ||
148 | * "Configure Automatic Updates" → 3 - Auto download and notify for install | ||
149 | * "Specify intranet Microsoft update service location" → [https://sus.lrz.de](https://sus.lrz.de) als intranet update und intranet statistics server | ||
150 | * "Do not connect to any Windows Update internet locations" → Enable | ||
151 | * "Enable client-side targeting" → Enabled | ||
152 | * Target group name: Server | ||
153 | * Telemetrie: | ||
154 | * Group Policy Editor gpedit.msc ; wieder zu Windows Components - Data Collection and Preview Builds | ||
155 | * "Allow Telemetry": Disabled | ||
156 | * Zusätzlich Telemetrie: Start → Settings → Privacy → Diagnostics & feedback | ||
157 | * Diagnostic data: basic | ||
158 | * Feedback frequency: never | ||
159 | * KMS Server: In einer Admin cmd-Shell | ||
160 | * cscript \windows\system32\slmgr.vbs -skms kms.in.tum.de |