Difference between revisions of "Lab/Windows Server 2022-template"

From Slaskete wiki
Jump to navigation Jump to search
Line 1: Line 1:
En template for Windows Server 2022 trengs som kan være grunnlag for de serverne vi trenger.
+
En template for Windows Server 2022 trengs som kan være grunnlag for de serverne vi trenger.
   
# Last ned ISO fra https://www.microsoft.com/en-us/evalcenter/download-windows-server-2022
+
# Last ned ISO fra https://www.microsoft.com/en-us/evalcenter/download-windows-server-2022 ([[Lab/Proxmox/Laste opp ISO|se guide her]])
  +
# Last også ned ISO for drivere: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
# Fra noden ''proxmox'' velges "Create VM", og følgende valg gjøres:
+
# Fra noden ''proxmox'' velges "Create VM", og følgende valg gjøres (andre valg står som default):
## '''General''':
+
##'''General''':
 
### VM ID: 1000
 
### VM ID: 1000
### Name: win-2022
+
### Name: win-2022-mal
 
### Start at boot: false
 
### Start at boot: false
## '''OS''':
+
##'''OS''':
 
### storage: local
 
### storage: local
 
### ISO image: velg ISO-filen som ble lastet ned for Windows Server 2022
 
### ISO image: velg ISO-filen som ble lastet ned for Windows Server 2022
 
### Guest OS Type: Microsoft Windows
 
### Guest OS Type: Microsoft Windows
### Guest OS Version: 10/2016/2019 (selv om dette er Windows Server 2022)
+
### Guest OS Version: 11/2022
## '''System''':
+
##'''System''':
 
### Graphic card: SPICE
 
### Graphic card: SPICE
 
### Qemu Agent: true
 
### Qemu Agent: true
 
### TPM Storage og EFI Storage: local-lvm
### Add TPM: True
 
 
##'''Disks''':
### TPM Storage: local-lvm
 
 
### Bus/Device: SCSI
## '''Disks''':
 
### Bus/Device: VirtIO Block
 
 
### Storage: local-lvm
 
### Storage: local-lvm
 
### Disk size (GiB): 40
 
### Disk size (GiB): 40
  +
### Cache: Write Back
 
### Discard: true
 
### Discard: true
## '''CPU''':
+
##'''CPU''':
 
### Sockets: 1
 
### Sockets: 1
 
### Cores: 2
 
### Cores: 2
## '''Memory''':
+
##'''Memory''':
### 4096 (6 GiB)
+
### 4096 (4 GiB)
## '''Network''':
+
##'''Network''':
 
### Bridge: vmbr1
 
### Bridge: vmbr1
### Model: VirtIO
+
### Model: VirtIO (paravirtualized)
 
### VLAN Tag: 10
 
### VLAN Tag: 10
# Under installasjonen gjøres følgende valg:
+
# Før installasjonen startes trenger vi å legge til en CD-stasjon ekstra:
  +
## Velg VM-en og gå til Hardware-fanen
  +
## Velg Add - CD/DVD Drive
  +
### Storage: local-lvm
  +
### ISO Image: virtio-win.iso (iso-filen som inneholder driverne)
  +
# Start VM-en og åpne konsollet. Se egen guide. Under installasjonen gjøres følgende valg:
 
## Time and currency format: Norwegian Bokmål
 
## Time and currency format: Norwegian Bokmål
 
## Keyboard or input method: Norwegian
 
## Keyboard or input method: Norwegian
## Operating system: Windows Server 2022 Standard Evaluation
+
## Operating system: Windows Server 2022 Standard Evaluation (Desktop Experience)
 
## Aksepterer EULA, velger "Custom" på installation type.
 
## Aksepterer EULA, velger "Custom" på installation type.
## På spørsmål om hvor Windows skal installeres må man:
+
## På spørsmål om hvor Windows skal installeres må man først laste inn disk-driverne:
### I VM-en: Trykke ''Load Driver''
+
### Trykk knappen ''Load Driver''
  +
### Trykk OK
### I Proxmox: på VM-en sin ''Hardware''-fane må ISO-en endres midlertidig til virtio-win.iso
 
### I VM-en: velg OK, velg Red Hat VirtIO SCSI pass-through controller (<code>D:\amd64\2k22\vioscsi.inf</code>) og så ''Next'', vent til driveren er installert
+
### Velg driveren som passer best, i skrivende stund er det den som heter D:\amd64\2k22\vioscsi.inf
  +
### Trykk Next
### I Proxmox: Sett ISO-filen tilbake til Windows 2022-installeren
 
### I VM-en: trykk ''Refresh'', og så ''Next''
 
 
## Velg disken som har dukket opp, så Next
 
## Velg disken som har dukket opp, så Next
 
# La Windows-installasjonen fullføre
 
# La Windows-installasjonen fullføre
# Sett Administrator-passordet
+
# Sett Administrator-passordet (husk å dokumentere!)
 
# Slå av Telemetry:
 
# Slå av Telemetry:
 
## I menyen til Windows server, skriv inn <code>10</code> for å endre på Telemetry-innstillingene
 
## I menyen til Windows server, skriv inn <code>10</code> for å endre på Telemetry-innstillingene

Revision as of 13:06, 31 March 2023

