L’installazione di Windows 11 ARM su vmWare Fusion su Mac M1 (e seguenti) si blocca, dopo la scelta della tastiera, per mancanza di rete.
Per ovviare a questo problema dobbiamo eseguire una semplice procedura per installare i tools che permettono alla macchina virtuale di accedere alla rete e terminare l’installazione
Arrivati alla prima schermata:
Premiamo i tasti Shift-fn-F10 per aprire un prompt dei comandi Dal prompt dei comandi digitiamo:
powershell
e da qui eseguiamo:
D:
Set-ExecutionPolicy RemoteSigned
.\setup.ps1
Al termine riavviamo la macchina che, al seguente avvio, potrà effettuare l’installazione regolarmente:
L’installazione di un aggiornamento cumulativo (2023-02 Cumulative Update for Microsoft server operating system version 21H2 for x64-based Systems (KB5022842)) impedisce il corretto avvio della VM:
Riavvio dopo l’installazione della KB5022842
Al momento non ci sono soluzioni ne da parte di vmware ne da parte di Microsoft.
I consigli sono essenzialmente due: non installare la patch oppure disabilitare l’avvio sicuro.
Per disabilitare l’avvio sicuro dobbiamo andare sulle impostazioni della macchina virtuale:
Accedere alla tab “Opzioni della macchina virtuale”:
e disabilitare l’opzione “Avvio sicuro” nelle opzioni di avvio
Il corretto dimensionamento di un server che ospita Proxmox non dovrebbe coinvolgere l’utilizzo dello spazio di swap. Capita però che sia necessario aggiungere dello spazio di swap quando la memoria non è sufficiente e dobbiamo tamponare la situazione, in attesa di espandere la memoria principale. Capita infatti che l’OOM uccida un processo (e se vi siete posti il problema probabilmente era una VM in funzione) prima di rendere il sistema instabile.
In questo caso possiamo aggiungere uno spazio di swap per limitare il problema.
E’ buona norma dedicare una partizione allo swap e non impasticciare su filesystem esistenti ma a volte si procede per emergenze.
In questo caso creiamo uno spazio di swap da 24GB come ZVOL:
Tra le migliaia di cause per questo dannato errore di “no healthy upstream” c’è anche la possibilità che i certificati interni siano scaduti.
Ci troviamo con una pagina bianca (o scura, a seconda del tema…) e la sola dicitura “no healthy upstream”:
Tra le possibili soluzioni, prima di tentare una reinstallazione completa del vCenter, verifichiamo che i certificati siano ok. Da una sessione SSH proviamo a fare un controllo
root@vcenter [ /etc/vmware/vsphere-ui ]# for store in $(/usr/lib/vmware-vmafd/bin/vecs-cli store list | grep -v TRUSTED_ROOT_CRLS); do echo "[*] Store :" $store; /usr/lib/vmware-vmafd/bin/vecs-cli entry list --store $store --text | grep -ie "Alias" -ie "Not After";done;
Otteniamo un elenco dei certificati e delle scadenze
[*] Store : MACHINE_SSL_CERT
Alias : __MACHINE_CERT
Not After : Nov 1 10:26:08 2022 GMT
[*] Store : TRUSTED_ROOTS
Alias : b88fd8df2674612aaadccbac0140ace59464a9d0
Not After : Oct 26 22:26:08 2030 GMT
[*] Store : machine
Alias : machine
Not After : Oct 26 22:26:08 2030 GMT
[*] Store : vsphere-webclient
Alias : vsphere-webclient
Not After : Oct 26 22:26:08 2030 GMT
[*] Store : vpxd
Alias : vpxd
Not After : Oct 26 22:26:08 2030 GMT
[*] Store : vpxd-extension
Alias : vpxd-extension
Not After : Oct 26 22:26:08 2030 GMT
[*] Store : hvc
Alias : hvc
Not After : Oct 26 22:26:08 2030 GMT
[*] Store : data-encipherment
Alias : data-encipherment
Not After : Oct 26 22:26:08 2030 GMT
[*] Store : APPLMGMT_PASSWORD
[*] Store : SMS
Alias : sms_self_signed
Not After : Oct 31 22:31:21 2030 GMT
[*] Store : wcp
Alias : wcp
Not After : Oct 31 22:23:31 2022 GMT
Ci sono un paio di certificati scaduti, dannato mondo. Andiamo nella cartella /usr/lib/vmware-vmca/bin e eseguiamo il certificate-manager
root@vcenter [ /usr/lib/vmware-vmca/bin ]# ./certificate-manager
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
| |
| *** Welcome to the vSphere 6.8 Certificate Manager *** |
| |
| -- Select Operation -- |
| |
| 1. Replace Machine SSL certificate with Custom Certificate |
| |
| 2. Replace VMCA Root certificate with Custom Signing |
| Certificate and replace all Certificates |
| |
| 3. Replace Machine SSL certificate with VMCA Certificate |
| |
| 4. Regenerate a new VMCA Root Certificate and |
| replace all certificates |
| |
| 5. Replace Solution user certificates with |
| Custom Certificate |
| NOTE: Solution user certs will be deprecated in a future |
| release of vCenter. Refer to release notes for more details.|
| |
| 6. Replace Solution user certificates with VMCA certificates |
| |
| 7. Revert last performed operation by re-publishing old |
| certificates |
| |
| 8. Reset all Certificates |
|_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _|
Note : Use Ctrl-D to exit.
Option[1 to 8]: 8
Resettiamo tutto con l’opzione “8”, se serve possiamo:
Linux ha il comando ssh-copy-id che permette la copia della propia chiave pubblica ssh su un altro server, ma non tutte le varianti *nix hanno tale programma. Per copiare la propria chiave pubblica ssh su un server, da una macchina che non ha ssh-copy-id, ad esempio Mac OSX, di può ricorrere al seguente comando da lanciare nel terminale di OSX:
dove utente@dominio.estensione rappresenta l’utente ed il server su cui attivare l’accesso senza dover inserire la password ogni volta. Per consentire l’accesso SSH all’utente root solo con il certificato (bloccando la connessione con password), bisogna modificare il file /etc/ssh/sshd_config ed in particolare impostare la direttiva:
Ho un box TrueNAS con 4 dischi da 3TB in RaidZ ma si sa, lo spazio non è mai abbastanza. Non potendo aggiungere altri dischi all’interno dello stesso server ho allestito un secondo box, con altrettanti dischi da 3TB ed esportato un disco iSCSI che ho montato (via rete) sul primo server.
Vediamo come.
Per prima cosa creiamo un volume all’interno di un pool, in questo caso “targetDisk”.
Adesso dobbiamo condividere il volume attraverso l’iSCSI, quindi partiamo da “Sharing” -> “Block Shares (iSCSI)“ Possiamo utilizzare il wizard, che ci aiuta a creare portale, iniziatore, target e extent:
La configurazione globale, da cui prendiamo il “Base Name“: “iqn.2005-10.org.freenas.ctl” (1)Il portale con Group ID 1 e l’interfaccia (ip) su cui ascoltaIl gruppo di iniziatori, con le reti autorizzate a connettersiIl Target, con il nome “targetDisk” che ci servirà tra pocoL’extent con il nome “targetdisk” (occhio che qui è tutto minuscolo)Ed infine il target associato con nome “targetdisk” (2)
A questo punto è tutto ok, ricordiamoci di avviare la condivisione iSCSI dal pannello dei servizi.
Ci spostiamo sul nodo TrueNAS che deve importare il disco che abbiamo esportato sopra e ci connettiamo in SSH (oppure avviamo la Shell dal pannello web). Dobbiamo creare (o modificare) il file /conf/base/etc/iscsi.conf così:
In questo caso il TargetAddress è l’indirizzo del nodo che espone il disco iSCSI e il nome è composto dal BaseName del punto 1 e dal nome targetdisk, quello del target associato del punto 2, divisi da “:” Dobbiamo anche modificare il file “/conf/base/etc/rc.conf” aggiungendo queste righe al termine del file:
Una ultima modifica al file “/conf/base/etc/ix.rc.d/ix-zfs” dove dobbiamo modificare la linea:
# REQUIRE: hostid mountcritlocal
con:
# REQUIRE: hostid mountcritlocal iscsictl
A questo punto possiamo riavviare il nodo e dovremmo trovare un nuovo disco “da0” tipo questo:
Possiamo aggiungere quindi un nuovo pool (Storage -> Pools) indicando il disco “da0” come unico membro del nuovo pool di nome “targetDisk“. La dashboard, adesso, ci permette di vedere entrambi i volumi:
Le classiche icone “Questo PC”, “Rete”, “Pannello di controllo” non possono essere visualizzate sul desktop di un Windows Server connesso ad un dominio da “Impostazioni” -> “Personalizzazione” -> “Temi” -> “Impostazioni delle icone del desktop“:
Per ovviare a questo problema, dato che le icone di sistema ci piacciono molto (siamo abituati così…) dobbiamo modificare una regola sui criteri di gruppo.
Eseguiamo “gpedit.msc” da start/esegui e scegliamo le opzioni:
“Criteri Computer Locale” -> “Configurazione Computer” -> “Impostazioni di Windows” -> “Impostazioni di Sicurezza” -> “Criteri Locali” -> “Opzioni di Sicurezza“, fino ad arrivare all’opzione “Controllo account utente: modalità Approvazione amministratore per l’account amministratore predefinito“
A questo punto dobbiamo impostare l’opzione ad “Attivato“:
Ecco fatto, un riavvio e possiamo attivare le nostre icone sul desktop:
Dopo una installazione, dopo un riavvio o un cambio di switch il nostro caro Windows (10/11, server) si convince di essere connesso ad una rete pubblica.
Possiamo convertire la rete a cui è connesso il pc/server a rete privata in vari modi. Qui vediamo come farlo da powershell.
Apriamo una PowerShell con diritti di amministratore ed eseguiamo:
PS C:\Users\Administrator> Get-NetConnectionProfile
Name : Network
InterfaceAlias : Lan
InterfaceIndex : 7
NetworkCategory : Private
IPv4Connectivity : Internet
IPv6Connectivity : NoTraffic
Name : Unidentified network
InterfaceAlias : Lan10G
InterfaceIndex : 11
NetworkCategory : Public
IPv4Connectivity : NoTraffic
IPv6Connectivity : NoTraffic
Possiamo notare che la seconda rete in lista è una rete pubblica. L’interface Index è 11.
Adesso con il comando “Set-NetConnectionProfile” convertiamo la rete con indice 11 in privata: