Architecture et composants

Architecture matérielle

Partitionnement logique (LPAR)

Le mainframe est conçu pour être partitionné en LPAR (Logical Partitions). Chaque LPAR dispose de sa propre allocation mémoire, de processeurs logiques et d’un ensemble de volumes disques.

Les processeurs logiques ne sont pas équivalents à des processeurs physiques, ils représentent plutôt une capacité de traitement, comparable à une part de temps CPU attribuée par le système.

La gestion de ces ressources est orchestrée par PR/SM (Processor Resource/System Manager), l’hyperviseur matériel d’IBM. Il répartit dynamiquement la puissance de calcul entre les LPAR en fonction des politiques définies par les administrateurs et en prenant en compte les priorités définies par WLM.

Types de processeurs (CP, IFL, zIIP, zAAP, SAP…)

Central Processors (CP) : les processeurs centraux génériques servant à réaliser la plupart des opérations.

IBM z Integrated Information Processor (zIIP) : processeur dédié conçu pour fonctionner de manière asynchrone avec les processeurs mainframe à usage général afin de traiter de nouvelles workloads, gérer les conteneurs et les interfaces cloud hybrides, faciliter la restauration système et faciliter plusieurs types d’analyses, la surveillance système et d’autres applications. Historiquement c’était également pour gérer les workloads liés à DB2.

IBM Integrated Facility for Linux (IFL) : processeur dédié aux workloads Linux sur IBM Z et LinuxONE.

z Application Assist Processor (zAAP) : un processeur historique servant à faire tourner des workloads Java et XML

System Assistance Processor (SAP) : processeurs spécialisés pour réaliser les I/Os

Mémoire

Comme n’importe quel ordinateur, le mainframe compose avec de la mémoire réelle (RAM). Cependant, elle va également utiliser de la mémoire auxiliaire (AUX) permettant d’étendre virtuellement la mémoire réelle, un peu comme le swap ou le paging file dans un système Windows/UNIX. Sur le mainframe, la mémoire auxiliaire est stockée dans des Direct-Access Storage Devices (DSAD).

Le fonctionnement d’un mainframe repose sur le concept d’Espace Adresse (Address Space), qui correspond à l’espace mémoire virtuel alloué à un programme ou un sous-système. Aujourd’hui, les mainframes utilisent un adressage en 64 bits, permettant d’adresser un volume considérable de mémoire.

La mémoire réelle est découpée en frames 4K non contiguës. Le système gère la pagination via :

  • VSM (Virtual Storage Manager)
  • RSM (Real Storage Manager)
  • ASM (Auxiliary Storage Manager)

Canaux d’entrée/sortie (I/O) et stockage

Le stockage repose souvent sur des baies de disques IBM DS8000, toujours reliées via des switchs afin d’assurer redondance et performance

Le VSM (Virtual Storage Management) gère l’abstraction du stockage. De plus, les environnements exploitent fréquemment des VTS (Virtual Tape Servers), qui permettent de simuler des bibliothèques de bandes physiques à partir de disques. Le système croit écrire sur une cassette, alors qu’il écrit en réalité sur des volumes logiques, eux-mêmes chiffrés.

Hypersocket : communication réseau au sein même de la machine (CREUSER). Création de réseaux avec même du VPN à l’intérieur et des règles de communication et filtrage.

La connectivité réseau est assurée par les cartes OSA (Open System Adapter), qui offrent des interfaces Ethernet. Les imprimantes dans les environnements mainframe modernes sont généralement connectées via IP en utilisant ces cartes réseau.

Administration matérielle (SE & HMC)

Support Elements

Les Support Elements (SE1 et SE2) sont des PC sécurisés, installés en salle blanche, qui permettent l’administration directe du matériel. L’accès y est protégé par des certificats, et les SE assurent l’autodiagnostic, la bascule vers des ressources en spare ainsi que l’envoi automatisé de logs.

HMC

La HMC (Hardware Management Console) assure l’administration distante du matériel via un accès réseau ou VPN

Configuration matérielle

Les administrateurs système utilisent le HCD (Hardware Configuration Definition) pour définir la configuration hardware au travers d’IODF et d’IOCDS.

L’IODF (Input/Output Definition File) est un ensemble de données qui décrit la configuration matérielle du sous-système d’I/O du système . Il contient des informations sur les canaux, les unités de contrôle et les périphériques connectés au système. Il va servir lui-même à générer l’IOCDS (Input/Output Configuration Data Set) qui décrit la configuration matérielle du CPC.

Ces fichiers sont chargés dans le HCD pour être mis en production suite à un POR (Power On Reset) qui appliquera les configurations matérielles.

Haute disponibilité et redondance

Clustering via Parallel Sysplex

Le Parallel Sysplex est l’architecture de haute disponibilité et de montée en charge d’IBM pour les environnements z/OS.

