How to check system requirements for MAAS
Before installing MAAS for the first time, you should make sure that the target system meets the minimum requirements for the machines that run MAAS, which vary widely depending on local implementation and usage. Below, you will find resource estimates based on MAAS components and operating system (Ubuntu Server). We consider both a test configuration (for proof of concept) and a production environment.
Requirements for a test environment
Here is a proof-of-concept scenario, with all MAAS components installed on a single host. This scenario assumes two complete sets of images (latest two Ubuntu LTS releases) for a single architecture (amd64).
Memory (MB) | CPU (GHz) | Disk (GB) | |
---|---|---|---|
Region controller (minus PostgreSQL) | 512 | 0.5 | 5 |
PostgreSQL | 512 | 0.5 | 5 |
Rack controller | 512 | 0.5 | 5 |
Ubuntu Server (including logs) | 512 | 0.5 | 5 |
Based on this table, the approximate requirements for this scenario are 2 GB memory, 2 GHz CPU, and 20 GB of disk space.
Requirements for a production environment
Here is a production scenario designed to handle a high number of sustained client connections. This scenario implements both high availability (region and rack) and load balancing (region). MAAS reserves extra space for images (database and rack controller), while some images, such as those for Microsoft Windows, may require a lot more – so plan accordingly.
Memory (MB) | CPU (GHz) | Disk (GB) | |
---|---|---|---|
Region controller (minus PostgreSQL) | 2048 | 2.0 | 5 |
PostgreSQL | 2048 | 2.0 | 20 |
Rack controller | 2048 | 2.0 | 20 |
Ubuntu Server (including logs) | 512 | 0.5 | 5 |
So, based on the above, the approximate requirements for this scenario are:
The tables above refer to MAAS infrastructure only. They do not cover the resources needed by subsequently-added nodes. Note that machines should have IPMI-based BMC controllers for power cycling, see Power management for more details.
Some examples of factors that influence hardware specifications include:
Also, this discussion does not take into account a possible local image mirror, which would be a large consumer of disk space.
One rack controller should only service 1000 machines or less, regardless of how you distribute them across subnets. There is no load balancing at the rack level, so you will need additional, independent rack controllers. Each controller must service its own subnet(s).