NDB Maintenance Window – Part I

Lately i have received quite a few questions around the Nutanix Database Services (NDB) Maintenance Window functionality which was released with NDB version 2.5. Based on this i have decided to put together a blog series about it and this first one will cover the basics. See the other part(s) via:

With the Maintenance Window you can schedule repeatable tasks such as operating system (OS) patching and or Database (DB) engine patching per a weekly or monthly intervall. OS patches will be applied before DB engine patches if both are included in the same Maintenance Window.

Supported DB engines are:

  • PostgreSQL
  • Oracle
  • MongoDB

For a long time DB engine patching for various DB engines has been supported via NDB and the same logical construct, Software Profile including Software Profile versions, will be used for DB engine patching through the Maintenance Window.  If a DB Server VM is part of a DB cluster, NDB will apply the OS and or DB engine patches in a rolling fashion starting with the DB Server VM being/holding the secondary/standby DB.

For operating system patching NDB will run the following commands at the OS level:

  • sudo sh -c “yum clean -y all”
  • sudo sh -c “yum -y update”

NDB does not hold a patching repository meaning the repo configuration at the DB Server VM will be used for fetching and applying operating system patches.

You can define both pre-patching commands and post-patching commands for both Operating System patching and DB engine patching. It is not supported to reboot the DB Server VM via a pre or post command though. Before running any pre-commands, NDB will check to see if there are any OS or DB engine patches to be applied. If there are no patches to be applied the pre and post commands will not run.

If you need to rollback an operating system patch you need to do it via the guest operating system, it’s not managed via NDB. Rollback of DB patches can be done via the NDB CLI for Oracle databases but there is no rollback option for PostgreSQL and MongoDB DB engine patching.

Create a Maintenance Window

Via the NDB UI:

  1. click the menu to the top left and select Maintenance Window
  2. Click Create
  3. Define the following:
    1. Maintenance Window Name
    2. Description
    3. Schedule
      1. Weekly – Week day & Time
      2. Monthly – Every (1st, 2nd, 3rd, 4th), Week day & Time
    4. Duration
    5. Click Create

And the result will be….

In addition to apply operating system patches via a Maintenance Window, they can also be applied via an individual DB Server VM – click Actions and Patch

Another blog post about Maintenance Window will be published in the next few weeks.