Configuring a test box with multiple VM's
James Dugger
james.dugger at gmail.com
Thu Oct 9 20:33:22 MST 2014
Just so you know Vagrant is a developer tool. The servers you create with
Vagrant are not hardened. It is good for building servers to test configs
and as a local dev server for web app development testing. You would use
the
provisioner (in my case Puppet) to build the hardened version.
Puppet is not the only provisioner. Chef, Ansible, SaltStack, are others.
Vagrant and Docker work with all of them. Also check out Packer
<http://www.packer.io/>, made
by the the developers of Vagrant it uses json files to build the base boxes.
Puppet, and Chef like Vagrant are Ruby based. Ansible is YAML based
and SaltStack is Python based. So pick your poison.
However you may be able to stick with BASH as your provisioner, Works for
most of my needs. You might even be able to use Packer and BASH to
provision a hardened server though I have not tried it.
On Thu, Oct 9, 2014 at 7:51 PM, James Dugger <james.dugger at gmail.com> wrote:
> Definitely DevOps. VM managers like proxmox, vmware etc. are going to
> be overkill.
> You'll probably spend way too much time trying to figure out how to
> configure/use the
> manager rather than the real work which is the LAMP server config.
> Because your
> running Linux you really have 2 options: 1) build VM's on a hypervisor
> (VirtualBox on top of Linux)
> or; 2) build VM's using LXC containers (native to the Linux kernel). Each
> has pros and cons.
>
> Hypervisor - VirtualBox
> Pros:
> - Easy to implement and configure.
> - More tutorials online to help with.
> - File sharing between guest and host systems built in.
>
> Cons:
> - Hypervisor takes up RAM and CPU resources
> - File sharing can be very slow.
> - File sharing large qty's of files can be problematic.
>
> LXC containers with Docker
> Pros:
> - Much smaller resource foot print on OS
> - Extremely fast
>
> Cons:
> - Not as many tutorials
> - Harder to implement
> - File sharing not as simple.
>
> While there are ways to mitigate the Cons of both cases, IMHO containers
> are the future.
> They have so many advantages that save space, overhead, and power
> consumption
> in servers and now that Docker has made them much easier to implement they
> will be the
> norm in a few years. But VirtualBox is still easily the solid leader in
> DevOps use cases
> especially in smaller workflows.
>
> As I said My workflow for server builds is Vagrant -> VirtualBox -> Puppet
> or BASH = New server.
>
> Now that I use Vagrant and Puppet I will never build another server from
> scratch again period.
>
> I have avery simple LAMP dev sever script on GitHub here that you are
> welcome to use modify steal whatever.
> It is very basic. Vagrant initializes the box and hands it off to BASH as
> the provisioner. I use this for
> Drupal sandbox servers. It works thought the BASH needs work and there are
> things that could be
> added/altered especially to make it idempotent.
>
>
> https://github.com/netwidget/vagrant-bash-webserver/blob/master/centos64-webserv.sh
>
> Good luck, hope this helps.
>
> On Thu, Oct 9, 2014 at 4:19 PM, <techlists at phpcoderusa.com> wrote:
>
>>
>> The testing I want to do is simple. I want to be able to test current
>> PHP apps (ones I support) on future versions of Apache, PHP, MariaDB. I am
>> on the CentOS upgrade path and would like to do some testing to include
>> CentOS 7.x and the versions of Apache, PHP, MariaDB before they are
>> included in the upgrade path. Basically I want to get way ahead of any
>> issues so I will have plenty of time to resolve them before I am required
>> to by an O/S upgrade or a change in distro.
>>
>> I am thinking I will install the complete Mint 17 KDE on the test server
>> and load Virtualbox on to that. That way I can stay consistent between by
>> desktop and laptop. I'm hoping I can do the experimenting on the server so
>> if I hose it I can just rebuild it. Once I find what I want I can test it
>> and if I want to take it with me on the go I can copy the image to my
>> laptop. This way my desktop and laptop stay stable.
>>
>> Any thoughts are much appreciated.
>>
>>
>>
>>
>> On 2014-10-09 17:16, James Dugger wrote:
>>
>>> It depends. What is the purpose of your testing? Proxmox, is a virtual
>>> server manager, much like VMware ESXi & XenServer they simply manage
>>> and monitor VM's. I would use (and have used) Proxmox to manage
>>> servers in a VLAN (just one example). However if you are
>>> developing/configuring LAMP servers and testing them individually for
>>> optimization (more DevOps) I would stay with VirtualBox (or Docker
>>> assuming your bare metal Linux kernel has LXC, kernel 3.0 or later)
>>> and look into provisioning with Vagrant, Chef, Puppet, Ansible,
>>> SaltStack or even BASH. Vagrant builds the base box and then hands
>>> it off to a provisioner.
>>>
>>> To give you an example currently at my work we develop and maintain
>>> large enterprise web applications on LAMP servers. One of our
>>> systems consist of a Blade enclosure (bare metal),
>>> OS/Hypervisor/manager is VMware ESXi, running VM's configured in a
>>> VLAN. On top of this we use Vagrant and Puppet to provision, test,
>>> implement, & destroy LAMP servers as we need them. Because we
>>> maintain the entire LAMP config in code we can version control all of
>>> our servers in Git plus the base box (pick your distro). The entire
>>> versioned codebase including the base ISO's can fit on a 32GB usb
>>> drive. I can rebuild these LAMP servers on any environment as long
>>> as it has enough physical memory and compute speed. regardless of the
>>> hypervisor/vm manager.
>>>
>>> Don't know if this helps, but just thought I'd share a perspective.
>>>
>>> Check out:
>>> Vagrant - https://www.vagrantup.com/ [5]
>>>
>>> Puppet -
>>> http://info.puppetlabs.com/download-puppet-enterprise-
>>> PPC-1.html?utm_source=google&utm_medium=cpc&utm_campaign=
>>> Blu-Jae_Puppet&gclid=CjwKEAjw5NihBRCZmdLkuuTHyWYSJACtCY0JoA5k8d3FtnsJ-
>>> Lb9DOKsKGCBo2AXRRB37aqC49xN-RoCnIfw_wcB
>>> [6]
>>>
>>> Docker - https://www.docker.com/ [7]
>>>
>>> On Thu, Oct 9, 2014 at 12:43 PM, <techlists at phpcoderusa.com> wrote:
>>>
>>> Thanks!!
>>>>
>>>> On 2014-10-09 14:23, Sean Roe wrote:
>>>> Im going to have to go with JD. Proxmox is the best opensource VM
>>>> solution period.
>>>> Sean
>>>>
>>>> On Thu, Oct 9, 2014 at 11:40 AM, JD Austin <jd at twingeckos.com>
>>>> wrote:
>>>>
>>>> Proxmox, your preferred Linux OS with Virtualbox, or using your
>>>> preferred Linux OS's KVM/Qemu virtualization will all work about as
>>>> well. Proxmox gives you a nice interface to manage it all; there
>>>> are some 'free' VMWare versions you can use as well.
>>>>
>>>> -- JD Austin
>>>> Voice: 480.269.4335 [1] [1] (480 2MY Geek)
>>>>
>>>> jd at twingeckos.com
>>>>
>>>> On Thu, Oct 9, 2014 at 11:12 AM, <techlists at phpcoderusa.com> wrote:
>>>>
>>>> I provided the wrong specs here is the specs of the box I want to
>>>> use
>>>>
>>>> i3-3220 with visualization
>>>>
>>>>
>>>> http://ark.intel.com/products/65693/Intel-Core-i3-3220-
>>> Processor-3M-Cache-3_30-GHz
>>>
>>>> [2]
>>>> [2]
>>>>
>>>> 8GB RAM.
>>>>
>>>> Thank you for your help!!
>>>>
>>>> Keith
>>>>
>>>> On 2014-10-09 13:01, techlists at phpcoderusa.com wrote:
>>>> Hi,
>>>>
>>>> I'd like to configure a test box for LAMP development. What I
>>>> have in
>>>> mind is setting up multiple VM's on the box and loading a different
>>>> distro in each VM. Probably only need 2 or 3 VMs. The number
>>>> might
>>>> grow over time. Will not be configuring X on any of the VM's -
>>>> they
>>>> will be LAMP servers only.
>>>>
>>>> I seem to recall someone saying I would need a base system on the
>>>> box
>>>> and then load the VM's on top of that. Or can I use something
>>>> like
>>>> Mint and load the VM's on top of that? Is there a disadvantage to
>>>> doing it with Mint as the base system?
>>>>
>>>> The box is an i3 with visualization -
>>>>
>>>>
>>>> http://ark.intel.com/products/81018/Intel-Core-i3-4030U-
>>> Processor-3M-Cache-1_90-GHz
>>>
>>>> [3]
>>>> [3]
>>>> It has 4GB of RAM which I assume might not be enough.
>>>>
>>>> This box will only be used for testing so I assume each VM will
>>>> only
>>>> need 1GB of RAM and will probably use much less.
>>>>
>>>> Any direction is much appreciated.
>>>>
>>>> Thanks!!
>>>>
>>>> Keith
>>>> ---------------------------------------------------
>>>> PLUG-discuss mailing list - PLUG-discuss at lists.phxlinux.org
>>>> To subscribe, unsubscribe, or to change your mail settings:
>>>> http://lists.phxlinux.org/mailman/listinfo/plug-discuss [4] [4]
>>>> ---------------------------------------------------
>>>> PLUG-discuss mailing list - PLUG-discuss at lists.phxlinux.org
>>>> To subscribe, unsubscribe, or to change your mail settings:
>>>> http://lists.phxlinux.org/mailman/listinfo/plug-discuss [4] [4]
>>>>
>>>> ---------------------------------------------------
>>>> PLUG-discuss mailing list - PLUG-discuss at lists.phxlinux.org
>>>> To subscribe, unsubscribe, or to change your mail settings:
>>>> http://lists.phxlinux.org/mailman/listinfo/plug-discuss [4] [4]
>>>>
>>>> Links:
>>>> ------
>>>> [1] tel:480.269.4335 [1]
>>>> [2]
>>>>
>>>> http://ark.intel.com/products/65693/Intel-Core-i3-3220-
>>> Processor-3M-Cache-3_30-GHz
>>>
>>>> [2]
>>>> [3]
>>>>
>>>> http://ark.intel.com/products/81018/Intel-Core-i3-4030U-
>>> Processor-3M-Cache-1_90-GHz
>>>
>>>> [3]
>>>> [4] http://lists.phxlinux.org/mailman/listinfo/plug-discuss [4]
>>>>
>>>> ---------------------------------------------------
>>>> PLUG-discuss mailing list - PLUG-discuss at lists.phxlinux.org
>>>> To subscribe, unsubscribe, or to change your mail settings:
>>>> http://lists.phxlinux.org/mailman/listinfo/plug-discuss [4]
>>>>
>>>
>>> ---------------------------------------------------
>>> PLUG-discuss mailing list - PLUG-discuss at lists.phxlinux.org
>>> To subscribe, unsubscribe, or to change your mail settings:
>>> http://lists.phxlinux.org/mailman/listinfo/plug-discuss [4]
>>>
>>> --
>>>
>>> James
>>>
>>> LINKEDIN [8]
>>>
>>>
>>> Links:
>>> ------
>>> [1] tel:480.269.4335
>>> [2]
>>> http://ark.intel.com/products/65693/Intel-Core-i3-3220-
>>> Processor-3M-Cache-3_30-GHz
>>> [3]
>>> http://ark.intel.com/products/81018/Intel-Core-i3-4030U-
>>> Processor-3M-Cache-1_90-GHz
>>> [4] http://lists.phxlinux.org/mailman/listinfo/plug-discuss
>>> [5] https://www.vagrantup.com/
>>> [6]
>>> http://info.puppetlabs.com/download-puppet-enterprise-
>>> PPC-1.html?utm_source=google&utm_medium=cpc&utm_
>>> campaign=Blu-Jae_Puppet&gclid=CjwKEAjw5NihBRCZmdLkuuTHyWYSJA
>>> CtCY0JoA5k8d3FtnsJ-Lb9DOKsKGCBo2AXRRB37aqC49xN-RoCnIfw_wcB
>>> [7] https://www.docker.com/
>>> [8] http://www.linkedin.com/pub/james-h-dugger/15/64b/74a/
>>>
>>> ---------------------------------------------------
>>> PLUG-discuss mailing list - PLUG-discuss at lists.phxlinux.org
>>> To subscribe, unsubscribe, or to change your mail settings:
>>> http://lists.phxlinux.org/mailman/listinfo/plug-discuss
>>>
>> ---------------------------------------------------
>> PLUG-discuss mailing list - PLUG-discuss at lists.phxlinux.org
>> To subscribe, unsubscribe, or to change your mail settings:
>> http://lists.phxlinux.org/mailman/listinfo/plug-discuss
>>
>
>
>
> --
> James
>
> *Linkedin <http://www.linkedin.com/pub/james-h-dugger/15/64b/74a/>*
>
--
James
*Linkedin <http://www.linkedin.com/pub/james-h-dugger/15/64b/74a/>*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.phxlinux.org/pipermail/plug-discuss/attachments/20141009/4657dd71/attachment.html>
More information about the PLUG-discuss
mailing list