I'm looking into virtualization where I'll set up a few virtual machines on a single physical hardware (similar to what vps providers do). Each of these VPS will mainly be used as a webserver.
I'd like to make a PHP framework and certain PHP libraries available to each of these vps, but would prefer not to have to store the PHP libraries on each vps. I'm concerned about initial setup of each framework/library (copying the same files to multiple vps), and updating the libs/frameworks (performing the same update for each vps).
So my question is: given the nature of the files (they're PHP frameworks on libraries), what are some of the ways I could share these files between VPS? and is there a way that wouldn't reduce efficiency? in other words, the files would be accessible just to the vps as if they're residing on it.
Export a share from your host domain (or any system, really) via NFS. You can mount NFS on the clients just as if it were any other partition.
It depends a bit on what you run as a hypervisor.
VMWare ESXi 5 got features that allow you to create a shared folder that can be accessible across multiple machines.
Alternatively you can use something like SSH FS to get similar results, tho this solution I don't recommend since it relies heavily on network performance.
If you could provide more info about your setup (hypervisor, root filesystem, etc.) it's easier for us to help you as well.
The sharing method you use will not differ even if you use a VPS or actual physical servers. So if you have tried out something similar in actual physical server the same goes for VPS's too. A good point to start will be as Jeff Ferland mentioned if your are using Linux in your VPS's.