Begriff | Erklärung |
---|---|
KVM | |
Linux Container | |
Debian Linux | |
Proxmox VE | |
Datendeduplikation | |
LVM | |
rsync | |
TFTP | |
PXE | |
Kernel | |
Unicasting / Multicasting | |
WDS/MDT | |
Datenblock | |
Capturing | |
Deploying | |
L3-Diagramm | |
Testmittel | |
Testmethoden | |
Testfall | |
Capture/Deploy | |
VLAN | |
Sysprep | |
Windows Setup-Konfigurationsphasen | |
Answer File |
Zur Erfassung der Hardware wurde die Linux-Distribution GRML1) eingesetzt. GRML ist ein auf Debian basierendes Live-System, das v.a. als Rettungssystem für Systemadministratoren bekannt ist. Die Geräte wurden mit GRML gebootet. Danach wurden mit dem Befehl dmidecode
2) die Infos zu Modell, CPU und Memory ermittelt. Mit lspci
wurde die die Info zum Netzadapter gefunden, mit smartclt -a /dev/mydrive
die Informationen zu den Disks.
Gerät | Modellbezeichnung | CPU | Memory | HD | NW-Adapter |
---|---|---|---|---|---|
Server-PC | |||||
Staging-PC 01 | |||||
Staging-PC 02 | |||||
Arbeitsplatzrechner |
Gerät | Modellbezeichnung | Übertragungsrate | Anzahl Ports |
---|---|---|---|
Switch |
Proxmox VE ist eine Open Source-Virutalisierungsplattform für Server3). Sie basiert auf der Linux-Distribution Debian. Unterstützt werden KVM- und Container-basierte Virtualisierung. Ûber eine webbasierte Verwaltungsoberfläche lassen sich virtutelle Maschinen, Container, Storage, virtuelle Netzwerke sowie Hochverfügbarkeits-Cluster verwalten.
Beim vorgängig erstellten Proxmox-System handelt es sich um einen Einzelserver ohne Clusteranbindung. Als Storages stehen local
für Betriebssystem-ISO's und lokale Backups sowie lvm-thin
für VM's zur Verfügung. Das Webinterface erreicht man unter der URL https://172.16.53.x:8006
.
Beim Erstellen einer virtuellen Maschine müssen zu folgenden technischen Details Entscheidungen getroffen werden:
In der Rafisa kommt die Backuplösung BackupPC4) zum Einsatz. Dabei handelt es sich um eine freie Disk-zu-Disk Backup-Suite, die in PHP geschrieben ist. Als Übertragungsarten stehen smb
für das Backup von Windows-Shares, sowie rsync
für die Sicherung der Daten mit Hilfe des rync-Protokolls zur Verfügung. Zusätzlich lassen sich die Funktionalitäten mit Pre- und Post-Backupscripts erweitern. Die Hauptfeatures der Lösung sind:
Im Rahmen von Vorarbeiten wurde beim Team SRB (ServiceRestoreBackup) ein Zugang zum firmeninternen Backupserver beantragt. Der SLA #001: Backup und Restore
v.015) entnimmt man folgende für das vorliegende Projekt wichtige Informationen:
Backup und Restore
wird durch das Team SBR angeboten. Mit dem Team Backup und Restore wurde als Vorarbeit der Backup-User rafisa-backup auf dem Proxmox-System angelegt. Über diesen User hat BackupPC Zugriff auf den Proxmox-Server.
In der Planung müssen folgende Punkte berücksichtigt werden:
FOG6) ist eine Linux-basierte, freie und quelloffene Computer-Imaging-Lösung für verschiedene Versionen von Windows (XP, Vista, 7, 8/8.1, 10), Linux und Mac OS X. Spezialisierte Open-Source-Tools werden integriert und können über eine PHP-basierte Administrationsoberfläche verwaltet werden. Zur Anbindung von Clients werden keine Boot-Medien verwendet, sondern es werden ausschliesslich TFTP und PXE eingesetzt. Die Clients booten über PXE und laden automatisch einen schlanken Linux-Client herunter, der das Imaging der Maschinen übernimmt. Der Kernel des Linux-Clients unterstützt eine Vielzahl von marktüblichen Netzwerkadaptern, so dass man sich im Normalfall nicht um Netzwerktreiber kümmern muss. Sollte ein spezieller Treiber benötigt werden, kann ein angepasster Kernel für den Boot-Client kompliert werden. Unterstützt werden unter anderem die Anpassung der Diskgrösse an kleinere Ziel-Disks, Multicasting sowie die Verschlüsselung des Zugriffs auf die Weboberfläche und des Imaging-Streams.
Folgende Features stehen zur Verfügung7):
In einer früheren IPA8) wurde eine Windows-Deployment-Umgebung auf Basis der Windows Deployment Services (WDS) aufgesetzt. Das Management des Setup-Prozesses wurde dabei durch das Microsoft Deployment Toolkit (MDT) vorgenommen. Mit MDT können die Phasen des Windows-Setups gesteuert und durch Vorgabewerte in einem Answer-File kontrolliert werden.
Der Hauptunterschied zwischen WDS/MDT und FOG besteht darin, dass es sich bei FOG um ein Block-Imaging-Tool (BIT), bei WDS/MDT um ein File-Level-Imaging-Tool (FLIT) handelt9). Bei einem BIT werden Datenblöcke von einem lokalen Speicher auf einen Netzwerk-Speicher (Capturing) und zurück (Deploying) kopiert. Dabei werden meistens fertige, vorher vorbereitete Betriebssystemimages verteilt. Bei einem FLIT werden Files vom Deploymentsystem zum Zielcomputer kopiert, aus welchen das Betriebssystem auf dem Zielcomputer erst aufgebaut wird. Bei WDS/MDT hat man auch nach Abschluss des Building-Prozesses mehr Möglichkeiten, das Image über weitere Verteilprozesse zu verändern und anzupassen. Bei FOG wird eine fertiges FAT-Image verteilt, das sich im Nachhinein nur bedingt noch verändern lässt. Dafür ist die FOG-Lösung wesentlich schneller als WDS/MDT. Während der Aufbau eines Betriebssystems unter WDS/MDT gerne 60min und mehr in Anspruch nehmen kann, ist das FOG Image bei einem schnellen Netzwerk sehr schnell verteilt und betriebsbereit. Der für die Rafisa wichtigste Unterschied besteht aber darin, dass sich über WDS/MDT nur Windows-Images verteilen lassen (es ist zwar möglich, Linux zu verteilen, dann verliert man aber alle Vorteile der Lösung), während die FOG-Lösung auch für andere Betriebssysteme offen ist.
Vergleichsgrösse | WDS/MDT | FOG |
---|---|---|
Übertragene Daten | Files | Datenblöcke |
Geschwindigkeit | gering, da Betriebssystem auf Zielhost aufgebaut wird | hoch |
Kontrollmöglichkeiten | auch nach dem Imagingprozess hoch | gering (Nachinstallieren von Software durch Snapins) |
Unterstützte Client OS's | Windows | Windows, Linux, Mac |
Die Testumgebung der IPA ist eingebettet in das Netzwerk der Rafisa Informatik GmbH. Es ist für das Gelingen der IPA - z.B. im Falle einer Netzstörung, die sich auf meine Testumgebung auswirkt - wichtig, dass die zentralen Parameter dieser Einbettung bekannt sind. Deshalb wird ein L3-Netzplan (oder auch L3-Diagramm10) erstellt, das IPA-VLAN (VLAN53_LAB03 / 172.16.53.0/24) im Gesamtzusammenhang des Rafisa-Netzwerks zeigen soll. Dem Rafisa-Wiki lassen sich die Firmenstandards für die VLANs entnehmen.
VLAN Name | Kürzel | Funktion | VID | IP-Adresse | FW-Interface-Name | DHCP-Server |
---|---|---|---|---|---|---|
VLAN Management | 01 | |||||
VLAN01 | MGMT | Management | 01 | 172.16.1.0/24 | VLAN01_MGMT | ❌ |
VLAN Server | 10-19 | |||||
VLAN10 | SRVAUTH | Server Authentifizierung | 10 | 172.16.10.0/24 | VLAN10_SRVAUTH | ❌ |
VLAN14 | SRVEMPL | Server Ausbildner | 14 | 172.16.14.0/24 | VLAN14_SRVEMPL | ❌ |
VLAN15 | SRVLEARN | Server Lernende | 15 | 172.16.15.0/24 | VLAN15_SRVLEARN | ❌ |
VLAN Clients | 20-29 | |||||
VLAN21 | CLEMPL | Clients Ausbildner | 21 | 172.16.21.0/24 | VLAN21_CLEMPL | ✔️ |
VLAN22 | CLLEARN | Clients Lernende | 22 | 172.16.22.0/24 | VLAN22_CLLEARN | ✔️ |
VLAN23 | CLGUEST | Clients Guest (WLAN) | 23 | 172.16.23.0/24 | VLAN23_CLGUEST | ✔️ |
VLAN Drucker | 40 | |||||
VLAN40 | LP | Drucker | 40 | 172.16.40.0/24 | VLAN40_LP | ❌ |
VLAN Labor | 50-59 | |||||
VLAN51 | LAB01 | Labor 01 | 51 | 172.16.51.0/24 | VLAN51_LAB01 | ✔️ |
VLAN52 | LAB02 | Labor 02 | 52 | 172.16.52.0/24 | VLAN52_LAB02 | ✔️ |
VLAN53 | LAB03 | Labor 03 | 53 | 172.16.53.0/24 | VLAN53_LAB03 | ✔️ |
VLAN54 | LAB04 | Labor 04 | 54 | 172.16.54.0/24 | VLAN54_LAB04 | ✔️ |
VLAN55 | LAB05 | Labor 05 | 55 | 172.16.55.0/24 | VLAN55_LAB05 | ✔️ |
Die Matrix wird Zeile nach Spalte gelesen (Zugriff von Zeile nach Spalte erlaubt/nicht erlaubt)
VLAN | 01 | 10 | 14 | 15 | 21 | 22 | 23 | 40 | 51 | 52 | 53 | 54 | 55 | WAN | DHCP |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
01 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
10 | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ |
14 | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ |
15 | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ |
21 | ❌ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
22 | ❌ | ✔️ | ❌ | ❌ | ❌ | ✔️ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ✔️ | ✔️ |
23 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✔️ | ✔️ |
40 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ |
51 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ❌ | ✔️ | ✔️ |
52 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ❌ | ✔️ | ✔️ |
53 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | ✔️ | ✔️ |
54 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ | ✔️ | ✔️ |
55 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✔️ | ✔️ | ✔️ |
WAN | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ |
Als Gateway haben die Geräte das Firewall VLAN-Interface des entsprechenden Subnetzes, für das VLAN01-MGMT also z.B. 172.16.1.1/24. Der Gateway für die IPA-Testumgebung ist demnach 172.16.53.1/24. Der Berechtigungsmatrix kann man entnehmen, dass die Zugänge zu allen anderen VLAN's der Rafisa durch Filterrules auf der Firewall geblockt werden. Die Firewall stellt ausser dem Gateway für den Internetzugang einen DHCP-Dienst zur Verfügung, über welchen IP-Adressen aus dem entsprechenden Subnetz, die Gateway-IP sowie die IP-Adressen der DNS-Server verteilt werden. Alle im L3-Diagramm festgehaltenen System verfügen über statische IP-Adressen.
FQDN | IP-Adresse | OS | Services | Service-Team | Owner |
---|---|---|---|---|---|
Server | |||||
prox-zh-ruga-01.zh.rafisa.org | 172.16.1.21/24 | Proxmox VE | Virtualisierungsplattforn | Team Server Services | RS |
prox-zh-ruga-02.zh.rafisa.org | 172.16.1.22/24 | Proxmox VE | Virtualisierungsplattform | Team Server Services | RS |
dc-zh-ruga-02.zh.rafisa.org | 172.16.10.22/24 | Windows Server 2019 | DC/AD, DNS | Team Server Services | RS |
dc-zh-ruga-04.zh.rafisa.org | 172.16.10.24/24 | Windows Server 2019 | DC/AD, DNS | Team Server Services | RS |
fs-zh-ruga-01.zh.rafisa.org | 172.16.14.21/24 | Windows Server 2019 | Fileserver Employees | Team Server Services | RS |
fs-zh-ruga-01.zh.rafisa.org | 172.16.15.21/24 | Windows Server 2019 | Fileserver Learners | Team Server Services | RS |
bkp-zh-r02b-01.zh.rafisa.org | 172.16.1.100/24 | Windows Server 2019 | Fileserver Learners | Team Server Services | RS |
uni-zh-ruga-01.zh.rafisa.org | 172.16.1.30/24 | Ubuntu 20.04 LTS | Ubiquiti WLAN Controller | Team Network Services | ER |
ap-zh-01-05.zh.rafisa.org | 172.16.1.31-35/24 | AirOS | AP, WPA-Enterprise Radius Auth | Team Network Services | ER |
Firewall | |||||
fw-zh-ruga-01.zh.rafisa.org | VLAN 172.16.1.1/24 WAN 46.140.45.118 | pfSense (BSD) | VLAN-Routing, Filtering, VPN Concentrator, DHCP | Team Network Services | ER |
Die Firmenstandards für das Standardimage können dem Rafisa Wiki11) entnommen werden:
Nur eine Datenpartition C: mit maximaler Grösse für Windows und Programme.
Software | Standardimage | Notebook-Image | Default |
---|---|---|---|
Windows 10 Enterprise N v20H2 | ✔️ | ✔️ | |
Microsoft Office Professional Plus 201912) | ✔️ | ✔️ | docx, xslx, potx, mailto |
Visio 2019 Professional13) | ✔️ | ✔️ | |
LibreOffice-Suite | ✔️ | ✔️ | |
Notepad++ | ✔️ | ✔️ | |
Acrobat Reader | ✔️ | ✔️ | |
7-zip | ✔️ | ✔️ | |
Firefox | ✔️ | ✔️ | |
Chrome | ✔️ | ✔️ | |
Brave | ✔️ | ✔️ | html |
Putty | ✔️ | ✔️ | |
Filezilla | ✔️ | ✔️ | |
FOG-Client | ✔️ | ✔️ | |
WinSCP | ✔️ | ✔️ | |
Win32 Disk Imager | ✔️ | ✔️ | |
Rufus | ✔️ | ✔️ | |
Teams | ✔️ | ✔️ | |
VirtualBox | ✔️ | ✔️ | |
Git-Client14) | ✔️ | ✔️ | |
draw.io15) | ✔️ | ✔️ | |
VLC Media Player16) | ✔️ | ✔️ | video + audio |
OneDrive (Business deinstallieren, 365 installieren) | ✔️ | ✔️ | |
OpenVPN Client17) | ❌ | ✔️ |
Hier findet sich das Standard-Hintergrundbild:
Es wird nach C:\Windows\Web\Wallpaper heruntergeladen und dann mit dem Desktop verknüpft.
Auf jedem System muss der Nutzer sysadmin
vorhanden sein. Der Benutzer soll der Gruppe Administratoren
angehören.
Benuternamen setzen sich zusammen aus dem ersten Buchstaben des Vornamens plus dem Nachnamen. Sollten sich bei neuen Nutzern gleichlautende Benutzernamen ergeben, wird die Anzahl Buchstaben des Vornamenkürzels um 1 erhöht.Bei identischen Vor- und Nachnamen wird das Benutzerkürzel um eine fortlaufende Nummer, beginnend bei 01 ergänzt.
Beispiele:
Der Gerätename setzt sich zusammen aus einem Kürzel für die Funktion, dem Kürzel für den physikalischen Standort sowie einer fortlaufenden Nummer, beginnend bei 01.
Beispiele:
Kürzel | Funktion |
---|---|
bkp | Backup Server |
dc | Domain Controller |
ds | Deployment Server |
fw | Firewall |
nb | Notebook |
pc | PC |
prox | Proxmox VE Server |
sw | Switch |
Der physikalische Standort setzt sich zusammen aus dem Kürzel für den Standort sowie einer internen Raumangabe. Bei Geräten, welche in einem Rack stehen, werden anstelle der Raumangabe das Kürzel für das Rack angegeben.
Beispiele:
Kürzel | Standortbezeichnung |
---|---|
be | Bern |
fr | Fribourg |
zg | Zug |
zh | Zürich |
Dietikon | |
---|---|
Kürzel | Ort |
200 | Raum 200 im 2. Stock |
201 | Raum 101 im 2. Stock |
Dietikon | |
---|---|
Kürzel | Racknummer |
ruga | Rack A im Untergeschoss |
rugb | Rack B im Untergeschoss |
r02a | Rack A im 2. Stock |
r02b | Rack B im 2. Stock |
r03a | Rack A im 3. Stock |
r03b | Rack B im 3. Stock |
r03c | Rack C im 3. Stock |
r03d | Rack D im 3. Stock |
r04a | Rack A im 4. Stock |
Wie im L3-Netzplan gezeigt, steht für dieses Projekt das Labor-VLAN VLAN53_LAB03 (Subnetz 172.16.53.0/24) zur Verfügung. Das Labornetz hat über den Gateway 172.16.53.1/24 Zugang zum Internet. Der Zugang zu allen anderen VLAN's der Rafisa wird durch die Firewall gesperrt. Für eine funktionierende Lösung müssen in der Testumgebung folgende Netzwerk-Dienste zur Verfügung gestellt werden:
Grundsätzlich können die meisten Dienste von unterschiedlichen Systemen in der Testumgebung zur Verfügung gestellt werden:
System | DHCP | DNS | TFTP | AD |
---|---|---|---|---|
Windows 2019 Server | möglich (Serverrolle DHCP-Server) | möglich (Serverrolle DNS-Server) | möglich (Serverrolle Windows-Bereitstellungsdienste) | möglich (Serverrolle Active-Directory-Domänendienste) |
Ubuntu Server | möglich (Paket isc-dhcp-server) | möglich (Paket bind9) | möglich (Paket tftpd-hpa) | möglich (Paket samba) |
pfSense Firewall | möglich | nicht möglich (nur DNS-Forwarder) | nicht möglich | nicht möglich |
Für das Subnetting der Testumgebung gibt es nicht viele Varianten. Es liegt nahe, direkt das Labornetz 172.16.53.0/24 zu verwenden. Alle anderen Subnetze müssten zusätzlich über den Gateway 172.16.53.1 geroutet werden, was nur zusätzlichen Aufwand (z.B. Einrichten eines Servers als Router) mit sich bringen würde.
Auf der Seite der Firma Thomas Krenn18) findet man einen sehr nützlichen Vergleich der Windows Editionen.
Edition | Ideal für … | Virtualisierungsrechte | Lizenzierungsmodell | Zugriffslizenzen | RAM Limit | CPU Limit |
---|---|---|---|---|---|---|
Essentials | Kleine Unternehmen mit Basisanforderungen an die IT; sehr kleine oder keine eigene IT Abteilung | Installation 1x physikalisch oder 1x virtuell | CPU-basiert | keine CALs erforderlich (Limitierung auf 25 User / 50 Geräte) | 64 GB RAM | max. 2 CPUs |
Standard | Für alle Unternehmen, die erweiterte Features benötigen und im geringeren Umfang virtualisieren | 2 virtuelle Maschinen oder 2 Hyper-V Container | Core-basiert | CALs erforderlich | 24 TB RAM | unlimitierte Kerne |
Datacenter | Für alle Unternehmen mit hohen Anforderungen an die IT Workloads mit großer Anzahl von virtuellen Systemen | Unlimitiert viele virtuelle Maschinen und Hyper-V Container | Core-basiert | CALs erforderlich | 24 TB RAM | unlimitierte Kerne |
Sowohl bei Datacenter/Standard als auch bei Essentials stehen alle benötigten Serverrollen zur Verfügung. Auch die Unterschiede in den Features fallen nicht ins Gewicht.
Beim Betriebssystem Ubuntu müssen in zwei Bereichen Entscheidungen getroffen werden:
Die Desktop-Version verfügt über eine vollständige grafische Oberfläche, die Server-Version nur über die Kommandozeile. Die Serverversion benötigt deshalb wesentlich weniger Ressourcen. Die folgende Tabelle zeigt die Unterschiede zwischen den Versionen19):
LTS steht für „Long-Term-Support“. LTS-Releases waren ursprünglich für Geschäftsanwender gedacht, um ihnen eine stabile Plattform zu bieten, die sie installieren können und die über Jahre hinweg mit Sicherheitsupdates unterstützt wird.20)
Allerdings produziert Ubuntu auch alle sechs Monate neue Versionen. Traditionell hielten sich Durchschnittsanwender an die alle sechs Monate erscheinenden Versionen. Diese waren der Standardweg, um Ubuntu zu bekommen, bevor die LTS-Versionen veröffentlicht wurden. Selbst nach den ersten LTS-Versionen bot jede neue Version von Ubuntu überzeugende Funktionen und wichtige neue Software-Versionen, was sie für durchschnittliche Desktop-Benutzer interessant machte.
Beim Erstellen der Windows 2019 Server-VM auf dem Proxmox-Server müssen Entscheidungen zu den Hardware-Ressourcen21) sowie zur Partitionierung getroffen werden. Bei den Ressourcen gibt es immer mehrere Möglichkeiten, die virtuellen Geräte zu emulieren:
Ressource | Varianten |
---|---|
Harddisk Bus/Device | IDE, SATA, VirtIO, SCSI |
Disk-Format | Raw Disk Image, QEMU Image Format, VMWare Image Format |
Grösse der Harddisk | frei (max. ist Storage-Grösse) |
CPU Sockets | frei |
CPU Cores | frei |
Grösse Memory | frei |
Netzwerkadapter | Intel E1000, VirtIO, Realtek RTL8139, VMware |
QEMU kann verschiedene Speicher-Controller emulieren:
Harddisk Bus/Device | Vorteile | Nachteile |
---|---|---|
IDE | Sehr gute Unterstützung durch alle Betriebssysteme | nicht sehr performant, nur 4 Devices |
SATA | Gute Unterstützung durch Betriebssysteme | performant, nur 6 Devices |
VirtIO | Bis zu 14 Devices | Benötigt unter Windows spezielle Guest-Treiber, abgelöst durch SCSI |
SCSI | Sehr performant, bis 14 Devices | Benötigt unter Windows spezielle Guest-Treiber |
Wie im Ist-Zustand festgehalten verfügt der phsyische Server, auf dem Proxmox VE installiert ist, über 1 Socket und 4 Cores mit je zwei Threads, dh. über 8 logische CPUs. Um eine bessere Auslastung der Ressourcen zu erhalten, können den VMs mehr CPUs zugeteilt werden, als physisch vorhanden sind. Man spricht dann von Überbuchen22). Man darf aber nicht vergessen, dass der Proxmox-Server auch noch CPU-Ressourcen braucht.
Der Proxmox-Server verfügt über 16GB Ram. Auch hier muss man beachten, dass nicht vollständig alles RAM den VMs zugeteilt wird, da der Proxmox-Server ebenfalls noch Memory benötigt.
Für die Partitionierung des Windows 2019 Servers muss entschieden werden, ob nur eine Windows-Partition oder noch zusätzliche Partitionen erstellt werden. Bei Ubuntu kann die Partitionierung automatisch oder manuell vorgenommen werden. Es muss ebenfalls entschieden werden, ob man eine grosse Root-Partition macht, oder den Linux-Verzeichnissen einzelne Partitionen zuteilt.
Für das Erfassen der geforderten Benutzer und Computer können die AD-Standardcontainer Users und Computers verwendet werden. Ausserhalb von Testumgebungen besteht das Ziel des AD-Designs aber im Entwurf einer Struktur, die der Verwaltung der Objekte innerhalb eines Betriebs möglichst dienlich ist. In der Rafisa hat sich als Standard folgende einfache Struktur herausgebildet:
Es gibt zwei Möglichkeiten ein Windows-Image für die Verteilung mit FOG zu erstellen. Man kann Windows mit allen benötigten Applikationen und allen Vorgaben auf einem Computer einrichten und dann davon eine Abbilddatei erstellen (Fat-Image). Als zweite Möglichkeit lässt sich ein Masterimage im sogenannten Audit Mode erstellen. Nach Abschluss aller gewünschten Installationen und Konfigurationen im Audit-Modus, werden alle eindeutigen Systeminformationen automatisch aus der Windows-Installation per Sysprep entfernt. Sysprep setzt folgende Einstellungen zurück:
Nach der Verteilung des Images startet das frisch verteilte System dann im Windows-Konfigurations-Schritt „specialize“. Die Windows Konfigurations-Schritte sind Phasen, die bei einer Windows-Installation durchlaufen werden23).
Situation nach Verteilung | Fat-Image | Masterimage mit Sysprep |
---|---|---|
Treiber | fertig intalliert | Treiberdatenbank zurückgesetzt, wird während Setup der HW angepasst |
Konfiguration | fertig konfiguriert | Es werden noch Setup-Phasen durchlaufen |
SID | identisch mit dem Quell-Image | wird neu erzeugt |
Geschwindigkeit | sehr rasch benutzbar, da schon fertig | Setup muss zunächst durchlaufen werden |
Mögliche Probleme | Bluescreens wegen fixen Treibern | Interaktion nötig, da Setup durchlaufen wird |
Im Kapitel Informieren sind die Features von FOG aufgezeigt worden (Maximalvariante). In der folgenden Tabelle wird gezeigt, welche Features für die Erfüllung des Auftrages tatsächlich notwendig sind.
Feature | Für Auftrag nötig | Kommentar |
---|---|---|
PXE-Boot-Umgebung | ja | wird benötigt, um die Clients über das Netzwerk booten zu können |
Imaging von Windows, Linux und Mac OS X | ja | Wird für Windows-Image benötigt |
Partitionen, volle Festplatte, mehrere Festplatten | ja/nein | Es wird nur das Imaging von vollen Festplatten benötigt, keine Partitionsimages |
Snapins | ja | Wird zur nachträglichen Installation von OpenVPN benötigt |
Drucker-Verwaltung | nein | Möglichkeit, Printerdefinitionen mit Hosts zu verbinden und automatisch Printer installieren zu lassen |
Hostname ändern und Domäne beitreten | ja | wird für den automatischen Domänenbeitritt benötigt |
Monitoring von Benutzerzugriffen | nein | |
Virenschutz | nein | verlangsamt das Erstellen von Images |
Löschen von Festplatten | nein | eigene Tools |
Gelöschte Dateien wiederherstellen | nein | eigene Tools |
Suche nach fehlerhaften Blöcken | nein | eigene Tools |
Es besteht die Möglichkeit, bei FOG den Webzugang über HTTP mit SSL (HTTPS) zu verschlüsseln. Dieser Zugang wird für drei Funktionen verwendet:
Bei der Entscheidung für die Verschlüsselung muss man berücksichtigen, dass Verschlüsselung immer mit einem höheren Aufwand an den Prozessor und damit mit einer etwas geringeren Geschwindigkeit verbunden ist.
Multicast stellt in der Telekommunikation eine Nachrichtenübertragung von einem Punkt zu einer Gruppe dar und ist daher eine Form der Mehrpunktverbindung. Unicast stellt in der Telekommunikation die Adressierung einer Nachricht an einen einzigen Empfänger dar.
Multicast bietet beim Deployment den grossen Vorteil, dass eine Image Datei im Netzwerk nur einmal übertragen werden muss. Dabei melden sich die Clients alle bei der Multicast Session an. Clients, welche sich inmitten der Multicast Übertragung dazugesellen, müssen am Ende der Übertragung den ersten Teil der Übertragung mitgeteilt bekommen.
Ich habe mir in einem Flussdiagramm überlegt, wann es sinnvoll ist, Unicast zu verwenden, und wann sinnvollerweise Multicast zum Einsatz kommt: DIAGRAMM
BackupPC bietet verschiedene Backuparten an:
Für Backup der Server kommt File-Backup und Image-Backup infrage.
Funktionsweise File-Backup: BackupPC startet zur gewünschten Zeit den rsync-Befehl und kopiert alle gewünschten Files von einem Server. Wenn man als Zielverzeichnis /
angibt, wird der gesamte Server kopiert.
Funktionsweise Image-Backup : Zur gewünschten Zeit loggt sich BackupPC auf dem Proxmox-Server ein und führt mit dem Befehl vzdump24) ein Image-Backup der VMs durch.
File-Backup | Image-Backup | |
---|---|---|
Technologie | rsync | vzdump |
Backup-OS | nur Linux | Linux und Windows |
Platzbedarf auf Backupserver | gering, da Kompression möglich | hoch, da Kompressionseffekt gering bei Imagefile |
Full Metal Restore | möglich aber kompliziert | möglich, Image muss nur auf Proxmox wiederhergestellt und dann importiert werden |
Datenmenge für Backup | entspricht Serverdaten | entspricht etwa Serverdaten |
Datenmenge auf Backup-Server | bis 80% Kompression | entspricht etwa Serverdaten |
Transferraten | bis 35MB/s (Erfahrungswert Team Backup und Restore) | bis ca. 10MB/s (Erfahrungswert Team Backup und Restore) |
Rahmenbedingungen Backup | File-Backup | Image-Backup |
---|---|---|
Datenmenge | Ist abhängig von der Datenmenge der VM's | |
Transferzeiten | 35MB/s → 280Mbit/sec → Pro Gigabyte ca. 30sec25) | 10MB/sec → 80Mbit/sec → Pro Gigabyte ca. 2min26) |
Aufbewahrungsfrist | min. bis Ende IPA/ max. 90 Tage (s. SLA Rafisa-Backup) | |
Sicherungsperiodizitäten | manuell bei Ânderungen oder automatisch zwischen 19:30 und 07:00 (s. SLA Rafisa-Backup) | |
Applikatorische Vorgaben | BackupPC mit Pre- und Post-Backupscripts |
Rahmenbedingungen Image-Backup | Hosts | IPA | Vorschlag Produktive Umgebung |
---|---|---|---|
Sicherungsperiodizitäten | dc-zh-202-01 | automatisch jede Nacht zwischen 19:30 und 07:00, inkrementelles Backup | nicht in Produktion übernommen |
ds-zh-202-01 | automatisch jede Nacht zwischen 19:30 und 07:00, inkrementelles Backup | manuell bei Ânderungen, 90 Tage max. | |
Datenmenge | dc-zh-202-01 | ca. 30GB x 7 = 210GB | nicht in Produktion übernommen |
ds-zh-202-01 | ca. 40GB (Server + Image) x 7 = 280GB | muss abgeklärt werden, hängt von Anzahl Images ab | |
Transferzeiten | dc-zh-202-01 | 30GB, 2min pro GB → ca. 60min | nicht in Produktion übernommen |
ds-zh-202-01 | 40GB, 2min pro GB → ca. 80min | muss abgeklärt werden, hängt von Anzahl Images ab | |
Aufbewahrungsfrist | dc-zh-202-01 | bis Ende IPA | nicht in Produktion übernommen |
ds-zh-202-01 | bis Ende IPA | max. 90 Tage | |
Applikatorische Vorgaben | BackupPC mit Pre- und Post-Backupscripts | BackupPC mit Pre- und Post-Backupscripts |
Erwartete Datenmengen und Transferzeiten wurden dem Team Backup und Restore gemeldet und sind bestätigt.
Wie gesehen benötigt die Server-Version wesentlich weniger Ressourcen, als die Desktop-Version. Der Verzicht auf einen vollständigen Desktop bietet auch Stabilitäts und Sicherheitsvorteile. Ein Linux-Server kann zudem vollständig über die Kommandozeile verwaltet werden, eine grafische Oberfläche ist nicht notwendig.
Bei einem Server steht Stabilität und Sicherheit im Vordergrund. Neue Features werden nur in Ausnahmefällen benötigt. Deshalb soll die letzte LTS-Version, nämlich Ubuntu Server 20.04 LTS eingesetzt werden.
Edit Hosts
drücken
Unter Proxmox wird das heruntergeladene Windows 10 Enterprise N 20H2
ISO installiert. Vor der Installation sollte das virtuelle Netzwerkkabel gezogen werden, da Windows sonst während des Installationsvorgangs automatisch aktiviert wird. (SCREENSHOTS von den Hardware-Einstellungen auf Proxmox)
Nach der Installation bootet das System in diesen Konfigurations-Screen:
Um in den Audit-Mode27) zu gelangen, drückt man an dieser Stelle CTRL + SHIFT
und dann die F3-Taste
. Das System startet unverzüglich neu, nach dem Reboot befindet man sich im Audit-Mode. Das virtuelle LAN-Kabel kann nun wieder verbunden werden. Im automatisch erscheinenden Sysprep-Dialog klickt man auf Abbrechen
. Da es sich um ein Firmennetzwerk handelt, kann zugelassen werden, dass der PC von anderen Geräten im Netzwerk gesehen wird.
Um das System konfigurieren und die ensprechenden Answer-Files28) anlegen zu können, benötigt man die Windows-Bereitstellungstools aus dem Windows Assessment and Deployment Kit (ADK)29). Es wird die Version ADK für Windows 10, Version 2004
heruntergeladen30). Während der Installation werden im Feature-Dialog ausschliesslich die Bereitstellungstools ausgewählt:
Alle die Anpassungen, die im Audit-Mode vorgenommen werden, werden ins Default-Profil geschrieben und stehen dann allen BenutzerInnen zur Verfügung. Die Anpassungen bleiben auch im Domain-Modus erhalten.
Zunächst werden die im Kapitel Informieren beschriebenen Anpassungen (Explorer, Teams, Remote-Desktop und Wallpaper) vorgenommen. Nachdem die Anpassungen vorgenommen worden sind, werden die für das Image benötigten Programme installiert (s. Kapitel Informieren). Die Programme werden alle in den Default-Einstellungen installiert.
Danach werden die Layout-Anpassungen für das Startmenu und die Taskleiste vorgenommen. Die Layouteinstellungen sind in einer XML-Datei gespeichert. Nachdem man das Menu und die Taskleiste angepasst hat, kann man die Layoutdatei mit dem Befehl Export-StartLayout –path C:\LayoutModification.xml
exportieren und dann über die lokale GPO-Richtlinie Administrative Vorlagen/Startmenü und Taskleiste/Startlayout
einbinden:
Für die Standardzuordungen der Applikationen muss auch ein XML-File exportiert und danach wieder importiert werden. Mit dem Befehl dism /Online /Export-DefaultAppAssociations:„C:\DefaultAppAssociations.xml“
nach C:\DefaultAppAssociations.xml
kopiert. Um es für neue Userprofile dauerhaft zu speichern wird es mit dem Befehl 'dism /Online /Import-DefaultAppAssociations:„C:\DefaultAppAssociations.xml“
wieder importiert.
Im Windows System Image Manager (WSIM) wird im nächsten Abschnitt die Antwortdatei erzeugt, mit welcher die Installation von Windows 10 nach dem Deployment auf dem Zielgerät gesteuert wird. Zunächst erstellt man den Ordner C:\customize\Win10
und kopiert sämtliche Installationsdateien vom virtuellen CD-Laufwerk dorthin:
Als nächstes muss unter C:\customize
der Ordner Distribution
mit folgenden Unterordnern erstellt werden:
Danach gibt man im Suchfeld Windows System Image Manager
ein und startet das Programm. Danach wird über den Menupunkt Datei
die Windows-Abbilddatei C:\customize\win10\sources\install.wim
eingelesen. Im folgenden Dialog wird die entsprechende Windows-Datei (Windows 10 Enterprise N) ausgewählt. Wenn noch keine Katalogdatei angelegt worden ist, muss dies nun gemacht werden:
Im Distribution-Ordner wird auch das Antwortfile erstellt. Dazu wird im Windows System Image Manager im Menu Datei
der Punkt Distributionsfreigabe auswählen
angewählt und als Ordner C:\customize\Distribution
angegeben. Danach wird mit Datei/Neue Antwortdatei…
eine neue Antwortdatei angelegt:
Eine Antwortdatei enthält sieben verschiedene Stufen oder Schritte, die bei einem Windows-Setup durchlaufen werden. Für diese Stufen erstellt man ein Answer-File mit den Antworten auf Konfigurationsfragen. So müssen die Antworten nicht während des Setups von Hand eingegeben werden, sondern das Setup kann völlig automatisch ablaufen. Ein mit sysprep zurückgesetztes Image startet nach der Verteilung in der Stufe 4 specialize
, danach wird die Stufe 7 oobeSystem
durchlaufen. Für diese beiden Stufen werden Answer-Files angelegt.
Wenn während der Installation im Windows System Image Manager zusätzliche Einstellungen wie Modell, Hersteller, Computername, Eigentümername, Zeitzone und mehr konfiguriert werden soll, benötigt man die Komponente amd64_Microsoft-Shell-Setup
.
1. Im Abschnitt Windows-Image
den Ordner Components erweitern.
2. Die Komponente amd64_Microsoft-Shell-Setup
erweitern.
3. Mit der rechten Maustaste auf die Komponente OEMInformation
klicken und die Option Add Setting to Pass 4 specialize
auswählen.
4. Im Abschnitt Antwortdatei
auf der rechten Seite die Komponente amd64_Microsoft-Shell-Setup
auswählen.
5. Unter dem Abschnitt Einstellungen
auf der rechten Seite die folgenden Werte setzen:
Mit diesen Schritten wird die Out-of-Box-Erfahrung konfiguriert:
1. Unter Windows Image
den Components-Ordner erweitern.
2. Klicken Sie mit der rechten Maustaste auf die Komponente amd64_Microsoft-Windows-International-Core
und wählen Sie die Option Add Setting to Pass 7 oobeSystem
.
3. Im Abschnitt Windows-Image
die Komponente amd64_Microsoft-Shell-Setup
erweitern.
4. Mit der rechten Maustaste auf die OOBE-Komponente klicken und die Option Add Setting to Pass 7 oobeSystem
auswählen.
5. Die Komponente UserAccounts
erweitern.
6. Die Komponente LocalAccounts
erweitern.
7. Mit der rechten Maustaste auf die Komponente LocalAccount
klicken und die Option Add Setting to Pass 7 oobeSystem
auswählen.
8. Unter dem Abschnitt Antwortdatei
die Komponente amd64_Microsoft-Windows-International-Core
auswählen.
9. Im Abschnitt Einstellungen
auf der rechten Seite die Spracheinstellungen festlegen:
10. Im Abschnitt „Antwortdatei“ die Komponente amd64_Microsoft-Shell-Setup
erweitern.
11. Die OOBE-Komponente auswählen.
12. Unter dem Abschnitt Einstellungen
auf der rechten Seite die folgenden Werte einsetzen:
In der Einstellung ProtectYourPC
wird defniniert, wie die Express-Einstellungen gehandhabt werden sollen. Wenn man den Wert 1 verwendet, teilt man dem Setup mit, dass es die Express-Einstellungen mit den Standardeinstellungen aktivieren soll.
1. Die Komponente UserAccounts
auswählen.
2. Mit der rechten Maustaste auf die Komponente LocalAccounts
klicken und die Option Neue LocalAccount einfügen
auswählen.
3. Im Abschnitt „Einstellungen“ auf der rechten Seite die folgende Konfiguration wählen, um ein primäres lokales Konto zu erstellen:
Mit den obigen Einstellungen wird ein Konto namens sysadmin
für den Benutzer sysadmin
erstellt und das Konto der Gruppe Administratoren
hinzugefügt.
Danach wird die Komponente „LocalAccount“ erweitert.
4. Die Komponente Passwort auswählen.
5. Im Abschnitt Einstellungen
auf der rechten Seite im Feld Value
ein Passwort eingeben.
Man sieht das Passwort im Klartext sehen, der Wert wird aber nach dem Speichern der Datei customize.xml verschlüsselt.
Zunächst wird die Antwortdatei über das Menu Extras/Antwortdatei überprüfen
validiert und allfällge überflüssige Keys gelöscht.
Dann kann die Datei über Datei/Antwortdatei speichern
nach C:\customize\customize.xml
abgespeichert werden.
Damit der Ordner C:\customize
auf den Zielsystemen nicht stört, kann er mit dem Konsolen-Befehl (als Administrator ausführen) attrib +s +h „C:\customize“
unsichtbar gemacht werden. Mit attrib -s -h „C:\customize“
macht man den Ordner wieder sichtbar.
Da zuletzt die Datei customize.xml verwendet wurde, sieht der Benutzer, der sich nach dem Staging des Imgages anmeldet, die Datei immer noch im Abschnitt der zuletzt verwendeten Dateien im Windows Explorer.
Um dies zu verhindern, kann man ein kleines Skript implementieren, das diese Einträge entfernt. Das Skript wird nur einmal ausgeführt und löscht sich danach selbst. Dazu navigiert man im Explorer nach %appdata%\Microsoft\Windows\Start Menu\Programs\Startup
und erstellt eine Datei namens runonce.bat
. Man muss sicherstellen, dass die Dateierweiterung korrekt ist und nicht .txt. In die Datei wird folgender Code eingefügt:
Del /F /Q %APPDATA%\Microsoft\Windows\Recent\* Del /F /Q %APPDATA%\Microsoft\Windows\Recent\AutomaticDestinations\* Del /F /Q %APPDATA%\Microsoft\Windows\Recent\CustomDestinations\* REG Delete HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RunMRU /VA /F REG Delete HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths /VA /F del %0
Mit diesem Code werden sämtliche Orte, an denen Windows die History speichert, zurückgesetzt.
Nun kann Sysprep ausgeführt werden. Zunächst wird ein SNAPSHOT der VM angelegt, damit man immer an diesen Ort zurückkehren kann, sollte Sysprep nicht funktionieren.
Man öffnet CMD
als Administrator und wechselt ins Sysprep-Verzeichnis:
cd C:\Windows\System32\Sysprep
Um Interferenzen mit dem Sysprep-Befehl zu vermeiden, stoppt man vorsichtshalber den Windows Media Networking Service
:
net stop wmpnetworksvc
Jetzt beginnt man mit Sysprep. Nach Eingabe des Befehls, wird Sysprep das Image vorbereiten. Währenddessen sollten auf dem Computer keine Aktionen ausgeführt werden.
sysprep.exe /generalize /oobe /shutdown /unattend:C:\customize\customize.xml
Sollte Sysprep fehlschschlagen, sollte folgender Befehl in der Powershell ausgeführt werden:31)
Remove-AppxPackage -Package Microsoft.WindowsStore_11602.1.26.0_x86__8wekyb3d8bbwe
Nachdem Sysprep erfolgreich durchgeführt worden ist, fährt das System automatisch herunter. Es ist sehr wichtig, dass danach die VM nicht versehentlich gestartet wird, da dadurch das Setup ausgeführt und der ganze Prozess rückgängig gemacht würde. Das generalisierte Image muss jetzt auf die FOG-Plattform importiert werden32)