En template for Windows Server 2022 trengs som kan være grunnlag for de serverne vi trenger.

  1. Last ned ISO fra https://www.microsoft.com/en-us/evalcenter/download-windows-server-2022 (se guide her)
  2. Last også ned ISO for drivere: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
  3. Fra noden proxmox velges "Create VM", og følgende valg gjøres (andre valg står som default):
    1. General:
      1. VM ID: 1000
      2. Name: win-2022-mal
      3. Start at boot: false
    2. OS:
      1. storage: local
      2. ISO image: velg ISO-filen som ble lastet ned for Windows Server 2022
      3. Guest OS Type: Microsoft Windows
      4. Guest OS Version: 11/2022
    3. System:
      1. Graphic card: SPICE
      2. Qemu Agent: true
      3. TPM Storage og EFI Storage: local-lvm
    4. Disks:
      1. Bus/Device: SCSI
      2. Storage: local-lvm
      3. Disk size (GiB): 40
      4. Cache: Write Back
      5. Discard: true
    5. CPU:
      1. Sockets: 1
      2. Cores: 2
    6. Memory:
      1. 4096 (4 GiB)
    7. Network:
      1. Bridge: vmbr1
      2. Model: VirtIO (paravirtualized)
      3. VLAN Tag: 10
  4. Før installasjonen startes så trenger vi å legge til en CD-stasjon ekstra:
    1. Velg VM-en og gå til Hardware-fanen
    2. Velg Add - CD/DVD Drive
      1. Storage: local-lvm
      2. ISO Image: virtio-win.iso (iso-filen som inneholder driverne)
  5. Start VM-en og åpne konsollet. Se egen guide. Under installasjonen gjøres følgende valg:
    1. Time and currency format: Norwegian Bokmål
    2. Keyboard or input method: Norwegian
    3. Operating system: Windows Server 2022 Standard Evaluation (Desktop Experience)
    4. Aksepterer EULA, velger "Custom" på installation type.
    5. På spørsmål om hvor Windows skal installeres må man først laste inn disk-driverne:
      1. Trykk knappen Load Driver
      2. Trykk OK
      3. Velg driveren som passer best, i skrivende stund er det den som heter D:\amd64\2k22\vioscsi.inf
      4. Trykk Next
    6. Velg disken som har dukket opp, så Next
  6. La Windows-installasjonen fullføre
  7. Sett Administrator-passordet (husk å dokumentere!)
  8. Slå av Telemetry:
    1. I menyen til Windows server, skriv inn 10 for å endre på Telemetry-innstillingene
    2. Y for å endre
    3. 1 for off
  9. Installer libvirt-driverne og guest tools:
    1. I Proxmox sin Hardware-fane: Plugg inn virtio-ISO-en igjen
    2. I VM-en: Skriv 15 for å gå til shellet
    3. Skriv D:\virtio-win-guest-tools.exe og installer den med default-innstillinger. Dette setter på plass nettverks-drivere, sørger for at mus og kopiering av tekst o.l fungerer bedre, lar deg endre oppløsning ved å endre størrelse på vinduet osv.
  10. Start Server-config-menyen igjen ved å lukke vinduet
  11. Sett opp nettverks-innstillingene:
    1. I menyen til Windows Server, skriv 8 for nettverksinnstillinger
    2. Velg 1 for det virtuelle nettverkskortet
    3. Velg 1 for å sette addresse
    4. Velg S for statisk IP
    5. For static IP address, skriv inn 10.0.10.3
    6. Trykk enter på subnet (det setter automatisk til 255.255.255.0)
    7. For default gateway, skriv inn 10.0.10.1
    8. Trykk 8 for nettverksinnstillinger igjen
    9. Velg 1 for det virtuelle nettverkskortet
    10. Velg 2 for å sette opp DNS
    11. For preferred DNS server, sett 1.1.1.1
    12. For alternate DNS server, sett 1.0.0.1
  12. Kjør Windows-oppdateringer:
    1. I menyen til Windows Server, skriv 6 for Install updates
    2. Velg 1 for All quality updates
    3. Velg A for å installere alle oppdateringer
    4. Gjenta disse stegene til det ikke gjenstår flere oppdateringer, reboot når det trengs
  13. Klargjør maskinen for fjernstyring fra Ansible via WinRM ved å kjøre følgende kommandoer i Powershell som admin (fra denne guiden: https://docs.ansible.com/ansible/latest/user_guide/windows_setup.html)
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$url = "https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1"
$file = "$env:temp\ConfigureRemotingForAnsible.ps1"
(New-Object -TypeName System.Net.WebClient).DownloadFile($url, $file)
powershell.exe -ExecutionPolicy ByPass -File $file -DisableBasicAuth $True -EnableCredSSP

Test at Ansible klarer å snakke med hosten via WinRM:

ansible all -i 10.0.10.3, -u Administrator --ask-pass -m win_command -a "ipconfig" -e ansible_connection=winrm -e ansible_winrm_transport=credssp -e ansible_winrm_server_cert_validation=ignore -e ansible_winrm_message_encryption=always

Dette skal gi output som ser ca. sånn ut:

10.0.10.3 | CHANGED | rc=0 >>

Windows IP Configuration


Ethernet adapter Ethernet Instance 0:

   Connection-specific DNS Suffix  . : 
   Link-local IPv6 Address . . . . . : fe80::21b9:f85f:6f41:b790%3
   IPv4 Address. . . . . . . . . . . : 10.0.10.3
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 10.0.10.1

Nå som Windows-oppdateringer og WinRM er satt opp så kan maskinen klargjøres for å bli til template:

C:\Windows\System32\Sysprep\sysprep.exe /oobe /generalize /shutdown

Når maskinen har slått seg av så konverteres maskinen til image ved å høyreklikke på VM-en og velge "Convert to template".

Til slutt endres standard-innstillingene til imaget for å være mer konservativ: Memory settes til 3072 MiB (3.00 GiB)