Обсуждение: running in a virtual environment

Поиск
Список
Период
Сортировка

running in a virtual environment

От
David Bear
Дата:
I'm wondering what experience people have had running pg 8.x in a virtualized environment. Are there any best practices to follow that differen when running on a real metal? Are there performance issue? What virtual environment seems most friendly to pg ? Xen, VMWare, other? What about storage; is it best to keep the cluster in a filesystem that is part of the vm-image or on a mounted file system that exists external to the image? (in other words, a /dev/sdxx that is really some NAS type of device, or NFS? CIFS?)

--
David Bear
College of Public Programs at ASU
602-494-0424

Re: running in a virtual environment

От
"Joshua D. Drake"
Дата:
On Fri, 2010-08-27 at 08:21 -0700, David Bear wrote:
> I'm wondering what experience people have had running pg 8.x in a
> virtualized environment.

Just to be a pain, there is no 8.x. There is 8.0.x, or more specifically
the current version 8.4.x. The only reason I say this is we recently
spent way too many bytes on the inner tubes trying to have that
argument.

>  Are there any best practices to follow that differen when running on
> a real metal?

You need to spec your IO higher. You take an IO hit by virtualizing and
it is significant. Considering provisioning at least 15% more IO than
you would on bare metal.


>  Are there performance issue?

Just the minor IO one I mentioned.

>  What virtual environment seems most friendly to pg ? Xen, VMWare,
> other?

For servers?

KVM, VMWare, Xen are all perfectly serviceable. Depends on your actual
business requirements.

>  What about storage; is it best to keep the cluster in a filesystem
> that is part of the vm-image or on a mounted file system that exists
> external to the image? (in other words, a /dev/sdxx that is really
> some NAS type of device, or NFS? CIFS?)

This has to do with actual business requirements. I tend to prefer DAS
but a good SAN or NAS (iSCSI) configuration works well. I personally
would avoid anything that is just a network mount like NFS or CIFS.

Joshua D. Drake

--
PostgreSQL.org Major Contributor
Command Prompt, Inc: http://www.commandprompt.com/ - 509.416.6579
Consulting, Training, Support, Custom Development, Engineering
http://twitter.com/cmdpromptinc | http://identi.ca/commandprompt

Re: running in a virtual environment

От
Willy-Bas Loos
Дата:
Good question. I hear about putting WAL/indexes/tables on separate spindles and all that, but what if all IO is virtualized?
I would guess that IO and OS page cache would be the main issues here.
i haven't dared to put my db on a virtual box though, because i don't know what happens inside of it.


On Fri, Aug 27, 2010 at 5:21 PM, David Bear <David.Bear@asu.edu> wrote:
I'm wondering what experience people have had running pg 8.x in a virtualized environment. Are there any best practices to follow that differen when running on a real metal? Are there performance issue? What virtual environment seems most friendly to pg ? Xen, VMWare, other? What about storage; is it best to keep the cluster in a filesystem that is part of the vm-image or on a mounted file system that exists external to the image? (in other words, a /dev/sdxx that is really some NAS type of device, or NFS? CIFS?)

--
David Bear
College of Public Programs at ASU
602-494-0424



--
"Patriotism is the conviction that your country is superior to all others because you were born in it." -- George Bernard Shaw

Re: running in a virtual environment

От
Richard Sickler
Дата:
I have an 8.3.7 system running on a virtual machine hosted on Windows Server 2008 Hyper-V.  I mapped virtual disks to real disks, (DAS), so that I have two physical spindles and two virtual spindles mapped to them, one each.  Then followed normal good practices.  WAL on one spindle, tables on the other.  I have a script that runs every night and backs up the enter virtual machine. 

On Fri, Aug 27, 2010 at 9:07 AM, Willy-Bas Loos <willybas@gmail.com> wrote:
Good question. I hear about putting WAL/indexes/tables on separate spindles and all that, but what if all IO is virtualized?
I would guess that IO and OS page cache would be the main issues here.
i haven't dared to put my db on a virtual box though, because i don't know what happens inside of it.



On Fri, Aug 27, 2010 at 5:21 PM, David Bear <David.Bear@asu.edu> wrote:
I'm wondering what experience people have had running pg 8.x in a virtualized environment. Are there any best practices to follow that differen when running on a real metal? Are there performance issue? What virtual environment seems most friendly to pg ? Xen, VMWare, other? What about storage; is it best to keep the cluster in a filesystem that is part of the vm-image or on a mounted file system that exists external to the image? (in other words, a /dev/sdxx that is really some NAS type of device, or NFS? CIFS?)

--
David Bear
College of Public Programs at ASU
602-494-0424



--
"Patriotism is the conviction that your country is superior to all others because you were born in it." -- George Bernard Shaw

Re: running in a virtual environment

От
"Joshua D. Drake"
Дата:
On Fri, 2010-08-27 at 08:21 -0700, David Bear wrote:
> I'm wondering what experience people have had running pg 8.x in a
> virtualized environment.

Just to be a pain, there is no 8.x. There is 8.0.x, or more specifically
the current version 8.4.x. The only reason I say this is we recently
spent way too many bytes on the inner tubes trying to have that
argument.

>  Are there any best practices to follow that differen when running on
> a real metal?

You need to spec your IO higher. You take an IO hit by virtualizing and
it is significant. Considering provisioning at least 15% more IO than
you would on bare metal.


>  Are there performance issue?

Just the minor IO one I mentioned.

>  What virtual environment seems most friendly to pg ? Xen, VMWare,
> other?

For servers?

KVM, VMWare, Xen are all perfectly serviceable. Depends on your actual
business requirements.

>  What about storage; is it best to keep the cluster in a filesystem
> that is part of the vm-image or on a mounted file system that exists
> external to the image? (in other words, a /dev/sdxx that is really
> some NAS type of device, or NFS? CIFS?)

This has to do with actual business requirements. I tend to prefer DAS
but a good SAN or NAS (iSCSI) configuration works well. I personally
would avoid anything that is just a network mount like NFS or CIFS.

Joshua D. Drake

--
PostgreSQL.org Major Contributor
Command Prompt, Inc: http://www.commandprompt.com/ - 509.416.6579
Consulting, Training, Support, Custom Development, Engineering
http://twitter.com/cmdpromptinc | http://identi.ca/commandprompt