Il permet de connecter plusieurs systèmes (LPARs) afin qu’ils fonctionnent comme un seul système logique, avec une vision cohérente des données et un partage de charge entre les machines.

La CF est un composant central, matériel ou logiciel, utilisé pour :

  • gérer la mémoire partagée entre LPARs
  • synchroniser les accès aux ressources
  • stocker des structures critiques, comme :
    • Lock Structures : verrous partagés
    • Cache Structures : caches DB2 partagés
    • List Structures : files, structures pour IMS, etc.
    +-------------+  +-------------+
    |   LPAR A    |  |   LPAR B    |
    |  z/OS + DB2 |  |  z/OS + DB2 |
    +-------------+  +-------------+
           \              /
            \            /
          +----------------+
          | Coupling       |
          |  Facility (CF) |
          +----------------+

Redondance des baies de disque

Une organisation habituelle est la suivante :

  • Un système Z est couplé à une baie primaire ;
  • Cette baie primaire est connectée à une baie secondaire de façon synchrone avec une distance physique maximum de 10km ;
  • Cette baie secondaire est connectée à une baie tertiaire de façon asynchrone.

Dans la mesure où tout est répliqué entre les différentes baies, il est également possible de réaliser des flashs copies toutes les X heures pour remonter des infrastructures en cas d’attaques de type rançongiciel.


Systèmes d’exploitation

z/OS

Introduction à z/OS

z/OS est le principal système d’exploitation de l’environnement IBM Z et descendant direct de l’ancien OS/360 d’IBM. Il s’agit d’un OS 64 bits.

Évolution des OS de Systeme Z :

  • 1964 : OS/360
  • 1975 : MVE (Multiple Virtual Storage)
  • 1995 : OS/390 (supportant Unix et TCP/IP)
  • 2000 : z/OS

La dernière version à ce jour est la 3.2.

Gestion des workloads : Workload Manager (WLM)

WLM (Workload Manager) est le métronome qui va faire le lien entre le processeur logique et le processeur physique. Il gère tous les travaux en cours : les ressources mémoire, CPU, I/O. Pour cela, il va toujours regarder si un processeur logique est disponible avant de lui allouer un processus.

Dispatching priority (DP) : Un process sur le Z possède toujours une dispatching priority qui va lui donner une priorité sur d’autres process. Lorsque le WLM va constater la disponibilité d’un processeur, il va utiliser ce paramètre pour évaluer à quel process donner la main.

Démarrage du système : IPL (Initial Program Load)

Il s’agit de la procédure de lancement d’un z/OS, l’également du boot.

L’IPL est chiffré et signé.

Maintenance

Maintien via PTF (Program Temporary Fixes). PTF de tolération : permettent la coexistence de versions différentes.

Réseau

Anciennement : SNA (architecture en 6 couches, AS/400 + mainframe). Aujourd’hui : TCP/IP, mais SNA reste présent dans certaines infra.

z/VM

z/VM (Virtual Machines) est le système d’exploitation permettant de réaliser de la virtualisation. Il s’agit en gros de l’hyperviseur de l’environnement IBM Z.

z/VM est un hyperviseur de type 1 : cela signifie qu’il négocie directement avec le matériel du serveur pour l’allocation des ressources aux VM, pas avec un OS.

z/TPF

z/TPF (Transaction Processing Facility) est arrivé après z/OS et permet d’optimiser du transactionnel.

z/VSE

z/VSE (Virtual Storage Extended) est un OS plus petit et plus simple que z/OS pour des entreprises souhaitant une gestion des transations et des batchs jobs.

z/Linux

Tout simplement Linux porté sur mainframe.

KVM

KVM (Kernel-Based Virtual Machine) est un hyperviseur open-source de type 1.


Sous-systèmes

CICS

Le Customer Information Control System (CICS) est le responsable de la gestion des transactions. Il agit comme une couche intermédiaire d’abstraction entre les applications externes (ex. Applications utiliées sur les postes d’employés en magasin) et les ressources du mainframe (ex. Bases de données, fichiers, programmes etc.). CICS est construit sur un modèle synchrone.

Une application CICS peut être développée dans un des langages de programmation pris en charge par le mainframe : C / Java / COBOL

L’accès à CICS est fourni via VTAM.

IMS

L’Information Management System (IMS) est également un gestionnaire de transaction, à l’instar de CICS. La principale différence est que IMS est construit sur un modèle asynchrone.

VTAM

Le Virtual Telecommunication Access Method (VTAM) est un composant chargé de la gestion des communications réseau. Il sert d’interface entre le système d’exploitation z/OS et les applications qui communiquent via des réseaux SNA (System Network Architecture) ou TCP/IP.

VTAM gère l’établissement, le routage et le contrôle des sessions entre les terminaux, les applications et les systèmes distants. Il permet aux programmes d’échanger des données avec des utilisateurs ou d’autres systèmes de manière fiable et sécurisée tout en optimisant les performances des communications.