Asus A7N8X-X, AMD XP2400+, 2.5GB Infineon+Samsung DDR333, Radeon x1600 Pro, 2x Fujitsu MAP3735NC 10Krpm SCSI 73GB, Seagate Medalist 17.2GB, LiteOn DVD 16x48x, LiteOn 48x12x48, Promise UDMA100/TX2, Adaptec 2110S Ultra3, 2x EIZO FlexScan (F931 & F930)
http://osdir.com/ml/qemu-devel/2012-06/thrd5.html#03652 ("qemu-ga: add guest-fstrim command") ?
pci passthrough werkt niet met mijn processor (geen VT-d ondersteuning).matthijsln schreef op maandag 30 juli 2012 @ 12:39:
Als je de ssd op een aparte controller hebt dan waar je host schijven opstaat zou je pci passthrough kunnen doen (lijkt mij het makkelijkst), anders misschien het volgende pull request proberen:
http://osdir.com/ml/qemu-devel/2012-06/thrd5.html#03652 ("qemu-ga: add guest-fstrim command") ?
qemu-ga is de guest agent. Deze kan je starten op een guest zodat je op afstand het trim commando kan afvuren. Niet wat ik zoek dus
Ik ben nu de git versie van qemu aan het compileren. Ik laat wel even weten of fstrim dan opeens wel werkt met deze versie. Wel vreemd als fstrim nu opeens wel gaat werken. Ik zag al fstrim patches voorbij komen uit 2010.
Update: FITRIM / fstrim / discard werkt nog steeds niet met de GIT pull van vandaag
[ Voor 13% gewijzigd door frapex op 30-07-2012 13:47 ]
Asus A7N8X-X, AMD XP2400+, 2.5GB Infineon+Samsung DDR333, Radeon x1600 Pro, 2x Fujitsu MAP3735NC 10Krpm SCSI 73GB, Seagate Medalist 17.2GB, LiteOn DVD 16x48x, LiteOn 48x12x48, Promise UDMA100/TX2, Adaptec 2110S Ultra3, 2x EIZO FlexScan (F931 & F930)
Ik kan dit natuurlijk verkeerd hebben gezien, omdat ik zelf (nog) niet werk met SSD's en dan word ik graag gecorrigeerd.
Luctor et Emergo || specs
1) truncate -s1G /mnt/ssd/image.raw
2) losetup -f /mnt/ssd/image.raw
3) mount -o discard /mnt/loop0 /mnt/image
4) hele /mnt/image vullen
5) hele /mnt/image weer schoonmaken
(bron: http://www.outflux.net/bl...d-hole-punching-and-trim/)
Resultaat van bovenstaande is dat de image file /mnt/ssd/image.raw weer net zo klein is als voor het vullen.
Maar helaas, als ik de QEMU VM laat verwijzen naar het /dev/loop0 device komen de TRIM acties niet door. Als je google-ed op trim support voor QEMU dan zit het er als het goed is al een tijdje in. Maar vind maar eens die tutorial die beschrijft hoe je een werkende setup kan maken. Die is er niet... (of toch wel, wie vind 'em?
Als workaround gebruik ik nu tijdelijk VirtFS (9 Project). Een soort van NFS, maar dan sneller. Moet ik nog wel even de performance problemen oplossen: 120MB/sec lezen (140% cpu usage met 2 cores), 20MB/sec schrijven.
Referenties:
(*) http://www.h-online.com/o...-Xen-support-1321663.html ("QEMU's IDE emulation now supports ATA trim, which allows the system to inform storage media of newly available memory areas")
(*) http://comments.gmane.org/gmane.comp.emulators.qemu/155448 ("FITRIM is a mounted filesystem feature to discard (or "trim") blocks which are not in use by the filesystem. This is useful for solid-state drives (SSDs) and thinly-provisioned storage. Provide access to the feature from the host so that filesystems can be trimmed periodically or before migration")
(Ik was even uit de lucht vandaar mijn late reactie)
[ Voor 21% gewijzigd door frapex op 01-08-2012 22:25 ]
Asus A7N8X-X, AMD XP2400+, 2.5GB Infineon+Samsung DDR333, Radeon x1600 Pro, 2x Fujitsu MAP3735NC 10Krpm SCSI 73GB, Seagate Medalist 17.2GB, LiteOn DVD 16x48x, LiteOn 48x12x48, Promise UDMA100/TX2, Adaptec 2110S Ultra3, 2x EIZO FlexScan (F931 & F930)
Hoe vind je de juiste property:
1) ga naar de qemu_monitor (CTRL-ALT-2)
2) voer uit: info qtree
3) zoek het device waarvoor je discard wilt activeren. Voorbeelden:
* ide-hd.discard_granularity=512
* scsi-disk.discard_granularity=512
* scsi-hd.discard_granularity=512
4) zet nu de property in de command line (bijvoorbeeld):
1
| -global ide-hd.discard_granularity=512 |
Op deze wijze activeer je de discard functionaliteit. Helaas wordt je backing file hierdoor niet kleiner (het zogenaamde hole punching). Wil je ook een dynamische image, dan moet je een ISCSI target opzetten met thin provisioning (tgtd, recente versie).
1
2
3
4
5
| <target iqn.2012-08.net.tweakers:mytarget> <backing-store /srv/tgt/mytarget.img> params thin_provisioning=1 </backing-store> </target> |
Asus A7N8X-X, AMD XP2400+, 2.5GB Infineon+Samsung DDR333, Radeon x1600 Pro, 2x Fujitsu MAP3735NC 10Krpm SCSI 73GB, Seagate Medalist 17.2GB, LiteOn DVD 16x48x, LiteOn 48x12x48, Promise UDMA100/TX2, Adaptec 2110S Ultra3, 2x EIZO FlexScan (F931 & F930)