Informations about CPU- and RAM-HotPlug at VMs on VMware vSphere 5

Enable CPU-Hot Plug and RAM-Hot Add at Virtual machines on VMware vCenter 5 Update 12.02.2013 / Gabrie post in the comments a important extra info about Hot-Add and post the link to the blog from Duncan Epping: http://www.yellow-bricks.com/2012/01/16/enabling-hot-add-by-default-cc-gabvirtualworld/ it’s important to read this!!! vSphere Virtual Machine Administration, Chapter 8 “Configuring Virtual Machines”, Section “Change CPU Hot Plug Settings … Continue reading “Informations about CPU- and RAM-HotPlug at VMs on VMware vSphere 5”

Enable CPU-Hot Plug and RAM-Hot Add at Virtual machines on VMware vCenter 5
Update 12.02.2013 / Gabrie post in the comments a important extra info about Hot-Add and post the link to the blog from Duncan Eppinghttp://www.yellow-bricks.com/2012/01/16/enabling-hot-add-by-default-cc-gabvirtualworld/ it’s important to read this!!!
vSphere Virtual Machine Administration, Chapter 8 “Configuring Virtual Machines”, Section “Change CPU Hot Plug Settings in the … Client”, page 94.
cpu-and-ram-hot-add
Some conditions and requirements for CPU Hot Plug

  • If possible, use hardware version 8 virtual machines.
  • Hot-adding multicore virtual CPUs is supported only with hardware version 8 virtual machines.
  • Not all guest operating systems support CPU hot add.
  • To use the CPU hot-add feature with hardware version 7 virtual machines, set the Number of cores per socket to 1.
  • Adding CPU resources to a running virtual machine with CPU hot plug enabled disconnects and reconnects all USB passthrough devices connected to that virtual machine.
  • For Linux guest operating VMware Tools must be installed.
  • The virtual machine must powered off to configure he Hot CPU settings.
  • Hot remove of Memory is not supported.
  • Hot remove of CPU is not supported.

To enable new CPU after adding a new CPU. You can use this script:
Hot add cpu to supported Linux guestOS

#!/bin/bash
# William Lam
# http://engineering.ucsb.edu/~duonglt/vmware/
# hot-add cpu to LINUX system using vSphere ESX(i) 4.0
# 08/09/2009
for CPU in $(ls /sys/devices/system/cpu/ | grep cpu | grep -v idle)
do
CPU_DIR="/sys/devices/system/cpu/${CPU}"
echo "Found cpu: "${CPU_DIR}" ..."
CPU_STATE_FILE="${CPU_DIR}/online"
if [ -f "${CPU_STATE_FILE}" ]; then
STATE=$(cat "${CPU_STATE_FILE}" | grep 1)
if [ "${STATE}" == "1" ]; then
echo -e "t${CPU} already online"
else
echo -e "t${CPU} is new cpu, onlining cpu ..."
echo 1 > "${CPU_STATE_FILE}"
fi
else
echo -e "t${CPU} already configured prior to hot-add"
fi
done

Hot adding memory in Linux

ONLY for Suse Linux Enterprise Linux 11
Note: These instructions work for SLES OS. Other distributions may be different.
To enable acpi_memhotplug, run this command within the SLES virtual machine:

modprobe acpi_memhotplug

Using vSphere Client, edit the virtual machine settings to increase the memory assigned to the virtual machine. For more information, see Increasing the amount of memory assigned to a virtual machine (1004059).
Bring the memory online in /sys/devices/system/memory with the command:

echo online > /sys/devices/system/memory/memory[number]/state

Run this command to check the state of the memory, looking for memory that appears offline:

