Host-System: Ubuntu-Server 12.04 mit qemu+kvm, Storage im LVM
Als Storage wurde zunächst eine IDE-Platte gewählt, da für die anderen Typen kein Treiber in WinXP verfügbar ist:
WinXP | Installationsmedium | Iso-Abbild benutzen | WinXP-SP2.iso | |
---|---|---|---|---|
Betriebssystem | Typ | Windows | ||
Version | Windows XP | |||
RAM / CPU | 512 MB / 1 CPU | |||
Speicher-Festplatte | anderen Speicher wählen | |||
Storage-Pool | LVM Volume Group | muss schon angelegt sein | ||
Neuer Datenträger | 50000MB | wählen | ||
Virtualisierungstyp | kvm | |||
Architektur: | i686 | |||
Konfiguration bearbeiten: | ||||
Boot-Options | PXE+Harddisk+CDRom | |||
Disk 1 | Advanced Options | Disk Bus: | IDE (später virtio) | |
Speicherformat: | raw | |||
Netzwerk | NIC | verbunden mit green | rtl8139 (später virtio) | |
Maschineneinstellungen | apic, acpi | on,on |
Mit virtuellem XP-Client und realem XP-Client:
Achtung: Nach Umstellen von IDE auf virtio und neuem Partitionieren ändert sich minimal die Partitionsgröße! → siehe unten
Download: → http://www.linux-kvm.com/content/using-vmware-vga-kvm-windows-guests
Dieses Iso-Image auf den Host nach /var/lib/libvirt/images/ kopieren. Im Client das Iso in die CD-ROM einlegen, Client booten und das setup auf der CD starten.
Problem: Dieser VGA-Treiber passt leider nicht!
Die virtio-Treiber findet man auf einem CD-ROM-iso, z.B. bei
Ich verwendete „virtio-win-0.1-22.iso“ von fedora. Dieses Iso-Image auf den Host nach /var/lib/libvirt/images/
kopieren.
Dann die Netzwerkkarte auf virtio umstellen, das iso-Image einlegen und Client booten. Nun von CD die Treiber des neu erkannten Ethernet-Controllers installieren.
Die erste Festplatte ist zunächst eine IDE-Platte.
Eine zweite virtio-Festplatte im Client hinzufügen, das iso-Image einlegen und den Client booten. Nun wird nach dem Treiber gefragt und man kann ihn von CD installieren. Die virtio-Platte testweise formatieren.
Ich verwendete zuerst „virtio-win-0.1-22.iso“ von fedora. Dieses Iso enthält mehrere Treiber. Den XP-Treiber mit der Nummer 51… benutzen. Der auch enthaltene Treiber mit der Nummer 61.63.103.2200 funktioniert zwar mit der zweiten virtio-Platte, aber später nicht mit der boot-Platte. Ursache: der 61…-Treiber gehört zu Win7, wird aber bei automatischer Installation von WinXP eingebunden!
Jetzt die erste Festplatte auf virtio umstellen, die zweite Platte wieder löschen und Client booten. Bei der Abfrage der Hardwareerkennung nun den Treiber manuell auswählen und den 51.63.103.2200 Red-Hat-Virtio-Treiber wählen.
Man muss nun linbo von sda auf vda umstellen:
In der „start.conf.<virtwinxp>
“ des virtuellen Client nun alle Einträge „sda“ bzw. „sda1“, … durch „vda“ bzw. „vda1“ … ersetzen.
Zusätzlich musste ich noch auf den reboot-Workaround wechseln:
start.conf.<virtwinxp>
“ eintragen:... [OS] ... Kernel = reboot ...
/var/linbo/pxelinux.cfg/<virtwinxp>
“ eintragen:... DEFAULT reboot ...
Problem: Mit dem vda-Partitionen (virtio) ergeben sich andere Partitionsgrößen als mit den sda-Partitionen (IDE) - trotz gleichem Wert in der start.conf
. Wenn dadurch die Imagegröße nicht mehr passt, muss man die Partitionsgrößen der vda-Partitionen in der start.conf
minimal erhöhen.
Problem bei SCSI: Formatieren der SCSI-Platte funktioniert, aber beim Benutzen der SCSI-Platte stürzt die virtuelle Maschine immer ab - scheinbar ein qemu-kvm Fehler.
Hostsystem: Ubuntu-Server 12.04, 64 Bit, 4GB Ram, 4 Kerne, Intel Core i3-550 3,2 GHz, RAID-Controller 3ware 9650SE- 2LP PCIe SATA-II und HDD mit 1TB S-ATA
Virtuelle XP-Maschine: 1 Prozessor, 512 MB RAM, Festplatte mit 50 GB im LVM, davon 20GB für WinXP-Partition, virtio-Netzwerkkarte
Virtueller Server: paedML 5.10, 2 Prozessoren, 2048 MB RAM, Festplatte-virtio-Modus mit 500GB im LVM, virtio-Netzwerkkarte
Aktion | Zeitdauer virtuelle XP-Maschine | Zeitdauer virtuelle XP-Maschine | Zeitdauer reale XP-Maschine |
|
---|---|---|---|---|
1 Prozessor 512 MB RAM HD: IDE-Modus im LVM, 50 GB virtio-Netzwerk | 1 Prozessor 512 MB RAM HD: virtio-Modus im LVM, 50 GB virtio-Netzwerk | Pentium 4, 2,8 GHz 1 GB RAM HD: IDE mit 40GB Netzwerk 1GB |
||
Image der WinXP Partition erstellen, Größe des cloop am Server: 1,5 GB | gesamt | 1,5 h | 17,5 min | 19 min |
davon: Nullen der Partition (ca. 16GB) | 45 min | 9:00 min | 7:00 min | |
davon: Image lokal erstellen | 35 min | 5:25 min | 10 min | |
davon: Create hash-table | 2,5 min | 20 sec | 70 sec | |
davon: Image hochladen (ca. 5 MB/s) | 5 min | 1:50 min | 1:00 min | |
Sync-Start | mit modprobe 1,5 GB cloop | 90 sec | 30 sec | 40 sec |
rsync download cloop | mit 1,5 GB cloop | 4:00 min | 1:40 min | 1:57 min |
extrakt_fs | 1,5 GB→ 20 GB | 240 min !! | 16 min | 9:30 min |
Disk-Speed | mit DiskSpeed32-Tool für 20 GB Partition | 5500 bis 4500 kB/s | 150000 kB/s | 54000 bis 30000 kB/s (HD) 16500 kB/s (USB-Stick) |
Partition formatieren von WinXP | 2 GB Partition | 35 sec | 5 sec | 65 sec |
Partition formatieren von LINBO | 20 GB Partition | 7:40 min | 15 sec | 13 sec |
Dateien kopieren | Ordner „Programme“ mit 110 MB kopieren | 14:20 min (1.Durchlauf) 13:20 min (2.Durchlauf) | 60 sec (1.Durchlauf) 60 sec (2.Durchlauf) | 15 sec (1.Durchlauf) 10 sec (2.Durchlauf) |