HP-UX
| Fiche express | |
|---|---|
| Domaine | Administration système HP-UX |
| Versions | 10.20 / 11.0 / 11i |
| Gestion de volumes | LVM (pvcreate, vgcreate, lvcreate)
|
| Gestion des patchs | SD-UX (swinstall, swcopy, swlist)
|
| Voir aussi | AIX (autre Unix propriétaire, LVM comparable) |
HP-UX est le système d'exploitation Unix propriétaire de Hewlett-Packard (aujourd'hui HPE), pour architectures PA-RISC puis Itanium. Comme AIX, il repose sur son propre LVM (Logical Volume Manager) plutôt que sur les outils Linux, et sur un gestionnaire de paquets dédié (SD-UX) plutôt que sur RPM/APT.
Démarrage
Le démarrage passe par un chargeur en deux étapes avant le noyau : le PDC (Processor Dependent Code, en ROM) recherche un périphérique de boot, puis transfère la main à l'ISL (Initial System Loader) qui charge le noyau :
ISL> hpux # charge /stand/vmunix (noyau par défaut)
ISL> hpux /stand/vmunix.prev # charge le noyau de sauvegarde (après un noyau reconstruit défectueux)
ISL> hpux ll /stand # liste les noyaux disponibles
ISL> hpux -lm # mode maintenance LVM
Une fois le noyau chargé, /sbin/pre_init_rc lance un fsck sur le disque
système puis le premier processus, init. init lit /etc/inittab,
qui définit l'état de marche (run level) par défaut — généralement 4 (mode normal avec CDE).
Le changement d'état de marche (ex. init 3) déclenche /sbin/rc, qui exécute
les scripts sous /sbin/rcN.d :
- les variables d'activation par service sont dans
/etc/rc.config.d/(ex.CRON=1) ; - les scripts de démarrage/arrêt réels sont dans
/sbin/init.d/(ex./sbin/init.d/cron start, utilisable aussi directement à la main après une modification de config) ; /sbin/rcN.d/ne contient que des liens symboliques vers/sbin/init.d/, nommésSnnnservice(Start, exécutés en entrant dans l'état) ouKnnnservice(Kill, exécutés en le quittant) — le numéro fixe l'ordre d'exécution.
Fichiers spéciaux (/dev)
HP-UX accède aux périphériques via des fichiers spéciaux (device files), en mode bloc (bufférisé — disques, CD-ROM) ou caractère (flux — bandes DAT, terminaux ; aussi appelé raw device). Convention de nommage :
c<instance carte>t<adresse SCSI>d<n° périphérique>[section] # disques : /dev/(r)dsk/cCtTdD
/dev/vg<n° volume group>/(r)lvol<n° logical volume> # volumes logiques LVM
/dev/rmt/c<instance>t<adresse>d<densité>[options] # lecteurs DAT (BEST, NOMOD, n=no rewind...)
Commandes de diagnostic et de création :
ioscan -f # liste le matériel détecté et son numéro d'instance
lssf /dev/rdsk/c0t6d0 # décrit un fichier spécial (carte, cible, LUN)
lsdev # liste les drivers chargés et leur major number
insf -e -C tape # (re)crée les fichiers spéciaux d'une classe de périphériques
mksf -d tape2 -I 0 -b DDS1 # crée un fichier spécial précis
mknod b 26 0x002000 /dev/dsk/c0t2d0 # création bas niveau (major/minor number)
Depuis HP-UX 10.20, le plug-and-play crée automatiquement les fichiers spéciaux des nouveaux
périphériques au boot (mais ne supprime pas ceux d'un périphérique retiré) — la création manuelle
via mksf/mknod reste utile en dépannage.
Systèmes de fichiers
Types disponibles : HFS (High Performance File System, historique, accès par bloc), VxFS (Veritas/JFS, journalisé, accès par extent — plus rapide à restaurer, plus gourmand en mémoire), NFS (montages distants) et CDFS (CD-ROM, lecture seule).
bdf # espace utilisé/disponible par filesystem monté (équivalent df)
fuser -u /dev/dsk/c0t5d0 # process utilisant un périphérique
fuser -ku /dev/dsk/c0t5d0 # + les tue (utile pour démonter un disque "busy")
mount # liste les filesystems montés
umount /disc2 # démonte (échoue si busy, cf. fuser)
newfs /dev/rdsk/c0t2d0 # crée un filesystem (type par défaut : /etc/default/fs, HFS)
newfs -F vxfs /dev/vg01/rlvol5 # crée un filesystem VxFS sur un logical volume
fsck -p -n # vérifie sans corriger (à faire avant -y)
fsck -p -y # vérifie et corrige automatiquement (fichiers récupérés dans lost+found)
Montage persistant via /etc/fstab :
/dev/dsk/c0t2d0 /disc2 hfs rw,suid 0 2
/dev/vg00/lvol9 /usr/local vxfs defaults 0 2
hostdistant:/disc /disc2 nfs rw,suid 0 0
Gestion de volumes (LVM)
Comme sous AIX, un disque devient un physical volume (pvcreate), regroupé dans
un volume group (vgcreate), lui-même découpé en logical volumes
(lvcreate) sur lesquels on crée les filesystems :
pvcreate -B /dev/rdsk/c0t4d0 # -B = rend le disque bootable
mkdir /dev/vg01 && mknod /dev/vg01/group c 64 0x010000
vgcreate /dev/vg01 /dev/dsk/c0t4d0 /dev/dsk/c0t5d0
vgextend /dev/vg01 /dev/dsk/c0t2d0 # ajoute un physical volume après coup
lvcreate -L 100 /dev/vg01 # logical volume de 100 Mo
pvdisplay /dev/dsk/c0t4d0
vgdisplay -v /dev/vg01
lvdisplay /dev/vg01/lvol1
Le mirroring logiciel nécessite le produit optionnel payant MirrorDisk/UX. Une fois installé, le disque miroir est préparé et les logical volumes du groupe root étendus dessus :
pvcreate -B /dev/rdsk/c2t2d0
vgextend /dev/vg00 /dev/dsk/c2t2d0
mkboot /dev/rdsk/c2t2d0
mkboot -a "hpux -lq" /dev/rdsk/c2t2d0
mkboot -a "hpux -lq" /dev/rdsk/c1t2d0
lvextend -m 1 /dev/vg00/lvol1 /dev/dsk/c2t2d0
lvextend -m 1 /dev/vg00/lvol2 /dev/dsk/c2t2d0
lvextend -m 1 /dev/vg00/lvol3 /dev/dsk/c2t2d0
lvlnboot -r /dev/vg00/lvol3 # root
lvlnboot -b /dev/vg00/lvol1 # boot
lvlnboot -s /dev/vg00/lvol2 # swap
lvlnboot -d /dev/vg00/lvol2 # dump
lvlnboot -v # vérifie que les LVM sont prêts au boot
Gestion des patchs (SD-UX)
HP-UX gère paquets et patchs via SD-UX (Software Distributor). Procédure classique pour
appliquer un lot de patchs récupérés d'un serveur de patchs : les dépaqueter puis constituer un
dépôt (depot) installable via swinstall :
mkdir /tmp/patches && cd /tmp/patches
# copier les patchs (ftp/rcp/...) dans ce répertoire, puis :
sh PHCO_5400 # dépaquette chaque patch
sh PHCO_6573
sh PHCO_6587
mkdir /tmp/patch_depot
swcopy -v -s /tmp/patches/PHCO_5400.depot PHCO_5400 @ /tmp/patch_depot
swcopy -v -s /tmp/patches/PHCO_6587.depot PHCO_6587 @ /tmp/patch_depot
swcopy -v -s /tmp/patches/PHCO_6573.depot PHCO_6573 @ /tmp/patch_depot
swreg -l depot /tmp/patch_depot # enregistre le dépôt (optionnel)
# swinstall -s /tmp/patch_depot # installe depuis ce dépôt
swpackage -s /tmp/patch_depot -x target_type=tape -d /dev/rmt/0m "*" # exporte le dépôt sur bande
Voir aussi
- AIX — autre Unix propriétaire (IBM), concepts LVM très proches (physical/volume group/logical volume)
- Comparatif commandes — équivalences de commandes entre Unix historiques (Solaris, Red Hat, Ubuntu/Debian, HP-UX, AIX)
Sections démarrage/fichiers spéciaux/filesystems/LVM basées sur le « Cours d'administration HP-UX » d'Olivier Hoarau (funix.org, v1.0, 2004), redistribuable librement avec mention de l'origine et de l'auteur (licence non commerciale explicite du document).