grep line /sys/devices/system/memory/*/state

If memory appears as offline, set it to online with the command:

echo online > /sys/devices/system/memory/memory[number]/state

Verify that you can see the extra memory with the command:

free -m

Expert Mode: PowerCLI

This Works when System is online, but need one “cold” start to enable this function.
Enable-MemHotAdd and Enable-vCpuHotAdd

Function Enable-MemHotAdd($vm){
$vmview = Get-vm $vm | Get-View
$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
$extra = New-Object VMware.Vim.optionvalue
$extra.Key="mem.hotadd"
$extra.Value="true"
$vmConfigSpec.extraconfig += $extra
$vmview.ReconfigVM($vmConfigSpec)
}
Function Enable-vCpuHotAdd($vm){
$vmview = Get-vm $vm | Get-View
$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
$extra = New-Object VMware.Vim.optionvalue
$extra.Key="vcpu.hotadd"
$extra.Value="true"
$vmConfigSpec.extraconfig += $extra
$vmview.ReconfigVM($vmConfigSpec)
}

 

Good information about hot-add cpu and memory can found here

 

Nagios-Plugin für Oracle Grid-Infrastructure und Oracle-Restart

Hallo, neben dem Thema Virtualisierung beschäftige ich mich noch viel mit Oracle Grid-Infrastructure und Nagios. Ich habe mir heute mal die Zeit genommen und ein entsprechendes Plugin geschrieben. Getestet habe ich das Skript mit Oracle Restart 11.2.0.3 und Grid-Infrastructure 11.2.0.3. Es wird mindestens die Version 11.2.0.1 benötigt, da mit der Grid-Infrastructure die Syntax von crsctl … Continue reading “Nagios-Plugin für Oracle Grid-Infrastructure und Oracle-Restart”

Hallo,
neben dem Thema Virtualisierung beschäftige ich mich noch viel mit Oracle Grid-Infrastructure und Nagios.
Ich habe mir heute mal die Zeit genommen und ein entsprechendes Plugin geschrieben.
Getestet habe ich das Skript mit Oracle Restart 11.2.0.3 und Grid-Infrastructure 11.2.0.3. Es wird mindestens die Version 11.2.0.1 benötigt, da mit der Grid-Infrastructure die Syntax von crsctl grundlegend geändert wurde.
Folgende Punkte werden im Plugin berücksichtigt:

  • Support für Oracle Restart und Grid-Infrastructure
    wird automatisch erkannt
  • Anzahl Voting-Disks bei Grid-Infrastructure überwachen
    verlorene Voting-Disk führt zur CRITICAL-Meldung
    Überwachung der Voting-Disks nur bei Grid-Infrastructure
  • Resourcen im Status OFFLINE oder INTERMEDIATE die nicht im AUTO_START=never sind führen zum CRITICAL
  • ora.gsd und ora.ons werden bei der Statusauswertung ignoriert
  • sudo für Clusterbefehle erforderlich

Im Kopfbereich des Plugins befindet sich ein Beispiel für die sudo-Konfiguration
Parallel habe ich das Plugin auf http://exchange.nagios.org eingereicht, warte dort aber noch auf die Veröffentlichung.
Gruß
Thorsten
Update: 23.01.2012
Das Plugin steht nun auch auf Nagiosexchange zur Verfügung:
http://exchange.nagios.org/directory/Plugins/Clustering-and-High-2DAvailability/Check-Oracle-Grid-2DInfrastructure-or-Oracle-Restart/details
Continue reading “Nagios-Plugin für Oracle Grid-Infrastructure und Oracle-Restart”

Software und Update Downloads

LSI Downloads: http://www.lsi.com/products/storagecomponents/Pages/MegaRAIDSAS9260-4i.aspx MegaCLI – 5.5 http://www.lsi.com/downloads/Public/MegaRAID%20Common%20Files/8.07.06_MegaCLI.zip VMWare SMIS Provider VIB – 5.5 http://www.lsi.com/downloads/Public/MegaRAID%20Common%20Files/00_34_V0_01_SMIS_VMware_Installer.zip Firmware 4.9  http://www.lsi.com/downloads/Public/MegaRAID%20Common%20Files/12.12.0-0139_SAS_2108_Fw_Image_APP2.130.373-2022.zip Die Aktuellen Patches gibt es bei VMware: http://www.vmware.com/patchmgr/download.portal https://data.virtpro.eu/ für wget Bitte http://dl.virtpro.eu auf ESXi benutzen, da ESXi kein http(s) kann.

LSI Downloads: http://www.lsi.com/products/storagecomponents/Pages/MegaRAIDSAS9260-4i.aspx
MegaCLI – 5.5 http://www.lsi.com/downloads/Public/MegaRAID%20Common%20Files/8.07.06_MegaCLI.zip
VMWare SMIS Provider VIB – 5.5 http://www.lsi.com/downloads/Public/MegaRAID%20Common%20Files/00_34_V0_01_SMIS_VMware_Installer.zip
Firmware 4.9  http://www.lsi.com/downloads/Public/MegaRAID%20Common%20Files/12.12.0-0139_SAS_2108_Fw_Image_APP2.130.373-2022.zip
Die Aktuellen Patches gibt es bei VMware: http://www.vmware.com/patchmgr/download.portal
https://data.virtpro.eu/
für wget Bitte http://dl.virtpro.eu auf ESXi benutzen, da ESXi kein http(s) kann.

ESXi 5.x LSI MegaRAID SAS 9260-4i Raid-1 Rebuild

In diesem Abschnitt dokumentieren wir den Testlauf für einen Fall, den man als Serverbetreiber am liebsten nie haben möchte: Ausfall einer Platte im RAID-1. Alle Aktionen in diesem Abschnitt führen wir mit dem MegaCli auf der Shell des Hosts durch. Erkennung eines Plattenausfalls Ein Plattenausfall äußert sich darin, daß das Virtual Drive 0 nicht mehr … Continue reading “ESXi 5.x LSI MegaRAID SAS 9260-4i Raid-1 Rebuild”

In diesem Abschnitt dokumentieren wir den Testlauf für einen Fall, den man als Serverbetreiber am liebsten nie haben möchte: Ausfall einer Platte im RAID-1.
Alle Aktionen in diesem Abschnitt führen wir mit dem MegaCli auf der Shell des Hosts durch.

Erkennung eines Plattenausfalls

Ein Plattenausfall äußert sich darin, daß das Virtual Drive 0 nicht mehr als “Optimal” angezeigt wird. Ersichtlich wird dies im vSphere-Client unter Configuration / Health Status:
Esxi-raid-degraded
Außerdem läßt es sich in der Host-Shell mittels MegaCli abfragen:
[bash]/opt/lsi/MegaCLI # ./MegaCli -ldinfo -lall -aall
Adapter 0 — Virtual Drive Information:
Virtual Drive: 0 (Target Id: 0)
Name :
RAID Level : Primary-1, Secondary-0, RAID Level Qualifier-0
Size : 2.728 TB
Is VD emulated : Yes
Mirror Data : 2.728 TB
State : Degraded
Strip Size : 64 KB
Number Of Drives : 2
[…]
Exit Code: 0x00[/bash]
Wir hoffen, daß dort “Degraded” steht und nicht “Failed”, was bedeuten würde, daß beide Platten ausgefallen sind. Allerdings würde der Server dann wohl nicht mehr booten.
Natürlich ist es unschön, manuell im vSphere-Client oder auf der Shell des Hosts nach RAID-Ausfällen schauen zu müssen. Man möchte wohl eher aktiv darüber informiert werden. Daher ist – falls kein vCenter zur Verfügung steht, das Email-Alarme unterstützt – eine Methode wie das –HIER– beschriebene Monitoring des RAID-Status mittels MegaCli, SCP und Zabbix empfehlenswert.
Zur Identifizierung der ausgefallenen Platte kann man ebenfalls im vSphere-Client nachschauen, oder wir holen wir uns die Info der physikalischen Platten im MegaCli. Interessant sind hier die Einträge “Enclosure Device ID”, “Slot Number” und “Firmware State”.
[bash]/opt/lsi/MegaCLI # ./MegaCli -pdlist -aall
Adapter #0
Enclosure Device ID: 252
Slot Number: 0
[…]
Firmware state: Online, Spun Up
Enclosure Device ID: 252
Slot Number: 1
Firmware state: Online, Spun Up[/bash]
Wenn dort etwas anderes als “Online” steht, z.B. “Failed”, “Unconfigured Bad”, “Missing” oder “Offline”, ist die Platte aus dem Array geflogen. Die Enclosure und Slot Nummer merken wir uns.

Forcierter Plattenausfall für den Test

Wir führen unseren Test durch, indem wir eine der Platten im RAID mit zwangs-offline setzen. Die Platte gilt dann als “ausgefallen”.
[bash]MegaCli -pdoffline -physdrv[252:1] -a0 # For test only, don’t do this on your server!!
Adapter: 0: EnclId-252 SlotId-1 state changed to OffLine.
Exit Code: 0x00[/bash]
Hieraufhin wird das Array als “Degraded” markiert, wie oben aufgelistet. In unserem Beispiel haben wir also die Enclosure ID 252, Slot Number 1 “bearbeitet”. Das physikalische Laufwerk fürdie weiteren Kommandos ist damit die “252:1”.

Austausch der Platte

Zunächst markieren wir die ausgefallene Platte als “Missing”, falls dies nicht schon der Fall ist. Das Kommando pdgetmissing muß die Platte melden.
[bash]/opt/lsi/MegaCLI # ./MegaCli -pdmarkmissing -physdrv[252:1] -a0
EnclId-252 SlotId-1 is marked Missing.
Exit Code: 0x00
/opt/lsi/MegaCLI # ./MegaCli -pdgetmissing -aall
Adapter 0 – Missing Physical drives
No. Array Row Size Expected
0 0 0 2861056 MB
Exit Code: 0x00[/bash]
Die “Array” und “Row” Nummern merken wir uns für später.
Im Falle einer tatsächlich defekten Platte würden wir diese jetzt zum Austausch durch den Support vorbereiten:
[bash] MegaCli -pdprprmv -physdrv[252:1] -a0[/bash]
Nach Austausch muß die neue Platte u.U. mit Kommandos wie -pdmakegood oder -pdonline bereitgemacht werden. Der Status der Platte muß jedenfalls “Unconfigured Good” sein. In unserem Testvorgang ist dies automatisch der Fall, da wir die Platte nicht tatsächlich austauschen lassen.

Rebuild der neuen Platte

Die neue Platte wird als Ersatz für die ausgefallene bestimmt und der Rebuild gestartet. Für “array” und “row” wählen wir die Werte aus der Tabelle von eben:
[bash]/opt/lsi/MegaCLI # ./MegaCli -pdreplacemissing -physdrv[252:1] -array0 -row0 -a0
Adapter: 0: Missing PD at Array 0, Row 0 is replaced.
Exit Code: 0x00
/opt/lsi/MegaCLI # ./MegaCli -pdrbld -start -physdrv[252:1] -a0
Started rebuild progress on device(Encl-252 Slot-1)
Exit Code: 0x00[/bash]
Dann läuft der Rebuild. Über den Fortschritt können wir uns so informieren:
[bash]/opt/lsi/MegaCLI # ./MegaCli -pdrbld -showprog -physdrv[252:1] -a0
Rebuild Progress on Device at Enclosure 252, Slot 1 Completed 15% in 38 Minutes.
Exit Code: 0x00[/bash]
Nach Abschluß des Rebuild ist die Platte dann wieder “Online” und das Array “Optimal”.

VMware ESXi 5.0 auf 5.1 Updaten ohne KVM Zugriff

Nach der Auslieferung des ESXi-Servers von Hetzner kann man Überlegen, ob man die Updates für 5.0 Update 1 Updates einspielt, oder wie hier jetzt dargestellt das Update auf ESXi 5.1. Dabei ist zu bedenken, daß möglicherweise noch nicht alle Drittanbieter-Software, die Verwendung finden soll, (vollständig) mit ESXi 5.1 kompatibel ist. Als Beispiel sei die Backup-Software … Continue reading “VMware ESXi 5.0 auf 5.1 Updaten ohne KVM Zugriff”

Nach der Auslieferung des ESXi-Servers von Hetzner kann man Überlegen, ob man die Updates für 5.0 Update 1 Updates einspielt, oder wie hier jetzt dargestellt das Update auf ESXi 5.1.
Dabei ist zu bedenken, daß möglicherweise noch nicht alle Drittanbieter-Software, die Verwendung finden soll, (vollständig) mit ESXi 5.1 kompatibel ist. Als Beispiel sei die Backup-Software “Veeam Backup & Replication” genannt, bei der noch nicht alle Funktionen unter 5.1 korrekt laufen.
Viele Dritthersteller erhalten offenbar von VMware erst sehr spät, quasi gleichzeitig mit der Allgemeinheit, Zugriff auf neue Major Releases, so daß einige Zeit vergeht, bis diese ihre Produkte angepaßt haben.
Wir empfehlen daher, mit dem Update auf 5.1 zu warten, bis Kompatibilität hergestellt ist und die üblicherweise vorhandenen “Kinderkrankheiten” ausgeräumt sind.

Update auf ESXi 5.1

Wichtig: Vor der Installation von Updates sollten alle VMs heruntergefahren und der Host über den vSphere Client in den Maintenance Mode versetzt werden. Dies kann man natürlich auch mit Hilfe der CLI machen.
[bash]
# backup ESXi configuration to persist changes /sbin/auto-backup.sh
# enter maintenance mode
vim-cmd hostsvc/maintenance_mode_enter[/bash]

Herunterladen des Updates

Man kann hier das Offline Bundle Herunterladen: ESXi 5.1 Offline Bundle. Der Name der Datei: VMware-ESXi-5.1.0-799733-depot.zip.
Wenn man keinen Zugriff auf diese Datei hat, kann man auch – wie weiter unten beschrieben – eine andere Möglichkeit benutzen, um das Update einzuspielen.

Unterschiede zwischen Install und Update

Ein “Profil” im Sinne von VMware ist eine Zusammenstellung aller VIBs (ähnlich wie .RPM oder .DEB Pakete einer Linux-Distribution), die auf dem ESXi installiert sein sollen. Einen Profilwechsel könnte man mit einem Distributions-Upgrade unter Linux vergleichen.
Zusätzlich ist zu beachten, daß im Gegensatz zu üblichen Linux-Systemen ein Großteil des ESXi-Dateisystems beim Bootvorgang aus VIBs zusammengebaut wird. Der Inhalt von z.B. /bin oder /sbin ist nicht statisch auf der Platte abgelegt, sondern wird beim Booten aus VIBs ausgepackt.

  • Update: Hierbei werden alle existierenden Pakete durch neue Versionen im neuen Profil ausgetauscht. Pakete, die im neuen Profil nicht enthalten sind (z.B. das MegaCli oder die LSI-CIM-Provider), bleiben unangetastet.
  • Install: Hierbei werden zusätzlich zum Verhalten von “Update” alle Pakete gelöscht, die nicht im neuen Profil enthalten sind. Dies ist einer Neuinstallation unter Beibehaltung der Konfiguration gleichzusetzen.

Update mit Hilfe des Offline-Depots

[bash]
/vmfs/volumes/datastore1/ # esxcli software profile install -d /vmfs/volumes/datastore1/VMware-ESXi-5.1.0-799733-depot.zip -p ESXi-5.1.0-799733-standard
Installation Result
Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
Reboot Required: true
VIBs Installed: VMware_bootbank_ata-pata-amd_0.3.10-3vmw.510.0.0.799733, VMware_bootbank_ata-pata-atiixp_0.4.6-4vmw.510.0.0.799733,
VMware_bootbank_ata-pata-cmd64x_0.2.5-3vmw.510.0.0.799733, VMware_bootbank_ata-pata-hpt3x2n_0.3.4-3vmw.510.0.0.799733,
VMware_bootbank_ata-pata-pdc2027x_1.0-3vmw.510.0.0.799733, VMware_bootbank_ata-pata-serverworks_0.4.3-3vmw.510.0.0.799733,
VMware_bootbank_ata-pata-sil680_0.4.8-3vmw.510.0.0.799733, VMware_bootbank_ata-pata-via_0.3.3-2vmw.510.0.0.799733,
VMware_bootbank_block-cciss_3.6.14-10vmw.510.0.0.799733, VMware_bootbank_ehci-ehci-hcd_1.0-3vmw.510.0.0.799733,
VMware_bootbank_esx-base_5.1.0-0.0.799733, VMware_bootbank_esx-dvfilter-generic-fastpath_5.1.0-0.0.799733, [
VMware_bootbank_esx-tboot_5.1.0-0.0.799733, VMware_bootbank_esx-xlibs_5.1.0-0.0.799733,

VIBs Removed: VMware_bootbank_ata-pata-amd_0.3.10-3vmw.500.0.0.469512, VMware_bootbank_ata-pata-atiixp_0.4.6-3vmw.500.0.0.469512,
VMware_bootbank_ata-pata-cmd64x_0.2.5-3vmw.500.0.0.469512, VMware_bootbank_ata-pata-hpt3x2n_0.3.4-3vmw.500.0.0.469512,
VMware_bootbank_ata-pata-pdc2027x_1.0-3vmw.500.0.0.469512, VMware_bootbank_ata-pata-serverworks_0.4.3-3vmw.500.0.0.469512,
VMware_bootbank_ata-pata-sil680_0.4.8-3vmw.500.0.0.469512, VMware_bootbank_ata-pata-via_0.3.3-2vmw.500.0.0.469512,

VIBs Skipped:[/bash]
Nach einem Neustart des System hat man die aktuellste Version vom ESXi.
Continue reading “VMware ESXi 5.0 auf 5.1 Updaten ohne KVM Zugriff”

Powershell Autosizing

Da ich zur Zeit ein bisschen mit Power Shell rumspiele und es mich sehr Nervt, wenn ich eine Ausgabe mache aber die Namen andauernd gekürzt werden, hier die Lösung für mein Problem Um die Anzeige bei diversen Ausgaben richtig anzuzeigen: Beispiel ohne Parameter:  Beispiel mit Parameter:   get-vm Admin-VM-* | ft -autosize

Da ich zur Zeit ein bisschen mit Power Shell rumspiele und es mich sehr Nervt, wenn ich eine Ausgabe mache aber die Namen andauernd gekürzt werden, hier die Lösung für mein Problem
Um die Anzeige bei diversen Ausgaben richtig anzuzeigen:
Beispiel ohne Parameter:

Beispiel mit Parameter:

 
get-vm Admin-VM-* | ft -autosize