Skip to content

ProdInfo

Narrow screen resolution Wide screen resolution Increase font size Decrease font size Default font size    Default color brown color green color red color blue color
You are here: Accueil arrow Système arrow Unix arrow [AIX] Memento
Skip to content
[AIX] Memento Suggérer par mail
Écrit par canto   
14-06-2007

Mémento de commandes d'administration pour AIX (≤ 5.x)

 

 Découverte du Système

 Commandes  Description
# oslevel –r  version d’Aix et Maintenance Level (ml) ou TL 
# lslpp –l bos.mp  Basic Operating System – Multi Processor 
# uname –a  nom machine + version OS 
# uname -M  modèle de la machine 
# uptime  durée de démarrage & index de charge (2 peu chargée – 5/6 assez chargée - >10 pb) 
# lsps -a  affiche le swap
# bootinfo -r  taille de la mémoire réelle en Kb 
# bootinfo –s hdisk#  taille du disque # 
# bootinfo -b  disque utilisé lors du dernier boot 
# bindprocessor -q  nombre de processeur(s) 
# prtconf  displays system configuration information 
# lsitab –a  voir le fichier /etc/inittab 
# ifconfig –a  liste des interfaces réseau & ip 
# w ou who ou users  utilisateurs connectés 
# w nomduser  aperçu de l'activité de la machine 
  -h supprime l'entête 
  -s affichage restreint nom d'utilisateur 
# whereis nomdelacommande  affiche le chemin complet d'accès à tous les répertoires contenant la commande 
# which nomdelacommande affiche le chemin complet d'accès à une commande
# /etc/motd : Message Of The Day  c’est à cet endroit que se trouve le message lors de la connexion d’un user 
# echo $TZ  affiche la Time Zone du serveur 
# lslicense  information sur la licence 
# echo $ODMDIR chemin de la base de données ODM 
# bootlist –om normal information sur la bootlist mode normal
# bootlist –m normal hdisk#  modifie la boolist ; l’os démarrera sur le hdisk# 
# instfix –i | grep ML liste des Maintenance Levels 
# lslpp –l  liste des produits installés 
# lssrc -a  liste des sous-systèmes active/inoperative
# lsdev -CH  périphériques disponibles CuDv (ODM) 
# lsdev –Cc disk  périphériques par classe (disk) 
# lsdev -PH  périphériques prédéfinis PdDv (ODM) 
# lsdev –Pr class  liste des classes de périphériques 
# lsdev –Cs scsi –H –F "name status location connwhere description" s=sous-classe, H=entête, F=champs 
# lscfg -v  infos détaillées sur la configuration du système 
# lscfg –vl hdisk0  infos détaillées sur hdisk0 
# lsps -a  configuration de l’espace de pagination 
# sysdumpdev  configuration du dump 
# lsattr –El en0/en1  caractéristiques des objets 
# lsattr –El sys0  une partie des paramètres noyau 
# lsattr -EH -l mem0  infos sur la mémoire physique 
# no -a  liste des paramètres configurables du réseau.
(modifiable à chaud ou via /etc/rc.net) 
# lsparent –C –k ent  liste des cartes réseau 
# rcpinfo –p  liste des programmes RPC enregistrés auprès du portmapper 
# getconf -a | grep KERN  affiche le bitmode (32, 64, …) ≥ AIX 5.i
# lslpp –l  liste des logiciels installés 
# lslpp –L all  liste des logiciels installés 
# instfix icqk 4330-08_AIX_ML | grep ":=:"  affiche tous les composants qui sont en version 4.3.3 et en ml 08 

Processus

 Commandes  Description
# ps –eaf  information sur les processus 
# kill –l affiche les signaux possible à envoyer à un processus 
# fuser FS  affiche les processus accrochés à un FS (remplacé par LSOF dans les versions AIX plus récentes) 
# ps auxw | more (ou ps gaux |more) affiche l’utilisation des processeurs & mémoire    par processus 
# echo $?  affiche le code erreur de la dernière commande passée 

Fichers et Répertoires

 Commandes  Description
