← Back to team overview

openstack team mailing list archive

Re: understanding ephemeral and persistant volumes

 

When you ask Nova to boot a VM, nova-compute will connect to Glance and "GET" the image file from Glance and save it on the its local filesystem in "/var/lib/nova/instances/_base".

If Glance is set to use Swift as its backend storage, then Glance will get that file from Swift (through the Proxy). If not, then it will stream the file from Glance's filesystem (check the variable "filesystem_store_datadir" in the file "glance-api.conf" to see what Glance is set to use as backend store).

So by default the disk of an instance is basically stored on the local filesystem of the server where the instance is running (in "/var/lib/nova/instances/instance-0000000X/disk"), and it's called ephemeral because when you terminate the instance the entire directory "/var/lib/nova/instances/instance-0000000X" gets deleted and the virtual disk is gone, but the base image in the "_base" directory is not touched.

If the virtual disk is using qcow2 then only the changes that occur from the baseline are captured in the virtual disk, so the disk grows as the instance is changed more. The benefit is that you can have five instances using the same base template without using five times the space on the local filesystem (read http://people.gnome.org/~markmc/qcow-image-format.html for more info about qcow2).

Persistent volumes are virtual disks that you attach to a running instance using the nova-volume service. These virtual disks are actually LVM volumes exported over iSCSI by the nova-volume server. They are called persistent because they are not affected by an instance being terminated, or by a nova-compute server crashing. You could just start a new instance and re-attach that volume and get your data back. The nova-volume is using LVM + iSCSI but there are drivers/plugins for Nexenta (and Netapp will release its own soon), so there are enterprise grade options available.

I hope this helps you understand this topic (and I hope I'm right in my explanation).

George


-----Original Message-----
From: openstack-bounces+george.mihaiescu=q9.com@xxxxxxxxxxxxxxxxxxx [mailto:openstack-bounces+george.mihaiescu=q9.com@xxxxxxxxxxxxxxxxxxx] On Behalf Of Michaël Van de Borne
Sent: Tuesday, February 28, 2012 3:52 AM
To: openstack@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Openstack] understanding ephemeral and persistant volumes

is it too complicated or too simple to be answered on the ML?


Le 23/02/12 16:46, Michaël Van de Borne a écrit :
> Hi all,
>
> I'd like to understand how things go with ephemeral and persistant 
> volumes.
> For instance, say that my gold images are stored in a Swift storage 
> network, connected to Glance.
>
> When I ask Nova to boot the VM,
> - will the disk image stay in Swift storage?
> - will the physical compute node copy the image from Swift to its 
> local filesystem?
> - will ephemeral volumes be stored on local compute node filesystem 
> whereas persistant drives be stored in Swift?
>
> According to these answers, I'll know if the compute nodes of my cloud 
> should have disks attached or if no data will ever be stored on these 
> nodes even when VMs are running.
>
> maybe this is documented somewhere, but I didn't find clear 
> information about ephemeral and persistant volume management?
>
> thank you,
>
> Michaël
>
>

_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to     : openstack@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Follow ups

References