The End of Estimation

  • I'm a big fan of VM for testing and development purposes. I have not yet used a VM in a production environment. The latest physical machine I've put together is as follows:

    CASE FOXCONN|TLM041-CN300C-01 BK RT 1 $34.99

    MB ABIT Fatal1ty F-I90HD ATI RX1250 1 $106.99

    CPU INTEL|C2D E6550 2.33G 65N 4M R 1 $174.99

    HD 250G|ST 7K 16M SATA2 ST3250410AS 1 $69.99

    MEM 2Gx2|GSK F2-5300CL4D-4GBPQ R 2 $149.99 $299.98

    DVD BURN SAMSUNG|SH-S203B % 1 $29.99

    Subtotal $716.93

    Tax $0.00

    Shipping and Handling charge $27.63

    Amount Paid $744.56

    Basically an 8 GB RAM, Dual Core for $750. Nothing too mind blowing, but in my opinion, the price was right (compared to an equivalent system from Dell for $2,000). If I felt we would have needed more horsepower, I could have opted for a Quad Core and another hard drive for use with the motherboard's built in RAID controller.

    But this allows us to have three VMs running, which gives us the same topology as we have in our production environment (one database server and two web servers).

    The other big key here is the fact that we have an MSDN subscription, so all of the software running on these VMs (since it is used for development purposes) is "free".

    Steve, I'm interested to know what VM software your friends are using. I use Microsoft Virtual Server 2005 R2. You mentioned something to the extent that if your friends needed more horsepower for a VM, they could just shut the VM down, allocate two more CPUs to it, and turn it back on. I can't speak for other VM software, but a Microsoft Virtual Server VM can only use one CPU.

  • I understand 2x2 on a virtual machine...low I/O and medium criticality...but once I get to 4x4 and especially 8x32 why do I want to consume that much of a virtual host for one sql box. How big are the hosts anyway? If I have a host with 32 processors and 64 gb of RAM I can build 4 pretty large SQL instances on that one server without having the complication of the added virtualization layer and without worrying about what other dependencies are inherent with the virtualization and Windows software. All of my standard monitoring agents and processes don't always work on the virtualized layer for instance.

    I'm still not sold. I have 5 SQL 2005 instances tuned and running on one 16 way 32 gb/ram server...about one million transactions per hour...without virtualization. Tell me again what is wrong with this picture? One footprint.

  • It strikes me that like SAN's there are a few things that are essential. Having enough cpu and memory to begin with so that you can utilize it when needed, like disks on the san. Being able to beef up one set for a major testing project then reallocating for another project on another server is a great use. Smaller power use and footprint are great. I think the ability to re-allocate is really going to be key, but watch that the cpu and memory underneath, on the host, are not undersized at the beginning or your will probably have a painful experience. If you start with a small host...

  • Matt, thanks for the licensing update. Missed that one.

    My friends are using 16GB of RAM and dual quad cores, over allocating the physicals. So they might have 32GB of RAM allocated to the machines and 12 CPUs. They run VMware ESX Server, which manages the resources and it works pretty well, assuming you haven't maxed out all your VMs. I think their licensing allows builds of VMs up to 4 logical CPUs.

    I can definitely see advantages on a large monolithic server, but consider that you allocate XXRAM to an instance and you might not need it. If you had multiple VMs then you could potentially overallocate the physical resources, each instance could be "allocated" 4GB of RAM and if it wasn't really using it, those physical resources are used by the busier VMs.

    I'm not pushing this as the end-all solution, but I think it definitely is worth considering.

  • We run SQL servers on ESX as well and they work great for small to medium applications. You license one ESX server with SQL Enterprise and all your small/medium db's get to take advantage of online index rebuilds. The Vmotion feature to move between physical boxes is handy as well.

    "Whether or not you believe in VMs as a solution in your business, I think you have to admit it's pretty cool to add 2GB worth of RAM to your server in seconds and have it appear on a reboot. Especially without having to go beg for more money. "

    You don't have to go beg for money but it's also a catch 22. Developers always request a VM for their small application because we have yet to develop a charge back for VM's, thus making them "free". Meanwhile the cost of the ESX servers come out of our engineering budget. There's also the "small application" which turns out to be a resource hog and more free memory and processors get allocated 🙁

  • Great posts and great topic, thanks 🙂

  • Based on the posts I believe the right answer is both. Virtual machines in development and for production databases that need to be on their own operating system. Otherwise use database stacking, ideally using virtualization at the kernel layer (PolyServe) to limit IO issues. This gives you high availability like Windows clustering without the complexity. It's the best of both worlds.

    The primary goal is to ensure the business is agility as possible and to do more with the same number of employees. Virtualization gives you this. There is a real high ROI http://blogs.bnet.com/intercom/?p=194 to doing consolidation projects and using these technologies.


    Kindest Regards,

    scoinva

Viewing 7 posts - 16 through 21 (of 21 total)

You must be logged in to reply to this topic. Login to reply