Hi,

I have a new fast computer to run many virtual machines. Everything looks very fast, except the installation of new operating systems in KVM. The installation is very fast until it begins to write on disk. It looks like it writes slower and slower. I tried Debian, FreeBSD, OpenIndiana and OpenBSD: same problem. The FreeBSD installer displays the speed: it starts at 780 KB/sec (which it already very slow) to finish between 1 and 8 KB/sec.

darksatanic suggested me to use nodatacow mount flag: it is not faster, and it looks even slower (fewer wsec/s in iostat output, see below).

The computer is an Intel i7 2600 (4 cores with hyper threading: 8 threads), 12 GB or RAM, 2 hard drives of 1 TB (Western Digital Caviar Blue 1 To 7200 RPM 32 Mo Serial ATA 6Gb/s - WD10EALX). Both disks are connected to SATA 6 GB/sec connectors using a P67 chipset. I'm using RAID 0 with Linux software (MD) RAID, and I have one unique btrfs partition of 2 TB. The host OS is Fedora 15 (Linux kernel 2.6.38).

I'm using hardware virtualisation with KVM. Debian is installed using virtio, so it should not be an issue with the hard drive driver of KVM.

I'm watching iostat during the Debian installation. With the default mount option, wsec/s starts at 49000 to finish near 42000 (on the MD device), %usage is greater than 50% of both disks (near 80% for sda, near 60% for sdb). Using nodatacow option, wsec/s starts at 12000 (%usage > 75%) to finish near 10000 (%usage always > 75%). It is slower, right? A sector is 512 bytes. The Debian image size is 40 GB, its type is "raw". The system load is greater than 2 (or maybe 3) during the installation of the VM, while CPU usage is under 8% and wa% is also low (maybe 10% or lower, I don't remember).

bonnie++ output (on the Fedora host, not in a VM):

Version 1.96 ------Sequential Output------ --Sequential Input- --Random- Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP ned 24048M 346 98 220839 24 98489 19 245 84 251547 18 199.2 259 Latency 37256us 326ms 943ms 251ms 197ms 151ms Version 1.96 ------Sequential Create------ --------Random Create-------- ned -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 11128 34 +++++ +++ 16558 45 14006 40 +++++ +++ 17226 48 Latency 14997us 663us 11401us 8115us 282us 10105us
1.96,1.96,ned,1,1311365747,24048M,,346,98,220839,24,98489,19,245,84,251547,18,199.2,259,16,,,,,11128,34,+++++,+++,16558,45,14006,40,+++++,+++,17226,48,37256us,326ms,943ms,251ms,197ms,151ms,14997us,663us,11401us,8115us,282us,10105us

Do you have any idea why the %usage is so high (in iostat), while the speed looks so low? The disk speed during the installation is between 5 MB/sec and 23 MB/sec, whereas the raw speed is greater than 200 MB/sec on the host (234 MB/sec according to hdparm -t /dev/md127, 220 MB/sec according to bonnie++ on sequential output).

It's difficult to read bonnie++ output: random create is near 14 MB/sec if I read correctly. btrfs behaves maybe very badly with a raw image of 40 GB, especially on RAID 0 with 2 disks?

Should I try other KVM option (e.g. use another type of image)? Try btrfs RAID instead of Linux MD RAID? Try to disable some CPU cores? Or maybe not using btrfs for KVM images? :-)

Victor


--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to