r/openstack 16d ago

[Help] How does OpenStack manage and integrate dozens of physical servers?

I am a beginner who has just started working in the data center industry. As a beginner, I have many doubts and questions about the technical aspects. Regarding the OpenStack platform, I am not sure how more than ten or even more servers are managed to enter the platform, including computing nodes, storage nodes, and GPU computing power servers. What technologies can be used to be recognized and managed by OpenStack, or what recommended YouTube tutorials can help me understand these technologies and learn more about related knowledge? Feel free to leave a comment. Thank you very much.

0 Upvotes

9 comments sorted by

8

u/agenttank 16d ago

what exactly is the question? did you do any research at all?

3

u/LaoWai01 16d ago

The servers communicate using a message queuing system called rabbitmq. Some servers are “control” nodes including a sql databases that manages the state of the whole affair.

2

u/redfoobar 16d ago edited 16d ago

Your question framing is pretty unclear.

Assuming you mean how do you install a bunch of physical servers to make them part of an OpenStack cluster:
OpenStack is just an "application" running on Linux. So you would run whatever software you run to automate installation of Linux boxes. (e.g. some kind of pxe boot service like foreman or ubuntu MAAS).
There are plenty of ways to fully automate al needed configuration steps with configuration management systems like puppet/ansible/salt likely together with some kind of container system to deploy the services.

If you want to dive into OpenStack you better first dive into how Linux boxes work like Ubuntu/RedHat/Debian/Etc.
Without some basic level of Linux (and preferably containers, virtualisation and network) knowledge OpenStack is really hard to understand.

3

u/Belkinho 16d ago

The official doc is your primary research material, also with IA and research engines nowadays you have much information in your hands. First you have to do some basic research about each node function (controller and compute), after that you go to other nodes, like network and storage. Then do some reading on the RabbitMQ topic to learn how the servers communicate. Now you have to start doing some practice, like bringing a small Controller + Compute node up, learn about the setups and installation types based on what you have on hands (small bare metal envirnoment? big cluster with HA? In my example, 2 controller nodes, 1 storage node and the rest of the machines I have available as compute nodes was enough. It may look bad at a first sight, but after some doc reading and IA, videos or other threads in this sub you will have it handled in no time. Good luck!

2

u/madko 16d ago

It manages and integrates very well

2

u/Underknowledge 16d ago

Kayobe is now my favourite poison . Idealt with USB-Sticks, MASS, kickstart, redfish, self rolled PXE - but I really enjoy Kayobe and will defenitly miss it in the future.

2

u/rackpathlabs 16d ago

openstack does not discover your servers by itself, you tell it which ones exist. for compute and storage nodes the normal path is: install the base os, put the hosts into an inventory file, then let a deployment tool like kolla-ansible ssh into each one and set it all up as containers. gpu nodes are the same flow, you just add pci passthrough config so nova can hand the card to a vm.

if you also want the os install and the metal itself automated, that part is ironic, and kayobe that someone mentioned wraps kolla and ironic together. worth separating those two layers in your head early, provisioning the hardware and deploying openstack on top of it are different jobs and people mix them up all the time.

2

u/Ok_Grapefruit9176 15d ago

With a bit of research there are solutions.

There are few ways that OpenStack manages itself.
I use Kolla OpenStack for my personal cloud.

It uses a series of modules to orchestrate how data is past around.

Some of these are modules and others are services:

  • Keystone (m)
    • security and key exchange
  • Neutron (m)
    • openswitsch and networking
  • Nova (m)
    • Hyperviser control, QME
  • Cinder (m)
    • Data Volumes
  • Glance (m)
    • Images (OS, or other types)
  • Heat

Some services of note:

  • rabbitmq for message handling
  • mariadb, store system state
  • API (lots of API calls)

So simply, to the answer: A lot of API calls and dmessages

2

u/mynulislamsoiket 15d ago

Controller HA (3 Servers) Neutron VRRP HA (2 Servers), Storage Cluster (Ceph/truenas 3-5 Servers), Compute 5 nodes with Masakari and live migrations

total 12-15 Server you can setup complete productions grade openstack cloud.