VMWare ESX Es können keine Festplatten größer als 256GB erzeugt werden Bei einer Standardinstallation des ESX wird das Storage mit einer Blockgröße von 1MB erzeugt. Um größere Dateien erzeugen zu können muss das Storage neu formatiert werden. Folgende Blockgrößen sind nun möglich: Block size Max VMDK size 1 256 GB 2 512 GB 4 1024 GB 8 2048 GB Siehe auch „Maximum Configuration for ESX Server” Seiten 27-28 und “Datastore Partitioning” Seiten 181-186 http://www.vmware.com/pdf/vi3_301_201_installation_guide.pdf Zuerst sollte was man behalten will vom Storage gesichert werden (SCP, VMotion, etc). Mit den vmkfstools wird nun das Storage neu erzeugt ( http://www.vmware.com/pdf/vi3_server_config.pdf ). „vmkfstools File System Options“ vmkfstools -C vmfs3 -b 8M -S MyName vmhba0:0:0:3 Dieser Befehl formatiert das Storage vmhba0:0:0:3 mit einer Blockgröße von 8MB und dem Namen „MyName“. Dies erlaubt damit die maximale Filegröße von 2047GB. ESX-Server via Kommandozeile in den Wartungsmodus schalten Getestet für ESX-Server Version 3.5 Update2 folgendes Kommando an der Serverkonsole ausführen, um den Host in den maintenance mode zu schalten: vimsh -n -e /hostsvc/maintenance_mode_enter mit diesem Kommando läßt sich der Wartungsmodus wieder beenden: vimsh -n -e /hostsvc/maintenance_mode_exit wie kann ich festellen, ob der Server momentan im Wartungsmodus ist oder nicht? vimsh -n -e /hostsvc/runtimeinfo | grep inMaintenanceMode kernel panic beim Umzug eines Servers mit Fedora Core 4 auf einen ESX 3.5 Server Nach dem Umzug eines alten Servers auf einen VMWare ESX 3.5 Server trat folgender Fehler auf: mount: error 6 mounting ext3 Bei der manuellen Migration auf esx3.5 wurde natürlich die initrd (ohne besondere Parameter) neu gebaut. Hier kommt nun allerdings das System irgendwo mit der Reihenfolge der Treiber durcheinander. Wurde die initrd mit folgenden Parametern gebaut startete die virtuelle Maschine einwandfrei: mkinitrd -f -v --preload mptbase --preload mptscsih --preload mptspi --preload mptfc /boot/initrd-2.6.17-1.2142_FC4smp.img 2.6.17-1.2142_FC4smp Linux-VM Platten verkleinern/vergrößern Die Möglichkeit die Plattengröße mittels VMWare Converter zu ändern funktioniert leider (noch) nicht unter Linux. Daher ist hier etwas mehr Handarbeit gefragt. Ich bin folgendermaßen vorgegangen: System runterfahren. eine zusätzliche virtuelle Disk mit der neuen Größe hinzufügen. System mittels Installations-CD (etwa CentOS-CD #1) im Rescue-Modus starten, die Laufwerke mounten lassen. via fdisk jetzt die neue Platte wie gewünscht partitionieren. die neuen Partitionen formatieren, bzw. als Swap markieren. nach /mnt/neu mounten (das sollte dann etwa so aussehen: /mnt/neu die normale Partition, dort ein Verzeichnis boot erstellen und dort die zukünftige /boot-Partition reinmounten. jetzt müssen die Daten der Orginalpartition auf die neue Platte kopiert werden, dazu am besten die Verzeichnisse einzeln mit „cp -a“ kopieren. Die besonderen Verzeichnisse /dev, /sys, /proc bitte nicht mitkopieren. auf der neuen Partition die Verzeichnisse /dev, /sys und /proc anlegen. Hat man alles kopiert sollte der /-Verzeichnisbaum auf beiden Systemen gleich aussehen. in /mnt/neu/etc/ die Dateien fstab und grub.conf an die neuen Labels/Devices anpassen (etwa wenn man im gleichen Schritt sein System auf LVM umstellen will oä.). wenn alle Daten kopiert wurden kann nun die virtuelle Maschine gestoppt werden. Jetzt die alten Platten aus dem System entfernen. Beim Entfernen wird gleich angeboten, die Dateien auch gleich von der Festplatte zu löschen. Ängstliche Gemüter können die Files erstmal behalten, diese können im Fehlerfall dann einfach wieder eingebunden werden. wieder den Rescue-Modus starten, die Laufwerke wieder mounten lassen nun sollte in /mnt/sysimage das „neue“ System vorhanden sein, am besten nochmal kontrollieren. mittels „cp -a /dev/* /mnt/sysimage/dev/“ die Device-Dateien nach /mnt/neu/dev kopieren, diese werden gleich gebraucht das root ändern „chroot /mnt/sysimage“ und den Bootloader neu installieren. Im Fall von grub sieht das dann so aus „grub → root (hd0,0) → setup (hd0) → quit“. Dies installiert Grub in den Bootsektor der ersten Festplatte. jetzt rebooten und die CD/ISO entfernen. Das System sollte nun wie gewohnt ohne Fehler booten. VM clonen ohne VirtualCenter 1. VM ganz normal installieren, fürs clonen muss die Maschine nicht unbedingt gestoppt ich mach das aber trotzdem. 2. Via console auf dem ESX einloggen 3. Die virtuelle Disk mittels vmkfstool kopieren: vmkfstools -i "/vmfs/volumes/483d4dc2-089a169c-446d-001ec9ce8838/bla/bla.vmdk" "/vmfs/volumes/483d4dc2-089a169c-446d-001ec9ce8838/blubb/blubb.vmdk" 4. Jetzt im VI-Infrastructure Client eine neue VM erzeugen und das geclonte File als virtuelle Disk angeben. 5. Die VM starten und IP/DNS-Namen anpassen. VM via Kommandozeile verwalten Die VMs lassen sich mittels vmware-cmd an der Konsole steuern. Der ist der Pfad zur .vmx-Datei der VM. Das sieht dann z.B. so aus (Pfade natürlich anpassen!): vmware-cmd /vmfs/volumes/486dc058-200de167-ee10-001ec9dd7624/testserver/testserver.vmx start Folgende weitere Optionen stehen zur Verfügung: Usage: /usr/bin/vmware-cmd /usr/bin/vmware-cmd -s Options: Connection Options: -H specifies an alternative host (if set, -U and -P must also be set) -O specifies an alternative port -U specifies a user -P specifies a password General Options: -h More detailed help. -q Quiet. Minimal output -v Verbose. Server Operations: /usr/bin/vmware-cmd -l /usr/bin/vmware-cmd -s register /usr/bin/vmware-cmd -s unregister /usr/bin/vmware-cmd -s getresource /usr/bin/vmware-cmd -s setresource VM Operations: /usr/bin/vmware-cmd getconnectedusers /usr/bin/vmware-cmd getstate /usr/bin/vmware-cmd start /usr/bin/vmware-cmd stop /usr/bin/vmware-cmd reset /usr/bin/vmware-cmd suspend /usr/bin/vmware-cmd setconfig /usr/bin/vmware-cmd getconfig /usr/bin/vmware-cmd setguestinfo /usr/bin/vmware-cmd getguestinfo /usr/bin/vmware-cmd getproductinfo /usr/bin/vmware-cmd connectdevice /usr/bin/vmware-cmd disconnectdevice /usr/bin/vmware-cmd getconfigfile /usr/bin/vmware-cmd getheartbeat /usr/bin/vmware-cmd gettoolslastactive /usr/bin/vmware-cmd getresource /usr/bin/vmware-cmd setresource /usr/bin/vmware-cmd hassnapshot /usr/bin/vmware-cmd createsnapshot /usr/bin/vmware-cmd revertsnapshot /usr/bin/vmware-cmd removesnapshots /usr/bin/vmware-cmd answer Alle gestoppten VMs nach Reboot oder Wartung manuell auf einmal starten (Pfade natürlich anpassen!): find /vmfs/volumes/486dc058-200de167-ee10-001ec9dd7624 -name "*.vmx" -exec vmware-cmd {} start \; VM von ESX-Server auf einen anderen ESX umziehen Folgende Anleitung zeigt die einzelnen Arbeitsschritte wie man eine virtuelle Maschine von einem ESX-Server auf einen anderen umzieht umzuziehende virtuelle Maschine runterfahren einloggen auf die SSH-Console des ESX-Servers und auf das Storage wechseln, welches die VM enthält („cd /vmfs/volumes/483d58ad-c130ef16-60b8-001ec9ce8856“) die Dateien der VM via scp in das Storage-Verzeichnis der Zielmaschine kopieren (ggf. vorher die Firewall des ESX-Servers deaktivieren) auf dem Zielserver die vmx-Datei der kopierten VM anpassen (bei mir war nur eine Anpassung beim Swap-File nötig) die VM auf dem Zielserver via „vmware-cmd -s register /vmfs/volumes/483d58ad-c130ef16-60b8-001ec9ce8856/bla.vm.de/bla.vm.de.vmx“ registrieren. Die Maschine sollte nun im VI-Client auftauchen. Jetzt die Maschine starten, die Frage des VI-Clients nach der ID der Maschine entsprechend beantworten (keep wenn die Maschine verschoben wurde) das wars schon. VMWare Converter kann keinen Snapshot des Sourcevolumes erstellen Folgende Fehlermeldung beim Versuch einen physikalische Maschine mittels VMWare Converter in eine VM zu clonen (tritt nur bei Windows auf): ERROR: Failed to take snapshot of a source volume. Possible Causes include not having any NTFS volumes on Windows XP or Windows 2003 source systems, and not having enough free disk space. Dieses Problem lässt sich auf mehrere Arten lösen 1) . Ich liste hier ein paar auf, von einfach bis umständlich. Geholfen hat: reboot des Rechners, danach einfach nochmal probieren. Festplatte aufräumen, es sollten mindestens 200MB frei sein. chkdsk für alle Platten durchführen. sofern man den Converter remote ausführt, auch mal versuchen, den Converter lokal auf der Maschine zu installieren (vorher natürlich am besten den Converter inkl. Agent nochmal deinstallieren). VMWare Converter deinstallieren, rebooten, Converter neu installieren, rebooten, jetzt nochmal probieren. manchmal laufen die Windows Dienste für die Schattenkopie einfach nicht, die Dienste heißen „Volume Shadow Copy“ und „Microsoft software Shadow Copy Provider“ 2) . Diese einfach starten und es sollte laufen. die Quellpartition ist FAT formatiert, vorher umwandeln in eine NTFS-Partition. 1) http://communities.vmware.com/docs/DOC-6842/ 2) http://www.computing.net/answers/windows-2003/volume-shadow-copy-error-/5105.html Windows-VM Platten verkleinern/vergrößern Im Gegensatz zu Linux kann man das bei Windows ziemlich einfach mit dem VMWare Converter machen. Dazu den Converter in der VMWare installieren und einfach auf den gleichen VMWare-Server unter neuem Namen und mit neuen Partitionsgrößen clonen. Sobald die neue VM läuft, kann die Alte einfach gelöscht werden.