# file <fichier> affiche la nature d’un fichier 
# istat   examine les inodes. Donne, entre autre, la date du dernier accès d’un fichier 
# pwd  affichage du répertoire courant 
# tar cvf nomdarchive nomdefichier  création de l’archive
# tar tvf nomdarchive visualisation de l’archive 
# tar rvf nomdarchive nomdefichier  rajout dans l’archive 
# tar xvf nomdarchive nomdefichier  restauration de l’archive 
# du –akx | sort –rn | more affiche la taille (en blocs de 1024 bits) des fichiers utilisés uniquement sur le FS 
# ls –s F L crée un lien symbolique sur F nommé L 
# wc –c file1 compte les caractères de file1 
find /tmp -type f -mtime +600 -exec rm {} \; purger dans /tmp les fichiers de + de 600 jours

Utilisation du LVM

 Commandes  Description
Physical Volume : chaque disque est désigné par un Physical Volume Identifier. Le PVID est stocké sur le disque physique lui-même et dans la base ODM. 
Volume Group : chaque volume group est désigné par un Volume Group Descriptor Area. Une copy de la VGDA est stockée sur chaque disque du Volume Group. 
Logical Volume : chaque logical volume contient un Logical Volume Control Block qui est stocké dans les 512 premiers octets du logical volume. La LVCB contient des informations sur la date de création, les mirroring, les points de montage, etc.
ODM : la base Object Data Manager est utilisée par le LVM pour stocker des informations. Il existe un objet ODM appelé vg-lock. Lorsqu’une commande LVM est passée sur un VG, un lock est positionné sur le VG jusqu’à la fin de cette commande. Si pour une raison quelconque le lock persiste après la fin de la commande, le VG peut être déverrouillé grâce à varyonvg –b qui doit être passé sur un VG déjà activé. 
mkvg [-d MaximumPhysicalVolumes][-B][-G][-f] [-i][-c][-x] [-m MaxPvSize][-n][-s Size][-t factor] [-V MajorNumber][-y VolumeGroup] PhysicalVolume  creation d’un VG (un seul fichier special en mode caractère)
# mkvg –y “vgname” hdisk2 hdisk3  création d’un VG vgname qui comporte les disques hdisk2 et hdisk3 
mklv [-a Position][-b BadBlocks][-c Copies][-d Schedule] [-e Range][-i][-L Labek][-m MapFile][-r Relocate] [-s Strict][-t Type][-u UpperBound][-v Verify] [-y NewLogicalVolume | -Y Prefix][-S StripeSize][-U Userid] [-G Groupid][-P Modes] VolumeGroup Number [PhysicalVolume …] création d’un LV
# mklv –y lv_name –c rootvg 2 hdisk0 hdisk2  création lv_name mirroré avec 2 LPs 
crfs –v VfsType {-g VolumeGroup|-d Device} [-l LogPartitions] –m MountPoint [-n NodeName] [-u MountGroup] [-A {yes|no}] [-p {ro|rw}] [-a Attribute=Value…] [-t{yes|no}]  création d’un FS
# crfs –v jfs –d lvname –m /mnt –A yes –p rw   
lsvg [-L][-o]|[-n DescriptorPhysicalVolume]|[-i][-I-M|-p]  liste des VG 
# lsvg –l vgname  détails du VG
# lsvg –o | lsvg –i -l  liste des vg, lv & fs associés 
lslv [-L][-l|-m][-nPhysicalVolume] LogicalVolume  liste des LV
# lslv –l lvname  liste les PV du LV 
# lslv –m lvname détails des PV du LV 
lsfs [-q][-c|-l][-a|-v VfsType|-u MountGroup|FS…]]  liste des FS 
# lsfs –a  liste des FS 
# lsfs –q /fs_name  détails du FS 
lspv [-L][-l|-p|-M][-n DescriptorPhysicalVolume] [-v VolumeGroupID] Physical Volume  liste des PV 
# lspv –p hdisk0  répartition des PPs 
extendvg [-f] VolumeGroup PhysicalVolume…  extension d’un VG 
# extendvg vgname hdisk2  ajout du hdisk2 au VG 
extendlv [-a Position][-e Range][-u Upperbound][-s Strict] LogicalVolume Partitions [PhysicalVolume…] extension d’un LV
# extendlv lvname 8 hdisk2  ajout du hdisk2 au LV
mklvcopy [-a Position][-e Range][-k][-m MapFile] [-s Strick][-u UpperBound] LogicalVolume Copies [PhysicalVolume…]  création d’une copie de LV 
# mklvcopy –s n lvname 2 hdisk1   
rmlvcopy LogicalVolume Copies [PhysicalVolume…]  suppression d’une copie de LV 
# rmlvcopy lvname  
cplv [-v VolumeGroupe][-y NewLogicalVolume|-Y Prefix] SourceLogicalVolume [-L VolumeGroupe][-n][-F][-R] PhysicalVolume  copie du contenu d’un LV
# cplv –v vgname –y lvcible lvsource  
importvg [-V MajorNumber][-y VolumeGroupe][-f][-c] [-x]| [-L VolumeGroupe][-n][-F][-R] PhysicalVolume importation d’un groupe de volume dans la base ODM 
# importvg –y vgname hdisk2   
exportvg VolumeGroup  exportation d’un groupe de volume, le vg doit être inactif 
# exportvg vgname   
ATTENTION: le VG est supprimé de la base ODM 
mirrorvg [-S|-s][-Q][-c Copies][-m] VolumeGroup[PhysicalVolume…] mise en miroir d’un VG 
# mirrorvg –c2 vgname hdisk2   
ATTENTION: mirrorvg = désactivation quorum + ajout d’une copie + synchronisation du vg 
unmirrorvg [-c Copies] VolumeGroup [PhysicalVolume…]  suppression d’une copie d’un mirroir 
# unmirrorvg vgname hdisk2  suppression de la copie sur hdisk2 
ATTENTION: unmirrorvg = suppression d’une copie + activation quorum 
syncvg [-f][-i][-H][-P NumParallelLps]{-l|-p|-v} Name…  synchronisation d’un VG / LV / PV 
# syncvg –v vgname   
# syncvg –l lvname  
# syncvg –p pvname   
reducevg [-d][-f] VolumeGroup PhysicalVolume… suppression d’un disque du VG 
# reducevg vgname hdisk#   
rmlv [-B][-f][-p Physical Volume] LogicalVolume      suppression d’un LV
# rmlv lvname   
rmfs [-r] FileSystem  suppression d’un FS 
# rmfs –r fsname suppression du FS + point de montage
ATTENTION: si le FS est en JFS → suppression du LV associé 
chvg [-a AutoOn{n|y}][-c|-l] [-Q{n|y}][-u][-x{n|y}] [-t[factor]][-B] VolumeGroup modification des caractéristiques d’un VG 
# chvg –Qn vgname  désactivation du quorum 
chlv [-a Position][-b BadBlocks][-d Schedule][-e Range]    [-L label][-p Permission][-r Relocate][-s Strict][-t Type] [-u Upperbound][-v Verify][-w MirrorWriteConsistency] [-x Maximum][-U Userid][-G Groupid][-P Modes] LV  modification des caractéristiques d’un LV
# chlv –n lvname1 lvname2  changement de nom 
# chlv –x 600 lv_name  augmentation max LP 
chfs [-n NodeName][-m NewMountPoint][-u MountGroup] [-A{yes|no}][-p{ro|rw}][-t{yes|no}][-a Attribute=Value] [-d Attribute]FileSystem modification des caractéristiques d’un FS 
# chfs –a size=+32768 /mnt4  
# chfs –m /mnt1 /mnt2  (nouveau ancien)
# chfs –u groupname /fsname (mount –t groupname) 
chpv [-a Allocation][-v Availability][-c] PhysicalVolume modification d’un PV
# chpv –c hdisk0 suppression enregistrement de boot
migratepv [-i] [-l LogicalVolume] SourcePhysicalVolume DestinationPhysicalVolume  migration d’un PV vers un autre
# migratepv –l lvname hdisk1 hdisk2  
defragfs [-q|-r]{device|FS}  défragmentation de FS en ligne 
# defragfs –q fsname   
redefinevg {-d Device|-i Vgid} VG  examine chaque disque et met à jour la base ODM 
# redefinevg rootvg   
synclvodm [-v] VG [LV] reconstruit la LVCB, la VGDA sur les PVs 
# synclvodm –v rootvg   
fsck [-n][-p][-y][-dBlockNumber][-f][-I InodeNumber][-o Options][-tFile][-V VfsName][FS1 FS2…] contrôle de l’intégrité d’un FS
# fsck –yp /fsname   
varyonvg [-b][-c][-f][-n][-p][-s][-u] VG  activation d’un VG
# varyonvg vgname  
varyoffvg [-s] VG desactivation d’un VG
# varyoffvg vgname   
# varyoffvg –s vgname  mode management

