[CentOS-virt] Slightly OT: Centos KVM Host/Guest functions and LVM considerations

Wed Sep 14 16:51:59 UTC 2011
Jeff Boyce <jboyce at meridianenv.com>

Greetings -

I will be getting a new server for my company in the next few months and am 
trying to get a better understanding of some of the basic theoretical 
approaches to using Centos KVM on a server.  I have found plenty of things 
to read that discuss how to install KVM on the host and how to install a 
guest and setup the network bridge, and all the other rudimentary tasks. 
But all of these how to's make the assumption that I have a philosophical 
understanding of how KVM is incorporated into the design of how I use my 
server, or network of virtual servers as the case may be.  So in general I 
am looking for some opinions or guidance from KVM experts or system 
administrators to help direct me along my path.  Pointers to other HowTo's 
or Blogs are appreciated, but I have run out of Google search terms over the 
last month and haven't really found enough information to address my 
specific concerns.  I suspect my post might get a little long, so before I 
give more details of my objectives and specific questions, please let me 
know if there is a better forum for me to post my question(s).

The basic questions I am trying to understand are, (1) what functions in my 
network should my host be responsible for, (2) what functions should 
logically be separated to different VMs, and (3) how should I organize 
disks, raid, LVM, partitions, etc to make best use of how my system will 
function?  Know I know these questions are wide open without any context to 
what the purpose(s) of my new server are, and my existing background and 
knowledge, so that is the next part.

I am an ecologist by education, but I manage all the computer systems for my 
company with a dozen staff.  I installed my current Linux server about 7 
years ago (RHEL3) as primarily a Samba file server.  Since then the 
functions of this server have expanded to include VPN access for staff and 
FTP access for staff and clients.  Along the way I have gained knowledge and 
implement various other functions that are primarily associated with 
managing the system, such as tape backups, UPS shutdown configuration, Dell's 
OMSA hardware monitoring, and network time keeping.  I am certainly not a 
Linux expert and my philosophy is to learn as I go, and document it so that 
I don't have to relearn it again.  My current server is a Dell (PE2600) with 
1 GB RAM and 6 drives in a RAID 5 configuration, without LVM.  I have been 
blessed with a very stable system with only a few minor hiccups in 7 years. 
My new server will be a Dell (T610) with 12 GB RAM, 4 drives in a RAID 5 
configuration, and an iDRAC6 Enterprise Card.

The primary function of my new server hardware will be as the Samba file 
server for the company.  It may also provide all, or a subset of, the 
functions my existing server provides.  I am considering adding a new 
gateway box (ClearOS) to my network and could possibly move some functions 
(FTP, VPN, etc.) to it if appropriate.  There are also some new functions 
that my server will probably be responsible for in the near future (domain 
controller, groupware, open calendar, client backup system [BackupPC]).  I 
am specifically planning on setting up at least one guest VM as a space to 
test and setup configurations for new functions for the server before making 
them available to all the staff.

So to narrow down my first two questions how should these functions be 
organized between the host system and any guest VMs?  Should the host be 
responsible just for hardware maintenance and monitoring (OMSA, APC 
shutdown), or should it include the primary function of the hardware (Samba 
file server)?  Should remote access type functions (FTP & VPN) be segregated 
off the host and onto a guest?  Or should these be put on the gateway box?

I have never worked with LVM yet, and I am trying to understand how I should 
setup my storage space and allocate it to the host and any guests.  I want 
to use LVM, because I see the many benefits it brings for flexible 
management of storage space.  For my testing guest VM I would probably use 
an image file, but if the Samba file server function is in a guest VM I 
think I would rather have that as a raw LV partition (I think?).  The more I 
read the more confused I get about understanding the hierarchy of the 
storage (disks.RAID.[PV,VG,LV].Partition.Image File) and how I should be 
looking at organizing and managing the file system for my functions.  With 
this I don't even understand it enough to ask a more specific question.

Thanks to anyone that has had the patients for reading this much.  More 
thanks to anyone that provides a constructive response.

Jeff Boyce
Meridian Environmental