VMware ESXi is een hypervisor die net als andere besturingssystemen en softwareproducten logbestanden schrijft. We hebben de meest bruikbare VMware-logboeken behandeld in een recente blogpost, en deze post breidt de configuratie uit. Na het installeren van ESXi worden logbestanden opgeslagen op de standaardlocatie. U kunt echter de locatie van de VMware-logboeken wijzigen indien nodig. Deze blogpost legt uit hoe u de ESXi-loglocatie kunt wijzigen in de opdrachtregel en in de grafische gebruikersinterface (GUI).
Waarom zou u de locatie van VMware-logboeken moeten wijzigen?
Standaard worden VMware ESXi-logboeken verwijderd na een herstart van een ESXi-host. Als u wilt voorkomen dat VMware ESXi-logboeken na elke hostherstart worden verwijderd, kunt u de locatie van de VMware-logboeken op een ESXi-host wijzigen van de standaard scratch-partitie naar permanente opslag, zoals een map op een datastore.
De eerste aanpak om VMware ESXi te configureren om logboeken op permanente opslag, zoals een datastore, op te slaan, is het instellen van permanente scratch-ruimte. Standaard gebruikt ESXi een in-memory bestandssysteem (tmpfs) voor scratch-ruimte, wat betekent dat logboeken verloren gaan bij een herstart. Met permanente scratch-ruimte worden logboeken echter behouden na herstarts en opgeslagen op een aangewezen datastore.
De tweede aanpak is om de configuratie van de scratch-partitie te laten zoals die is, maar de paden te wijzigen om logbestanden op te slaan vanuit de scratch-partitie naar een permanente datastore. We gebruiken deze aanpak in ons voorbeeld.
U kunt de locatie van VMware ESXi-systeemlogboeken wijzigen in de ESXi-opdrachtregel en in de GUI, met behulp van VMware vSphere Client.
Wijzig de ESXi-loglocatie met behulp van de opdrachtregel
Voer de volgende stappen uit om de ESXi-loglocatie in de opdrachtregel te wijzigen:
- Bepaal eerst de datastore waar u de logboeken wilt opslaan. Zorg ervoor dat de datastore voldoende vrije ruimte heeft om de logbestanden te accommoderen.
- Schakel SSH in en maak verbinding met de ESXi-host. Gebruik een SSH-client (bijvoorbeeld PuTTY) om verbinding te maken met het beheer-IP-adres van de ESXi-host.
- Controleer de huidige scratch-configuratie en locatie van VMware-logboeken. Voer de volgende opdracht uit om de huidige configuratie voor het opslaan van VMware-logboeken te controleren:
esxcli system syslog config get
Zoals u in onze uitvoer in de schermafbeelding kunt zien, is /scratch/log de lokale loguitvoer.
- U kunt de opdracht ook gebruiken om informatie over de huidige scratch-configuratie weer te geven:
vim-cmd hostsvc/advopt/view ScratchConfig.ConfiguredScratchLocation
- Noteer de huidige locatie (bijvoorbeeld /tmp/scratch) en of het geheugen of een specifieke partitie gebruikt.
- Maak een map aan op de datastore. Gebruik de volgende opdracht om een map aan te maken op de gekozen datastore waar je de logs wilt opslaan:
mkdir /vmfs/volumes/<datastore_naam>/log
Vervang <datastore_naam> door de naam van de datastore (datastore10a in ons geval).
In ons geval is de opdracht:
mkdir /vmfs/volumes/datastore10a/log
- Stel de nieuwe locatie in om VMware-logs op te slaan. U kunt een directory instellen op een datastore van de lokale of externe ESXi-host met het commando zoals:
esxcli systeem syslog config set --logdir=/vmfs/directory/path --loghost='tcp://hostname:514'
We hebben de recent aangemaakte directory op Datastore10a op onze lokale ESXi-host ingesteld als de nieuwe locatie om VMware-logs op te slaan met het commando:
esxcli systeem syslog config set --logdir=/vmfs/volumes/Datastore10a/log
Als u een foutmelding ziet zoals “Logdir moet bestaan en een directory zijn“, als de vereiste directory al bestaat, probeer dan de UUID van de datastore (partitie) te gebruiken in plaats van een mensvriendelijke datastore-naam. De eenvoudigste manier om de datastore-UUID te controleren is door naar de datastore-directory te gaan:
cd /vmfs/volumes/Datastore10a/
Zie het pad van de huidige directory, waar u de UUID van de datastore (partitie) moet zien. In ons geval is de UUID van datastore10a 609a545a-50d29185-ffbb-000c293004f2.
Voer het commando uit om de nieuwe loglocatie in te stellen door de datastore-UUID te gebruiken in plaats van de datastore-naam in het pad:
esxcli systeem syslog config set --logdir=/vmfs/volumes/609a545a-50d29185-ffbb-000c293004f2/log
Het commando is succesvol uitgevoerd.
- Ververs syslog om de nieuwe instellingen toe te passen en begin logs te schrijven op een permanente locatie, namelijk een directory op de datastore:
esxcli systeem syslog herladen
Na het herladen zal ESXi zijn logs opslaan in de opgegeven map op de aangewezen datastore. Dit zorgt ervoor dat de logs behouden blijven bij herstarts en biedt een meer permanente en betrouwbare opslagoplossing voor logbestanden.
Wijzig de ESXi-loglocatie met behulp van de VMware vSphere Client
Voer de volgende stappen uit om de ESXi-loglocatie te wijzigen in de vCenter GUI met behulp van de VMware vSphere Client:
- Selecteer de weergave Hosts en clusters en selecteer de benodigde ESXi-host in het navigatievenster (dat zich aan de linkerkant van de interface bevindt).
- Klik op het tabblad Configureren en klik vervolgens op Geavanceerde systeeminstellingen in het Systeem-gedeelte van het configuratiedeelvenster.
- Zoek de sleutel Syslog.global.logDir om te configureren. In ons geval bevindt deze sleutel zich op pagina 31.
Klik op Bewerken om de waarde voor de sleutel Syslog.global.logDir te wijzigen.
- A new window to edit advanced system settings opens.
Wijzig de standaard /scratch/log-waarde naar de aangepaste waarde die een map op uw datastore kan zijn en klik op OK om de instellingen op te slaan.
ESXi-loglocatie wijzigen in VMware Host Client
Als u geen vCenter Server heeft of een op zichzelf staande ESXi-host gebruikt, kunt u de ESXi-loglocatie wijzigen in de VMware Host Client:
- Voer het IP-adres van een ESXi-host in een webbrowser in en log in op VMware Host Client.
- Ga naar Host > Beheren > Systeem > Geavanceerde instellingen.
- Zoek de sleutel Syslog.global.logDir in de lijst met opties.
- Selecteer de sleutel Syslog.global.logDir en klik op de optie Bewerken.
- Voer een nieuwe waarde in voor de ESXi-loglocatie in het juiste veld in en klik op Opslaan.
Hoe ESXi-loglocatie te wijzigen in PowerCLI
Als je vSphere PowerCLI leuk vindt, wat een opdrachtregelinterface is gebaseerd op Windows PowerShell, dan kun je de volgende manieren overwegen om de loglocatie van de VMware ESXi-host te wijzigen. Er kunnen drie scenario’s zijn.
Wijzig de loglocatie van ESXi op een op zichzelf staande host
- Open PowerCLI en log in op een ESXi-server met beheerdersreferenties:
Connect-VIServer -Server <ESXiHostIPAddress> -User <Gebruikersnaam> -Wachtwoord <Wachtwoord>
- Zet de nieuwe ESXi-loglocatie in PowerCLI:
Set-VMHostAdvancedConfiguration -VMHost <HostNameOfIPAddress> -Name "Syslog.global.logDir" -Value "[<DatastoreNaam>] <Pad>"
Vervang <DatastoreNaam> door de naam van de datastore waar je de logs wilt opslaan en <Pad> door het nieuwe maptraject voor de logs.
Wijzig de ESXi-loglocatie voor meerdere ESXi-hosts zonder vCenter
Als je meerdere ESXi-hosts hebt maar ze niet worden beheerd door vCenter, doe dan het volgende:
- Bereid een lijst van ESXi-hosts voor. Maak een tekstbestand met de IP-adressen of hostnamen van elke host, één per regel (bijvoorbeeld, hosts.txt).
- Overweeg een voorbeeld van het PowerCLI-script om de ESXi-loglocatie in te stellen:
$hosts = Get-Content -Path "C:\pad\naar\hosts.txt"
foreach ($host in $hosts) {
Connect-VIServer -Server $host -Gebruiker <Gebruiker> -Wachtwoord <Wachtwoord>
Set-VMHostAdvancedConfiguration -VMHost $host -Naam "Syslog.global.logDir" -Waarde "[<DatastoreNaam>] <Pad>"
Disconnect-VIServer -Server $host -Bevestig:$false
}
Voer de benodigde waarden in op basis van uw omgeving en infrastructuur.
ESXi-loglocatie wijzigen voor meerdere hosts met vCenter
Als uw ESXi-hosts worden beheerd door vCenter, kunt u de ESXi-loglocatie wijzigen in PowerShell als volgt:
- Verbinden met vCenter Server in PowerCLI:
Connect-VIServer -Server <vCenterHostNameOfIPAddress> -Gebruiker <Gebruiker> -Wachtwoord <Wachtwoord>
- Stel de ESXi-loglocatie in voor alle hosts die worden beheerd door vCenter:
Get-VMHost | ForEach-Object {
Set-VMHostAdvancedConfiguration -VMHost $_ -Name "Syslog.global.logDir" -Value "[<DatastoreNaam>] <Pad>"
}
Voer de benodigde waarden in bij het uitvoeren van opdrachten om aan de configuratie van uw omgeving te voldoen.
Conclusie
Het gebruik van persistente opslag voor ESXi-logs stelt u in staat om deze logs te behouden na het opnieuw opstarten van ESXi. U kunt de locatie van ESXi-logs wijzigen met behulp van de opdrachtregel en de grafische gebruikersinterface. Als een ESXi-host wordt beheerd door vCenter Server, kunt u de VMware vSphere Client gebruiken. Als een ESXi-host niet wordt beheerd door vCenter, gebruikt u de ESXi-opdrachtregel of VMware Host Client. Organisaties met grote virtuele omgevingen kunnen een logserver configureren met een gedeelde datastore om ESXi-logs van meerdere hosts naar deze server te schrijven.
Source:
https://www.nakivo.com/blog/change-vmware-esxi-logs-location/