Interworx + VMware ESXi

Hey all.

longtime interworx user making the plunge into virtualization.

Have spec’d out a Dell PowerEdge 2970 (2X 6-core AMD CPUs, 4X 146GB 15K SCSI in RAID10, and 32GB RAM) and am planning on running VMware hyper-visor with centOS 5.5 VMs.

The machine is complete overkill given that I only host about 20 sites (max bandwidth per month clocks in at @60gbs) and server load is always minimal, but I’m looking for a machine to grow into ;–)

Ideally I can break out the web services into separate VMs for MySQL, Apache/PHP, and DNS/Email. Question is, will Interworx play nice with these services all running on separate VMs? Furthermore, in this schema, should Interworx itself run in its own VM?

Anyone with experience in VM world, please chime in, would love to have my cake and eat it too (i.e. keep using Interworx AND implement above VM schema)

TIA, long live Interworx!

Nice choice of server :smiley:

I’ve been running ESXi on my PowerEdge R300 (Xeon X3363 (4x 2.83GHz), 12GB DDR2 ECC, 2x Samsung HD103UJ SATA 1TB @ RAID1 on SAS6i/R), using a single CentOS VM for InterWorx, for over a year without any problems.
(Plus another CentOS VM for Nagios+Cacti monitoring, a pfSense Firewall VM and finally three Windows Server 2008 R2 VMs)

To answer your main question: you can certainly split up some of the services… I’ve not done it with InterWorx, but from what I’ve read, it’s possible :slight_smile:

However, what is the point? When all the VMs are going to be using (and therefore limited by) the same physical hardware, you may end up creating a bit of a management headache for yourself :wink:

Furthermore, splitting them up, especially when they’d all be on the same physical box, may actually impact on the performance.

For example: instead of a PHP script connecting to localhost:3306 using the lo interface (or using /var/lib/mysql/mysql.sock), PHP would have to create a TCP connection through the virtual interface to the VSwitch to another VM.

Additionally, splitting them up it means you’ll use a lot more RAM, as each VM will have to load the Linux kernel and all the basic services. Obviously you’ve got a lot of RAM to spare, but I don’t recommend using RAM for the sake of it, else you’ll have suddenly used it up before you’ve realised, and then you’d have no room to grow.

On the plus side of your proposed schema, you would have the ability to perform maintenance/reboots/etc on some VMs without impacting others (at least not too much).

Finally, what did you mean by this?

Fr3d, thanks, did not think any Interworx users had gone ESXi route (yet), but looks like you have done so successfully.

Since posting, I thought things over and came to the conclusion that the Interworx can and should run in its own CentOS VM along with production web server Apache/PHP and perhaps DNS/Email (although thinking of going with EasyDNS and Google Apps for email since I’ve had problems with these 2 services over the years, data center hosts a lot of spam outfits…)

The 1 service I’ve considered breaking into its own VM, is the database, and that more theoretical case than the reality of my tiny-load client base. Assuming I was doing a ton of traffic and serving many database requests, I have read that breaking your database into a separate VM can allow you to leverage power of ESXi and load balance VM resources as necessary, not to mention dedicating a particular VM to a portion of your RAID (in the event that you have several SAS. or better. server-grade SSD drives in your system).

Saying this, I did not know about the localhost:3306 vs TCP connect to separate VM issue. I wonder what the performance hit is? Yes, I do have RAM to spare, but am looking for the high perf. scenario since going VM no matter how fast the machine will not yet match running a bare metal single OS setup…

Sounds like you’re getting your $$ (or pound’s) worth out of your machine ;–)

Thanks for the feedback, very helpful – enjoy the grey up in London, pi**ing rain down here in SW France!

The localhost vs. Virtual interface -> VSwitch -> Virtual Interface is not a big performance hit (read: you won’t notice it), I was just using it as one example of how it can add overheads. A further point though, is that even if your MySQL server was on a completely different server, you’d have the same overhead, so it’s not caused by ESXi :slight_smile:

I think your conclusion of running everything but MySQL in one VM is a good compromise - it’s probably what I would do :wink:

And it was sunny all day today in London :smiley: :stuck_out_tongue:

Excellent, am looking forward to getting the new machine setup.

Will likely have a CentOS VMs for Interworx + Apache/PHP; another for MySQL, and another for Rails; finally, a Win 2003 Server VM for SQL server.

Should be fun.

Got waves today, so can’t complain too much ;–)

I would go with Windows Server 2008 (R2) if at all possible; I’ve found that it performs far better on ESXi than 2003 does.
And not to mention that Server2003 is also now rather old :stuck_out_tongue:

Right, and a BMW would be nice also – got a free copy of 2003 Enterprise from high school friend who works for M$

Mostly I need RDC to access windows environment in States remotely, and not to do production work. I’m all Linux and OSX for development.

If you have the money, Microsoft does have some powerful enterprise apps, no doubt…

Yeah, a BMW would be great :smiley:
But fair enough :stuck_out_tongue:

I’ll just point out that TechNet is a good way to get MS operating systems and software for a bargain price. Although it’s all licensed as “evaluation”, all the stuff on there is full retail editions and never expires :wink:

great, did not know that, price has always been a hindrance for me in adopting MS products (SQL server, for example, is awesome, but $10K? no thanks, MySQL does the small-to-mid websites just fine)

I’ll checkout TechNet, thanks for the tip…