Come configurare l’ubicazione dei log VMware su ESXi
VMware ESXi è un hypervisor che, analogamente ad altri sistemi operativi e prodotti software, scrive file di log. Abbiamo trattato i log VMware più utili in un recente post sul blog, e questo post ne amplia la configurazione. Dopo l’installazione di ESXi, i file di log vengono memorizzati nella ubicazione predefinita. Tuttavia, è possibile modificare l’ubicazione dei log VMware, se necessario. Questo post sul blog spiega come modificare l’ubicazione dei log ESXi nella riga di comando e nell’interfaccia grafica utente (GUI).
Perché è necessario modificare l’ubicazione dei log VMware?
I log VMware ESXi vengono eliminati dopo il riavvio di un Host VMware ESXi per impostazione predefinita. Se non si desidera che i log VMware ESXi vengano eliminati dopo ogni riavvio dell’host, è possibile modificare l’ubicazione dei log VMware su un Host VMware ESXi da una partizione scratch predefinita a un’unità di storage permanente, ad esempio una directory su un archivio dati.
Il primo approccio per configurare VMware ESXi in modo da archiviare i log su un’unità di storage permanente, ad esempio un archivio dati, consiste nell’impostare uno spazio scratch persistente. Per impostazione predefinita, ESXi utilizza un file system in memoria (tmpfs) per lo spazio scratch, il che significa che i log vengono persi al riavvio. Tuttavia, con uno spazio scratch persistente, i log vengono conservati anche dopo il riavvio e archiviati su un archivio dati designato.
Il secondo approccio consiste nel lasciare invariata la configurazione della partizione scratch scratch ma modificare il percorso di archiviazione dei file di log dalla partizione scratch a un archivio dati persistente. Nel nostro esempio utilizziamo questo approccio.
È possibile modificare l’ubicazione dei log di sistema VMware ESXi nella riga di comando ESXi e nella GUI, utilizzando VMware vSphere Client.
Modifica dell’ubicazione dei log ESXi utilizzando la riga di comando
Per modificare l’ubicazione dei log ESXi nella riga di comando, procedere come segue:
- Innanzitutto, identificare l’archivio dati in cui si desidera archiviare i log. Assicurarsi che l’archivio dati disponga di spazio libero sufficiente per ospitare i file di log.
- Abilitare SSH e connettersi all’host ESXi. Utilizzare un client SSH (ad esempio PuTTY) per connettersi all’indirizzo IP di gestione dell’host VMware ESXi.
- Verificare la configurazione scratch corrente e l’ubicazione dei log VMware. Eseguire il comando seguente per verificare la configurazione corrente per l’archiviazione dei log VMware:
esxcli system syslog config getCome potete vedere nell’output visualizzato nella schermata, /scratch/log è l’output del log locale.

- È inoltre possibile utilizzare il comando per visualizzare le informazioni sulla configurazione scratch corrente:
vim-cmd hostsvc/advopt/view ScratchConfig.ConfiguredScratchLocation
- Prendere nota dell’ubicazione corrente dello scratch (ad esempio, /tmp/scratch) e se utilizza la memoria o una partizione specifica.
- Creare una directory sull’archivio dati. Utilizzare il comando seguente per creare una directory sull’archivio dati scelto in cui si desidera archiviare i log:
mkdir /vmfs/volumes//log Sostituire
con il nome dell’archivio dati (archivio dati10a nel nostro caso). Nel nostro caso, il comando è:
mkdir /vmfs/volumes/datastore10a/log - Impostare la nuova ubicazione in cui archiviare i log VMware. È possibile impostare una directory su un archivio dati dell’host ESXi locale o remoto con il comando:
esxcli system syslog config set --logdir=/vmfs/directory/path --loghost='tcp://hostname:514'Impostiamo la directory appena creata su Datastore10a sul nostro host VMware ESXi locale come nuova ubicazione in cui archiviare i log VMware con il comando:
esxcli system syslog config set --logdir=/vmfs/volumes/Datastore10a/logSe viene visualizzato un errore del tipo “Logdir deve esistere ed essere una directory“, se l’archivio dati obbligatorio esiste già, provare a utilizzare l’UUID dell’archivio dati (partizione) invece di un nome dell’archivio dati intuitivo. Il modo più semplice per verificare l’UUID dell’archivio dati è accedere alla directory dell’archivio dati:
cd /vmfs/volumes/Datastore10a/Vedi il percorso della directory corrente, dove dovresti vedere l’UUID dell’archivio dati (partizione). Nel nostro caso, l’UUID di datastore10a è 609a545a-50d29185-ffbb-000c293004f2.
Eseguire il comando per impostare la nuova ubicazione del log utilizzando l’UUID dell’archivio dati invece del nome dell’archivio dati nel percorso:
esxcli system syslog config set --logdir=/vmfs/volumes/609a545a-50d29185-ffbb-000c293004f2/logIl comando è stato eseguito correttamente.