Configuration des Unités

 Commandes  Description
lsdev –C [-c Class][-s Subclass][-t Type][-f File] [-F Format|-r ColumnName][-h][-H][-l Name][-S State]  infos sur le nom de la ressource, l’état, l’adresse 
# lsdev –Cc disk   
lscfg [-rv]|[[-r]|[-v][-l Name]]  infos sur la configuration 
# lscfg –vl | more   
lsattr {-D[-O]|-E[-O]|-F Format} –l Name [-a Attribute]… [-f File][-h][-H]  infos détaillées sur les attributes d’une unité
# lsattr –El sys0 –a realmem –F value  
mkdev {-c Class –s Subclass –t Type}[-l Name] [-a Attribute=Value]…[-d|-S|-R][-f File][-h] [-p ParentName][-q][-w ConnectionLocation]  configuration d’une unité
# mkdev –c disk –s scci –t scsd –l hdisk# -p scsi –w 1,0   
cfgmgr [-f|-s|-p Phase][-I Device][-l Name][-v] configuration des unités auto-configurables 
# cfgmgr –l scsi1   
chdev –l Name [-a Attribute=Value…][-f File][-h] [-p ParentName][P|-T][-q][-w ConnectionLocation] modification de la configuration d’une unité
# chdev –l sys0 –a autostart=true   
# chdev –l rmt0 block_size=512  
# chdev –l ent0 –a media_speed=’100_Full_Duplex’  
rmdev –l Name [-d|-S][-f File][-h][-q][-R]  suppression d’une unité 
# rmdev –dl hdisk#   
Permettre le Dynamic Processor Deallocation 
# lsattr –El proc0 vérifie l’état du processeur 
# lsattr –El sys0 vérifie le paramètre cpuguard
# chdev –l sys0 –a cpuguard=enable   

