With Enterprise Linux 7 nearing its end-of-life date, the Percona Monitoring and Management (PMM) team has done a significant update to the base operating system we build our images on top of.  For several years now, PMM has been built on an Enterprise Linux 7 (EL7) base, specifically CentOS 7.  Even though it provided a stable platform to build on, it’s become outdated. More than anything, we believe in taking a proactive approach to modernization and security and didn’t want to wait until the last minute.

Starting with PMM 2.38.0, we’re making PMM publicly available on a newer base operating system based on Enterprise Linux 9 (EL9), specifically Oracle Linux 9.  In addition to more modern libraries to build on and better compatibility with newer technologies, we also get access to faster upstream responses to issues, including security related.

EL9-based PMM will now be the default installation option, and we will no longer be building docker containers, AMIs, or OVFs based on EL7.  As awesome as this update is, some technical limitations currently prevent us from simply upgrading everyone with the click of a button; the team is working through how best to get everyone there.  But we didn’t want those limitations to prevent adoption now.  We wanted to get this out as quickly as possible because a large population will be able to take advantage immediately as we work to unlock access for everyone else in future releases. 

We’re taking a phased approach to the rollout, but rest assured, we’ll continue to provide a UI upgrade to the latest version of PMM for those users that won’t immediately be able to upgrade to the EL9-based PMM.  

Automatic migration paths

  • Brand new installations of PMM, regardless of how you choose to run it
    • Docker containers from our docker hub: percona/pmm-server:2
    • OVF: Download directly from percona.com 
    • AMI: Loaded from AWS Marketplace
  • Docker/Podman users that do full container replacement upgrades to newer versions of PMM
    • Your existing docker pull or docker run commands will use the new image

If you only upgrade PMM using the UI’s “Upgrade Now” button, you’ll have to wait a little longer for an automated migration path (there are options, but they’re manual and will involve some downtime for your PMM server).  This includes:

  • AMI users
  • OVF users
  • Docker container users relying exclusively on the UI upgrade

For those in the latter group, we are working on mechanisms to support you as well, but there’s technical nuance in each situation that I won’t bore you with here (but ping me if you want to learn more because it’s a fascinating discussion).  If you’re super impatient and don’t want to wait for us, there’s a migration path that I’ll outline at the end.  

If PMM’s use of CentOS 7 has prevented you from using the most popular open source monitoring and management platform, then here’s a quick-start guide that will get you going in seconds!  So enjoy your new features and a more secure PMM!

Manual options

Don’t meet the criteria of the group that can take advantage immediately?  Here are some guides to help you if you don’t want to wait.  There are several ways to do this, but I think these are the most straightforward migration path options for OVF users or those that upgrade exclusively through the UI:

OVF/AMI upgrades

I’m not aware of any way to easily detach a volume from an OVF VM and attach it to another VM (I would love to know if it can be done…cuts out a bunch of steps), but at a high level, this is essentially a DR exercise and works the same for both OVF and AMI upgrades. 

  1. Create a new OVF of PMM server (new) alongside your current OVF-based PMM server (old)
  2. SSH to the old and issue a sudo supervisorctl stop all to quiesce the databases*
  3. SSH to new and issue the same command
  4. Tar and gzip the /srv directory on old with sudo tar -zcvf srv.tar.gz /srv
  5. Secure copy the file from old to new scp srv.tar.gz <username>@new.ovf.ip:~/
  6. SSH to new and move the /srv to a backup location with sudo mv /srv /srv.bak
  7. Extract the archive with cd /; sudo tar zxvf ~/srv.tar.gz
  8. Restart the supervisord on new sudo systemctl restart supervisord`
  9. Switch the IPs between old and new (if your clients are all registered to the server by IP) so that new has the IP previously held by old or update DNS so that the name you registered your clients with now points to the IP of the new OVF**

Metrics should start flowing as soon as the IP comes back up or your DNS TTL expires.  

* If you’re running PMM 2.32.0 or higher for a client, metrics will accumulate on the client automatically up to 1GB before any gaps in metrics appear once complete.
**There’s a known issue that pmm-client doesn’t pick up the DNS change without restarting the client, but vmagent (what actually sends the metrics to the server) will..as soon as you start seeing metrics flow into the new server, you can shut down the old pmm-server and pmm-agent will repoll DNS; all will work again!

UI – Docker

The steps to upgrade PMM running in docker can be found here and will walk you through taking a backup of the data, replacing the container, and restoring the data.  The only caveat here is that you may have passed custom environment variables when you created the PMM container, which can be found by looking at the output of docker inspect <pmm-server> and looking under the Config → Env section. I cheated and looked through my command history using history | grep “docker run” which may work for you too!

Percona customers can reach out to support for assistance in getting to the latest PMM.  If you’re not a Percona customer, I highly recommend becoming one, both because of the value it brings to you having the world’s best database experts at your fingertips and because it enables us to continue to innovate on our suite of free and open source software.  If that’s not an option, you can always reach out for community support on our forums.

Percona Monitoring and Management is a best-of-breed open source database monitoring solution. It helps you reduce complexity, optimize performance, and improve the security of your business-critical database environments, no matter where they are located or deployed.

 

Download Percona Monitoring and Management Today

Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments