Juin 152011
 

si vous souhaitez savoir si un patch existe ou a existé sur un serveur HP, vous avez deux solutions.
la solution simple:

# swlist -x show_superseded_patches=true PHKL_40381

l’inconvénient c’est que selon le niveau de superseding, on peut ne pas trouver.
et de toutes façons, on a pas toutes les infos.
exemple sur un de mes systèmes:

ERROR:   Software "PHKL_38038" was not found

la solution script:

Download : supersede.sh#!/bin/ksh

PATCHS_TO_FOUND= »$(echo $* |tr  »  » « | ») »

[ -z « $PATCHS_TO_FOUND » ] && {
echo « Erreur: merci de mettre un nom/numero patch en argument »
exit
}

cd /var/adm/sw/products

for i in PH*/pfiles/README
do
awk -v i= »${i%%/*}:  » ‘BEGIN {
printf « %s »,i
}
/^Supersedes:$/,/^$/ {
printf
}
END {
printf « \n »
}’ $i
done | \
sed ‘s/: $/: Exist, no supersedding/’ | \
egrep « $PATCHS_TO_FOUND » | \
tr  »  »  »  » | \
tr -s  »  » | \
while read line
do
for patch in $(echo « $PATCHS_TO_FOUND » |tr « | »  » « )
do
[ -n « $(echo $line |grep $patch) » ] || continue
echo $line |awk -v patch=$patch ‘{
for ( i=1 ; i<=NF ; i++ ){ if ($i ~ patch) { gsub("^","-=[",$i) ; gsub("$","]=-",$i) ; print ; exit ; } } }' done done exit 0 [/bash]

avec son exemple sur le même système qu’au dessus:

# supersede.sh PHKL_38038
PHKL_41005: Supersedes: PHKL_36241 PHKL_36160 PHKL_35936 PHKL_35899 PHKL_36872 PHKL_36457 PHKL_36242 PHKL_38987 PHKL_38449 PHKL_38275 PHKL_38243 PHKL_38174 -=[PHKL_38038]=- PHKL_37452 PHKL_37185 PHKL_37184 PHKL_36054 PHKL_35900 PHKL_40942 PHKL_40441 PHKL_40240 PHKL_40130 PHKL_39747 PHKL_39401 PHKL_38949 PHKL_38651
PHKL_41362: Supersedes: PHKL_36241 PHKL_36160 PHKL_35936 PHKL_35899 PHKL_36872 PHKL_36457 PHKL_36242 PHKL_38987 PHKL_38449 PHKL_38275 PHKL_38243 PHKL_38174 -=[PHKL_38038]=- PHKL_37452 PHKL_37185 PHKL_37184 PHKL_36054 PHKL_35900 PHKL_41588 PHKL_41355 PHKL_41005 PHKL_40942 PHKL_40441 PHKL_40240 PHKL_40130 PHKL_39747 PHKL_39401 PHKL_38949 PHKL_38651

on identifie facilement si un patch existe ou même s’il est supersedé, ça fonctionne à tout les coups.
vous pouvez même vous passer d’utiliser le nom complet, une recherche sur 38038 aurait fonctionné pareil, et vous pouvez analyser plusieurs patchs en même temps.

Juin 152011
 

depuis que j’ai mis à jour la configuration mail de EMS sur mes serveurs, je n’arrête pas de recevoir des mails sur des alertes qui datent depuis plus d’un an pour certaines.

cela n’est pas très grave en soi mais je reçois ces alertes dépassées tous les jours, et sur un millier de serveurs…ça devient quand même gênant.

appel au support : on me propose de downgrader EMS et d’y appliquer un patch :/
sont fous ou quoi ?!?

bref, après quelques recherches sur le net, voici la procédure:
Continue reading »

 Publié par à 11 h 06 min  Taggué avec :
Juin 152011
 

lorsque l’on synchronise un miroir LVM, on a dès fois envie de savoir ou il en est de sa synchronisation.

la fonction suivante vous permettra de le savoir très simplement.

cette fonction prend en argument le vg qui est en cours de synchronisation.
affichera le lvol en cours de synchro et affichera progressivement le nombre d’extents restant à synchroniser.
Continue reading »

 Publié par à 10 h 57 min  Taggué avec :
Juin 152011
 

La commande magique pour faire un reset du GSP est la suivante:

stty +resetGSP < /dev/GSPdiag1

sur un hp-ux version 11.11, il faut les patchs:
PHNE_32616 et PHCO_32202

et sur un superdome:
il faut démonter la tôle arrière pour appuyer sur le bouton reset du gsp

 Publié par à 10 h 20 min  Taggué avec :
Juin 152011
 

Les filesystèmes MemFS sont montés en mémoire. plusieurs paramètres sont a vérifier pour monter correctement un filesystème MemFS.

  • la taille maximum d’un FS MemFS est définie par UFS_MAXDEVBLK dans le fichier (255GB par défaut)
  • le paramètre kernel maxdsiz_64bit (data segment) limite la taille d’un FS MemFS
  • le paramètre kernel dbc_max_pct (buffer cache) limite lui aussi la taille d’un FS MemFS
  • 11iv2 – le paramètre kernel memfs_bufcache_swappct ajoute un seuil de buffer mémoire libre au dela duquel il y aura swapping.
  • 11iv3 – le paramètre kernel memfs_swapmax_pct ajoute un seuil de buffer mémoire libre au dela duquel il y aura swapping.

les erreurs:

  • mount: Out of memory ← augmenter le paramètre maxdsiz_64bit
  • No space left on device ← augmenter le paramètre dbc_max_pct

monter un FS Memfs :

# mount -F memfs -o size=512MB /mnt

pour vérifier qu’il reste de la mémoire libre, lancer kmeminfo:

# kmeminfo |grep Free
Free memory           = 16560438   63.2g  40%
Juin 152011
 

si à un moment vous sentez que la connexion à votre serveur est assez lente, c’est peut-être parce que ce fichier est trop gros.

Faire une copie de wtmp dans un répertoire moins critique /tmp par exemple

$ cp /var/adm/wtmp /tmp/wtmp 

Convertir le fichier en ascii

$ /usr/sbin/acct/fwtmp < /var/adm/wtmp > /tmp/wtmp

Continue reading »

Juin 152011
 

Une méthode extrêmement simple pour installer un boot relay

Partie 1 : Serveur Relay
sur le vlan ou se trouve le client a installer, trouver un serveur HP-UX.
éditer le fichier /etc/bootptab en ajoutant les éléments suivants:

relay:
        ht=ether:
        ha=000000000000:
        hm=000000000000:
        bp=10.10.10.10

bp contient l’adresse IP du serveur d’installation Ignite

activer bootps en décommentant la ligne correspondante dans /etc/inetd.conf.
Continue reading »

Juin 152011
 
Download : tunables.txt
HP-UX kernel tunables:

aucun paramètre kernel n'est dynamic avant la release B.11.11
Ce tableau recense les paramètres dynamiques pour chaque release
il faut les addditionner de release en release.

 /------------------------------------------------
 |                      DYNAMIC                   |
/-------------------------------------------------------------------------------------------------------
|       B.11.11       |      +B.11.22       |         +B.11.23         |         +B.11.31               |
|        -----        |        -----        |           -----          |           -----                |
| core_addshmem_read  | executable_stack    | aio_* tunables(7)        | max_async_ports                |
| core_addshmem_write | ksi_alloc_max       | alwaysdump               | msgmbs (new)                   |
| maxfiles_lim        | max_acct_file_size  | dbc_max_pct              | msgmni                         |
| maxtsiz             | max_thread_proc     | dbc_min_pct              | msgtql                         |
| maxtsiz_64bit       | maxdsiz             | dontdump                 | hires_timeout_enable (new)     |
| maxuprc             | maxdsiz_64bit       | dump_compress_on (new)   | max_async_ports                |
| msgmax              | maxssiz             | enable_idds              | process_id_min (new)           |
| msgmnb              | maxssiz_64bit       | fs_symlinks              | process_id_max (new)           |
| scsi_max_qdepth     | nkthread            | ncdnode                  | expanded_node_host_names (new) |
| semmsl              | nproc               | st_* tunables(3)         | ipl_buffer_sz (from ndd)       |
| shmmax              | physical_io_buffers | vxfs_ifree_timelag (new) | ipl_suppress (from ndd)        |
| shmseg              | secure_sid_scripts  |                          | ipl_logall (freom ndd)         |
|                     | shmmni              |                          | lcpu_attr (new)                |
-------------------------------------------------------------------------------------------------------/

les parametres automatiques sont des paramètres dynamiques mais non modifiable
par un user (s'ajustent par des formules mathématiques)

 /------------------------------------------------
 |                    AUTOMATIC                   |
/-------------------------------------------------------------------------------------------------------
|       B.11.11       |       +B.11.22      |         +B.11.23         |         +B.11.31               |
|        -----        |         -----       |           -----          |           -----                |
|                     | maxswapchunks       | nfile                    |                                |
|                     | ncallout            | nflocks                  |                                |
|                     |                     | physical_io_buffers      |                                |
|                     |                     | maxfiles                 |                                |
-------------------------------------------------------------------------------------------------------/

et voici les paramètres obsolètes:
 /------------------------------------------------
 |                     OBSOLETE                   |
/-------------------------------------------------------------------------------------------------------
|       B.11.11       |       +B.11.22      |         +B.11.23         |         +B.11.31               |
|        -----        |         -----       |           -----          |           -----                |
| vx_noifree          | bootspinlocks       | maxusers                 | physical_io_buffers            |
|                     | clicreservedmem     | shmem                    | eqmemsize                      |
|                     | ndilbuffers         | sema                     | pfdat_hash_locks               |
|                     | nni                 | mesg                     | region_hash_locks              |
|                     | netisr_priority     |                          | swapmem_on                     |
|                     | netmemmax           |                          | unlockable_mem                 |
|                     | spread_UP_drivers   |                          | msgmax                         |
|                     |                     |                          | msgssz                         |
|                     |                     |                          | msgmap                         |
|                     |                     |                          | msgseg                         |
|                     |                     |                          | nfile (but present)            |
|                     |                     |                          | bufcache_max_pct               |
|                     |                     |                          | bufpages                       |
|                     |                     |                          | dbc_min_pct                    |
|                     |                     |                          | dbc_max_pct                    |
|                     |                     |                          | nbuf                           |
|                     |                     |                          | sendfile_max                   |
|                     |                     |                          | bcvmap_size_factor             |
|                     |                     |                          | dskless_node                   |
|                     |                     |                          | file_pad (but present)         |
|                     |                     |                          | o_sync_is_o_dsync (but present)|
|                     |                     |                          | hpux_aes_override (but present)|
|                     |                     |                          | core_large_utsname_on          |
|                     |                     |                          | scsi_maxphys                   |
|                     |                     |                          | scsi_max_qdepth                |
|                     |                     |                          | default_disk_ir                |
|                     |                     |                          | ioforw_timeout                 |
|                     |                     |                          | maxvgs                         |
-------------------------------------------------------------------------------------------------------/
Juin 152011
 

marre de chercher certains packages à installer quand je ne sais pas dans quel dépot il se trouve.

voici deux fonctions qui font les recherches pour moi (la deuxième fonction fait appel à la première.):

function swd { D=$(swlist -l depot |egrep -v '#') ; [ -n "$1" ] && echo "$D" |egrep "$1" || echo "$D" ; }
function swl { [ -z "$2" ] && L=$(swd) A=$1 || L=$(swd $1) A=$2 ; for i in $L ;do echo $i ; swlist -l fileset -s $i |egrep -i "$A" ; echo ; done ; }

Continue reading »

Juin 142011
 

parceque c’est du n’importe quoi !
bon, je sais ce n’est pas très objectif et encore moins construtif comme commentaire, mais il y a tout un tas de choses qui m’énerve.

/etc/vfstab

Impossible de nommer ce fichier fstab comme tout le monde?
il a fallût absolument rajouter un « v » devant?

/etc/ipnodes

le genre de fichier qui ne sert à rien mais qui est indispensable, censé remplacer le fichier /etc/hosts…
dans quel but ?
c’est tellement absurde que généralement on peut voir que le fichier /etc/ipnodes est un lien symbolique vers /etc/hosts.
bah oui, ce fichier ne sert à rien mais s’il est effacé, le réseau ne fonctionne plus
Continue reading »