Fichiers Remarquables

Location  Description
/etc/security/passwd  fichier des mots de passe cryptés
/etc/security/user  caractéristiques utilisateur 
/etc/security/group  caractéristiques groupe 
/etc/security/limits limites d’utilisation des ressouces par utilisateur 
/etc/security/environ  variables d’environnement des utilisateurs 
/etc/security/login.cfg  paramètres de connexion (limitation) 
/sbin/rc.boot  scripts de démarrage 
/etc/rc.tcpip   
/etc/resolv.conf  @IP des serveurs DNS 
/etc/inetd.conf  fichier de configuration de inetd 
/etc/netsvc.conf  ordre de résolution de nom (var NSORDER) 
/etc/filesystems  fichiers des systèmes de fichier (imfs vgname) 

Mécanismes de contrôle des ressources

gestion des ressources du système
Gestion de la CPU
On peut contrôler l’action de la mémoire en agissant sur 4 paramètres.
    - les identificateurs « nice »
    - les priorités des processus
    - les files d’attentes de traitement
    - les paramètres d’ordonnancement (schedtune)
Gestion de la mémoire
La mémoire réelle est une ressource finie. Lorsque les processus réclament plus de mémoire que ce qu’il y a de disponible, la pagination se déclenche pour déplacer des parties de processus sur disque et libérer ainsi des pages de mémoires pour exécuter de nouveaux processus. Si le système continue à manquer dé mémoire, il va se mettre à swaper, donc à déplacer des processus entier vers le disque pour libérer plus de mémoire.
On peut contrôler l’action de la mémoire en agissant sur 3 paramètres.
    - l’espace de pagination
    - limiter les ressources des processus
    - jouer avec les paramètres de gestion mémoire (vmtune)
Gestion des I/Os
Le transfert des données vers et depuis la machine repose sur la banse passante de chaque périphèrique (disque, adaptateur, réseau, etc.). Chaque périphérique possède ses propres règles d’optimisation ainsi que ses propres problèmes.
On peut contrôler l’action des I/Os disques en agissant sur 3 paramètres.
    - organisation des FS sur les disques et les contrôleurs
    - placement des fichiers sur les disques
    - paramètres des I/Os

