New IBM Power generation means a new HMC version. For many years, we had a suitable HMC version for each IBM Power generation. HMC v8 and IBM POWER8. HMC v9 and IBM POWER9. HMC v10 and IBM Power10. With the IBM Power11, the new HMC v11 is published and available.
My first HMC was HMC v6. I used it to manage my POWER5 servers. Even if in the memory of many people, HMC v7 is bound together with POWER7, but in my memory, it was published together with POWER6 servers. There were several different versions of HMC v7, and it was one of the longest HMC releases.
Every new HMC version was a revolution. Not only because it didn’t support older systems. This was mainly because the interface was completely new.
HMC Version 6 was a thick Java application. I still remember how I changed Java properties to make it work in English.
HMC Version 7 was the first Web-based version. It was good, but it took some time to adapt to the new interface. In the HMC v6 I could open a virtual terminal to an LPAR and copy text from the terminal. HMC v7 (and all later versions) didn’t have such a feature. The vtmenu command was the first HMC CLI command I learned, thanks to HMC v7.
HMC Version 8 had several new Web-based interfaces. The Enhanced+ interface was a good development in the correct direction. But gosh, it was slow! I liked the look and feel of the interface, but it didn’t remember my settings, and it took so much time to do even the simplest things. I moved almost entirely to the HMC CLI.
HMC Version 9 simplified and unified interfaces. There were no more different interfaces, only one web interface. I don’t know if I may tell you that, but I still tell you that if you know where to dig, you could use the good old HMC v7 interface even in HMC v9. HMC V9R2 solved almost all performance issues of the previous version. Many of my colleagues still like to use this interface instead of the new one.
The new web interface came with the HMC Version 10. This is the interface I like most of all the latest HMC interfaces. It had some issues in the first versions, but they are already fixed. I like how it looks and how it works. I don’t have any performance issues, and it is almost always easy to find the function you need.
What I like most about the HMC Version 11 is that it is unlike all previous HMC versions, not a revolution, but an evolution of the HMC interface. It is still the HMC v10 interface I like, but there are no more windows from HMC v7. Or I still have to find them. There are new, valuable features, such as support cases from the HMC interface.
Unfortunately, as usual, the first versions have issues. For me, HMC v11 is not an exception. I don’t know if I am so unlucky, but my HMC v11 installations hang regularly. It happened when I worked with beta versions and when I worked with release candidates. It happens now when I work with the GA version. Not so often as with betas. I had to reboot beta versions daily. The GA version can work for a week or two in my environment. But if you have a BMC connection, this is not a problem ;-)
Do you want to upgrade your HMC?
Of course, you want!
Unless you have POWER8 or older servers.
The new HMC v11 supports only Power11, Power10, and POWER9 servers.
If you don’t have a Power11 server, and I think very few of us have a Power11 server right now, you can wait till you get one.
Or you can install another virtual HMC and test the upgrade procedure.
This is very easy, and my plan for today is to show you how to upgrade your HMC using Ansible.
Prerequisites
Of course, you need Ansible. In this particular case, I recommend installing or using Ansible on Linux, not AIX or IBM i. The ibm.power_hmc
collection requires the lxml Python module. It can be installed on AIX; I don’t know if it exists for IBM i, but the easiest way is to install it on Linux. If you have already used the collection on AIX or IBM i, feel free to ignore me. If you have never used it, start with Linux.
We also must collect some data.
Which HMC do you plan to upgrade? This is the variable
hmc
for me.Do you have hscroot privileges on that HMC? The username and the password are in the variable
hmc_auth
.Did you download the new HMC code? It is on some NFS server (
nfs_server
) in an NFS share (nfs_share
).Since a failed update between HMC V7R3 and V7R7, I do LPAR profile backups before upgrading HMC. I store them in a directory defined in the variable
backup_dest
.
Defaults
We will use two modules from the ibm.power_hmc collection a lot. These are hmc_command and hmc_update_upgrade. Both of them require HMC authentication information. Of course, you can write the code like:
- name: Start first command
ibm.power_hmc.hmc_command:
cmd: "lshmc -V"
hmc_host: "{{ hmc }}"
hmc_auth:
username: "{{ hmc_username }}"
password: "{{ hmc_password }}"
- name: Start second command
ibm.power_hmc.hmc_command:
cmd: "lssyscfg -r sys -F name"
hmc_host: "{{ hmc }}"
hmc_auth:
username: "{{ hmc_username }}"
password: "{{ hmc_password }}"
As you see, I repeat hmc_host and hmc_auth every single time. It is too much to write and easier to make a mistake in such code.
I prefer to define defaults for these two modules:
module_defaults:
ibm.power_hmc.hmc_command:
hmc_host: "{{ hmc }}"
hmc_auth: "{{ hmc_auth }}"
ibm.power_hmc.hmc_update_upgrade:
hmc_host: "{{ hmc }}"
hmc_auth: "{{ hmc_auth }}"
If the defaults are defined, I can use the modules without specifying the authentication information:
- name: Start first command
ibm.power_hmc.hmc_command:
cmd: "lshmc -V"
- name: Start second command
ibm.power_hmc.hmc_command:
cmd: "lssyscfg -r sys -F name"
I hope you agree that it makes the code more readable and faster to write.
Backup of LPAR profiles
We prepared everything, and we can start doing LPAR profile backups.
First, we get a list of all our managed systems:
- name: Get managed systems
ibm.power_hmc.hmc_command:
cmd: lssyscfg -r sys -F name
register: sys_output
changed_when: false
If we don’t have any managed systems, we get the message “No results were found”. Otherwise, we get all profiles for each managed system.
- name: Get LPAR profiles
ibm.power_hmc.hmc_command:
cmd: "lssyscfg -r prof -m {{ item }}"
loop: "{{ sys_output.command_output }}"
register: profiles_output
changed_when: false
when:
- "'No results were found.' not in sys_output.command_output"
This is not a complete restorable backup. But it is better to have it if your system occasionally loses LPARs. In this case, you can take the output of the lssyscfg command, convert it to the input for the mksyscfg command, and recreate all your LPARs.
But we must write the output somewhere:
- name: Save LPAR profiles
ansible.builtin.copy:
dest: "{{ backup_dest }}/{{ item.item }}.profiles_backup"
content: "{{ item.command_output | ansible.builtin.to_nice_json }}"
mode: "0644"
loop: "{{ profiles_output.results }}"
loop_control:
label: "{{ item.item }}"
when:
- "'No results were found.' not in sys_output.command_output"
Upgrade? Upgrade!
Before doing an HMC upgrade, we must save the so-called upgrade data. If you don’t do it, you risk having a freshly installed HMC without any data.
I usually save the data to the local HMC disk only. But you can choose to write the data to a removable USB disk or to a remote SFTP location:
-r - the location where the upgrade data will be saved:
disk - HMC hard drive only
diskusb - USB data storage device and HMC hard
drive
diskftp - FTP server and HMC hard drive
disksftp - secure FTP (SFTP) server and HMC hard
drive
The operation is easy to perform:
- name: Save upgrade data before upgrade
ibm.power_hmc.hmc_command:
cmd: saveupgdata -r disk
If you did your upgrades manually, you know that there are some more steps before the HMC is upgraded. But the HMC Ansible collection simplifies them into one module - hmc_update_upgrade. You must only show where the new code is located, and if you want to upgrade or update (install a service pack).
We want to upgrade:
- name: Start upgrade
ibm.power_hmc.hmc_update_upgrade:
build_config:
location_type: nfs
hostname: "{{ nfs_server }}"
mount_location: "{{ nfs_share }}"
build_file: "/hmc/V11R1M1110/network"
state: "upgraded"
You are ready to start!
Are you in Switzerland, Austria, or Germany? Then this information is for you.
The following information is in German.
Einladung zum ETS-Ansible Automation Workshop 2.0 für IBM Power Systems
Wann: 18.–19. September 2025
Wo: IBM Auditorium, IBM Schweiz AG, Vulkanstrasse 106, Postfach, 8010 Zürich
Beginn: 09:30 Uhr
Anmeldung: hermann.huber@ch.ibm.com
Kosten: Keine
🧑🏫 Trainer & Experten
Alexander Paul – IBM, Senior Technical Consultant
Andrey Klyachkin – IBM, Senior Technical Consultant
Michael Fiebig – IBM, Systems Engineer (Server Setup Lab Umgebung)
Stefan Gocke – IBM Business Partner
📋 Agenda
Tag 1 – Deployment & Automatisierung
Vormittag: Einführung und Grundlagen
Einführung in Ansible: Funktionsweise und Architektur
Installation von Ansible auf Linux & AIX
Vorbereitung der Ansible-Umgebung
Ansible Workspace einrichten
Notwendige Collections herunterladen
Zugriff auf Systeme prüfen (HMC, PowerVC, Storage, …)
Erstes Playbook: System-Ping
Unterschiede HMC vs. PowerVC für LPAR-Deployment
Nachmittag: LPAR Deployment & Automatisierung
LPAR Deployment: HMC oder PowerVC als Basis
OS-Installation (AIX, RHEL, SLES) und erste Konfiguration
LVM-Konfiguration: Volume-Gruppen, LVs, Filesysteme
Application Deployment: Oracle auf AIX oder Apache auf RHEL
OS-Tuning für spezifische Workloads
Ansible Automation Platform (AAP): Deployment über AAP
Herausforderungen und Unterschiede zur manuellen Ansible-Nutzung
Tag 2 – Betrieb & Performance-Tuning
Vormittag: Ansible im Betrieb
Warum Ansible für den Betrieb von Power-Systemen?
Netzwerk-Konfiguration & Performance-Tuning
Virtual Ethernet auf VIO/AIX/RHEL
Shared Ethernet Adapter (SEA)
SR-IOV für VIO/AIX/RHEL
Storage & LVM Performance
VSCSI-Setup und Optimierung
FC-HBA-Tuning für NPIV & Storage-Anbindung
Monitoring von pbuf, fsbuf & LVM-Konstrukten
Nachmittag: Updates & Security Management
Updates & Security Patching mit Ansible
VIO/AIX/RHEL Update-Prozesse
Security-Patching für VIO/AIX
Automatisierte Softwareverwaltung mit NIM
Best Practices & Troubleshooting
Typische Fehler und Lösungsansätze
PowerVC-Integration und mögliche Herausforderungen
Your HMC is upgraded!
I didn’t talk about some usual precautionary measures. Like, check that you have a BMC connection before upgrading your HMC if you use the hardware HMC. If you use the virtual HMC, check that you have access to its virtual console.
Check that you have an HMC version that can be upgraded to HMC V11. I am pretty sure that if you still have HMC V7, the upgrade to V11 will fail. You must first update to the latest HMC V7, then upgrade to HMC V8, then update to the latest HMC V8, then upgrade to HMC V9, then update to the latest HMC V9, then upgrade to HMC V10, then update to the latest HMC V10, and only then upgrade to HMC V11. As you see, the procedure may be very long.
Of course, the firmware on your managed systems must be supported by the HMC. Check the Fix Level Recommendation Tool if you must upgrade your firmware between some of the HMC updates and upgrades.
But when you upgrade your HMC, you can enjoy the new HMC V11 functions!
Have fun upgrading HMC!
Andrey
Hi, I am Andrey Klyachkin, IBM Champion and IBM AIX Community Advocate. This means I don’t work for IBM. Over the last twenty years, I have worked with many different IBM Power customers all over the world, both on-premise and in the cloud. I specialize in automating IBM Power infrastructures, making them even more robust and agile. I co-authored several IBM Redbooks and IBM Power certifications. I am an active Red Hat Certified Engineer and Instructor.
Follow me on LinkedIn, Twitter and YouTube.
You can meet me at events like IBM TechXchange, the Common Europe Congress, and GSE Germany’s IBM Power Working Group sessions.