where is the nova VM's boot drive located?

Asked by Peter Peng

Hi Guys, I am learning OpenStack and have a question. When we start a new instance/VM, this VM's corresponding Image will be copied from the Glance (Imaging Service) to the Nova-compute host, and then a new VM will be create based on that image. My question is: where is the new VM's boot volume's drive/disk located? the local disk of compute host, or a new volume allocated on the Nova-Volume host for this VM (and connected via iSCSI), or some place else? Thanks a lot.

Question information

Language:
English Edit question
Status:
Solved
For:
OpenStack Compute (nova) Edit question
Assignee:
No assignee Edit question
Solved by:
Lorin Hochstein
Solved:
Last query:
Last reply:

This question was reopened

Revision history for this message
Best Lorin Hochstein (lorinh) said :
#1

On the local disk of the compute host.

Revision history for this message
Peter Peng (peter-peng) said :
#2

Thank you Lorinh. And two more questios:
1). after the instance/VM is terminated, its boot volume (something like a .vmdk or .vhd file, etc) will be automatically deleted, right?
2). if there are lots of active VMs on the same compute host, will the disk I/O on compute host a bottleneck for performance (since the local disk of compute host may be a single SATA disk)?

Revision history for this message
GMi (gmi) said :
#3

The instance's disk file is located in "/var/lib/nova/instances/instance-000000xx" directory and it's called "disk".
It just contains the changes happened to the original baseline copied from Glance and stored in "/var/lib/nova/instances/_base", so it's not too big but it grows as the user starts using it.

When the instance is terminated, the "/var/lib/nova/instances/instance-00000055/disk" and its entire directory get deleted, and this involves I/O that affects the disk performance of all other instances (the same happens in any shared virtualized environment).

Revision history for this message
Peter Peng (peter-peng) said :
#4

Thanks a lot GMi. :)

For what you said:
It just contains the changes happened to the original baseline copied from Glance and stored in "/var/lib/nova/instances/_base", so it's not too big but it grows as the user starts using it.

If two instances use same image, there should be only one image stored in "/var/lib/nova/instances/_base" (which means that they share same original baseline copy), and the changes for these two instances are stored in there own "/var/lib/nova/instances/instance-000000xx" directories respectively. Is my understanding correct?

Thanks again.

Revision history for this message
Peter Peng (peter-peng) said :
#5

Thanks Lorin Hochstein, that solved my question.