0

I am a new user of openstack. I have successfully install it with devstack and the Horizon Dashboard is available. I wanted the create huge instance, that is really needed to start with my bachelor thesis. Unfortunately, I have an error when I want to create big instance and I found why is that. My "real" resources looks like this (after typing into terminal "nova hypervisor-stats):

+----------------------+-------+
| Property             | Value |
+----------------------+-------+
| count                | 1     |
| current_workload     | 0     |
| disk_available_least | 129   |
| free_disk_gb         | 156   |
| free_ram_mb          | 9478  |
| local_gb             | 156   |
| local_gb_used        | 0     |
| memory_mb            | 9990  |
| memory_mb_used       | 512   |
| running_vms          | 0     |
| vcpus                | 1     |
| vcpus_used           | 0     |
+----------------------+-------+

I have created VM and on that VM I have deployed devstack. And it seems that this is the stats of my VM on my computer. And I want to use cloud resources. My question is how Can I use the cloud resources to create big instances? How to increase this hypervisor-stats(by not changing settings in VirtualBox of course)?

Sorry if it is a silly question, but I have no clue how to do this.

Thank you all for your answers!

Stephen C
  • 698,415
  • 94
  • 811
  • 1,216
  • How big is the "huge" instance? How many VCPUs? How much memory? How much disk? – Stephen C Nov 02 '19 at 04:42
  • Note that if all you need is a single big virtual machine, you are better off not using Openstack. Just create the VM directly using Virtual Box. The "cloud resources" you get with DevStack are actually physical resources on your current machine *inside* the VirtualBox VM. You don't get more resources by using OpenStack this way. Rather you are taking the existing resources, "wasting" some of them on OpenStack services and using the rest of them to run VMs inside VMs ... spread thinly. – Stephen C Nov 02 '19 at 04:44
  • Hello Stephen. I thought about for example 32 vcpus 32 Gb ram and 300 gb of disk. I can’t generate that much „power” on my laptop. I wanted to create one big instance and see how much time it would take to run Freesurfer to analyse MRI image. If the time wouldn’t be suitable I would create another instance(s) on the same subnet and try to run it simultaneously. I thought that OpenStack can provide the resources to do that. If not Devstack then what should I use? Could you please guide me on that topic? Thanks in advance – Peter1011 Nov 03 '19 at 09:03

1 Answers1

0

If all you need is a single big virtual machine, you are better off not using Openstack. Just create the VM directly using Virtual Box. The "cloud resources" you get with DevStack are actually physical resources on your current machine inside the VirtualBox VM. You don't get more resources by using OpenStack this way. Rather you are taking the existing resources, "wasting" some of them on OpenStack services and using the rest of them to run VMs inside VMs ... spread thinly.

I thought about for example 32 vcpus 32 Gb ram and 300 gb of disk. I can’t generate that much "power" on my laptop.

That is not going to work on a virtual machine running on a platform with 9 GB of physical RAM.

It is theoretically possible to overcommit RAM, but if you do that and the instance tries to use all of its 32GB of overcommitted RAM, the performance of the instance ... and probably your laptop ... will be terrible. It will thrash.

I wanted to create one big instance and see how much time it would take to run Freesurfer to analyse MRI image. If the time wouldn’t be suitable I would create another instance(s) on the same subnet and try to run it simultaneously. I thought that OpenStack can provide the resources to do that.

OpenStack does not provide cloud resources per se. What it does is to allow you to manage existing physical resources (i.e. compute hardware) as virtual machines. So if you had a number of physical computers connected to your network, then you could ... in theory ... set up a cloud that uses them.

But there are some important restrictions:

  1. When you over-commit any resource, you are not actually getting more of it.
  2. Over-committing RAM is a really bad idea. Even 2-fold over-commit will push you into terrible performance.
  3. OpenStack cannot stitch together resources on multiple computers into a single instance. (To do that you need something like VSMP ... which is expensive proprietary software that needs ultra-fast networks, and only works for some use-cases.)

If not Devstack then what should I use? Could you please guide me on that topic?

Your options would be:

  1. Buy a machine with 32 GB of RAM, or get your supervisor to buy one for you.
  2. Talk to the people who run the IT systems for your Department / School.
  3. Talk to the people who provide Research Computing resources in your University; for example the people who run your University's local HPC or HTC systems, or private cloud.
  4. Get an AWS account and pay for a large instance on AWS. This will probably be cheaper than 1 ... if you are careful. (You might be able to wrangle some free AWS credits from someone.)
  5. Look for other application software that can (hypothetically!) do the analysis within the RAM constraints of your laptop.
Stephen C
  • 698,415
  • 94
  • 811
  • 1,216
  • Thank you Stephen for your comprehensive answer. Now I know that I need to talk with my thesis supervisor about a new solution. One more time big thank you :)! – Peter1011 Nov 03 '19 at 18:15