Előkészületek (kicsit átverjük a vmware progit):
Töltsuk le innen a legfrissebb kátránylabdat, majd kibontás, lefordítás, telepítés:
# wget http://homepage3.nifty.com/tjh/vmware-bdwrapper/vmware-bdwrapper-20060304-0.tar.gz
# tar xfz vmware-bdwrapper-20060304-0.tar.gz
# cd vmware-bdwrapper-20060304-0
# make
# make install
Mivel a vmware csak /dev/hd vagy /dev/sd eszközöket enged disknek használni (egyszerű string ellenőrzés), ezért kicsit trükközni kell az udevvel: az udev-ben csinalunk egy symlinket az eszközre, a megfelelő néven.
A /etc/udev/rules.d/60-symlinks.rules (Ubuntu) vagy /etc/udev/rules.d/40-gentoo.rules fájlhoz adjunk hozzá egy sort:
KERNEL=="md*[0-9]", SYMLINK+="hd-%k"
Ekkor /dev/hd-md0, /dev/hd-md1, stb nevet kell használni.
Vagy pl cciss eseten (FIXME):
KERNEL=="cciss?c[0-9]d[0-9]", SYMLINK+="hd-%k"
„Virtualdisk” létrehozása:
Most az md0 és md1-et fogjuk beadni neki:
Először is tudnunk kell mennyi blokkbol állnak a tömbök:
fdisk /dev/md0 (igen, így!)
Az „u” paranccsal állítsuk át a mértékegységet sectorra, majd listázzuk ki „p”-vel a particiokat. Persze nem lesz partíció, de nekünk a fejléc infó kell, abból is a total sectors:
Command (m for help): p
Disk /dev/md0: 1003 MB, 1003356160 bytes
2 heads, 4 sectors/track, 244960 cylinders, total 1959680 sectors
Units = sectors of 1 * 512 = 512 bytes
(A másik tömbön ez: 19518720)
Namost készítsük el a virtualdisket (akarmi.vmdk) :
# Disk DescriptorFile
version=1
CID=12345678
parentCID=ffffffff
createType="monolithicFlat"
# Extent description
RW 63 FLAT "disk-mbr.img" 0
RW 1959680 FLAT "/dev/hd-md0" 0
RW 19518720 FLAT "/dev/hd-md1" 0
# The Disk Data Base
#DDB
ddb.toolsVersion = "6532"
ddb.virtualHWVersion = "4"
ddb.geometry.cylinders = "1"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"
ddb.adapterType = "ide"
Az RW után a total sector méretet kell írni. A CID egy 8 karakterből álló hexa szám.
Kell még a kis fájl az mbr-hez:
# dd if=/dev/zero of=disk-mbr.img size=512 count=63
El kell készíteni egy wrapper scriptet a vmware-vmx-hez (VMware serverben ez van):
Nevezzük át a vmware-vmx-t vmware-vmx-real-ra. Majd csináljunk egy vmware-vmx scriptet:
#!/bin/sh
LD_PRELOAD=libvmware-bdwrapper.so.0.0.0 \
VMWARE_BDWRAPPER_DEVICES=/dev/hd-md0:/dev/hd-md1 \
$0-real $*
A VMWARE_BDWRAPPER_DEVICES-hez azokat az eszközöket kell felsorolni, amit használtunk a disk „összeállításakor”, kettősponttal elválasztva.
Adjuk hozzá kezzel a disket az egyik guesthez, majd bootoljunk be egy rendszert. (de akar telepíthetünk is.)
Azért kell a kezi hozzáadas, mert a vmware-server-console hibákat fog dobni, hogy „invalid disk” (ugyanis a vmware-serverd-be nemlett preloadolva a libvmware-bdwrapper.so)
ide0:0.present = "TRUE"
ide0:0.fileName = "akarmi.vmdk"
ide0:0.redo = ""
A 0:0 helyett írhatunk 0:1, 1:0 vagy 1:1-et, attól függ van-e másik disk/cdrom a guestben.
Namost a guestben (a beállítás szerint) megjelenik a diskünk: pl hda.
fdisk-el megparticionlájuk:
fdisk /dev/hda
Az „u” paranccsal váltsunk megint mértékegységet. A partíció végét az alábbi képlettel tudjuk kiszámolni:
end = total sector + start - 1
Tehat az md0, ami a guestben hda1: start 63, end 1959742.
Az md1, ami hda2 lesz: start 1959743, end 21478462.
Hozzuk letre a particiokat:
Device Boot Start End Blocks Id System
/dev/hda1 63 1959742 979840 82 Linux swap / Solaris
/dev/hda2 1959743 21478462 9759360 83 Linux
(Amit itt ir blocks oszlopban az a total sector fele: 1959680/2=979840, 19518720/2=9759360)
Még egy hasznos dolog: miután megformáztuk a particiókat, es leállt a guest, a hoston simán fel is tudjuk mountolni: mount /dev/md1 /mnt/guest
- Elbandi blogja
- A hozzászóláshoz be kell jelentkezni
- 2342 megtekintés
Hozzászólások
Huh... hajmeresztoen meredek iras. Megy deliciousra.
- A hozzászóláshoz be kell jelentkezni
bükkmárk
Szép! Főleg az fdisk-es md0-ás, illetve az udev-es symlinkelés fontos más hasonló esetekben is!
ami át van húzva, azt teljesen fölösleges elolvasni. az olyan, mintha ott sem lenne
- A hozzászóláshoz be kell jelentkezni