Installation requirements

Confirm that your system has adequate resources for your use-case, prior to installation. Proof-of-concept and production setups are available.

LXD

LXD versions older than 5.21 will not work correctly with MAAS.

PostgreSQL

From version 3.5, MAAS requires PostgreSQL 14 and a different PostgreSQL default user.

Warning: PostgreSQL defaults may not support HA deployments. Consider using 20-50 extra connections per additional region controller. Check settings using psql or by inspecting the configuration file.

Getting information using psql

You can count PostgreSQL connections with this SQL query:

SELECT 
  max_conn, 
  used
FROM 
  (SELECT count(*) used FROM pg_stat_activity) t1,
  (SELECT setting::int res_for_super FROM pg_settings WHERE name=$$superuser_reserved_connections$$) t2,
  (SELECT setting::int max_conn FROM pg_settings WHERE name=$$max_connections$$) t3;

max_conn is the number of available connections; used is the number of active connections.

Getting information via configuration file

grep 'max_connections' /var/lib/pgsql/{version_number}/data/postgresql.conf

Increasing maximum connections

If max_connections is 100, you need to increase that number. Refer to these best practices for details.

Symptoms of an issue

Too few database connections tend do produce errors:

> FATAL: sorry, too many clients already
> FATAL:  remaining connection slots are reserved for non-replication superuser connections
> pq: remaining connection slots are reserved for non-replication superuser connections

MAAS, NTP, and chrony

Conflicts can arise between Ubuntu’s default systemd-timesyncd and MAAS chrony. Consult the MAAS installation guide for solutions.

Test environment

Requirements for a single-host test setup include the latest two Ubuntu LTS releases and the following component settings:

Component Memory (MB) CPU (GHz) Disk (GB)
Region controller 512 0.5 5
PostgreSQL 512 0.5 5
Rack controller 512 0.5 5
Ubuntu Server 512 0.5 5

Total: 2 GB RAM, 2 GHz CPU, 20 GB disk.

Production environment

For large-scale, continuous client handling, plan as follows:

Component Memory (MB) CPU (GHz) Disk (GB)
Region controller 2048 2.0 5
PostgreSQL 2048 2.0 20
Rack controller 2048 2.0 20
Ubuntu Server 512 0.5 5

Plan for 4.5 GB RAM, 4.5 GHz CPU, and 45 GB disk per host for region controllers, and slightly less for rack controllers.

Additional notes:

  • These specs are MAAS-specific and don’t cover extra nodes.
  • IPMI-based BMC controllers are recommended for power management.

Factors affecting these numbers:

  • Client activity
  • Service distribution
  • Use of high availability/load balancing.
  • Number and type of stored images
  • A local image mirror will increase disk requirements.
  • Rack controllers have a 1000-machine cap per subnet

Last updated 2 days ago.