- Ricaricare syslog per applicare le nuove impostazioni e iniziare a scrivere i log in una ubicazione permanente, ovvero una directory sull’archivio dati:
esxcli system syslog reload
Dopo il ricaricamento, ESXi memorizzerà i propri log nella directory specificata sull’archivio dati designato. Ciò garantirà la conservazione dei log anche dopo i riavvii e fornirà una soluzione di storage più permanente e affidabile per i file di log.
Modifica dell’ubicazione dei log ESXi utilizzando VMware vSphere Client
Eseguire i seguenti passaggi per modificare l’ubicazione dei log ESXi nella GUI di vCenter utilizzando VMware vSphere Client:
- Selezionare Host e cluster Visualizza e seleziona l’host ESXi necessario nel riquadro di navigazione (situato sul lato sinistro dell’interfaccia).
- Fare clic su Configurare scheda, quindi fare clic su Impostazioni di sistema avanzate nella sezione Sistema del riquadro di configurazione.
- Trova la chiave Syslog.global.logDir da configurare. Nel nostro caso, l’ubicazione della chiave è a pagina 31.
Fare clic su Modifica per cambiare il valore della chiave Syslog.global.logDir .

- Si apre una nuova finestra per effettuare la modifica delle impostazioni di sistema avanzate.
Modificare il valore predefinito /scratch/log con il valore personalizzato, che può essere una directory nell’archivio dati, quindi fare clic su OK per salvare le impostazioni.

Modifica dell’ubicazione del log ESXi in VMware Host Client
Se non si dispone di vCenter Server oppure si utilizza un host ESXi autonomo, è possibile modificare l’ubicazione dei log ESXi in VMware Host Client:
- Immettere l’indirizzo IP di un host ESXi in un browser Web e accedere a VMware Host Client.
- Passare a Host > Gestione > Sistema > Impostazioni avanzate.
- Trova la chiave Syslog.global.logDir nell’elenco delle opzioni.
- Selezionare la chiave Syslog.global.logDir e fare clic sull’opzione Modifica .

- Inserisci un nuovo valore per l’ubicazione del log ESXi nel campo appropriato e premi Salva.

Come modificare l’ubicazione del log ESXi in PowerCLI
Se ti piace vSphere PowerCLI, che è un’interfaccia a riga di comando basata su Windows PowerShell, puoi prendere in considerazione i seguenti modi per modificare l’ubicazione del log dell’Host VMware ESXi. Sono possibili tre scenari.
Modifica dell’ubicazione dei log ESXi su un host autonomo
- Aprire PowerCLI e accedere a un server ESXi con credenziali di amministrazione:
Connect-VIServer -Server-User -Password - Imposta la nuova ubicazione del log ESXi in PowerCLI:
Set-VMHostAdvancedConfiguration -VMHost-Name "Syslog.global.logDir" -Value "[ ] " Sostituire <Archivio dati Name> con il nome dell’archivio dati in cui si desidera archiviare i log e <Path> con il nuovo percorso della directory per i log.
Modifica dell’ubicazione dei log ESXi per più host ESXi senza vCenter
Se si dispone di più host ESXi ma questi non sono gestiti da vCenter, procedere come segue:
- Preparare un elenco di host ESXi. Creare un file di testo che elenchi l’indirizzo IP o il nome host di ciascun host, uno per riga (ad esempio, hosts.txt).
- Si consideri un esempio di script PowerCLI per impostare l’ubicazione del log ESXi:
$hosts = Get-Content -Path "C:pathtohosts.txt"foreach ($host in $hosts) {Connect-VIServer -Server $host -User-Password Set-VMHostAdvancedConfiguration -VMHost $host -Name "Syslog.global.logDir" -Value "[] " Disconnect-VIServer -Server $host -Confirm:$false}Inserisci i valori necessari in base al tuo ambiente e alla tua Infrastruttura.
Modifica dell’ubicazione dei log ESXi per più host con vCenter
Se gli host ESXi sono gestiti da vCenter, è possibile modificare l’ubicazione dei log ESXi in PowerShell come segue:
- Connettersi a vCenter Server in PowerCLI:
Connect-VIServer -Server-User -Password - Impostare l’ubicazione dei log ESXi per tutti gli host gestiti da vCenter:
Get-VMHost | ForEach-Object {Set-VMHostAdvancedConfiguration -VMHost $_ -Name "Syslog.global.logDir" -Value "[] " }Immettere i valori necessari durante l’esecuzione dei comandi per soddisfare la configurazione dell’ambiente.
Conclusione
L’utilizzo di uno storage persistente per i log ESXi consente di conservare tali log dopo il riavvio di ESXi. È possibile modificare l’ubicazione dei log ESXi utilizzando la riga di comando e l’interfaccia utente grafica. Se un host ESXi è gestito da vCenter Server, è possibile utilizzare VMware vSphere Client. Se un host ESXi non è gestito da vCenter, utilizzare la riga di comando ESXi o VMware Host Client. Le organizzazioni con ambienti virtuali di grandi dimensioni possono configurare un server di log con un archivio dati condiviso per scrivere i log ESXi di più host su questo server.