HP-UX (Hewlett Packard UniX) est une implémentation propriétaire du système d'exploitation Unix, basé sur System V, développée par Hewlett Packard Enterprise. HP-UX est utilisé sur des serveurs et des stations de travail HP 9000 et Integrity, équipés respectivement de processeurs PA-RISC (32 et 64 bits), conçus par HP, et Intel Itanium. HP-UX était également disponible pour des systèmes Apollo et les premières versions fonctionnèrent sur des serveurs HP 9000 de série 200, 300 et 400, basés sur des processeurs Motorola de série 68000, ainsi que sur des HP 9000 de série 500, basés sur les processeurs propriétaires HP FOCUS.
Description
HP-UX a été le premier Unix avec permissions d'accès aux fichiers de type liste de contrôle d'accès (ACL) comme alternative au système standard de permission Unix. HP-UX a également été un des premiers Unix à inclure un gestionnaire de volumes logiques intégré. HP a une longue relation avec et intègre VxFS en tant que système de fichier principal. HP-UX 11i est un des Unix commerciaux leaders pour la virtualisation intégrée aux services critiques, la performance observée, la haute disponibilité, ainsi que la facilité de gestion.
HP-UX est un concurrent direct de Sun Solaris, d'IBM AIX et de GNU/Linux.
HP-UX utilise XFree86, l'environnement de bureau CDE et de nombreux logiciels libres, dont le logiciel libre Bastille auquel HP contribue (à l'origine développé pour Red-Hat Linux).
La version, publiée en , est la 11i v3 (aussi connue sous le nom de 11.31). Comme la version précédente, cette version supporte les processeurs PA-RISC et Itanium. La nouvelle version introduit NFSv4 et le support hyperthreading pour les processeurs Itanium.
La dernière version est HP-UX 11i v3 (11.31), dont le dernier update est .
Du fait de l'arrêt des processeurs Itanium, HP-UX doit atteindre sa fin de vie d'ici .
Environnements d'opération
HP-UX est fourni en quatre versions différentes pré-intégrées et testées.
L'environnement d'opération de base (base operating environment - BOE) est le système d'exploitation de base, auxquels s'ajoutent de nombreux paquets supplémentaires, tels que SRP (Partitions de ressources sécurisées), Bastille, OpenSSL, Secure Shell (une implémentation d'OpenSSH), IPSec, Fedora Directory Server, Apache, Java, Tomcat, Ignite-UX, etc. L'environnement d'opération Haute Disponibilité (High-availibility Operating Environment - HA-OE) est centré autour de la solution de cluster ServiceGuard. Il contient l'environnement d'opération de base ainsi que ServiceGuard (et ses extensions et boites à outils pour NFS, par exemple), MirrorDisk/UX, OnlineJFS et GlancePlus. L'environnement d'opération Virtualisation (Virtual Server Environment - VSE-OE) permet aux administrateurs de serveurs HP-UX d'utiliser l'environnement de base, mais, au-delà, d'utiliser les outils de virtualisation vPar et Integrity Virtual Machines. Il inclut également les outils de gestion de charge Global Workload Manager et de consolidation Capacity Advisor. Finalement, l'environnement d'opération de centre de données (Datacenter Operating Environment - DCOE) inclut les trois environnements d'opération précédents.
Virtualisation
Les systèmes HP-UX proposent différentes couches de virtualisation afin de répondre à différents types de charge.
les nPars (node Partition - partition de nœud) sont uniquement disponibles pour les systèmes Superdome 2 et constituent un groupement logique de plusieurs serveurs en lame physiques. Cette approche offre une granularité au niveau de la cellule (deux processeurs, huit cœurs) et a l'avantage d'une isolation électrique complète entre les composants. Il est possible d'installer HP-UX directement sur la nPar (bare-metal) ou de créer une vPar (voir ci-dessous) les vPars (virtual Partitions - partitions virtuelles) sont également uniquement disponibles pour les systèmes Superdome 2. Elles permettent de subdiviser une nPartition avec une granularité d'un cœur de processeur. Il est par exemple possible d'avoir, sur une nPar de deux processeurs/huit cœurs, une vPar d'un cœur et une autre vPar de sept cœurs. les Integrity Virtual Machines peuvent être installées sur tout type de serveur HP-UX (excepté les vPars). Le système hôte peut être, par exemple, une nPar ou un serveur HP Integrity en lame ou monté en rack. Les Integrity Virtual Machines (également appelées HPVM) fonctionnent sur le principe d'une architecture complètement partagée. Les ressources (processeurs, mémoire vive, I/O) sont partagées entre machines virtuelles. Ce système présente l'avantage d'être extrêmement flexible : les machines virtuelles peuvent être migrées d'un hôte à un autre sans interruption du système d'exploitation. Elles peuvent également être intégrées à un environnement de clustering MC/ServiceGuard pour créer des machines virtuelles à haute disponibilité. Les Secure Resource Partitions (SRP - partitions de ressources sécurisées) permettent d'isoler des applications à l'intérieur même de toute instance du système d'exploitation HP-UX. Les SRP créent des compartiments isolés et permettent d'empêcher toute communication inter-processus (IPC) ou signaux envoyés à des processus envoyés d'une partition à une autre. De plus, elles permettent d'attribuer à une partition, soit des parts de processeur (grâce au mécanisme de FSS - fair share scheduler), soit des processeurs entiers (grâce au mécanisme de pSets - processor sets). Enfin, la mémoire vive, certains systèmes de fichiers, ainsi que les interfaces réseaux peuvent être attribuées exclusivement à une SRP. Des patrons pour Tomcat, SSH et Oracle sont disponibles afin d'intégrer facilement les applications à ces containers.
Gestion du stockage
Depuis l'introduction d'HP-UX 11i v3, la gestion du stockage est faite au moyen de fichiers spéciaux appelés Persistent Device Special Files (Persistent ou Agile DSF, par exemple : /dev/disk/disk6), par opposition aux Legacy DSF (par exemple /dev/dsk/c2t0d4) utilisés dans les versions précédentes de HP-UX. Ces fichiers assurent la connectivité, par exemple, aux disques locaux ou à des LUN présentées via SAN. Les Persistent DSF assurent le multipathing, permettant aux données de transiter par différents chemins dans la fabrique SAN, ils gèrent le load-balancing entre ces différents chemins, ainsi que le failover, qui assure la continuité du service, même en cas de problème sur un des chemins. De plus, ces fichiers restent constants, même en cas de changements de taille de la LUN. Les produits de gestion du multi-pathing EMC PowerPath, HP Securepath ou Veritas DMP ne sont donc plus nécessaires sur HP-UX 11.31.
Il existe trois choix de systèmes de gestion de volumes logiques (LVM) LVM est le système de gestion de volumes logiques (LVM) de base d'HP-UX. Il supporte des volumes physiques jusque , jusqu'à 2048 groupes de volumes (volume groups - VG) et des volumes logique (logical volumes - LV) d'une taille de . Veritas Volume Manager (VxVM) Cluster Volume Manager pour les applications déployées en cluster, par exemple avec ServiceGuard
Au niveau du système de fichiers, HP-UX supporte le système de fichier de base de Veritas (VxFS-lite), le système de fichiers OnlineJFS (le VxFS complet), ainsi que CFS (Clustered File System) et HFS, d'origine HP mais inusité aujourd'hui car manquant de fonctionnalités.
Administration
HP-UX peut compter sur un écosystème complet d'applications permettant une administration aisée.
Software Assistant (SWA) permet de surveiller le niveau de rustine (patch) de centaines de serveurs afin d'appliquer les changements rapidement après que des alertes, par exemple de sécurité, ont été émises.
Ignite-UX permet de déployer des instances d'HP-UX, soit en installant les paquets un par un, soit en utilisant une image logicielle (golden image), par le réseau Ethernet, utilisant le mécanisme de PXE boot. Il est également possible d'utiliser Ignite pour créer des sauvegardes d'HP-UX dans le cadre d'un plan de reprise d'activité (PRA).
Pour les administrateurs qui ne se sentent pas à l'aise avec la ligne de commande, HP-UX dispose d'une application web appelée System Management Homepage qui permet d'effectuer toutes les tâches quotidiennes d'administration de manière graphique. Par exemple, augmenter la taille d'un volume logique et de son système de fichier peut être réalisé de manière très simple, l'extension du volume logique et du système de fichier étant combiné en une seule action.
Gestion des logiciels
Software Distributor (SD) est l'outil d'administration des paquets logiciels. Il fournit un ensemble d'outils permettant la création et l'installation de paquets. Ces paquets peuvent être groupés dans un dépôt logiciel (depot). Un serveur peut contenir de multiples dépôts pour l'installation de paquets différents, et même de systèmes complets.
Les outils d'opérations de distribution de logiciel sont en général exécutées à la ligne de commande. Software Distributor inclut les commandes suivantes :
swacl — l'accès aux produits ou dépôts logiciels peuvent être contrôlés granulairement par une ACL (Access Control List). Cette liste est gérée par la commande swacl swask — exécute des scripts de demande de logiciel interactifs et enregistre les réponses pour un usage futur par les fichiers de swinstall et de swconfig swconfig — configure ou déconfigure un paquet logiciel installé swcopy — copie un paquet logiciel sur un dépôt swinstall — installe un ou plusieurs paquets logiciels sur un système local ou distant. Ceci peut causer un redémarrage si les paquets installés l'exigent swjob — crée et surveille les tâches batch de Software Distributor swlist — liste les produits logiciels installés ou le contenu de dépôts. Un nombre considérable de paramètres de paquets peuvent être affichés en utilisant les arguments appropriés de cette commande swmodify — modifie les particularités d'un paquet logiciel installé sur un système ou chargé sur un dépôt swpackage — un fichier de spécification est passé à cette commande, indiquant comment ce paquet doit être construit. Le paquet peut ensuite être ajouté à un dépôt ou sur un média pour être envoyé par la poste swreg — enregistre ou supprime un dépôt. Seuls les dépôts enregistrés seront affichés en utilisant swlist pour dépôts sur un serveur distant swremove — supprime un paquet d'un système ou dépôt. Ceci peut causer un redémarrage si les paquets à supprimer l'exigent swverify — teste un produit logiciel pour déterminer si l'état d'installation est normal
Les paquets logiciels sont construits par un fichier de spécification, un groupe de scripts d'installation, et le contenu du logiciel propre. Les scripts d'installation sont exécutés durant l'installation, la vérification, la suppression et peuvent être utilisés afin de préparer un système pour le logiciel ou activer ou désactiver des paquets.
Le fichier de spécification détermine comment le paquet logiciel sera organisé, il liste les endroits des différents fichiers à charger dans le paquet, restreint les systèmes sur lesquels les paquets peuvent être installés et détermine la configuration de sécurité du paquet. Il fournit également de nombreuses informations sur le paquet, tels que son nom, sa version et sa description.
Les paquets logiciels sont organisés en containers, le niveau le plus haut étant un groupement (bundle) ou un produit (product), et le plus bas étant les fichiers. La hiérarchie s'établit comme suit:
Bundle Product(s) Subproduct(s) Fileset(s) Files
En fait, seuls les niveaux « Product » et « Fileset » sont utilisés par la plupart des paquets. Le niveau « Subproduct » (sous-produit) est parfois utilisé pour grouper des « Filesets » (groupes de fichiers), tandis que le « Bundle » fournit un groupement de haut-niveau pour produits reliés entre eux. Un exemple typique est le « Bundle » HP-UX web services, qui contient les « Products » Apache et Tomcat.