Annonce IBM i 7.5

Publié le 03/05/2022

IBM annonce en ce début de mois de mai 2022, la nouvelle version IBM i 7.5. Sa disponibilité est prévue pour le 10 mai 2022, soit environ 3 ans après la sortie de la 7.4. Seuls les serveurs POWER9 et Power10 supporteront cette release, IBM ayant annoncé il y a quelques mois déjà, que les POWER8 ne seraient pas compatibles avec la 7.5.

Cet article est consacré à la nouvelle version IBM i 7.5, mais il intègre également les nouveautés de la version IBM i 7.4 fournies avec le Technology Refresh 6 (TR6).

La version 7.3, quant à elle, ne devrait plus proposer de nouveautés, sa fin de commercialisation devrait être annoncée d’ici peu de temps. Il y aura encore des PTF mais un doute subsiste quant à un éventuel nouveau Technology Refresh, Il n’y a pas eu d’annonce 7.3 TR12 mais il existe pourtant une notification de resave marker 7.3 TR12 sur les sites IBM. Affaire à suivre.

Cet article n’a pas la prétention de fournir une liste exhaustive des nouveautés 7.5, seules les plus “importantes” et quelques autres sont présentées.

SOMMAIRE

1 – Rappels et matrices

1.1 – Rappels sur les Technology Refreshes

Chronologie des Technology Refreshes des dernières versions IBM i. La notion de Technology Refresh est apparue en 2010 avec la version IBM i 7.1.

Nomenclature des Technology Refreshes
7.1 : MF990XX (XX = 01 à 11)
7.2 : MF991XX (XX = 01 à 09)
7.3 : MF992XX (XX = 01 à 11)
7.4 : MF993XX (XX = 01 à 06 à ce jour)
7.5 : MF994XX (XX = aucun à ce jour)

La version 7.4, commercialisée depuis le 21/06/2019, a désormais presque trois années d’existence et propose son 6ème Technology Refresh. Voici les dates des différents TR :

  • TR1 (15/11/2019)
  • TR2 (15/05/2020)
  • TR3 (13/11/2020)
  • TR4 (16/04/2021)
  • TR5 (10/09/2021)
  • TR6 (24/05/2022)

1.2 – Matrice versions IBM i par modèle de serveur

La version IBM i 7.5 est supportée sur les modèles suivants :

  • Power S914
  • Power S922
  • Power H922
  • Power S924
  • Power H924
  • Power E980
  • Power E1080

1.3 – Matrice de support version IBM i par génération de processeur

En théorie, une génération de processeur supporte quatre versions IBM i, une exception avec le POWER9 sur lequel IBM a intégré le support de la 7.1 à posteriori (sur certains modèles uniquement) portant le total à cinq versions IBM i.

La version 7.5 n’est supportée que sur les technologies de processeur POWER9 et Power10.


1.4 – Versions IBM i

