Di Okt 17 02:43:03 CEST 2006

Beliebige Block Devices mit vmware

Wenn man vmware einsetzt kommt einem vlt. der wunsch auf beliebige Block Devices als Physical Devices in der vmware zu nutzen. Dies geht leider nicht ohne weiteres da vmware mit einigen ioctls überprüft ob das angebene Block Device eine Festplatte ist, und die Datei auch /dev/{sd,hd}* heissen muss. Aber da man trotzdem z.bsp. ein lvm Device oder ein raid Device einsetzen will, hat sich jemand die Arbeit gemacht eine lib zu schreiben, die die ioctls entsprechend umsetzt. Das ganze nennt sich vmware-bdwrapper und lässt sich ganz einfach installieren.
Kurz zusammenfassung wie das ganze funktioniert:
cd /usr/lib/vmware/lib/ && mv snhelper snhelper.real
<<EOF > ../bdwrapper
#!/bin/sh
LD_PRELOAD=libvmware-bdwrapper.so.0 VMWARE_BDWRAPPER_DEVICES=/dev/hde:/dev/hdf:/dev/hdg:/dev/hdh:/dev/sdx:/dev/sdy $0.real "$@"
EOF
chmod +x ../bdwrapper
ln -s ../bdwrapper snhelper
cd /usr/lib/vmware/bin && mv vmware-vmx vmware-vmx.real
ln -s ../bdwrapper vmware-vmx
Jetzt noch einen symlink von dem Zieldevice auf /dev/sdx oder so legen und das wars. Z.bsp.:
ln -s /dev/mapper/vmware /dev/sdx

  • Nun erzeugt man zunächst eine noramle Vmware Umgebung ohne eine physical Disk.
  • Man fügt die physical Disk hinzu und entfernt die alte Virtuelle Disk
  • Man startet die virtuelle maschine und kann dann damit arbeiten

Eventuell muss man noch ein partion label setzen, das kann man dann einfach mit parted erledigen.

Posted by Ulrich Dangel | Permanent Link | Categories: Stuff