google>>hdd on virtualization performance
نتایج
The Single Most Important Virtual Machine Performance Tip
If you use virtual machines at all, you should have the single most important virtual machine performance tip committed to heart by now: always run your virtual machines from a separate physical hard drive:
[the] biggest performance win is to put the virtual hard disks on separate disk spindles from the operating system. The biggest performance hit in virtual machines is disk I/O. Making the VM fight with your OS and swap disk makes this issue much, much worse. Additionally, today's USB 2.0 and firewire external hard drives run on a fast interface bus, have large buffers and spin at 7,200 rpm, as opposed to 4,200 rpm for most laptop hard drives.
I've talked about virtualization performance penalties before, but this bears repeating. I originally read this tip at Scott's blog, and I've heard it echoed in emails directly from the Virtual PC Guy himself.
It's true that most laptop drives are at 5,400 rpm these days, and a scant few even run at 7,200 rpm. But the tip is still as valid as ever. The primary performance bottleneck in virtual machines, by a very wide margin, is the hard drive. Although it's possible to squeeze a complete install of Windows XP into a 641 megabyte VM hard drive image file, most VM hard drive image files rapidly grow to multiple gigabytes. It's not unusual to see VMs end up 5 or 10 gigabytes in size. It shouldn't be too surprising that the disk subsystem has a disproportionately large impact on overall virtual machine performance.
That's one reason why all the desktop machines I build now have two hard drives:
- A faster, smaller drive for the operating system and essential applications. You can't beat the 10,000 rpm Western Digital Raptor series for this role.
- A larger data drive for virtual machines and everything else.
This way, whenever I boot up a VM, it's running from a different physical spindle than the operating system, and thus running at optimal speeds. It's also a good way to segregate your operating system and data in case you need to do a complete wipe of your operating system. And it's certainly a much safer and more practical two drive approach than RAID-0 on the desktop.
Unfortunately, we can't drop a second drive into our laptops. But there's another solution that works almost as well: external SATA and USB2 enclosures. These enclosures offer the best of both worlds: high-speed USB 2.0 interfaces for laptops, and full-speed eSATA connections for desktops.
The Icy Dock, pictured above, is one of the best of these new enclosures. It's a bit spendy, but it's remarkably well made from mostly aluminum, with a clever locking tray mechanism. It also includes all the extras you need to connect it to your PC, including a USB 2.0 cable, an eSATA bracket, and an eSATA cable. Just add the desktop SATA drive of your choice.
I've talked about the difference between USB 2.0 and full-blown SATA performance before. Here's a direct comparison between a modern 250 gigabyte 7,200 rpm SATA drive in the Icy Dock (connected via USB), and my laptop's internal 100 gigabyte 5,400 rpm hard drive:
The USB 2.0 interface is nothing to sneeze at. With a fast 7,200 rpm desktop drive mounted, it does a little better than the internal laptop drive overall, once you factor in random access times and the constant speed across the entire drive. But it's obviously limited by the interface. That's why the option to connect a drive via its native SATA interface is so desirable in an external enclosure. Some recent motherboards even include eSATA connectors on their back panel, such as the Asus P5B that I recently built. I presume it's only a matter of time before some enterprising laptop manufacturer releases a laptop with an eSATA connector.
It's not a slam-dunk performance victory over the internal laptop drive in absolute terms. But the real-world performance improvement gained from running a VM on an external USB 2.0 drive is quite noticeable. Recommended.
6 tips how to make your Virtualization better
Updated: January 14, 2009
If you're a fan of testing new software, you're probably using a virtualization product of some kind for your experiments. In this article, I'd like to show you how you can increase your productivity when working with virtualization software.
The term virtualization is a rather generic term and could apply to many different types of programs - emulation, thin-layer virtualization, sandboxing, or full virtual machine suites. Today, we will talk about the last - full virtualization.
Full virtualization products include VMware Player, VMware Server, VirtualBox, to name a few. These products offer the desktop user a simple and powerful way of encapsulating entire operating systems as guest machines for the purpose of study, testing etc.
The only downside of these products is that they are rather big, take lots of resources, mainly RAM and hard disk space. I will show you how you can utilize these precious and limited resources to the maximum, with no complex changes to your environment.
1. Make your virtual machines faster; place them on non-OS hard disk
If you only have a single hard disk, your virtual machines will run more slowly because the hard disk will have to access both your real OS and the guest OS files simultaneously. Placing virtual machines on the second / third hard disk will significantly increase performance.
2. Solve limited hard disk space; place virtual machines on external disks
Virtual machines can easily take 4-6GB or more. Having tens of virtual machines on your hard disk can eat valuable space that you might not be able to afford to spare for this task. Although hard disks have become big and cheap, it is quite easy to gobble the free space.
Using external hard disks serves many purposes, all at once. First, you will be able to free your internal hard disk space for other stuff. Second, you will solve the performance issue mentioned before. Third, you add a layer of mobility that allows you to take your virtual machines with you (virtual machines are just files). Fourth, you will reduce the fragmentation and wear on internal hard disks.
External hard disks also solve any scalability issues you might have. Any time you need more space, you simply add another external hard disk. You won't have to open your boxes and meddle with the internal layout. They can be easily switched, upgraded, ported, moved about without touching your productivity setup.
3. Use remote connectivity to solve physical network layout complexity
Both VirtualBox and VMware support remote connections. This means that you can run virtual machines located on a separate machine without any physical access to that machine, save a network connection (even Wireless will do).
I have demonstrated this in my openSUSE 11 article, on page 5; running VMware Server in openSUSE 11 on my T42 laptop, I fired up Windows and Linux guest machines located on remote Windows and Linux hosts via Wireless.
4. Place your virtual machines on partition formatted as NTFS
This may sound strange, but the thing is: Windows only supports Microsoft formats, whereas Linux, Mac and other, more advanced operating systems support practically every filesystem available. This means that your bottleneck / weakest link will always be Windows machines. If you have a mixed environment, Linux machines will be able to use virtual machines resides on partitions formatted as NTFS, but Windows machines won't be able to even see virtual machines on Linux filesystems.
Placing virtual machines on NTFS drives / partitions allows you to use them anywhere anyhow. Likewise, avoid using FAT32 filesystem, because it limits your virtual machine files to 4GB size.
5. Split virtual machines into smaller files for easier portability
Virtual machines are files. You can split them into smaller segments to make them more easily portable. For instance, if you limit your virtual machine segments to less than 4.7GB, you'll be able to back them up to DVDs.
6. Pre-allocate disk space to reduce fragmentation, disk access times
Pre-allocating disk space can be costly, especially if your virtual machines are going to be large. However, dedicating an entire section of the hard disk to the virtual machine allows you to restrict the virtual hard disk to a contiguous segment of the drive, reducing future fragmentation and thus, disk access times.
The pre-allocation benefits both the host and the virtual machines. They will not have to fight one another for space as virtual machines change dynamically with use over time, improving performance.
Conclusion
Virtualization can be fun. What more, you can make this fun run fast. By spreading your resources wisely across all available storage devices, including secondary/tertiary internal hard disks, external hard disks (via USB or firewire) and remote network locations, you increase your performance, flexibility and redundancy.
This allows you to focus on productivity, without worrying about the logistics of your infrastructure. In the follow-up article, we'll focus on virtualization security. Till then, happy experimenting!