Commande TCP/IP d’accès aux systèmes distants

Location  Description
rcp permet de copier des fichiers entre sites UNIX 
rlogin permet aux utilisateurs de se connecter sur des système    unix distants à partir de leur propre terminal 
rsh permet l’exécution d’une seule commande sur site distant 
ftp permet de copier des fichiers entre système local et tout système accessible. C’est une version générale de rcp 
telnet  permet à un utilisateur de se connecter à un site distant sur lequel il possède un compte, que cela soit un système UNIX ou non (c’est en général dans ce dernier cas que telnet est utilisé). C’est une version plus générale de rlogin
finger permet d’obtenir de l’information sur les utilisateurs d’un site distant (ainsi que sur le système local) 
tcpdump  permet d’examiner les entêtes des paquets transmis par TCP/IP. Le résultat affiche le nom du protocole et la taille du paquet, suivi des sites et des ports source et destination, d’option TCP, du numéro de séquence de l’accusé de réception et du contenu du champs TCP, th_win
iptrace  enregistre les données des paquets dans un fichier binaire 
ipreport  affiche les informations tirées du fichier généré par iptrace

Définitions

gestion des ressources du système
mémoire virtuelle & VMM : sous AIX, la mémoire est gérée par le Virtual Memory Manager (VMM). La mémoire virtuelle est composée par la mémoire réelle plus des portions de disques physiques et c’est grâce à ce VMM que la mémoire réelle donc dispose le système apparaît plus grande qu’elle ne l’est en vérité. 
appel système : un appel système provoque le passage du processus du mode d’exécution utilisateur au mode d’exécution système, le processus utilise alors du code système pour son propre compte (ex : fork, gethostname, getpid, etc.).
freelist : VMM maintient un ensemble de pages mémoires libres réservé pour les nouvelles pages demandées par les processus. 
minfree : taille minimale de la liste des pages disponibles. Lorsque la taille de cette liste tombe en dessous de minfree, le VMM doit subtiliser des pages aux processus en cours d’exécution pour renflouer ce cheptel. 
maxfree : la subtilisation des pages cesse lorsque la liste des pages disponibles atteint ou excéde ce seuil.
minperm : minimum number of permanent buffer pages for file I/O. 
maxperm : maximum number of permanent buffer pages for file I/O. 
page fault : un défaut de page se produit lorsqu’un processus demande une page mémoire qui ne réside pas en mémoire et qui doit être rechargée à partir du disque. Cf. trashing 
paging (pagination) : mécanisme de répartition de la mémoire. Le « paging » transfert des morceaux de la mémoire du processus – l’unité de transfert est la page de 4ko – sur le disque pour libérer suffisamment de mémoire pour l’exécution d’un autre processus. 
swaping (transfert) : mécanisme de répartition de la mémoire. Le « swapping » est le transfert d’un processus entier sur le disque entraînant la libération de la mémoire qu’il utilise. 
trashing : lorsqu’un processus demande la lecture d’une nouvelle page et qu’il n’en existe pas de disponible, ni de réutilisable, une des pages de la mémoire, utilisée par un autre processus, est alors déplacée sur le disque (page out). Lorsque cette page est à nouveau demandée, elle doit être relue ce qui forcera certainement le transfert sur disque d’une autre page. Lorsque le système passe son temps à gérer la mémoire virtuelle, on appelle cela une situation de « trashing ».

Mesure de la performance

la commande vmstat

 kthr        memory           page                      faults          cpu
-----     -----------  ------------------------     ------------    -----------
 r  b      avm  fre       re pi po fr sr cy           in sy cs      us sy id wa

 

kthr : Kernel THRead
r : process prêts en attente d’exécution dans la run queue
b : process bloqués en attente de ressources (E/S, demande de pages) dans la wait queue.
vmstat5.r <5, vmstat5.b doit être proche de 0

memory : représente l’utilisation de la mémoire
avm : nombre moyen de pages actives (4ko) de la mémoire virtuelle (une page est considérée comme active si elle appartient à des processus exécutables ou qui se sont exécutés depuis moins de 20 secondes)
fre : nombre moyen de pages (4ko) de mémoire réelle dans la liste des pages disponibles (freelist). Cette colonne représente la mémoire disponible.
L’activité de pagination est reflétée par une diminution significative de la mémoire disponible vmstat5.fre