La 7.5 est la 25ème version IBM i (en incluant les différentes appellations (OS/400 – i5/OS – IBM i).


1.5 – Groupes de PTF 7.5

Liste des groupes de PTF liés à la version 7.5 :

Groupe de PTFLibellé
SF99959Group Hiper
SF99958Group Security
SF99957Technology Refresh
SF99956Technology Refresh plus Recommended Groups
SF99955Java
SF99954Backup Recovery Solutions
SF99953Performance Tools
SF99952IBM HTTP Server for i
SF99951IBM Db2 Mirror for i
SF99950Db2 for IBM i
SF99751All PTF Groups except Cumulative PTF Package and MQ
SF99750Cumulative package
SF99679IBM MQ for IBM i
SF99677TCP/IP Group PTF
SF99676High Availability for IBM i
SF99673DB2 Web Query for i V2.4.0
SF99671DB2 Web Query for i V2.3.0
SF99669Content Manager OnDemand for i – 5770-RD1 7.5
SF99660Hardware and Related PTFs
SF99651WebSphere App Server V8.5
SF99650Open Source

2 – Operating System

2.1 – Abonnement IBM i (7.5)

Désormais, il sera possible de souscrire un abonnement IBM i. Ainsi, plutôt que d’acheter les licences IBM i (processeurs et utilisateurs), l’abonnement mensuel sera proposé en 7.5 à un coût attractif.

  • Seuls les modèles en groupe logiciel P05 sont éligibles
    • Les modèles en groupe logiciel P10, P20 et P30 ne sont pas éligibles pour le moment
  • Uniquement disponible en 7.5
  • Ne concerne que les licences processeurs et utilisateurs
    • Les LPP (logiciels sous licence) ne sont pas éligibles
  • Les abonnements mensuels pourront être souscrits pour une durée de 1, 2, 3, 4 ou 5 ans
  • L’abonnement ne peut pas être arrêté durant la période du contrat
  • Licences non transférables
  • Inclut un support 9×5
  • Disponibilité le 28/06/2022

Une déclaration d’intention d’IBM indique que cet abonnement devrait être étendu aux autres groupes logiciels (P10, P20 et P30) et qu’une offre additionnelle combinant l’abonnement logiciel et la maintenance hardware pour les P05 devrait être proposée.


2.2 – Nouvel algorithme de compression (7.5)

Apparition d’une nouvelle option de compression ZLIB basée sur les algorithmes de dernière génération. Cette option permet de compresser beaucoup plus qu’avec les options existantes.

Avec un gain d’environ 30% de mieux que l’option *HIGH et d’environ 70% de mieux que l’option *LOW, cette nouvelle option *ZLIB permet de réduire sensiblement la taille des objets sauvegardés.

Les performances en termes de vitesse sont équivalentes à celles des options *HIGH et *MEDIUM et légèrement inférieures à celles de *LOW, toutefois, si le dispositif NX (Nest Accelerator) est activé, alors les performances seront sensiblement améliorées (jusqu’à 4X).

  • Cette option est ajoutée à toutes les commandes de sauvegarde dans le paramètre DTACPR :
    • SAV
    • SAVCFG
    • SAVCHGOBJ
    • SAVDLO
    • SAVLIB
    • SAVLICPGM
    • SAVOBJ
    • SAVSECDTA
    • SAVSYS
    • SAVSYSINF
  • Option également disponible avec les API de sauvegarde et les instructions MI :
    • QSRSAVO
    • QsrSave
    • QaneSava
    • CPRDATA (Disponible également en 7.4 mais disponibilité retardée)
    • DCPDATA
  • Cette compression peut être utilisée avec la réplication GeoGraphic Mirroring de PowerHA. Fonction disponible en 7.4 également.
  • Option optimisée pour les serveurs Power10 car ces derniers disposent de la fonction Nest Accelerator (NX).
  • La restauration utilise le même algorithme pour la décompression des données.
  • Seuls les fichiers de sauvegarde (SAVF) et les lecteurs optiques sont supportés avec cette option de compression, y compris les lecteurs optiques virtuels.
  • Les bandothèques virtuelles ne supportent pas cette option de compression.
  • Les lecteurs physiques ne supportent pas cette option de compression.

2.3 – Nombre maximum de cores et de threads par partition (7.5)

La version 7.5 supporte officiellement jusqu’à 48 cores en SMT8 au maximum, soient 384 threads. Ce sont les mêmes limites que pour la 7.3 ou la 7.4, mais avec une validation des Lab Services d’IBM (RPQ), cette limite peut monter jusqu’à … 240 cores et 1 920 threads.

IBM i 7.3IBM i 7.4IBM i 7.5
Nombre maximum de cores484848
Nombre maximum de threads384384384
Nombre maximum de cores avec RPQ Lab Services192192240
Nombre maximum de threads avec RPQ Lab Services7681 5361 920
Mémoire maximale (TiB)323232

2.4 – Simplification du panneau de contrôle pour la Console LAN (7.5)

L’utilisation du panneau de contrôle sur les systèmes monopartition sans console HMC est simplifié.

En effet, il était parfois très laborieux d’effectuer les manipulations de récupération de la Console LAN, nécessitant quelques fois des centaines de pressions des boutons pour parvenir à ses fins. Désormais, il ne sera plus nécessaire de sélectionner l’option 65, puis la 21, puis la 11, l’option 65 sera suffisante, économisant ainsi de précieuses minutes 😉

  • Option disponible uniquement en 7.5
  • Supportée sur POWER9 et Power10

2.5 – Restauration des profils (7.5)

La restauration des profils ne nécessite plus de mettre le système en mode restreint.

Jusqu’à présent, on pouvait restaurer un ou plusieurs profils sans être en mode restreint, mais la restauration de l’ensemble des profils utilisateur (RSTUSRPRF USRPRF(*ALL)) imposait que le système soit en mode restreint et par conséquent que l’on stoppe les process et les utilisateurs.

Désormais, il sera possible de restaurer l’ensemble des utilisateurs sans la contrainte du mode restreint, ce qui implique la disparition du message CPF3785 sur la commande de restauration des profils.


2.6 – Nouveautés sauvegarde / restauration (7.5)

  • Le paramètre ASYNCBRING est désormais activé par défaut (*YES) ce qui permet de sauvegarder les fichiers de l’IFS (Integrated File System) de manière asynchrone et de réduire la durée de sauvegarde.
  • Désormais, les messages de progression d’une restauration de l’IFS (RST) incluent la taille des objets restaurés, cela permet d’avoir une meilleure estimation du temps restant.

2.7 – Nouveautés du scheduler de travaux (7.5)

Suspension du scheduler

Le scheduler de travaux peut être suspendu afin d’empêcher l’exécution des travaux. Il existe désormais un état du scheduler (libéré ou suspendu).

Lorsqu’il est libéré (Etat : RLS), les travaux du scheduler peuvent s’exécuter sauf s’ils sont eux mêmes suspendus.

Pour suspendre le scheduler :

HLDJOBSCDE JOB(*JOBSCD) ENTRYNBR(*ALL)

Lorsque le scheduler est suspendu, son état est à HLD. L’avantage est que cela évite de suspendre tous les travaux et donc de perdre leur état initial. Lorsque le scheduler est suspendu, les travaux conservent leur état d’origine (SAV, SCD, HLD …).

Pour libérer le scheduler et autoriser à nouveau l’exécution des process :

RLSJOBSCDE JOB(*JOBSCD) ENTRYNBR(*ALL)

Le scheduler est libéré (Etat RLS), les travaux ont conservé leur état initial.

Nouvelle option de fréquence d’exécution

Une option de fréquence d’exécution annuelle (*YEARLY) fait son apparition. Il existe 4 options de fréquence :

  • *ONCE
  • *WEEKLY
  • *MONTHLY
  • *YEARLY

2.8 – Décalage de l’année de référence (7.5)

Historiquement, l’Operating System IBM i (ex OS/400 et i5/OS) a pour référence, l’année 1940. Ainsi, lorsque l’on utilise un format de date sur deux digits, le résultats sont les suivants :

  • Si AA >= 40, alors il s’agit d’une année comprise entre 1940 et 1999
  • Si AA < 40, alors il s’agit d’une année comprise entre 2000 et 2039

Ex :
– AA = 98 ==> 1998
– AA = 01 ==> 2001

Ci-dessous l’infographie représentant la plage de date des versions IBM i jusqu’à la 7.4 comprise.

Etant donné que l’année 2039 se rapproche, IBM propose de modifier la plage de référence de 100 par défaut. En 7.5, cette plage par défaut reste la même que pour les versions précédentes, mais il est désormais possible de la modifier.

La nouvelle plage de référence possible est : 1970 – 2069. Voici la nouvelle infographie représentant cette plage.

Cette nouvelle plage de référence sera celle par défaut dans la prochaine version, cette option permet donc aux sociétés de se préparer à la modification de la plage de temps utilisée pour les années à deux digits.

Pour rappel, le tableau actuel des plages de temps en fonction du nombre de digits.

Nombre de digitsFormatPlage des années
2*YMD, *DMY, *MDY, *JUL1940 – 2039
3*CYMD, *CDMY, *CMDY1900 – 2899
4*ISO, *USA, *EUR, *JIS, *LONGJUL0001 – 9999
4*YYMD, *MDYY, *DMYY0001 – 9999

Le tableau revu avec la nouvelle plage, lorsqu’elle est activée.

Nombre de digitsFormatPlage des années
2*YMD, *DMY, *MDY, *JUL1970 – 2069
3*CYMD, *CDMY, *CMDY1900 – 2899
4*ISO, *USA, *EUR, *JIS, *LONGJUL0001 – 9999
4*YYMD, *MDYY, *DMYY0001 – 9999

Exemples :

  • Avec la plage de référence 1940 – 2039
    • SBMJOB CMD(CALL PGM(TEST)) SCDDATE(’01/01/40′)
    • CPF1634 – Specified date or time has passed.
  • Avec la plage de référence 1940 – 2039
    • SBMJOB CMD(CALL PGM(TEST)) SCDDATE(’01/01/2040′)
    • CPC1221 – Job 212080/QSECOFR/QDFTJOBD submitted to job queue QBATCH in library QGPL.
  • Avec la plage de référence 1970 – 2069
    • SBMJOB CMD(CALL PGM(TEST)) SCDDATE(’01/01/40′)
    • CPC1221 – Job 212081/QSECOFR/QDFTJOBD submitted to job queue QBATCH in library QGPL.

Pour activer cette nouvelle plage de référence, il suffit d’ajouter une variable d’environnement (QIBM_QBASEYEAR) soit au niveau du système pour que tous les travaux soient concernés, ou au niveau du job pour que seul le travail en cours le soit :

ADDENVVAR ENVVAR(QIBM_QBASEYEAR) VALUE(1970) LEVEL(*SYS)
ou
ADDENVVAR ENVVAR(QIBM_QBASEYEAR) VALUE(1970) LEVEL(*JOB) REPLACE(*YES)

==> Cette option n’impacte pas le fonctionnement du RPG, du COBOL et de la base de données. Ils n’ont pas été mis à jour pour prendre en compte cette nouveauté. La recommandation est de migrer toutes les dates sur 4 digits.


2.9 – Suppression de profils DST/SST (7.5)

Cette version supprime les profils DST/SST 11111111 et 22222222, qu’il s’agisse d’une installation “from scratch” ou d’un changement de version. Ces profils existaient depuis les débuts de l’Operating System, désormais, il ne reste que deux profils créés par IBM :

  • QSECOFR
  • QSRV (qui est désactivé par défaut)

Les autres profils non créés par IBM, sont conservés.


2.10 – Vérification des règles de mot de passe (7.5)

En plus du service SQL CHECK_PASSWORD, IBM propose une API permettant de vérifier qu’un mot de passe respecte les règles de sécurité définies dans les valeurs système. L’API concerné, QSYSCHKPR est utilisée pour la vérification mais elle ne permet pas la modification d’un mot de passe.


2.11 – Informations sur l’état de santé des drives NVMe (7.5)

Les informations sur l’état de santé des drives NVMe étaient disponibles dans le nouveau Navigator for i depuis la fin de l’année 2021, mais elles ne l’étaient pas en 5250.

Ces informations sont désormais disponibles en DST ou SST.

3 – IBM Db2 for i (base de données)

3.1 – Augmentation de la limite de la taille d’un index (7.5)

Actuellement, la limite maximale de la taille d’un index radix est de 1,7 TiB (1,87 TB). En 7.5, cette limite est étendue à 16 TiB (17,59 TB).

C’est la taille de la page qui permet de déterminer la taille maximale de l’index. Cela est valable pour les index SQL et les fichiers logiques indexés.

Ci-dessous la table de correspondance des limites de l’index en fonction de la taille de la page.

Taille de page logique (KiB)Taille maximale de l’index en 7.5 (TiB)
84
168
3216
6416
12816
25616
51216

Par défaut, les index SQL ont une taille de page de 64 KiB, en revanche celle des fichiers logiques indexés est égale à *KEYLEN ce qui généralement équivaut à 8 KiB.


3.2 – Support des données de type Booléen (7.5)

Un nouveau type de données fait son apparition dans la base de données Db2 for i, il s’agit du type Booléen.

Pour comparer avec les principales autres bases de données :

  • Db2 for LUW, PostgreSQL, MYSQL, Oracle, et Informix supportent le type Booléen
  • Microsoft SQL Server, Sybase et Db2 for z/OS ne supportent pas le type Booléen

Construction linguistique du BOOLEAN :

  • Prédicats : IS TRUE / IS FALSE / TRUE / FALSE
  • Constantes : TRUE / FALSE / ON / OFF / UNKNOWN
  • Fonctions scalaires : BOOLEAN / ISTRUE / ISFALSE / ISNOTTRUE / ISNOTFALSE
  • Fonctions agrégées : ANY / EVERY / SOME

Exemple de requête sur une table avec données booléennes :

Quelques règles :

  • Support complet avec la norme SQL
  • Les Booléens sont supportés dans les tables SQL mais ne le sont pas dans les DDS ou dans les fichiers physiques
  • Pas de support des fonctions ALTER TABLE et ALTER COLUMN
  • Les tables avec des colonnes boolean-like peuvent être converties en booléen
  • Les pré-compilateurs suivants supportent les booléens :
    • RPG ILE
    • COBOL ILE
    • C ILE
    • C++ ILE
  • Les compilateurs suivants supportent les booléens :
    • RPG ILE
    • COBOL ILE
    • C ILE
    • C++ ILE
    • CL ILE

3.3 – IBM i Services (7.4 / 7.5)

A chaque nouvelle version ou dans chaque nouveau Technology Refresh, IBM introduit des IBM i Services additionnels ou améliore les services existants.

La version 7.5 apporte les nouveaux IBM i Services suivants :

  • QSYS2.ACTIVATION_GROUP_INFO()
  • QSYS2.ADD_USER_INDEX_ENTRY()
  • QSYS2.ADD_USER_INDEX_ENTRY_BINARY()
  • QSYS2.ADD_USER_INDEX_ENTRY_BINARY()
  • QSYS2.ASSOCIATE_JOURNAL_RECEIVER()
  • QSYS2.BINDING_DIRECTORY_INFO
  • QSYS2.CHANGE_USER_SPACE()
  • QSYS2.CHANGE_USER_SPACE_ATTRIBUTES()
  • QSYS2.CHECK_PASSWORD() (7.5 uniquement)
  • QSYS2.CREATE_USER_INDEX()
  • QSYS2.CREATE_USER_SPACE()
  • QSYS2.DNS_LOOKUP()
  • QSYS2.ELECTRONIC_SERVICE_AGENT_INFO
  • QSYS2.JOURNAL_RECEIVER_INFO
  • QSYS2.REMOTE_JOURNAL_INFO
  • QSYS2.REMOVE_USER_INDEX_ENTRY()
  • QSYS2.SPOOLED_FILE_INFO()
  • QSYS2.SQL_CHECK_FUNCTION_USAGE()
  • QSYS2.SQL_CHECK_SPECIAL_AUTHORITY()
  • QSYS2.SYSTEM_ACTIVITY_INFO()
  • QSYS2.TELNET_SERVER_ATTRIBUTES
  • SYSTOOLS.AUDIT_JOURNAL_JS()
  • SYSTOOLS.AUDIT_JOURNAL_OM()
  • SYSTOOLS.AUDIT_JOURNAL_ST()

Quelques exemples :

D’autres sont améliorés :

  • QSYS2.ACTIVE_JOB_INFO()
  • QSYS2.JOBLOG_INFO()
  • QSYS2.NETSTAT_JOB_INFO
  • QSYS2.OBJECT_STATISTICS()
  • QSYS2.SCHEDULED_JOB_INFO
  • QSYS2.SECURITY_INFO
  • QSYS2.SERVER_SHARE_INFO
  • QSYS2.SERVER_SBS_ROUTING
  • QSYS2.SET_SERVER_SBS_ROUTING()
  • QSYS2.USER_INFO
  • QSYS2.USER_INFO_BASIC
  • QSYS2.USER_STORAGE
  • SYSTOOLS.GENERATE_PDF()

3.4 – Protection des objets base de données (7.5)

Protection de la base de données avec “ADD RESTRICT ON DROP“.

  • Restriction Drop/Delete sur les tables SQL et les fichiers physiques de la base de données
  • Empêche la suppression d’un fichier de base de données, quels que soient les droits
  • Fonctionne pour les tables SQL et non SQL

4 – Développement

4.1 – MERLIN (7.4 / 7.5)

MERLIN ou Modernization Engine foR Lifecycle IntegratioN.

MERLIN (5900-AN9) consiste en une nouvelle approche de modernisation des applications, entièrement développée et supportée par IBM. MERLIN fournit un environnement de développement léger basé sur un navigateur web permettant la création de nouvelles applications ou la modernisation d’applications RPG ou COBOL existantes.

MERLIN est développé en partenariat avec ARCAD Software, il est livré préchargé avec des outils tels que Jenkins et Git pour le DevOps, ainsi qu’avec convertisseur de code RPG. Il s’exécute dans un container Red Hat OpenShift exécuté dans une partition Linux Power.

MERLIN est basé sur :

  • des outils et des process modernes, incluant le DevOps
  • des solutions Cloud ou Hybrides
  • les containers

MERLIN, “l’assistant des assistants” s’exécute dans des technologies de type containers et permet de simplifier la migration d’applications obsolètes ou peu efficaces vers des applications plus modernes en utilisant la technologie RedHat OpenShift.

Architecture type DevOps avant utilisation de MERLIN.

Architecture simplifiée avec l’utilisation de MERLIN.

Le but de MERLIN est de permettre de :

  • répondre rapidement aux besoins de l’entreprise
  • encapsuler les process
  • utiliser des technologies les plus adaptées aux objectifs
  • incorporer facilement des nouvelles technologies, même si elles ne sont pas maitrisées en interne

4.2 – Passage de paramètres en CL (7.5)

Désormais il est possible de passer des paramètres depuis un programme CL ILE avec un type défini :

  • *DEC
  • *CHAR
  • *LGL
  • *INT
  • *UINT
  • *FLT

Exemple sur la commande CALL

En 7.4
CALL PGM(QGPL/TESTPARM) PARM('PARIS' '75000' &VAR0)

En 7.5
CALL PGM(QGPL/TESTPARM) PARM(('PARIS' (*CHAR 60)) (75000 (*DEC 5 0)) (&VAR0))

Exemple sur la commande CALLPRC

Cette nouveauté 7.5 permet de passer des paramètres avec une longueur et un type définis.

Il est également possible de passer une expression en tant que paramètre.


4.3 – Nouveaux codes opération RPG (7.4 / 7.5)

Code opération SND-MSG

Code opération permettant d’envoyer un message vers la joblog.

Code opération ON-EXCP

Code opération permettant une meilleure gestion des erreurs.

Autres codes (7.5 uniquement) :

  • DATA-GEN
  • FOR-EACH

4.4 – Améliorations REST API sur IWS (7.4 / 7.5)

  • La restriction des 7 paramètres maximum est levée, désormais 248 paramètres sont autorisés.
  • Les logs supportent JSON comme un format de sortie
  • Journalisation asynchrone afin de pas impacter les performances

5 – Sécurité (7.5)

5.1 – Retrait du niveau de sécurité 20 pour les nouvelles installations (7.5)

Il n’est plus possible d’installer une nouvelle partition IBM i en 7.5 avec le niveau de sécurité 20. Seuls les niveaux 30, 40 et 50 sont proposés.

Une partition 7.3 ou 7.4 au niveau de sécurité 20 migrant en 7.5 conservera le niveau existant, et si elle évolue vers un niveau supérieur, elle ne pourra plus revenir au niveau 20.


5.2 – Ajout d’un niveau de sécurité sur les mots de passe (7.5)

La valeur système de niveau des mots de passe (QPWDLVL) dispose d’un niveau supplémentaire : le niveau 4.

Ce niveau permet d’avoir un hachage de chiffrement en SHA-2 (Secure Hash Algorithm) et plus exactement en SHA-2-512. Lorsque l’on passe au niveau 4, les chiffrement DES des niveaux 0 et 1, et les chiffrements SHA-1 des niveaux 2 et 3 sont supprimés des profils utilisateur.

De la même manière, un nouveau niveau de hash est proposé en DST/SST, il s’agit du niveau 3 (il n’y avait que deux niveaux en DST/SST, le 1 et le 2). Ce niveau 3 utilise également le hachage SHA-2.


5.3 – Diverses modifications relatives à la sécurité (7.5)

Mot de passe par défaut

Le mot de passe par défaut d’un nouvel utilisateur n’est plus identique au nom de l’utilisateur, désormais il n’y a plus de mot de passe : PASSWORD(*NONE).

Modification du message sur erreur de login

Jusqu’à présent, lors d’une erreur de login, le système indiquait s’il s’agissait d’une erreur de mot de passe ou d’une erreur de profil utilisateur. Il y avait deux messages différents :

  • CPF1107 – Password not correct for user profile. ==> erreur de mot de passe
  • CPF1120 – User XXXXXXXXXX does not exist. ==> erreur de profil utilisateur

En 7.5, qu’il s’agisse d’une erreur sur le mot de passe ou sur le profil, c’est toujours le même message qui sera affiché (CPF1120) et qui n’indiquera pas la raison exacte de l’erreur afin de ne pas donner trop d’informations à un intrus.

Valeur système QRETSRVSEC obsolète

La valeur de rétention des données de sécurité du serveur est obsolète, le système d’exploitation n’utilise plus cette valeur. Ces informations ne peuvent plus être supprimées. La commande associée à cette valeur, CLRSVRSEC, est également obsolète et sera définitivement retirée dans une future version IBM i.


5.4 – Contrôle d’accès à NetServer (7.5)

Il est désormais possible de contrôler l’accès des utilisateur à NetServer à l’aide d’une liste d’autorisation (*AUTL).

  • Indiquer la liste d’autorisation au niveau du serveur TCP/IP NetServer
  • Donner des droits *USE ou supérieur pour avoir accès à NetServer

On peut également disposer d’une plus grande granularité, et ne restreindre l’accès qu’au niveau partage et non pas à tous les partages. Cela s’effectue également par une liste d’autorisation.

Exemple sur la création de partage

Exemple sur la modification d’un partage

  • *CHANGE ou supérieur autorise l’accès en lecture/écriture (RW)
  • *USE autorise l’accès en lecture (R)
  • Les droits inférieurs à *USE ne permettent pas l’accès au partage

Les listes d’utilisation représentent un niveau additionnel de sécurité dans la protection des partages.

  • Les partage existants définis en lecture seule (R) restent bridés en lecture quels que soient les droits définis dans la liste d’autorisation.
  • Les droits définis sur l’IFS s’appliquent pour l’accès aux fichiers

5.5 – Modification des droits *PUBLIC par défaut (7.5)

IBM a changé les droits *PUBLIC pour un grand nombre d’objets (plusieurs centaines) . Ils passent de *CHANGE ou *ALL à *USE. Voir le “Memo to User / Note aux utilisateurs” pour avoir accès à la liste complète.

Cela concerne des objets de QSYS, QGPL, QUSRSYS, QUSRTOOL, QGDDM, QGY, QIDU, QIWS, QPDA, QRJE, QSYS38, QSMU, QSVMSS, QSOC, QSR, QSYS2, QSSP, QSYSV7R3M0 et QSYSV7R4M0 mais également ceux des bibliothèques de langues additionnelles (QSYS29xx). Il y a des objets de type :

  • Bibliothèque (*LIB)
  • Fichier (*FILE)
  • Classe (*CLS)
  • Commande (*CMD)
  • Zone de données (*DTAARA)
  • Description de travail (*JOBD)
  • Menu (*MENU)
  • Fichier de message (*MSGF)
  • Programme (*PGM)
  • Programme de service (*SRVPGM)
  • Table de conversion (*TBL)
  • Journal (*JRN)

Il ne s’agissait pas d’un problème de sécurité mais plutôt une restructuration afin d’uniformiser les droits.

6 – Db2 Mirror for i

Support des versions mixtes (7.4 / 7.5)

Db2 Mirror for i est apparue en 7.4, cette fonctionnalité permet d’exécuter des applications sur deux serveurs en simultané, offrant ainsi une répartition de charge et un niveau de disponibilité continu.

Dès sa sortie, IBM avait annoncé que Db2 Mirror for i pourrait fonctionner sur des serveurs ayant des versions IBM i différentes. Promesse tenue !

Il est possible d’avoir un node en 7.4 et le second en 7.5, permettant ainsi de changer de version sans interruption de service en utilisant le mode “rolling upgrades”.

Diverses améliorations (7.5)

  • Support du mode “Active / Read Only” permettant d’exécuter la production sur un seul node et d’utiliser le second node pour du requêtage (en lecture seule). Le node “Read Only” est bien actif et prend le relai en cas de panne du node principal.
  • Améliorations de la sécurité
  • Améliorations de la gestion et de l’utilisation de l’interface graphique

Pour rappel, en fin d’année 2021, IBM a étendu la distance maximale supportée entre deux nodes en la portant de 200 m à … 10 Km.

7 – IBM Navigator for i (7.4 / 7.5)

Pour rappel, Navigator for i dispose d’une nouvelle version depuis les derniers Technology Refreshes (7.3 TR11 / 7.4 TR5). Elle remplacera avantageusement la version introduite en 2008 avec la 6.1.

La vulnérabilité Log4J / Log4Shell ne pouvant pas être corrigée dans l’actuelle version de Navigator for i, IBM a décidé de la désactiver par des PTF. En 7.5, seule la nouvelle interface est disponible.

Documentation Navigator for i

Navigator for i fait parti de l’option 3 de l’Operating System, auquel il faut ajouter les groupes de PTF HTTP et Database.

Audit Journal

Améliorations PDI (Performance Data Investigator)

Intégration de nouveaux services TCP/IP

Intégration de nouveaux services TCP/IP dans l’interface Navigator for i :

  • Serveur d’annuaire (LDAP)
  • SMTP
  • SNMP

D’autres améliorations sont également disponibles :

  • Authority collection
  • Message monitoring
  • Le support des lecteurs de bande

8 – IBM Access Client Solutions (7.4 / 7.5)

Disponible depuis mi-avril, la dernière mouture de IBM ACS, la 1.1.9.0 apporte les nouveautés suivantes.

Groupes de systèmes

Possibilité de grouper des systèmes au sein d’un même groupe. Cela est très intéressant lorsque l’on a des dizaines de systèmes ou partitions.

Gestion multi-onglets dans le gestionnaire de scripts SQL

Permet de travailler avec plusieurs requêtes dans une même connexion.

Drag and Drop pour ouvrir plusieurs scripts dans différents onglets

La sélection de différents scripts en drag and Drop vers l’interpréteur de scripts SQL permet d’ouvrir tous les scripts dans différents onglets.

Déplacement du gestionnaire de modules Open Source

Le gestionnaire de modules Open Source est déplacé du menu vers l’interface principale dans la partie “Management / Gestion”.

Possibilité d’ajout d’interfaces

On peut désormais ajouter plusieurs types d’interfaces différentes dans la partie Console. Cela peut correspondre à la HMC, à Navigator for i, à Db2 Mirror for i, au DCM …

9 – Divers

9.1 – PowerHA SystemMirror for i (7.4 / 7.5)

La solution de Haute Disponibilité d’IBM, PowerHA SystemMirror for i, est en constante évolution. Des nouveautés sont disponibles avec chaque Technology Refresh.

Simplification de l’offre PowerHA (7.5)

Le produit ne sera plus commercialisé en trois éditions comme il l’est en 7.4 (Express, Standard et Entreprise), il n’y aura désormais plus qu’une seule édition (PowerHA for i Enablement).

Compression des pages avec ZLIB (7.4 / 7.5)

Geographic Mirroring est une variante de PowerHA SystemMirror for i pour laquelle la réplication est gérée, non pas par le stockage externe (SAN), mais par l’Operating System lui-même et qui s’appuie sur TCP/IP. Il s’agit d’une réplication de page à page (4 KiB).

La réplication Geographic Mirroring peut utiliser le nouvel algorithme de compression ZLIB, fourni de base avec la 7.5, afin de réduire la taille des informations répliquées sur le réseau.

Nouvelle interface graphique moderne (en preview) (7.5)

Une nouvelle interface graphique plus moderne fait son apparition en 7.5. Cette dernière est en mode preview, elle évoluera sensiblement avec les futurs Technology Refresh

D’autres nouveautés sont planifiées avec les futurs TR.

Modification des commandes HyperSwap de PowerHA (7.5)

Les commandes CL HyperSwap intégrées à PowerHA sont modifiées :

  • ADDHACFGD
  • CHGHACFGD
  • DSPHACFGD
  • RMVHACFGD
  • WRKHACFGD

9.2 – BRMS (7.4 / 7.5)

  • Tout comme pour l’Operating System, le paramètre ASYNBRING permettant de sauvegarder l’IFS en asynchrone, est également activé par défaut dans BRMS.
  • Les commandes RSTLIBBRM et RSTOBJBRM intégrent les paramètres STRJRN et SELECT pour démarrer la journalisation après la restauration.
  • Améliorations sur les groupes de contrôle
    • Support des sauvegardes de l’IFS avec SAVACTOPT(*ALWCHKPWRT) et SAVACTOPT(*ALL)
  • Le rapport de récupération (QP1ARCY) a été amélioré pour prendre en compte les restauration cloud en NFS (Network File System) à l’aide de VTL DSI en iSCSI.
  • La commande PRTRPTBRM inclue le paramètre EXPDATE permettant de sélectionner les enregistrements souhaités.
  • DSPLOGBRM et WRKMEDBRM supportent les sortie en fichier (*OUTFILE) et streamfile (*OUTSTMF).
  • Amélioration du paramétrage
    • WRKPCYBRM *SYS afin d’inclure tous les messages survenant durant l’exécution de commandes BRMS
    • WRKPCYBRM *RCY pour vérifier la taille de la restauration
    • WRKPCYBRM *BKU pour attribution automatique de volumes
  • Introduction de services SQL pour afficher des informations de BRMS.
  • Mise en conformité des droits avec les nouvelles normes IBM
    • Les fichiers de BRMS passent d’un droit *PUBLIC *USE à *EXCLUDE.
    • Le Flight Recording passe de *RWX à WX
    • Les droits par défaut des fonctions d’usage passent de *ALLOWED à *DENIED
  • Support du LTO-9 (drives et medias)

9.3 – Diverses nouveautés ou modifications

Support de TCP SACK (7.5)

Implementation de TCP SACK (Selective ACKnowledgment). Cette fonction basée sur la RFC2018, permet à la pile TCP/IP de gérer les paquets perdus et de reconnaître sélectivement les segments de données reçus. Ainsi, seuls les segments de données manquants doivent être réenvoyés par l’emetteur.

Cela permet d’améliorer la bande passante réseau. Cette fonction est activée par défaut.

Nouveautés SNMP (7.5)

Quelques nouveautés SNMP :

  • Possibilité de n’autoriser que le SNMP v3
  • Fourniture d’un driver SNMP v3 pour les imprimantes réseau de type 3812
  • Possibilité de définir des règles View-based Access Control Model (VACM) afin de restreindre les informations retournées
  • Des options SHA-256 et SHA-512 sont disponibles pour l’authentification des utilisateurs

Logiciels IBM retirés ou non supportés en 7.5

Plusieurs logiciels sont retirés de la version ou ne sont plus supportés avec la 7.5 :

  • Managed System Services (5770-MG1) : retiré
  • System Manager (5770-SM1) : retiré et non supporté
    • 5770-SM1 doit impérativement être supprimé avant de migrer en 7.5 sinon, certaines commandes de l’OS très importante seront soit remplacées par leur équivalent en 7.4, soit supprimées si le produit est supprimée en 7.5
  • XML Toolkit for i (5770-XT2) : non supporté
    • le logiciel n’est plus supporté
    • le code ILE continuera à fonctionner mais il faut envisager de le remplacer par un nouveau parser XML
  • Tomcat : retiré et non supporté
    • le programme de service QZTCJK est retiré de QHTTPSVR. HTTP Server ne supporte plus le plugin Tomcat
    • Il est recommandé de migrer vers la version Open Source de Tomcat

9.4 – Open Source (7.4 / 7.5)

Apache Tomcat

WildFly

OpenLiberty

Eclipse Jetty


9.5 – Java 17 64-bit (7.5)

Malgré le fait qu’IBM n’ait pas communiqué sur ce point, Java 17 64-bit est également présent avec la version 7.5. Il s’agit du produit 5770-JV1 option 20.

Le “Memo to users / Notes aux utilisateurs” ne le mentionne pas, et pourtant l’option est bien présente.

Twitter