page : représente l’activité de pagination sur la machine
re : nombre de pages réclamées c’est-à-dire le nombre de pages placées dans la liste des pages disponibles (freelist) mais réclamées par leur propriétaire avant qu’elle ne soient réutilisées.
pi : pagination in (de l’espace de pagination vers la mémoire réelle)
po : pagination out (de la mémoire réelle vers l’espace de pagination)
fr : nombre de pages mémoire libérées par l’algorithme de remplacement de page durant l’intervalle de mesure.
vmstat5.po doit être proche de0 et la colonne de vmstat.pi n’est pas très significative car le lancement d’un processus provoque la pagination de son imageexécutable et de ses données. Lorsqu’un processus est lancé, le chiffre de cette colonne augmentera por retomber rapidement à un niveau normal.
vmstat5.po / vmstat5.fr > 1 / 6(vol de pages)

faults :
in : nombre d’intérruption par secondes hors-horloge
sy : appels système par seconde. Un appel système provoque l’utilisation par le processus du code système pour son propre compte. (exemple lecture/écriture sur un fichier).
cs : changement de contexte par seconde
cpu :
us : % temps CPU user (process de priorités comprises entre 127 et 50). Lorsqu’un process s’exécute en mode utilisateur, il utilise son propre code et ne fait pas appel aux ressources du noyau.
sy : % temps CPU noyau (process compris entre 49 et 0) qui résulte à la fois du surcoût induit par l’éxécution des process utlisateurs qui ont besoin de ressources noyau (exemple lecture/écriture sur un fichier) et du temps passé à offrir des services système.
id : % de temps CPU non utilisé
vmstat5.id > 5%, vmstat5.us > 2 x vmstat5.sy, vmstat5.wa < 25%
la commande sar
# sar –u : activité des processeurs
%usr : % de temps passé en mode utilisateur
%sys : % de temps passé en mode système
%wio : % de temps durant lequel le processeur est en attente d’une réponse d’une I/O
%idle : % de temps durant lequel le processeur n’est pas utilisé
sar-u5.idle > 5%, sar-u5.wio doit être faible (entre 5% et 10%)
sar-u5.usr > 2 x sar-u5.sys
# sar –d : activité des disques
device : nom du périphérique
%busy : pourcentage de temps durant lequel le disque sert la requête
avque : nombre moyen de requête dans la file d’attente
r+w/s : lecture/écriture effectuée par seconde
blks/s : blocs de 512 octets transférés par seconde.
avwait : temps moyen d’attente dans la file d’attente
avserv : temps moyen de service pour une requête
sar-d5.busy < 20%, sar-d5.avwait < sar-d5.avserv, sar-d5.avserv < 50ms
# sar –q : file d’attente en exécution
runq-sz : file d’attente des processus en attente d’exécution
%runocc : % de temps durant lequel la file d’attente contient des processus
swpq-sz : file d’attente des processus swappés en attente d’exécution
%swpocc : % de temps durant lequel la file d’attente de swap est occupée par des processus
sar-q5.runq.sz < 5
# sar –b : activité des buffers et cache
bread/s : nombre de lecture/s du disque vers le cache
lread/s : nombre de lecture /s dans le cache
%rcache : taux de réussite d’accès en lecture dan le cache
bwrit/s : nombre d’écriture/s du cache vers le disque
lwrit/s : nombre d’écriture/s dans le cache
%wcache : taux de réussite d’accès en écriture dans le cache
pread/s : nombre de lecture/s à l’aide de l’appel système physio()
pwrit/s : nombre d’écriture/s à l’aide de l’appel système physio()
sar-b5.rcache > 95% et sar-b5.wcache > 65%
# sar –v : activité des tables du noyau
proc-sz : processus actuellement exécutés / processus max (nproc)
inod-sz : inodes actuellement en mémoire / inodes max
file-sz : taille de la table des fichiers / valeur maximale
thrd-sz :

 Unix Initiation a Sed

Dernière mise à jour : ( 23-06-2009 )
 
< Précédent   Suivant >