Table of Contents

1. configuration

•          1.1.
Comment connaitre les principales caractéristiques d'un serveur ?

•          1.2.
comment connaitre l'heure du dernier reboot?

•          1.3.
comment lister la configuration d'un serveur?

•          1.4.
Comment obtenir la configuration des parametres de la machine ?

•          1.5.
Comment savoir si le serveur tourne en 32 bits ?

•          1.6.
Comment identifier le type de serveur utilisé ?

•          1.7.
Comment afficher les péripheriques disponibles ?

•          1.8.
Comment afficher les péripheriques installés ?

•          1.9.
Comment déterminer les cartes scsi attachées au cartes fibres ?

•          1.10.
Comment transformer le système AIX de 32 bits à 64 bits et vis
versa ?

•          1.11.
comment donner un timestamp au commande de l'historique?

•          1.12.
comment afficher le firmware de tous les périphériques?

•          1.13.
Comment afficher le nom, l'emplacement et l'état des
périphériques?

•          1.14.
Comment afficher l'état d'un périphériques?

•          1.15.
Comment afficher les attributs d'une unité?

•          1.16.
comment utiliser uname pour connaitre la configuration de mon système ?

•          1.17.
comment trouver le périphérique parent d'un autre ?

•          1.18.
comment trouver les peripheriques associés à powerpath?

•          1.19.
comment retrouver le fils d'un périphérique ou son parent ?

•          1.20.
comment trouver les cartes fibres d'un serveur et leur world wide name ?

2. boot

•          2.1.
quel est le disque de boot ?

•          2.2.
quel est l'ordre de démarrage ?

•          2.3.
comment modifier l'ordre de démarrage ?

•          2.4.
Comment déterminer les disques qui sont bootables ?

•          2.5.
Comment redémarrer un système en 64 bits ?

•          2.6.
comment redémarrer en mode single user?

•          2.7.
comment utiliser pour des raisons de compatilités avec d'autres unix ou
avec linux les multiniveaux?

3. mksysb

•          3.1.
comment supprimer une image de disque alternée?

•          3.2.
comment cloner le rootvg courrant sur un disque ?

•          3.3.
Comment installer l'image d'un mksysb en mirroirsur 2 disques ?

•          3.4.
Comment générer un mksysb ?

•          3.5.
Comment lister les fichiers contenus dans un mksysb ?

•          3.6.
Comment restaurer un fichier ou un répertoire provenant d'un mksysb ?

•          3.7.
comment lister un mksysb ?

•          3.8.
comment savoir si une bande contient un mksysb ?

•          3.9.
comment écrire un mksysb sur bande ?

•          3.10.
comment créer un mksysb sur DVD-RAM ?

4. odm

•          4.1.
Qu'est ce que l'ODM ?

•          4.2.
comment recupérer l'identifiant d'un disque?

•          4.3.
comment supprimer un objet de l'odm ?

•          4.4.
comment lister un objet de l'odm ?

•          4.5.
Qu'est ce que le LMVCB ?

•          4.6.
Comment vérifier le bloc de contrôle de volume logique

•          4.7.
Comment retrouver un sous-systeme dans l'odm?

•          4.8.
Comment retrouver un package dans l'odm?

5. partitionnement

•          5.1.
comment connaitre le numéro et le nom de la partition?

•          5.2.
comment lister les slots occupés par une partition ?

•          5.3.
comment retrouver le slot correspondant à un disque?

•          5.4.
comment rendre dynamique une partition qui ne l'est pas?

6. reseau

•          6.1.
Comment connaitre les interfaces réseau ?

•          6.2.
Comment connaitre les parametres d'une interface réseau ?

•          6.3.
Comment activer ou désactiver une carte ?

•          6.4.
Comment obtenir les caractéristiques d'une carte ?

•          6.5.
Comment connaitre la vitesse et le type de négociation d'une carte ?

•          6.6.
Comment vérifier les tables de routage ?

•          6.7.
Comment configurer une adresse IP ?

•          6.8.
Comment changer le netmask d'une carte ?

•          6.9.
Comment reconfigurer le réseau à distance?

•          6.10.
Quels sont les fichiers réseaux importants ?

•          6.11.
Comment vérifier les performance d'une carte ?

•          6.12.
comment changer la vitesse et le mode duplex d'une carte ?

•          6.13.
comment configurer les serveurs DNS ?

•          6.14.
comment supprimer une route lorsqu'il y a deux routes par défaut?

•          6.15.
comment obteenir les statistiques sur le réseaux?

7. nfs

•          7.1.
Ajouter rapidement un montage nfs?

•          7.2.
comment résoudre mes problemes de reverse lookup?

•          7.3.
comment voir les filesystemes qui sont exportés?

8. nim

8.1.
comment vérifier qu'un client est pris en charge par NIM?

8.2.
comment cloner un rootv d'un client via NIM?

8.3.
Comment remettre l'état d'un client à zero?

8.4.
Comment connaitre l'état d'avancement d'un client ?

8.5.
Comment connaitre le mksysb associé à un serveur ?

8.6.
Comment vérifier les fichiers installés sur un serveur client ?

8.7.
Comment faire un alt_disk_install sur un client NIM?

8.8.
Comment modifier le mksysb associé à un client NIM?

8.9.
comment ajouter un lppsource au serveur NIM?

8.10.
comment générer un spot à partir d'un mksysb?

9. memoire

•          9.1.
Quel est la mémoire disponible (tout compris)?

•          9.2.
Quel est la mémoire disponible (tout compris)?

•          9.3.
Quel est la mémoire vive disponible ?

•          9.4.
comment éliminer les IPC d'un user donné ?

•          9.5.
comment connaitre l'etat de la mémoire ?

•          9.6.
comment savoir si on est en 32 bits ou 64 bits ?

•          9.7.
comment connaitre la taille reel de la mémoire ?

•          9.8.
comment connaitre la mémoire disponible (primaire et secondaire) et sa
répartition?

•          9.9.
comment éliminer les "ls * The parameter list is too long" ?

•          9.10.
comment lister les utilisateurs les plus consommateur en paging space?

•          9.11.
comment lister les utilisateurs les plus consommateur en mémoire
réelle?

10. processus

•          10.1.
comment tester si un processus est présent ?

•          10.2.
comment connaitre le runlevel sous AIX ?

•          10.3.
comment passer en mode single user sous AIX ?

•          10.4.
comment connaitre la mémoire réelle totale utilisé par un
utilisateur?

•          10.5.
comment filtrer les processus ?

11. disques

•          11.1.
comment vérifier un disque?

•          11.2.
comment connaitre l'occupation d'un disque ou d'un lv?

•          11.3.
comment obtenir la liste des disques ?

•          11.4.
comment connaitre les disques rootvg et les disques alternés?

•          11.5.
comment connaitre la taille d'un disque son PPsize et son taux d'occupation?

•          11.6.
comment connaitre la taille d'un disque son PPsize et son taux d'occupation?

•          11.7.
comment récupérer un disque déjà utilisé
dans un vg?

•          11.8.
comment savoir si un disque est un disque local ou apaprtient à une baie
?

•          11.9.
comment connaitre les emplacement libres sur le disque ?

•          11.10.
Je fais un extendvg avec un disque et le système me dit que celui-ci
appartient déjà à un autre volume groupe alors aaque lspv
repond none, que faut-il faire?

•          11.11.
comment retrouver le pvid d'un disque?

12. lvm

•          12.1.
comment obtenir la liste des volumes groupes physiques du systeme?

•          12.2.
comment identifier l'état du volume physique?

•          12.3.
comment lister les filesystems se trouvant dans un volume groupe?

•          12.4.
comment recupérer le VGDA?

•          12.5.
que contient LVM ?

•          12.6.
Ou se trouve la copie en mémoire du VGDA?

•          12.7.
comment obtenir le LVCB ?

•          12.8.
Comment connaitre la politique d'allocation ?

•          12.9.
Comment vérifier la cohérence des volumes logiques de rootvg
(/tmp, ...) ?

•          12.10.
Quels sont les codes des policy d'allocation?

•          12.11.
comment connaitre les caractéristique d'un volume logique ?

•          12.12.
Comment savoir dans quel volume groupe de trouve un disque ?

•          12.13.
Comment réparer un volume groupe ?

•          12.14.
comment créer un volume groupe ?

•          12.15.
Comment obtenir une liste complete des filesystem au format csv ?

•          12.16.
Comment lister les corrrespondances entre volume physique et logique?

•          12.17.
Comment déterminer la taille de bloc d'un filesystem et/ou son type ?

•          12.18.
Comment créer un filesystem jfs2 avec son volume logique associé
?

•          12.19.
comment connaitre la taille et la fragmentation d'un fichier?

•          12.20.
comment reconstruire la LVCB,
la VGDA sur un
volume physique?

•          12.21.
comment connaitre les statistiques IO concernant les volumes logiques ?

•          12.22.
comment supprimer un volume groupe?

•          12.23.
Pourquoi le nombre maximum de PP's par PV pour un VG est de 1016?

13. filesystems

•          13.1.
Comment connaitre les caractéristiques (inodes, nbpi...)d'un filesystem
?

•          13.2.
Comment lister tous les filesystems au format big file?

•          13.3.
comment connaitre les utilisateurs qui loquent un filesystem?

•          13.4.
comment supprimer les processus des utilisteurs qui loquent un filesystem?

•          13.5.
Comment créer et un filesystem de taille donné dans un volume
groupe ?

•          13.6.
Comment vérifier le superbloc et les données d'un filesysteme ?

14. paging space

•          14.1.
comment vérifier le paging space ?

•          14.2.
comment vérifier les paging spaces activés au démarrage ?

•          14.3.
comment créer un paging space sur un disque donné

•          14.4.
comment activer un espace de pagination ?

•          14.5.
comment mirrorer un paging space ?

•          14.6.
comment augmenter la taille du paging space?

•          14.7.
comment réduire la taille du paging space?

15. fichiers

•          15.1.
Comment connaitre les informations relatives à un fichier ?

•          15.2.
comment faire le lien entre un inode et un fichier?

16. users

•          16.1.
comment vérifier que les utilisateurs sont corrects ?

•          16.2.
comment vérifier que les groupes sont corrects ?

•          16.3.
comment vérifier que les password des users sont corrects ?

•          16.4.
comment changer un attribut sur tous les users locaux?

•          16.5.
Comment afficher tous les utilisateurs?

•          16.6.
Comment afficher les attributs d'un user?

•          16.7.
Comment changer les attributs d'un utilisateur?

•          16.8.
Comment créer un utilisateur ?

•          16.9.
Comment créer un groupe ?

•          16.10.
Comment changer l'id d'un utilisateur local?

•          16.11.
Comment trouver les attributs associés au password?

•          16.12.
Comment ne pas obliger l'utilisateur à changer son password à la
première connexion?

•          16.13.
Comment savoir quelles tentatives de connexion invalide on eu lieu?

•          16.14.
Comment changer le mot de passe d'un utilisateur automatiquement ?

•          16.15.
Comment éviter à l'utilisateur de changer son mot de passe
à la première connexion ?

17. droits

•          17.1.
Comment utiliser le sticky-bit ?

•          17.2.
Comment utiliser fixer le Set-Id mode ?

•          17.3.
comment lire les acl d'un fichier ou d'un repertoire ?

•          17.4.
comment mettre dans un fichiers les acl lus ?

•          17.5.
comment fixer les acl d'un fichier ou d'un repertoire ?

•          17.6.
A quoi correspondent les permissions étendues ?

18. ldap

•          18.1.
comment savoir si le serveur est relié à un serveur ldap?

•          18.2.
quel est le fichier de configuration de ldap sous AIX?

•          18.3.
Comment savoir si un compte est sous LDAP?

•          18.4.
Comment gérer le demon LDAP?

•          18.5.
Comment afficher les objets du naming service LDAP?

•          18.6.
Ou puis-je trouver de la documentation LDAP spécifique à AIX?

19. parametrage

•          19.1.
comment dater l'historique des commandes ?

•          19.2.
comment autoriser la crontab pour les utilisateurs qui ne sont pas root ?

20. cpu

•          20.1.
comment obtenir des informations sur les processeurs ?

•          20.2.
comment connaitre le nombre physique de processeurs et le type?

•          20.3.
comment connaitre la vitesse des processeurs?

•          20.4.
comment obtenir des informations sur les processeurs au format csv ?

•          20.5.
comment examiner les plus gros process ?

•          20.6.
comment savoir si votre processeur est en mode SMT (multithread
simultané) ?

•          20.7.
comment passer votre processeur en mode SMT (multithread simultané) ?

21. imprimantes

•          21.1.
Comment lister toutes les queue configurées?

•          21.2.
Comment créer une queue d'impression pointant sur imprimante distante
pilotée par un serveur windows ou novell ?

•          21.3.
Comment supprimer une queue d'impression pointant sur imprimante distante
pilotée par un serveur windows ou novell ?

•          21.4.
Comment imprimer plusieurs copies de plusieurs fichiers?

•          21.5.
Comment envoyer un fichier à l'impression ?

•          21.6.
Comment lister le contenu des queues d'impression?

•          21.7.
comment obtenir les caractéristiques d'une queue d'impression ?

•          21.8.
où sont définies les imprimantes remote ?

•          21.9.
comment vérifier que les démons imprimantes sont actifs ?

22. cdrom et bandes

•          22.1.
comment savoir si le montage automatique du cdrom est disponible?

•          22.2.
comment connaitre les caractéristiques d'un lecteur de bande?

•          22.3.
comment ejecter une bande d'un lecteur de bande?

•          22.4.
comment utiliser backup et restore ?

•          22.5.
comment vérifier que la bande est bonne?

23. packages

•          23.1.
comment connaitre le niveau de l'operating systeme ?

•          23.2.
comment faire une liste de lpp pour réinstaller à l'identique ?

•          23.3.
comment afficher la liste des packages installés ?

•          23.4.
comment savoir quels sont les fichiers contenus dans un lpp ?

•          23.5.
comment lister les lpp d'un produit?

•          23.6.
comment installer un produit ou un fixpack?

•          23.7.
comment identifier les packages qui manque pour atteindre un technical level ?

•          23.8.
comment désinstaller un package?

•          23.9.
comment déinstaller un package sans vérifier le bosboot ?

•          23.10.
comment obtenir la liste des noms des packages installés et seulement
ceux-ci?

•          23.11.
comment trouver à quel package appartient un fichier?

•          23.12.
comment trouver la liste des fichiers associés à un package ?

•          23.13.
comment forcer l'installation d'un package ?

•          23.14.
l'installation echoue à cause du bosboot sans aucun message ; comment
obtenir plus d'information ?

•          23.15.
comment reconstruire l'image de boot après une instalaltion de packages
touchant au bos?

24. licence

•          24.1.
Où se trouve le répertoire contenant les outils de
vérification et de gestion des licences?

•          24.2.
Où se trouve la base de données des licences

•          24.3.
Comment sauvegarder/restorer la base de licence?

25. maintenance

•          25.1.
Quels sont les fichiers qui peuvent grossir ?

•          25.2.
comment connaitre le runlevel ?

•          25.3.
comment changer de runlevel ?

26. erreurs

•          26.1.
comment lister les erreurs?

•          26.2.
comment lister les erreurs de manière détaillées?

•          26.3.
comment afficher une erreur de façon détaillée à
l'aide de son identifiant ?

•          26.4.
comment afficher une erreur en fonction de son label ?

•          26.5.
comment afficher les erreurs entre deux dates ?

27. trace et debug

•          27.1.
Comment lancer une de trace de MQseries ?

•          27.2.
Comment extraire un rapport de trace concernant MQseries ?

28. dump

•          28.1.
comment vérifier l'état d'un dump?

•          28.2.
Quand a eu lieu le dernier dump ?

•          28.3.
Comment lister les espace de dump ?

•          28.4.
Comment fixer les espaces de dump ?

•          28.5.
Comment estimer l'espace nécessaire au dump ?

•          28.6.
Comment activer la compression pour le dump?

•          28.7.
LED status code du dump

•          28.8.
Comment connaitre la taille non compresse en Go du dump?

•          28.9.
Comment extraire le vmcore d'un snap ?

•          28.10.
Comment examiner un dump ?

•          28.11.
Quelles sont les premières commandes de kdb ?

29. tuning

•          29.1.
comment monitorer un disque à interval régulier?

•          29.2.
comment tuner un disque?

•          29.3.
comment autoriser lvmstat?

•          29.4.
comment autoriser/supprimer le tuning d'un volume groupe ?

•          29.5.
comment voir les entrees/sorties d'un volume groupe ?

30. shell

•          30.1.
Comment récupérer sous forme de shell les commandes
passées par smit?

•          30.2.
Comment recuperer le résultat d'une opération avec bc dans une
variable ?

•          30.3.
Comment faire une opération avec perl en mode commande et retourner le
résultat dans une variable ?

•          30.4.
Comment faire une copie de fichier avec un timestamp ?

•          30.5.
Comment créer un fichier d'une taille donnée ?

•          30.6.
Comment connaitre toutes les caractéristiques d'un fichier, et en particulier
les dates de création, modification et d'accès à un
fichier ?

•          30.7.
comment eviter de dépasser la taille du buffer NCARGS?

•          30.8.
comment revenir au précédent répertoire ?

•          30.9.
comment changer le prompt ?

•          30.10.
comment activer l'édition de l'historique en Korn shell ?

•          30.11.
comment utiliser les alias en Korn shell?

1. configuration

1.1. Comment connaitre les
principales caractéristiques d'un serveur ?

En particulier la vitesse et le type de
processeur, la mémoire primaire et secondaire disponible, les
caractéristiques réseaux...

#prtconf | head -n 27

System Model: IBM,7040-671

Machine Serial Number: 8384F0C

Processor Type: PowerPC_POWER4

Number Of Processors: 3

Processor Clock Speed: 1500 MHz

CPU Type: 64-bit

Kernel Type: 64-bit

LPAR Info: 4 hermes

Memory Size: 10240 MB

Good Memory Size: 10240 MB

Firmware Version: IBM,RG050215_d79e02_r

Console Login: enable

Auto Restart: true

Full Core: true

Network Information

Host Name: hermes

IP Address: 170.247.102.1

Sub Netmask: 255.255.255.0

Gateway: 170.247.102.250

Name Server: 170.247.241.15

Domain Name: getima.mutuagri.tm.fr

Paging Space Information

Total Paging Space: 23040MB

Percent Used: 1%

prtconf peut bien sur fournir davantages de renseignements.

1.2. comment connaitre l'heure du
dernier reboot?

last reboot

wtmp begins     May 30 23:10

1.3. comment lister la
configuration d'un serveur?

On obtient avec lsconf le type de serveur,
la mémoire utilisée, le nombre de CPU, les modes d'adressages
utilisés, la configuration réseaux et les cartes
d'entrées-sorties utilisées.

lsconf

System Model: IBM,9117-MMA

Machine Serial Number: 65B5E82

Processor Type: PowerPC_POWER6

Processor Implementation Mode: POWER 6

Processor Version: PV_6_Compat

Number Of Processors: 1

Processor Clock Speed: 3504 MHz

CPU Type: 64-bit

Kernel Type: 64-bit

LPAR Info: 2 aphrodite

Memory Size: 6144 MB

Good Memory Size: 6144 MB

Platform Firmware level: EM340_041

Firmware Version: IBM,EM340_041

Console Login: enable

Auto Restart: true

Full Core: false

Network Information

Host Name: aphrodite_1

IP Address: 170.247.2.200

Sub Netmask: 255.255.255.0

Gateway: 170.247.2.246

Name Server:

Domain Name:

Paging Space Information

Total Paging Space: 512MB

Percent Used: 1%

Volume Groups Information

==============================================================================

rootvg:

PV_NAME           PV STATE          TOTAL PPs   FREE PPs    FREE DISTRIBUTION

hdisk2            active            546         497         109..73..97..109..109

==============================================================================

INSTALLED RESOURCE LIST

The following resources are installed on the machine.

+/- = Added or deleted from Resource List.

*   = Diagnostic support not available.

Model Architecture: chrp

Model Implementation: Multiple Processor, PCI bus

+ sys0                                                 System Object

+ sysplanar0                                           System Planar

* vio0                                                 Virtual I/O Bus

* vsa0             U9117.MMA.65B5E82-V2-C0             LPAR Virtual Serial Adapter

* vty0             U9117.MMA.65B5E82-V2-C0-L0          Asynchronous Terminal

* pci6             U7311.D20.652D9AC-P1                PCI Bus

* pci13            U7311.D20.652D9AC-P1                PCI Bus

+ fcs2             U7311.D20.652D9AC-P1-C02-T1         FC Adapter

+ fscsi2           U7311.D20.652D9AC-P1-C02-T1         FC SCSI I/O Controller Protocol Device

* fcnet2           U7311.D20.652D9AC-P1-C02-T1         Fibre Channel Network Protocol Device

* pci5             U7311.D20.652D92C-P1                PCI Bus

* pci12            U7311.D20.652D92C-P1                PCI Bus

+ sisscsia1        U7311.D20.652D92C-P1-C04            PCI-XDDR Dual Channel Ultra320 SCSI Adapter

+ scsi2            U7311.D20.652D92C-P1-C04-T1         PCI-X Dual Channel Ultra320 SCSI Adapter bus

+ hdisk2           U7311.D20.652D92C-P1-C04-T1-L8-L0   16 Bit LVD SCSI Disk Drive (146800 MB)

+ ses5             U7311.D20.652D92C-P1-C04-T1-L15-L0  SCSI Enclosure Services Device

+ scsi3            U7311.D20.652D92C-P1-C04-T2         PCI-X Dual Channel Ultra320 SCSI Adapter bus

* pci4             U7311.D20.652D92C-P1                PCI Bus

* pci11            U7311.D20.652D92C-P1                PCI Bus

+ fcs1             U7311.D20.652D92C-P1-C06-T1         FC Adapter

* fcnet1           U7311.D20.652D92C-P1-C06-T1         Fibre Channel Network Protocol Device

+ fscsi1           U7311.D20.652D92C-P1-C06-T1         FC SCSI I/O Controller Protocol Device

* pci3             U789D.001.DQD51XB-P1                PCI Bus

+ ent1             U789D.001.DQD51XB-P1-C5-T1          10/100/1000 Base-TX PCI-X Adapter (14106902)

* pci0             U7311.D20.652DCDC-P1                PCI Bus

* pci7             U7311.D20.652DCDC-P1                PCI Bus

+ ent0             U7311.D20.652DCDC-P1-C01-T1         10/100/1000 Base-TX PCI-X Adapter (14106902)

* pci8             U7311.D20.652DCDC-P1                PCI Bus

+ fcs0             U7311.D20.652DCDC-P1-C02-T1         FC Adapter

* fcnet0           U7311.D20.652DCDC-P1-C02-T1         Fibre Channel Network Protocol Device

+ fscsi0           U7311.D20.652DCDC-P1-C02-T1         FC SCSI I/O Controller Protocol Device

* pci9             U7311.D20.652DCDC-P1                PCI Bus

+ sisscsia0        U7311.D20.652DCDC-P1-C04            PCI-XDDR Dual Channel Ultra320 SCSI Adapter

+ scsi0            U7311.D20.652DCDC-P1-C04-T1         PCI-X Dual Channel Ultra320 SCSI Adapter bus

+ hdisk0           U7311.D20.652DCDC-P1-C04-T1-L8-L0   16 Bit LVD SCSI Disk Drive (146800 MB)

+ ses4             U7311.D20.652DCDC-P1-C04-T1-L15-L0  SCSI Enclosure Services Device

+ scsi1            U7311.D20.652DCDC-P1-C04-T2         PCI-X Dual Channel Ultra320 SCSI Adapter bus

+ L2cache0                                             L2 Cache

+ mem0                                                 Memory

+ proc0                                                Processor

1.4. Comment obtenir la
configuration des parametres de la machine ?

getconf -a pour tous les
parametres.

On peut aussi obtenir les parametres un à
un, exemple :

getconf BOOT_DEVICE

hdisk0

getconf KERNEL_BITMODE

64

getconf REAL_MEMORY

3932160

etc ...

1.5. Comment savoir si le serveur
tourne en 32 bits ?

#prtconf -k

Kernel Type: 32-bit

prtconf fournit d'autre information comme:

-c

Displays
cpu type, for example, 32-bit or 64-bit

-k

Display
the kernel in use, for example, 32-bit or 64-bit

-L

Displays
LPAR partition number and partition name if this is an LPAR partition,
otherwise returns "-1 NULL"

-m

Displays system memory

-s

Displays
processor clock speed in MegaHertz

-v

Displays
the VPD found in the Customized VPD object class for devices

1.6. Comment identifier le type de
serveur utilisé ?

lscfg -pl sysplanar0 | grep Model | awk ' {print $2}'

IBM,7038-6M2

1.7. Comment afficher les
péripheriques disponibles ?

lsdev -P

3dx            03000008        usbif      USB 3D mouse

PCM            fcpother        friend     AIX SCSI/FCP Disk Path Control Module

PCM            scsiscsd        friend     AIX SCSI/FCP Disk Path Control Module

adapter        AT97SC3201_r    chrp       N/A

1.8. Comment afficher les
péripheriques installés ?

#lsdev -C

L2cache0        Available               L2 Cache

aio0            Available               Asynchronous I/O (Legacy)

en0             Available 02-08         Standard Ethernet Network Interface

en1             Defined   02-09         Standard Ethernet Network Interface

ent0            Available 02-08         2-Port 10/100/1000 Base-TX PCI-X Adapter (14108902)

ent1            Available 02-09         2-Port 10/100/1000 Base-TX PCI-X Adapter (14108902)

et0             Defined   02-08         IEEE 802.3 Ethernet Network Interface

et1             Defined   02-09         IEEE 802.3 Ethernet Network Interface

1.9. Comment déterminer les
cartes scsi attachées au cartes fibres ?

# lsparent -C -k fcp

fscsi0 Available 03-00-01 FC SCSI I/O Controller Protocol Device

fscsi1 Available 07-00-02 FC SCSI I/O Controller Protocol Device

1.10. Comment transformer le
système AIX de 32 bits à 64 bits et vis versa ?

Pour passer du mode 32 bits à 64 bits:

#ln -sf /usr/lib/boot/unix_64 /unix

#ln -sf /usr/lib/boot/unix_64 /usr/lib/boot/unix

#bosboot -ad /dev/ipldevice

#shutdown -Fr

#bootinfo -K

Pour passe du mode 32 bits à 64 bits:

#ln -sf /usr/lib/boot/unix_mp /unix

#ln -sf /usr/lib/boot/unix_mp /usr/lib/boot/unix

#bosboot -ad /dev/ipldevice

#shutdown -Fr

#bootinfo -K

1.11. comment donner un timestamp
au commande de l'historique?

Il faut rajouter cette ligne dans
le .profile de l'utilisateur.

export EXTENDED_HISTORY=ON

# fc -t

1282    ? :: lslpp -JL | grep pow

1283    ? :: oslevel -r

1284    ? :: oslevel -s

1285    ? :: cd

1286    ? :: vi .profile

1287    2009/03/09 09:41:30 :: ls -l

1288    2009/03/09 09:41:33 :: fc -l

1289    2009/03/09 09:41:41 :: history

1290    2009/03/09 09:41:45 :: man fc

1291    2009/03/09 09:42:13 :: fc -t

1.12. comment afficher le
firmware de tous les périphériques?

#lsmcode -A

sys0!system:3H050215       |System Firmware:RG050215_d79e02_regatta|SPCN Firmware:0000RHE11193

ent0!14108902.DV0210

ent1!14108902.DV0210

hdisk0!HUS1030.50503031.52505152

ses0!A0900724.0017

ses1!A0900724.0017

fcs1!df1080f9.181301

fcs2!df1080f9.181301

fcs0!df1080f9.181301

hdisk1!IC35L03.44543031.53323846

Pour une information générale de la
frame utilise l'option -c.

#lsmcode -c

Platform Firmware level is 3H050215

System Firmware level is RG050215_d79e02_regatta

SPCN Firmware level is 0000RHE11193

1.13. Comment afficher le nom,
l'emplacement et l'état des périphériques?

#lsdev -CH

name         status    location      description

L2cache0     Available               L2 Cache

aio0         Defined                 Asynchronous I/O (Legacy)

en0          Available 05-08         Standard Ethernet Network Interface

en1          Defined   04-08         Standard Ethernet Network Interface

ent0         Available 05-08         10/100/1000 Base-TX PCI-X Adapter (14106902)

ent1         Available 04-08         10/100/1000 Base-TX PCI-X Adapter (14106902)

et0          Defined   05-08         IEEE 802.3 Ethernet Network Interface

et1          Defined   04-08         IEEE 802.3 Ethernet Network Interface

fc2          Defined   0A-08-02      Fibre Channel Network Interface

fcnet0       Defined   06-08-02      Fibre Channel Network Protocol Device

fcnet1       Defined   08-08-02      Fibre Channel Network Protocol Device

fcnet2       Available 0A-08-02      Fibre Channel Network Protocol Device

fcs0         Available 06-08         FC Adapter

fcs1         Available 08-08         FC Adapter

fcs2         Available 0A-08         FC Adapter

fscsi0       Available 06-08-01      FC SCSI I/O Controller Protocol Device

fscsi1       Available 08-08-01      FC SCSI I/O Controller Protocol Device

fscsi2       Available 0A-08-01      FC SCSI I/O Controller Protocol Device

hd1          Defined                 Logical volume

hd2          Defined                 Logical volume

hd3          Defined                 Logical volume

hd4          Defined                 Logical volume

hd5          Defined                 Logical volume

hd6          Defined                 Logical volume

...

1.14. Comment afficher
l'état d'un périphériques?

On peut rechercher par classe de
périphérique (option -Cc.

# lsdev -Cc tape

rmt0  Available 0G-08-02     LTO Ultrium Tape Drive (FCP)

rmt1  Available 0G-08-02     LTO Ultrium Tape Drive (FCP)

rmt2  Available 0G-08-02     LTO Ultrium Tape Drive (FCP)

rmt3  Defined   0G-08-02     LTO Ultrium Tape Drive (FCP)

rmt4  Available 0G-08-02     LTO Ultrium Tape Drive (FCP)

rmt5  Available 0G-08-02     LTO Ultrium Tape Drive (FCP)

On peut retrouver les classes possibles ainsi:

lsdev -P -H

class          type            subclass     description

3dx            03000008        usbif        USB 3D mouse

PCM            ds4k-ui         fcp          DS3/4K PCM User Interface

PCM            ds4k-ui         friend       Active/Passive Disk Path Control Module

PCM            fcpother        friend       AIX SCSI/FCP Disk Path Control Module

PCM            iscsiother      friend       AIX SCSI/FCP Disk Path Control Module

PCM            otherapdisk     friend       Active/Passive Disk Path Control Module

PCM            sasother        friend       AIX SCSI/FCP Disk Path Control Module

PCM            scsiscsd        friend       AIX SCSI/FCP Disk Path Control Module

PCM            sisarray        friend       AIX SCSI/FCP Disk Path Control Module

PCM            vscsi           friend       AIX SCSI/FCP Disk Path Control Mo

...

#lsdev -C -l lb2

lb2 Defined 0H-08-02 Library/MediumChange

# lsdev -C -l lb0

lb0 Available 0G-08-02 Library/MediumChanger

dans ce cas le périphérique est défini mais pas available.
Il faut alors soit le reconfigurer avec cfgmgr soit trouver la raison
pour laquelle il n'est pas disponible.

1.15. Comment afficher les
attributs d'une unité?

On a choisi ici sys0. On obtient le type du système, la
mémoire du système.

lsattr -El sys0

SW_dist_intr    false              Enable SW distribution of interrupts              True

autorestart     true               Automatically REBOOT system after a crash         True

boottype        disk               N/A                                               False

capacity_inc    1.00               Processor capacity increment                      False

capped          true               Partition is capped                               False

conslogin       enable             System Console Login                              False

cpuguard        enable             CPU Guard                                         True

dedicated       true               Partition is dedicated                            False

ent_capacity    1.00               Entitled processor capacity                       False

frequency       2660000000         System Bus Frequency                              False

fullcore        false              Enable full CORE dump                             True

fwversion       IBM,EM340_041      Firmware version and revision levels              False

id_to_partition 0X800011DC24200002 Partition ID                                      False

id_to_system    0X800011DC24200000 System ID                                         False

iostat          false              Continuously maintain DISK I/O history            True

keylock         normal             State of system keylock at boot time              False

log_pg_dealloc  true               Log predictive memory page deallocation events    True

max_capacity    2.00               Maximum potential processor capacity              False

max_logname     9                  Maximum login name length at boot time            True

maxbuf          20                 Maximum number of pages in block I/O BUFFER CACHE True

maxmbuf         0                  Maximum Kbytes of real memory allowed for MBUFS   True

maxpout         0                  HIGH water mark for pending write I/Os per file   True

maxuproc        128                Maximum number of PROCESSES allowed per user      True

min_capacity    1.00               Minimum potential processor capacity              False

minpout         0                  LOW water mark for pending write I/Os per file    True

modelname       IBM,9117-MMA       Machine name                                      False

ncargs          6                  ARG/ENV list size in 4K byte blocks               True

nfs4_acl_compat secure             NFS4 ACL Compatibility Mode                       True

pre430core      false              Use pre-430 style CORE dump                       True

pre520tune      disable            Pre-520 tuning compatibility mode                 True

realmem         6291456            Amount of usable physical memory in Kbytes        False

rtasversion     1                  Open Firmware RTAS version                        False

sed_config      select             Stack Execution Disable (SED) Mode                True

systemid        IBM,0265B5E82      Hardware system identifier                        False

variable_weight 0                  Variable processor capacity weight                False

Ou encore

lsattr -l lb2 -E -H

attribute  value              description                 user_settable

FCPORT_ID  0x48a400           FC Port ID                  True

LUNMAP_ID  0x0                Mapped LUN ID of the device True

PRODUCT_ID L700               Product ID of the device    False

WW_NAME    0x2100001b32053482 WW Name of the Port         False

1.16. comment utiliser uname pour
connaitre la configuration de mon système ?

uname est très
pratique pour obtenir diverses informations sur son système, le type de
serveur, de processeurs, la mémoire, etc..

Le tableau qui suit résume ce que l'on
peut obtenir:

uname -n

nom du serveur

uname -s

type du serveur (AIX)

uname -v

version du système

uname -r

release

uname -m

l'id du serveur (005BB77F4C00)

uname -a

information complete (AIX batman 3 5 005BB77F4C00)

uname -x

information complete avec la mémoire (AIX batman
1538756428 3 5 005BB77F4C00)

uname -u

constructeur et numéro de série

uname -p

type de processeur

uname -M

type de serveur (IBM,7028-6C4)

1.17. comment trouver le
périphérique parent d'un autre ?

#lsdev -l fcs0 -F parent

pci12

1.18. comment trouver les
peripheriques associés à powerpath?

lsdev -Ct power

hdiskpower0  Available 08-08-01 PowerPath Device

hdiskpower1  Available 08-08-01 PowerPath Device

hdiskpower2  Available 08-08-01 PowerPath Device

1.19. comment retrouver le fils
d'un périphérique ou son parent ?

Pour retrouver le fils d'un
périphérique on utilise lsdev -p, ce qui permet de savoir
ce qu'on risque de supprimer avec une commande rmdev -R:

#lsdev -p sissas0

sas0  Available 0A-08-00 Controller SAS Protocol

sata0 Available 0A-08-00 Controller SATA Protocol

# lsdev -p sas0

#hdisk0 Available 0A-08-00 SAS Disk Drive

ses0   Available 0A-08-00 SAS Enclosure Services Device

ses1   Available 0A-08-00 SAS Enclosure Services Device

ses2   Available 0A-08-00 SAS Enclosure Services Device

Pour retrouver le parent d'un
périphérique on utilise lsparent:

lsparent -C -l cd0

sata0 Available 0A-08-00 Controller SATA Protocol

sata1 Available 01-08-00 Controller SATA Protocol

On peut ainsi remonter au slot pour retirer dynamiquement le
périphérique quand on est en lpar dynamique.

1.20. comment trouver les cartes
fibres d'un serveur et leur world wide name ?

Ce n'est pas en une seule ligne,
mais c'est quand même court.

for i in `lsdev -Cc adapter | awk '/fcs/ { print $1 }'`

do

lscfg -l $i

lscfg -vpl $i | awk '/Network Address|fcs/ { M=length($0)-11; ACF=substr($0,M); print ACF }'

done

2. boot

2.1. quel est le disque de boot ?

bootinfo -b

hdisk0

2.2. quel est l'ordre de démarrage ?

bootlist -m normal -o

hdisk0

hdisk1

on peut changer le mode (de normal à
service).

2.3. comment modifier l'ordre de
démarrage ?

Il faut préciser le ou les
disques dans l'ordre de préférence de boot, et ce pour les
différents modes:

·
normal

·
service

·
both (les deux modes
précédents)

bootlist -m normal hdisk1

bootlist -m service hdisk1 hdisk0

2.4. Comment déterminer les disques
qui sont bootables ?

ipl_varyon -i

PVNAME          BOOT DEVICE     PVID                    VOLUME GROUP ID

hdisk0          YES             00xxxxxda382b4670000000000000000        00xxxxxd00004c00

hdisk1          YES             00xxxxxdb73f8bf20000000000000000        00xxxxxd00004c00

hdisk2          YES             00xxxxxdca772e380000000000000000        00xxxxxd00004c00

hdisk3          NO              00xxxxxd71463a600000000000000000

2.5. Comment redémarrer un
système en 64 bits ?

ln -sf /usr/lib/boot/unix_64 /unix

ln -sf /usr/lib/boot/unix_64 /usr/lib/boot/unix

lslv -m hd5

bosboot -ad /dev/ipldevice

shutdown -Fr

2.6. comment redémarrer en mode
single user?

soit vous utilisez shutdown -m
soit vous modifiez le fichier /etc/inittab en remplacant la ligne:

init:2:initdefault:

Par

init:s:initdefault:

.

Il faut se rappeler que l'unix d'AIX ne comporte
que deux niveaux:

1.
le niveau 1 ou single user

2.
le niveau 2 ou multiuser

Il n'y a pas de mode graphique 5 comme sous linux par exemple.

2.7. comment utiliser pour des raisons de
compatilités avec d'autres unix ou avec linux les multiniveaux?

Par défaut on trouve dans /etc/initab
les lignes suivantes:

l2:2:wait:/etc/rc.d/rc 2

l3:3:wait:/etc/rc.d/rc 3

l4:4:wait:/etc/rc.d/rc 4

l5:5:wait:/etc/rc.d/rc 5

l6:6:wait:/etc/rc.d/rc 6

l7:7:wait:/etc/rc.d/rc 7

l8:8:wait:/etc/rc.d/rc 8

l9:9:wait:/etc/rc.d/rc 9

C'est lignes vont chercher les scripts se
trouvant dans les répertoires /etc/rc.d/rc2.d etc .. ; afin de
les exécuter. On peut ainsi hiérarchiser les départs des
démons, comme on le ferai sous sun ou sous linux.

Par exemple avec ssh dans /etc/rc.d/rc2.d
on va trouver les scripts suivants:

# ls -ltr

total 16

-r-xr-xr-x    1 root     system          308 Nov 14 16:49 Ssshd

-r-xr-xr-x    1 root     system          307 Nov 14 16:49 Ksshd

# more Ksshd

#!/bin/ksh

##################################################

# name: Ksshd

# purpose: script that will start or stop the sshd daemon.

##################################################

case "$1" in

start )

startsrc -g ssh

;;

stop )

stopsrc -g ssh

;;

* )

echo "Usage: $0 (start | stop)"

exit 1

esac

3. mksysb

3.1. comment supprimer une image de
disque alternée?

lspv | head -2

hdisk1          00384f0c2dcfdd0b                    altinst_rootvg

hdisk0          00384f0c6b17258c                    rootvg          active

# alt_disk_install -X

Bootlist is set to the boot disk: hdisk0

lspv | head -2

hdisk1          00384f0c2dcfdd0b                    None

hdisk0          00384f0c6b17258c                    rootvg          active

3.2. comment cloner le rootvg courrant
sur un disque ?

Il faut utiliser alt_disk_install
-C, en prenant garde qu'il n'existe plus de old_rootvg.

#lspv

hdisk0          00ccd2cde83c037c                    old_rootvg

hdisk1          00ccd2cd26257aa4                    datavg          active

alt_disk_install -X old_rootvg

#lspv |head -n 4

hdisk0          00ccd2cde83c037c                    None

hdisk1          00ccd2cd26257aa4                    datavg          active

hdisk2          none                                None

hdisk3          none                                None

alt_disk_install -O -C hdisk3

Calling mkszfile to create new /image.data file.

....

Un nouveau rootvg se trouve sur hdisk3

3.3. Comment installer l'image d'un
mksysb en mirroirsur 2 disques ?

alt_disk_install
-d mksysb_machine -O hdisk0 hdisk1

3.4. Comment générer un
mksysb ?

#mksysb /datafs/mksysb_aix_53TL05_base

Creating list of files to back up.

Backing up 41166 files.....

41166 of 41166 files (100%)

0512-038 mksysb: Backup Completed Successfully.

3.5. Comment lister les fichiers contenus
dans un mksysb ?

restore -Tqf mksysb_serveur

3.6. Comment restaurer un fichier ou un
répertoire provenant d'un mksysb ?

restore -xqvf mksysb_heracles_140807_0645 /var/spool/cron/crontabs/root

more /var/spool/cron/crontabs/root

Pour un répertoire il faut terminer le nom par un /.

3.7. comment lister un mksysb ?

lsmksysb -c -f old_mksysb_polux_220107_2330

New volume on old_mksysb_polux_220107_2330:

Cluster 51200 bytes (100 blocks).

Volume number 1

Date of backup: Mon Jan 22 23:30:46 2007

Files backed up by name

User root

5741 ./bosinst.data

9497 ./image.data

49722 ./tmp/vgdata/rootvg/backup.data

0 ./dgi

0 ./dgi/lost+found

311 ./dgi/.profile

239055351 ./dgi/CA.TDF2005.DEMAPERS.N01.GZ.gpg

1179729 ./dgi/fic_CC.gz.gpg

239054994 ./dgi/CA.TDF2005.DEMAPERS.N01.GZ

3.8. comment savoir si une bande contient
un mksysb ?

Il suffit de lister:

chdev -l rmt0 -a clock_size=0

mt -t /dev/rmt0.1 fsf 3

lsmksysb -c -f /dev/rmt0.1

3.9. comment écrire un mksysb sur
bande ?

#/usr/bin/mksysb  '-e'  '-i'  /dev/rmt27

Creating information file (/image.data) for rootvg..

Creating tape boot image......

bosboot: Boot image is 31747 512 byte blocks.

***** ATTENTION *****

The boot image you just created might fail to boot because

the size exceeds the system limit.  For information about

fixes or workarounds, see /usr/lpp/bos.sysmgt/README.

***** ATTENTION *****

.

Creating list of files to back up..

Backing up 70517 files.............

.....

70399 of 70517 files (99%)..

0512-003 mksysb may not have been able to archive some files.

The messages displayed on the Standard Error contained additional

information.

bosboot: Boot image is 31747 512 byte blocks.

3.10. comment créer un mksysb sur
DVD-RAM ?

Le mksysb généré se fait
avec un format UDF. C'est ce qu'indique l'option -U.

Vous n'êtes pas obligé d'utiliser
cette option. Par défaut le format est ISO9660.

Le format Uniniversal Disk Format (UDF) permet de
manipuler directement les fichiers sur le support DVD-RAM. En autre on peut
changer facilement les fichiers bosinst.data, image.data ou vgname.data.

/usr/sbin/mkcd -U -d '/dev/cd1'  '-e' -V 'rootvg'

Initializing mkcd log: /var/adm/ras/mkcd.log...

Verifying command parameters...

Creating image.data file...

Creating temporary file system: /mkcd/mksysb_image...

Creating mksysb image...

Creating list of files to back up.

Backing up 70525 files.......................

70525 of 70525 files (100%)

0512-038 mksysb: Backup Completed Successfully.

Populating the CD or DVD file system...

Copying backup to the CD or DVD file system...

.............................................

.............................................

........................................

Building chrp boot image...

Removing temporary file system: /mkcd/mksysb_image...

4. odm

4.1. Qu'est ce que l'ODM ?

l'ODM (Object Data
Manager) est une base de données qui contient la configuration du
système d'exploitation AIX . C'est un peu analogue à la base de
registre de Windows. Les principales informations stockées dans la base
ODM sont:

·
la configuration réseau

·
la configuration LVM (Logical Volume Manager)

·
les logiciels installés

·
la configuration des pilotes de
périphérique

·
la configuration matérielle

Cependant, l'ODM peut aussi contenir des informations propres
à des programmes (arrêt/relance de programmes), et de nouveaux
menus qu'on aurait configurer pour se fabriquer un smit.

4.2. comment recupérer l'identifiant
d'un disque?

getlvodm -v VG01

00c7ab6e00004c0000000107dbc83173

4.3. comment supprimer un objet de l'odm ?

odmdelete -q value=00c7ab6e00004c0000000107dbc83173 -o CuAt

0518-307 odmdelete: 1 objects deleted.

4.4. comment lister un objet de l'odm ?

odmget -q name=VG01 CuAt

CuAt:

name = "VG01"

attribute = "pv"

value = "00c7ab6edbc814f90000000000000000"

type = "R"

generic = ""

rep = "sl"

nls_index = 0

CuAt:

name = "VG01"

attribute = "timestamp"

value = "438c3be50f9650fe"

type = "R"

generic = "DU"

rep = "s"

nls_index = 0

CuAt:

name = "VG01"

attribute = "quorum"

value = "n"

type = "R"

generic = ""

rep = "sl"

nls_index = 0

ou

odmget -q name=VG01 CuDv

CuDv:

name = "VG01"

status = 0

chgstatus = 1

ddins = ""

location = ""

parent = ""

connwhere = ""

PdDvLn = "logical_volume/vgsubclass/vgtype"

4.5. Qu'est ce que le LMVCB ?

Le bloc de contrôle de volume logique.

4.6. Comment vérifier le bloc de
contrôle de volume logique

#getlvcb -AT hd5

AIX LVCB

intrapolicy = e

copies = 1

interpolicy = m

lvid = 00ccd2cd00004c000000010681212188.1

lvname = hd5

label = None

machine id = CD2CD4C00

number lps = 3

relocatable = n

strict = y

stripe width = 0

stripe size in exponent = 0

type = boot

upperbound = 32

fs =

time created  = Sat Mar 24 00:28:22 2007

time modified = Sat Mar 24 00:28:22 2007

4.7. Comment retrouver un sous-systeme dans
l'odm?

odmget -q subsysname=routed     SRCsubsys

SRCsubsys:

subsysname = "routed"

synonym = ""

cmdargs = ""

path = "/usr/sbin/routed"

uid = 0

auditid = 0

standin = "/dev/console"

standout = "/dev/console"

standerr = "/dev/console"

action = 2

multi = 0

contact = 3

svrkey = 0

svrmtype = 0

priority = 20

signorm = 0

sigforce = 0

display = 1

waittime = 20

grpname = "tcpip"

Il est ensuite possible de le supprimer ou de lemodifier.

4.8. Comment retrouver un package dans
l'odm?

odmget lpp

odmget -q name=bos.acct lpp

5. partitionnement

5.1. comment connaitre le
numéro et le nom de la partition?

#prtconf -L

LPAR Info: 1 hera

5.2. comment lister les slots
occupés par une partition ?

#lsslot -c slot

# Slot                    Description       Device(s)

U7311.D20.65A5DDA-P1-C07  Logical I/O Slot  pci7 fcs2

U7879.001.DQD2P2G-P1-C1   Logical I/O Slot  pci5 fcs0

U7879.001.DQD2P2G-P1-C2   Logical I/O Slot  pci6 fcs1

U7879.001.DQD2P2G-P1-T6   Logical I/O Slot  pci4 ent0 ent1

U7879.001.DQD2P2G-P1-T14  Logical I/O Slot  pci3 sisscsia0

U9117.570.65CD2CD-V4-C0   Virtual I/O Slot  Unknown

5.3. comment retrouver le slot
correspondant à un disque?

Il faut utiliser lsparent.

#lsparent -C -l hdisk0

scsi0 Available 02-08-00 PCI-X Ultra320 SCSI Adapter bus

scsi1 Available 02-08-01 PCI-X Ultra320 SCSI Adapter bus

root@phebe:/ #lsparent -C -l scsi0

sisscsia0 Available 02-08 PCI-X Ultra320 SCSI Adapter

#lsslot -c slot | grep sisscsia0

U7879.001.DQD2P2G-P1-T14  Logical I/O Slot  pci3 sisscsia0

5.4. comment rendre dynamique
une partition qui ne l'est pas?

Il faut installer Cluster
Systems Management.

Créez un répertoire pour
l'installation et copiez y les filesets:

#cd /tmp/dlpar

#ls

.toc                     csm.client.1.6.0.10.bff  csm.core.1.6.0.12.bff

csm.client.1.6.0.0.bff   csm.core.1.6.0.0.bff

Installez avec smit les packages:

#smitty install

Vérifiez leur installation:

# lslpp -l|grep csm

csm.client                1.6.0.10  COMMITTED  Cluster Systems Management

csm.core                  1.6.0.12  COMMITTED  Cluster Systems Management

csm.client                1.6.0.10  COMMITTED  Cluster Systems Management

csm.core                  1.6.0.12  COMMITTED  Cluster Systems Management

Vérifiez que les services sont actifs.

lssrc -a |grep rsct

IBM.ERRM         rsct_rm          614446       active

IBM.ServiceRM    rsct_rm          565284       active

IBM.AuditRM      rsct_rm          503910       active

ctrmc            rsct             458770       active

IBM.CSMAgentRM   rsct_rm          2232500      active

IBM.HostRM       rsct_rm          2113706      active

IBM.DRM          rsct_rm          2650154      active

ctcas            rsct                          inoperative

ctcas n'est pas actif. C'est tout à fait normal c'est un
"lazy service qui ne s'active qu'en cas de besoin.

6. reseau

6.1. Comment connaitre les interfaces
réseau ?

ifconfig -l

en0 en10 en20 lo0

6.2. Comment connaitre les parametres
d'une interface réseau ?

ifconfig en0

en0: flags=5e080863,80

inet 208.128.11.12 netmask 0xffffff00 broadcast 208.128.11.255

6.3. Comment activer ou désactiver
une carte ?

ifconfig en0 down

ifconfig en0 up

6.4. Comment obtenir les
caractéristiques d'une carte ?

# lsattr -HEl ent0

attribute      value            description                                   user_settable

alt_addr       0x000000000000   Alternate ethernet address                    True

busintr        305              Bus interrupt level                           False

busmem         0xffe80000       Bus memory address                            False

chksum_offload yes              Enable hardware transmit and receive checksum True

compat_mode    no               Gigabit Backward compatability                True

copy_bytes     2048             Copy packet if this many or less bytes        True

failover       disable          Enable failover mode                          True

flow_ctrl      yes              Enable Transmit and Receive Flow Control      True

intr_priority  3                Interrupt priority                            False

intr_rate      10000            Max rate of interrupts generated by adapter   True

jumbo_frames   no               Transmit jumbo frames                         True

large_send     yes              Enable hardware TX TCP resegmentation         True

media_speed    Auto_Negotiation Media speed                                   True

rom_mem        0xfff00000       ROM memory address                            False

rom_mem_amt    0x40000          ROM memory size                               False

rx_hog         1000             Max rcv buffers processed per rcv interrupt   True

rxbuf_pool_sz  2048             Rcv buffer pool, make 2X rxdesc_que_sz        True

rxdesc_que_sz  1024             Rcv descriptor queue size                     True

slih_hog       10               Max Interrupt events processed per interrupt  True

tx_que_sz      8192             Software transmit queue size                  True

txdesc_que_sz  512              TX descriptor queue size                      True

use_alt_addr   no               Enable alternate ethernet address             True

6.5. Comment connaitre la vitesse et le
type de négociation d'une carte ?

# lsattr -El ent0 -a media_speed

media_speed Auto_Negotiation Media speed True

6.6. Comment vérifier les tables
de routage ?

# netstat -nr

Routing tables

Destination      Gateway           Flags   Refs     Use  If   Exp  Groups

Route Tree for Protocol Family 2 (Internet):

default          170.247.2.250     UG        2     21023 en0      -      -

127/8            127.0.0.1         U         5       465 lo0      -      -

170.247.2.0      170.247.2.64      UHSb      0         0 en0      -      -   =>

170.247.2/24     170.247.2.64      U         1    415194 en0      -      -

170.247.2.64     127.0.0.1         UGHS      6       118 lo0      -      -

170.247.2.255    170.247.2.64      UHSb      0         0 en0      -      -

Route Tree for Protocol Family 24 (Internet v6):

::1              ::1               UH        0         0 lo0      -      -

6.7. Comment configurer une adresse IP ?

Il faut préciser l'adresse et le netmask
(ici un réseau local), éventuellement suivi d'un serveur DNS et
du nom de domaine.

/usr/sbin/mktcpip -h'serveur' -a'192.168.50.1' -m'255.255.255.0' -i'en2' -n'170.200.100.100' -d'mondoamin.fr' -A'no' -t'N/A'

Si vous devez préciser la gateway:

/usr/sbin/mktcpip -h'serveur' -a'192.168.50.1' -m'255.255.255.0' -i'en2' -n'170.200.100.100' -g'170.200.100.250' -d'mondoamin.fr' -A'no' -t'N/A'

6.8. Comment changer le netmask d'une
carte ?

Il faut descendre le réseau puis changer
le netmask.

ifconfig en2 down

ifconfig en2 detach

chdev -l 'en2' -a netmask='255.255.255.252' -a state='up'

6.9. Comment reconfigurer le
réseau à distance?

Pensez à utiliser le séparateur ;.
Cela permet de lancer plusieurs commandes séquentiellement. On eput
ainsi faire sans perdre la connexion:

ifconfig en2 down;ifconfig en2 up

6.10. Quels sont les fichiers
réseaux importants ?

·
/etc/resolv.conf serveurs DNS

·
/etc/netsvc.conf ordre local/DNS

·
/etc/rc.tcpip configuiration TCPIP au
démarrage

6.11. Comment vérifier les
performance d'une carte ?

# entstat -d ent0

-------------------------------------------------------------

ETHERNET STATISTICS (ent0) :

Device Type: 4-Port 10/100/1000 Base-TX PCI-X Adapter (14101103)

Hardware Address: 00:11:25:cb:fa:8c

Elapsed Time: 4 days 19 hours 53 minutes 29 seconds

Transmit Statistics:                          Receive Statistics:

--------------------                          -------------------

Packets: 435995                               Packets: 1749629

Bytes: 57686410                               Bytes: 1267561572

Interrupts: 0                                 Interrupts: 1724725

Transmit Errors: 2155                         Receive Errors: 0

Packets Dropped: 1                            Packets Dropped: 0

Bad Packets: 0

Max Packets on S/W Transmit Queue: 13

S/W Transmit Queue Overflow: 0

Current S/W+H/W Transmit Queue Length: 1

Broadcast Packets: 337                        Broadcast Packets: 910525

Multicast Packets: 3                          Multicast Packets: 9

No Carrier Sense: 0                           CRC Errors: 0

DMA Underrun: 0                               DMA Overrun: 0

Lost CTS Errors: 0                            Alignment Errors: 0

Max Collision Errors: 0                       No Resource Errors: 0

Late Collision Errors: 2155                   Receive Collision Errors: 0

Deferred: 152541                              Packet Too Short Errors: 0

SQE Test: 0                                   Packet Too Long Errors: 0

Timeout Errors: 0                             Packets Discarded by Adapter: 0

Single Collision Count: 123                   Receiver Start Count: 0

Multiple Collision Count: 18153

Current HW Transmit Queue Length: 1

General Statistics:

-------------------

No mbuf Errors: 0

Adapter Reset Count: 0

Adapter Data Rate: 100

Driver Flags: Up Broadcast Running

Simplex 64BitSupport ChecksumOffload

PrivateSegment LargeSend DataRateSet

4-Port 10/100/1000 Base-TX PCI-X Adapter (14101103) Specific Statistics:

------------------------------------------------------------------------

Link Status : Up

Media Speed Selected: Auto negotiation

Media Speed Running: 100 Mbps Half Duplex

PCI Mode: PCI-X (100-133)

PCI Bus Width: 64-bit

Latency Timer: 144

Cache Line Size: 128

Jumbo Frames: Disabled

TCP Segmentation Offload: Enabled

TCP Segmentation Offload Packets Transmitted: 7351

TCP Segmentation Offload Packet Errors: 0

Transmit and Receive Flow Control Status: Disabled

Transmit and Receive Flow Control Threshold (High): 45056

Transmit and Receive Flow Control Threshold (Low): 24576

Transmit and Receive Storage Allocation (TX/RX): 16/48

6.12. comment changer la vitesse et le
mode duplex d'une carte ?

#ifconfig en0 down

#ifconfig en0 detach

#chdev -l ent0 -a media_speed='100_Full_Duplex'

ent0 changed

#ifconfig en0 up

#lsattr -El ent0 -a media_speed

media_speed 100_Full_Duplex Media speed True

6.13. comment configurer les serveurs
DNS ?

Définissez l'ordre de
recherche du DNS. Fixez l'ordre dans le fichier /etc/netsvc.conf.

hosts=local,bind

Ici local indique qu'on va en premier lieu
chercher dans le fichier /etc/local puis bind que c'est le dns
qui est consulté. On peut évidement inverser cette ordre.

Ensuite, il faut définir dans le fichier /etc/ressolv.conf
le nom ou les adresses IP des serveurs DNS, puis le nom de domaine. Cela donne
un fichier de ce type:

nameserver      172.110.32.1

nameserver      172.110.32.2

domain  mondomain.net

Une autre solution est d'utiliser la commande namerslv.
>p>Par exemple pour lister la configuration:

#namerslv -s

nameserver 170.247.241.15

nameserver 170.247.241.6

nameserver 170.247.241.8

domain mydomain.tm.fr

Il est possible d'ajouter des search, ajouter un name server, le
retirer, etc...

6.14. comment supprimer une route
lorsqu'il y a deux routes par défaut?

La première méthode
consiste à changer inetd0 en utilisant delroute.

# lsattr -El inet0

authm         65536                            Authentication Methods

True

bootup_option no                               Use BSD-style Network Configurati

on True

gateway                                        Gateway

True

True

hostname      lassie_1                         Host Name

True

rout6                                          IPv6 Route

True

route         net,-hopcount,0,,0,170.247.2.246 Route

True

route         net,-hopcount,0,,0,170.247.2.250 Route

True

# chdev -l inet0 -a delroute="net,-hopcount,0,,0,170.247.2.246"

inet0 changed

# lsattr -El inet0

authm         65536                            Authentication Methods

True

bootup_option no                               Use BSD-style Network Configurati

on True

gateway                                        Gateway

True

hostname      lassie_1                         Host Name

True

rout6                                          IPv6 Route

True

route         net,-hopcount,0,,0,170.247.2.250 Route

True

#

La deuxième méthode moins
recommandable consiste à supprimer la route dans l'odm.

odmget CuAt |grep hopcount

odmget -q"value=net,-hopcount,0,,0,192.168.2.250" CuAt

odmdelete -O CuAt -q"value=net,-hopcount,0,,0,192.168.2.250"

6.15. comment obteenir les statistiques
sur le réseaux?

On dispose de:

·
nfsstat pour lister les statistiques au
sujet de NFS (Network file system) et des RPC (remote procedure calls).

·
entstat -d en0 pour obtenir les
statistiques au niveau de la carte réseau. Il faut faire un entstat
-r en0 pour effectuer un reset des statistiques.

·
netstat -s ou netstat -sr pour
afficher les statistiques des différents protocoles (ip, icmp, tcp,
udp).

·
netstat -v affiche les statistiques des
cartes installées.

7. nfs

7.1. Ajouter rapidement un montage nfs?

1.
Coté serveur ajouter dans /etc/exports
une ligne comme celle-ci:

echo "/export/mksysb/client1 -sec=sys:krb5p:krb5i:krb5:dh,rw=client1,root=client1" >> /etc/exports

On peut s'assurer de l'export avec le commande exportfs
-a.

2.
Coté client, montez le filesystem et
vérifiez le montage et la place qui reste:

#mkdir /mksysb

#mount serveur:/export/mksysb/client1 /mksysb

df -g /mksysb

Filesystem    GB blocks      Free %Used    Iused %Iused Mounted on

serveur:/export/mksysb/client1      9.00      4.25   53%        7     1% /mksysb

Le lien est près, vous pouvez par exemple fair un
mksysb via nfs:

mksysb /mksysb/mksysb_client1_140607_1500

7.2. comment résoudre mes problemes
de reverse lookup?

les problèmes de reverse
lookup retourne les codes suivants:

# mount batman:/home /mnt

nfsmnthelp: 1831-019 nas500: System call error number -1.

mount: 1831-008 giving up on:

batman:/home

System call error number -1.

Editez la table d'hotes sur le serveur distant en éditant le
fichier /etc/hosts ou en utilisant smitty hostent.

7.3. comment voir les filesystemes qui sont
exportés?

showmount -e lassie

no exported file systems for lassie

root@artemis:/root# showmount -e artemis

export list for batman:

/export/MKSYSB/batman                (everyone)

/export/MKSYSB/robin                  (everyone)

/export/MKSYSB/superman              lois

/export/MKSYSB/wonderwoman           (everyone)

/export/MKSYSB/catwoman              batman

On remarquera que les exporatation peuvent être limitées
(lois, batman).

8. nim

8.1. comment vérifier qu'un client
est pris en charge par NIM?

#lsnim -l phebe

phebe:

class          = machines

type           = standalone

connect        = shell

platform       = chrp

netboot_kernel = mp

if1            = network1 phebe 0

net_settings1  = 100 full

cable_type1    = N/A

Cstate         = ready for a NIM operation

prev_state     = ready for a NIM operation

Mstate         = currently running

8.2. comment cloner un rootv d'un client via NIM?

nim -o alt_disk_install -a source=rootvg -a disk=hdisk1 phebe

8.3. Comment remettre l'état d'un
client à zero?

Sur le serveur master kerberos
tapez:

nim -F -o reset darkstar

8.4. Comment connaitre l'état
d'avancement d'un client ?

Sur le serveur master kerberos
tapez:

#lsnim -a info -a Cstate darkstar

darkstar:

Cstate = ready for a NIM operation

8.5. Comment connaitre le mksysb
associé à un serveur ?

lsnim -l mksysb_darkstar

mksysb_darkstar:

class       = resources

type        = mksysb

Rstate      = ready for use

prev_state  = unavailable for use

location    = /export/MKSYSB/darkstar/mksysb_darkstar_200307_0610

version     = 5

release     = 2

mod         = 0

oslevel_r   = 5200-08

alloc_count = 0

server      = master

8.6. Comment vérifier les fichiers
installés sur un serveur client ?

#nim -o lppchk -a lppchk_flags="-c" darkstar

8.7. Comment faire un alt_disk_install sur
un client NIM?

nim -o alt_disk_install -a source=mksysb -a mksysb=mksysb_darkstar -a disk=hdisk1 darkstar

#lsnim -a info -a Cstate darkstar

darkstar:

Cstate = alt_disk_install operation is being performed

info   = Creating cloned rootvg volume group and associated logical volumes.

#lsnim -a info -a Cstate darkstar

darkstar:

Cstate = alt_disk_install operation is being performed

info   = Restoring mksysb image to alternate disk(s).

#lsnim -a info -a Cstate ceto

ceto:

Cstate = ready for a NIM operation

8.8. Comment modifier le mksysb
associé à un client NIM?

nim -o remove -N mksysb_darkstar

nim -o define  -N mksysb_darkstar -t mksysb -s master -l '/export/MKSYSB/darkstar/mksysb_darkstar_100707_0610'

8.9. comment ajouter un lppsource au serveur
NIM?

lancez le raccourci smitty
nim_mkres_lpp_only et répondez de lamanière suivante

Create an LPP_SOURCE

Type or select values in entry fields.

Press Enter AFTER making all desired changes.

[Entry Fields]

* Resource SERVER                                     master

Input device for installation images               [/livraison/AIX53TL08]                                 +

(specify the device on the resource server)

* LPP_SOURCE Name                                    [AIXTL08SP00]

* LPP_SOURCE Directory                               [/NIM/lpp_source]                                      +

Architecture of Resource                           []                                                     +

Show Progress                                      [yes]                                                  +

Create new filesystem for LPP_SOURCE?              [no]                                                   +

Filesystem SIZE (MB)                               [650]                                                   #

VOLUME GROUP for new filesystem                    [VG_NIM]                                               +

Remove all newly added NIM definitions             [no]                                                   +

and filesystems if any part of this

operation fails?

F1=Help                    F2=Refresh                  F3=Cancel                   F4=List

F5=Reset                   F6=Command                  F7=Edit                     F8=Image

F9=Shell                   F10=Exit                    Enter=Do

8.10. comment générer un spot
à partir d'un mksysb?

En ligne de commande tapez:

nim -o define -t spot -a source=/NIM/mksysb_lacan/mksysb_lacan_23032009 -a server=master -a location=/export/spot spot_lacan

Sinon passez par les raccourcis smit smitty nim_mkres_spot_only
ou smitty nim_mkres.

9. memoire

9.1. Quel est la mémoire disponible
(tout compris)?

bootinfo -m

134217804

9.2. Quel est la mémoire
disponible (tout compris)?

bootinfo -r

33554432

9.3. Quel est la mémoire vive
disponible ?

#prtconf -m

Memory Size: 18688 MB

9.4. comment éliminer les IPC
d'un user donné ?

ipcs| grep db2ins  |awk '{ system("ipcrm -"$1" "$2)}'

9.5. comment connaitre l'etat de la
mémoire ?

svmon

size      inuse       free        pin    virtual

memory      1048576     680659     367917      65396     246254

pg space     131072      37362

work       pers       clnt      lpage

pin           65396          0          0          0

in use       214957     465702          0          0

9.6. comment savoir si on est en 32 bits
ou 64 bits ?

Utilisez bootinfo ou prtconf.

bootinfo -K

64

prtconf -k

Kernel Type: 64-bit

9.7. comment connaitre la taille reel de
la mémoire ?

lsattr -El sys0 -a realmem

realmem 10485760 Amount of usable physical memory in Kbytes False

svmon

9.8. comment connaitre la mémoire
disponible (primaire et secondaire) et sa répartition?

mÚmoire totale

svmon |
grep memory | awk '{ print $2/256 "MB"}'

mÚmoire occupÚe

svmon |
grep memory | awk '{ print $3/256 "MB"}'

MÚmoire disponible

svmon |
grep memory | awk '{ print $4/256 "MB"}'

swap

svmon |
grep "pg space" | awk '{ print $3/256 "MB"}'

paging space

svmon |
grep "pg space" | awk '{ print $4/256 "MB"}'

9.9. comment éliminer les "ls * The parameter list is too
long" ?

On peut modifier le
paramètre ncargs. Ce paramètre controle la longeur maximum
de la ligne de commande. Elle inclue les variables d'environnement. Par
défaut ce paramêtre est de 6 blocks de 4K soit 24K. Les commandes
suivantes permettent de lister et de modifier ce parametre.

lsattr -El sys0 -a ncargs

chdev -l sys0 -a ncargs=8

9.10. comment lister les utilisateurs
les plus consommateur en paging space?

Ici les 5 plus gros
consommateurs...

#svmon -Pgt 5

-------------------------------------------------------------------------------

Pid Command          Inuse      Pin     Pgsp  Virtual 64-bit Mthrd  16MB

0 swapper          11520     7760        0    11520      Y     N     N

Vsid      Esid Type Description              PSize  Inuse   Pin Pgsp Virtual

0         0 work kernel segment               s  11507  7751    0 11507

40005  ffffffff work application stack            s      1     1    0     1

50004 f00000002 work process private              s     12     8    0    12

-------------------------------------------------------------------------------

Pid Command          Inuse      Pin     Pgsp  Virtual 64-bit Mthrd  16MB

1 init             17495     7754        0    17476      N     N     N

Vsid      Esid Type Description              PSize  Inuse   Pin Pgsp Virtual

180039         2 work process private              s     93     3    0    93

0         0 work kernel segment               s  11507  7751    0 11507

9.11. comment lister les utilisateurs
les plus consommateur en mémoire réelle?

svmon -Put suivi du nombre
d'utilisateur effectue le travail.

#svmon -Put 2 | head -n 10

-------------------------------------------------------------------------------

Pid Command          Inuse      Pin     Pgsp  Virtual 64-bit Mthrd  16MB

299510 java            117196     7797        0    92235      N     Y     N

Vsid      Esid Type Description              PSize  Inuse   Pin Pgsp Virtual

18e4d9         3 work working storage              s  54240     0    0 54240

1be4da         7 work working storage              s  20334     0    0 20334

0         0 work kernel segment               s  11507  7751    0 11507

1d309d         d work shared library text          s   5822     0    0  5822

root@hera:/root #svmon -Put 2 | head -n 20

-------------------------------------------------------------------------------

Pid Command          Inuse      Pin     Pgsp  Virtual 64-bit Mthrd  16MB

299510 java            117197     7797        0    92236      N     Y     N

Vsid      Esid Type Description              PSize  Inuse   Pin Pgsp Virtual

18e4d9         3 work working storage              s  54240     0    0 54240

1be4da         7 work working storage              s  20334     0    0 20334

0         0 work kernel segment               s  11508  7751    0 11508

1d309d         d work shared library text          s   5822     0    0  5822

1ee51f         - clnt /dev/lapplpr0103:49218       s   2376     0    -     -

101351         - clnt /dev/hd2:25927               s   1655     0    -     -

1fe53e         - clnt /dev/lapplpr0103:49213       s   1524     0    -     -

1f135e         - clnt /dev/hd2:25944               s   1342     0    -     -

1ae55b         - clnt /dev/lapplpr0103:49193       s   1206     0    -     -

b134a         - clnt /dev/hd2:25863               s   1108     0    -     -

1e135f         - clnt /dev/hd2:25860               s    915     0    -     -

13e552         - clnt /dev/lapplpr0103:49188       s    853     0    -     -

10e5b1         - clnt /dev/lapplpr0103:51149       s    675     0    -     -

1fe55e         - clnt /dev/lapplpr0103:49203       s    675     0    -     -

10. processus

10.1. comment tester si un processus
est présent ?

On fait un ps et on extrait la valeur d'une
colonne.

if [ "`ps -ef | grep [t]race | awk '{print $8}' `" != "trace" ]

then

echo "le demon trace est present"

fi

10.2. comment connaitre le runlevel
sous AIX ?

who -r

.        run-level 2 Oct 06 07:15       2    0    S

Ici le run-level est 2, on est en mode multi-user. Sous AIX seul
les 2 premiers modes sont vraiment utilisés.

10.3. comment passer en mode single
user sous AIX ?

Il faut utiliser telinit
avec les paramêtres 1 ou s.

#telinit S

INIT: New run level: S

INIT: SINGLE-USER MODE

Password:

root@phebe:/root #who -r

.        run-level S Mar 10 10:07       S    1    2

10.4. comment connaitre la
mémoire réelle totale utilisé par un utilisateur?

On recherche tous les processus appartenant
à cet utilisateur et on en extrait à l'aide de la commande svmon
la taille mémoire utilisée.

total=0

for i in `ps -ef | grep oracle| awk '{ print $2}'`

do

v=`svmon -P $i | sed -n "4p" |perl -lane '$a=$F[3]+$F[5]; print $a/256'`

# echo $v

total=`echo $total $v |perl -lane 'print $F[0]+$F[1]' `

done ; printf "%4.4f \n" $total

31830.7812

10.5. comment filtrer les processus ?

On peut filtrer les processus
suivant une liste d'options avec les arguments qui nous conviennent. Par
exemple pour un utilisateur tous les PID et les arguments associés:

ps -u mqm -o pid,args

PID COMMAND

5713924 -ksh

11. disques

11.1. comment vérifier un disque?

lsattr -HEl hdisk1

attribute       value                            description                user_settable

PCM             PCM/friend/scsiscsd              Path Control Module        False

algorithm       fail_over                        Algorithm                  True

hcheck_interval 0                                Health Check Interval      True

hcheck_mode     nonactive                        Health Check Mode          True

max_transfer    0x40000                          Maximum TRANSFER Size      True

pvid            001adfcf8e65c3200000000000000000 Physical volume identifier False

queue_depth     3                                Queue DEPTH                False

reserve_policy  single_path                      Reserve Policy             True

size_in_mb      36400                            Size in Megabytes          False

11.2. comment connaitre l'occupation
d'un disque ou d'un lv?

lslv -p hdisk0

hdisk0:::

USED   FREE   FREE   FREE   FREE   FREE   FREE   FREE   FREE   FREE       1-10

FREE   FREE   FREE   FREE   FREE   FREE   FREE   FREE   FREE   FREE      11-20

FREE   FREE   FREE   FREE   FREE   FREE   FREE   FREE   FREE   FREE      21-30

FREE   FREE   FREE   FREE   FREE   FREE   FREE   FREE   FREE   FREE      31-40

FREE   FREE   FREE   FREE   FREE   FREE   FREE   FREE   FREE   FREE      41-50

FREE   FREE   FREE   FREE   FREE   FREE   FREE   FREE   FREE   FREE      51-60

FREE   FREE   FREE   FREE   FREE   FREE   FREE   FREE   FREE   FREE      61-70

FREE   FREE   FREE   FREE   FREE   FREE   FREE   FREE   FREE   FREE      71-80

USED   USED   USED   USED   USED   USED   USED   USED   USED   USED      81-90

USED   USED   USED   USED   USED   USED   USED   USED   USED   USED      91-100

USED   USED   USED   USED   USED   USED   USED   USED   USED            101-109

USED   USED   USED   USED   USED   USED   USED   USED   USED   USED     110-119

USED   USED   USED   USED   USED   USED   USED   USED   USED   USED     120-129

USED   USED   USED   USED   USED   USED   USED   USED   USED   USED     130-139

USED   USED   USED   USED   USED   USED   USED   USED   USED   USED     140-149

USED   USED   USED   USED   USED   USED   USED   USED   USED   USED     150-159

On peut aussi faire lslv -p hdisk0 hd2

11.3. comment obtenir la liste des
disques ?

#lspv

hdisk0          00c1719e64ded2fa                    rootvg          active

hdisk1          00c1719e74e1d549                    altinst_rootvg

hdisk2          00c1719eae51856d                    None

On peut aussi limiter la liste avec lspv | head -10 par exemple.

11.4. comment connaitre les disques
rootvg et les disques alternés?

#lspv | head -3

hdisk0          00c1719e64ded2fa                    rootvg          active

hdisk1          00c1719e74e1d549                    altinst_rootvg

hdisk2          00c1719eae51856d                    None

11.5. comment connaitre la taille d'un
disque son PPsize et son taux d'occupation?

#lspv hdisk0

PHYSICAL VOLUME:    hdisk0                   VOLUME GROUP:     rootvg

PV IDENTIFIER:      00ccd2cde80bd90c VG IDENTIFIER     00ccd2cd00004c000000010beb5cdfa1

PV STATE:           active

STALE PARTITIONS:   0                        ALLOCATABLE:      yes

PP SIZE:            128 megabyte(s)          LOGICAL VOLUMES:  10

TOTAL PPs:          546 (69888 megabytes)    VG DESCRIPTORS:   2

FREE PPs:           443 (56704 megabytes)    HOT SPARE:        no

USED PPs:           103 (13184 megabytes)    MAX REQUEST:      256 kilobytes

FREE DISTRIBUTION:  109..41..75..109..109

USED DISTRIBUTION:  01..68..34..00..00

11.6. comment connaitre la taille d'un
disque son PPsize et son taux d'occupation?

#lspv -l hdisk0

0516-320 : Physical volume 005b178f13b64dfb0000000000000000 is not assigned to

a volume group.

root@erebe:/root/bin #lspv -l hdisk1

hdisk1:

LV NAME               LPs   PPs   DISTRIBUTION          MOUNT POINT

lg_dumplv             32    32    00..32..00..00..00    N/A

lrootsy0101           9     9     00..09..00..00..00    /var/adm/ras

hd2                   31    31    00..00..31..00..00    /usr

hd4                   5     5     00..00..05..00..00    /

hd8                   1     1     00..00..01..00..00    N/A

hd6                   256   256   00..08..49..108..91   N/A

hd10opt               2     2     00..00..02..00..00    /opt

hd1                   8     8     00..00..08..00..00    /home

hd3                   9     9     00..00..09..00..00    /tmp

hd9var                4     4     00..01..03..00..00    /var

hd5                   1     1     01..00..00..00..00    N/A

11.7. comment récupérer un
disque déjà utilisé dans un vg?

Il faut mettre pv à
clear, puis forcer (option <B<-F< b>) la création du
vg.

chdev -l hdisk6 -a pv=clear

mkvg -f -y'vg_data2' hdisk6

11.8. comment savoir si un disque est un
disque local ou apaprtient à une baie ?

Il suffit de rechercher
l'interface parente du disque. Dans un cas ce sera un fscsi dans l'autre
un scsi.

lsparent -C -l hdisk10

fscsi0 Available 0D-08-02 FC SCSI I/O Controller Protocol Device

fscsi1 Available 0F-08-02 FC SCSI I/O Controller Protocol Device

Le disque hdisk10 est un disque de baie.

lsparent -C -l hdisk1

scsi0 Available 05-08-00 PCI-X Dual Channel Ultra320 SCSI Adapter bus

scsi1 Available 05-08-01 PCI-X Dual Channel Ultra320 SCSI Adapter bus

scsi2 Available 09-08-00 PCI-X Dual Channel Ultra320 SCSI Adapter bus

scsi3 Available 09-08-01 PCI-X Dual Channel Ultra320 SCSI Adapter bus

Le disque hdisk1 est un disque local.

11.9. comment connaitre les emplacement
libres sur le disque ?

Ceci va permettre de choisir une
politique de répartition des volumes logiques que vous allez
créer (outer edge,outer middle, center, inner middle, inner edge).

# lspv -p hdisk0

hdisk0:

PP RANGE  STATE   REGION        LV NAME             TYPE       MOUNT POINT

1-1     used    outer edge    hd5                 boot       N/A

2-110   free    outer edge

111-111   used    outer middle  hd6                 paging     N/A

112-119   used    outer middle  lg_dumplv           sysdump    N/A

120-122   used    outer middle  hd6                 paging     N/A

123-138   free    outer middle

139-141   used    outer middle  lv_dump             sysdump    N/A

142-149   used    outer middle  hd6                 paging     N/A

150-219   free    outer middle

220-220   used    center        hd8                 jfs2log    N/A

221-221   used    center        hd4                 jfs2       /

222-222   used    center        hd2                 jfs2       /usr

223-223   used    center        hd9var              jfs2       /var

224-224   used    center        hd3                 jfs2       /tmp

225-225   free    center

226-226   used    center        hd10opt             jfs2       /opt

227-232   used    center        hd2                 jfs2       /usr

233-235   used    center        hd4                 jfs2       /

236-252   used    center        hd2                 jfs2       /usr

253-267   used    center        hd3                 jfs2       /tmp

268-270   used    center        hd10opt             jfs2       /opt

271-328   free    center

329-437   free    inner middle

438-546   free    inner edge

#

11.10. Je fais un extendvg avec un
disque et le système me dit que celui-ci appartient déjà
à un autre volume groupe alors aaque lspv repond none, que
faut-il faire?

On veut étendre rootvg et la
situation resemble à ceci:

#lspv

hdisk1          00cde2f19f2f16bb                    rootvg          active

hdisk2          00cde2f194b3284a                    None

Il faut taper chpv -C hdisk2. On pourra alors faire un extendvg
rootvg hdisk2.

11.11. comment retrouver le pvid d'un
disque?

Il existe plusieures
manières:

·
l'accés direct sur le disque:

#dd if=/dev/hdisk0 count=1 | od -x |grep 000200

1+0 records in

1+0 records out

0000200  00cb 5e82 ed45 a691  0000 0000 0000 0000

le recours à la commande lspv qui
lit dans l'ODM:

#lspv hdisk0

PHYSICAL VOLUME:    hdisk0                   VOLUME GROUP:     rootvg

PV IDENTIFIER:      00cb5e82ed45a691  VG IDENTIFIER     00cb5e8200004c0000000121460abc10

PV STATE:           active

STALE PARTITIONS:   0                        ALLOCATABLE:      yes

PP SIZE:            256 megabyte(s)          LOGICAL VOLUMES:  10

TOTAL PPs:          546 (139776 megabytes)   VG DESCRIPTORS:   1

FREE PPs:           487 (124672 megabytes)   HOT SPARE:        no

USED PPs:           59 (15104 megabytes)

FREE DISTRIBUTION:  109..78..82..109..109

USED DISTRIBUTION:  01..31..27..00..00

La lecture de la VGDA via lqueryvg qui retourne le
descripteur du disque:

lqueryvg -p hdisk0 -At

Max LVs:        256

PP Size:        28

Free PPs:       924

LV count:       11

PV count:       2

Total VGDAs:    3

Conc Allowed:   0

MAX PPs per PV  1016

MAX PVs:        32

Conc Autovaryo  0

Varied on Conc  0

Logical:        00cb5e8200004c0000000121460abc10.1   hd5 1

00cb5e8200004c0000000121460abc10.2   hd6 1

00cb5e8200004c0000000121460abc10.3   hd8 1

00cb5e8200004c0000000121460abc10.4   hd4 1

00cb5e8200004c0000000121460abc10.5   hd2 1

00cb5e8200004c0000000121460abc10.6   hd9var 1

00cb5e8200004c0000000121460abc10.7   hd3 1

00cb5e8200004c0000000121460abc10.8   hd1 1

00cb5e8200004c0000000121460abc10.9   hd10opt 1

00cb5e8200004c0000000121460abc10.10  lg_dumplv 1

00cb5e8200004c0000000121460abc10.11  loglv01 1

Physical:       00cb5e82f2c23ec2                2   0

00cb5e82ed45a691                1   0

Total PPs:      1092

LTG size:       128

HOT SPARE:      0

AUTO SYNC:      0

VG PERMISSION:  0

SNAPSHOT VG:    0

IS_PRIMARY VG:  0

PSNFSTPP:       4352

VARYON MODE:    0

Si une de ces méthodes n'est pas en phase, c'est que vous
avez un problème sur votre disque.

12. lvm

12.1. comment obtenir la liste des volumes
groupes physiques du systeme?

#getlvodm -C

hdisk0

hdisk1

hdiskpower0

hdiskpower1

hdiskpower2

hdiskpower3

hdiskpower4

12.2. comment identifier l'état du
volume physique?

La commande lspv permet d'identifier
l'état du volume physique. Pour cela, le disque doit être
assigné à un volume groupe. Les informations les plus utiles
sont:

l'état (ctif ou inactif)

le nombre de copies PP "stale" (pas à
jour)

le nombre total de PP

le nombre de PP libres

la distributions de l'espace libre dans le volume

exemple:

lspv hdiskpower0

PHYSICAL VOLUME:    hdiskpower0              VOLUME GROUP:     vctmapr01

PV IDENTIFIER:      005bb78fdac73c90 VG IDENTIFIER     005bb78f00004c00000001013d427f20

PV STATE:           active

STALE PARTITIONS:   0                        ALLOCATABLE:      yes

PP SIZE:            64 megabyte(s)           LOGICAL VOLUMES:  3

TOTAL PPs:          159 (10176 megabytes)    VG DESCRIPTORS:   2

FREE PPs:           154 (9856 megabytes)     HOT SPARE:        no

USED PPs:           5 (320 megabytes)        MAX REQUEST:      1 megabyte

FREE DISTRIBUTION:  32..27..31..32..32

USED DISTRIBUTION:  00..05..00..00..00

12.3. comment lister les filesystems se
trouvant dans un volume groupe?

lsvgfs rootvg

/

/usr

/var

/tmp

/home

/opt

/var/adm/ras

12.4. comment recupérer le VGDA?

lqueryvg -p hdisk0 -At

Max LVs:        256

PP Size:        26

Free PPs:       430

LV count:       11

PV count:       2

Total VGDAs:    3

Conc Allowed:   0

MAX PPs per PV  1016

MAX PVs:        32

Conc Autovaryo  0

Varied on Conc  0

Logical:        001adfcf00004c00000001028cc13cbc.1   hd5 1

001adfcf00004c00000001028cc13cbc.2   hd6 1

001adfcf00004c00000001028cc13cbc.3   hd8 1

001adfcf00004c00000001028cc13cbc.4   hd4 1

001adfcf00004c00000001028cc13cbc.5   hd2 1

001adfcf00004c00000001028cc13cbc.6   hd9var 1

001adfcf00004c00000001028cc13cbc.7   hd3 1

001adfcf00004c00000001028cc13cbc.8   dumplv 1

001adfcf00004c00000001028cc13cbc.9   hd10opt 1

001adfcf00004c00000001028cc13cbc.10  lv00 1

001adfcf00004c00000001028cc13cbc.11  paging00 1

Physical:       001adfcf8cc13254                2   0

001adfcf8e65c320                1   0

Total PPs:      1084

LTG size:       128

HOT SPARE:      0

AUTO SYNC:      0

VG PERMISSION:  0

SNAPSHOT VG:    0

IS_PRIMARY VG:  0

PSNFSTPP:       4352

VARYON MODE:    0

12.5. que contient LVM ?

1.
Volume Groupe Descriptor Area (VGDA)

2.
Volume Groupe Status Area (VGSA)

3.
Logical Volume Control Blocks (LVCB) 512 premier octet
de chaque volume logique

Le logical volume control block (LVCB) est écrit dans les 512
premiers octets du volume logique. Ce bloc contient des informations importantes
comme la date de création du volume logique, ne nombre de copies
mirrorées, les points de montages possibles.

12.6. Ou se trouve la copie en
mémoire du VGDA?

/etc/v/vgGDID

12.7. comment obtenir le LVCB ?

getlvcb -AT hd2

AIX LVCB

intrapolicy = c

copies = 2

interpolicy = m

lvid = 001adfcf00004c00000001028cc13cbc.5

lvname = hd2

label = /usr

machine id = ADFCF4C00

number lps = 71

relocatable = y

strict = y

stripe width = 0

stripe size in exponent = 0

type = jfs

upperbound = 32

fs = log=/dev/hd8:mount=automatic:type=bootfs:vol=/usr:free=false

time created  = Thu Mar 10 13:57:18 2005

time modified = Tue Mar 29 15:55:52 2005

12.8. Comment connaitre la politique
d'allocation ?

getlvcb -AT hd3

AIX LVCB

intrapolicy = c

copies = 2

interpolicy = m

lvid = 00ca332d00004c000000010506cb0974.7

lvname = hd3

label = /tmp

machine id = A332D4C00

number lps = 8

relocatable = y

strict = y

stripe width = 0

stripe size in exponent = 0

type = jfs

upperbound = 32

fs =

time created  = Mon Jul 11 16:47:11 2005

time modified = Mon Jul 11 16:47:11 2005

12.9. Comment vérifier la
cohérence des volumes logiques de rootvg (/tmp, ...) ?

Vérifiez la liste des maps
physique (option -m), puis logique (option -l).

lslv -m hd3 (pour tmp)

hd3:/tmp

PV                COPIES        IN BAND       DISTRIBUTION

hdisk0            008:000:000   100%          000:000:008:000:000

hdisk1            008:000:000   100%          000:000:008:000:000

lslv -l hd3

hd3:/tmp

LP    PP1  PV1               PP2  PV2               PP3  PV3

0001  0315 hdisk0            0315 hdisk1

0002  0316 hdisk0            0316 hdisk1

0003  0317 hdisk0            0317 hdisk1

0004  0318 hdisk0            0318 hdisk1

0005  0319 hdisk0            0319 hdisk1

0006  0320 hdisk0            0320 hdisk1

0007  0321 hdisk0            0321 hdisk1

0008  0322 hdisk0            0322 hdisk1

Les disques à vérifier sont:

1.
hd3 /tmp

2.
hd4 /

3.
hd5 /boot

4.
hd8 jfslog

12.10. Quels sont les codes des policy
d'allocation?

PP alocation policy :

1.
m = middle

2.
c = center

3.
e = edge

4.
ie = inner edge

5.
im = inner middle

12.11. comment connaitre les
caractéristique d'un volume logique ?

En particulier son type et sa
politique d'emplacement disque.

n=`getlvodm -l hd3` ;  getlvodm -c $n

12.12. Comment savoir dans quel volume
groupe de trouve un disque ?

lsvg -n dlmfdrv201

VOLUME GROUP:   prd_data_vg01            VG IDENTIFIER:  00ca332d00004c00000001059c34246a

VG STATE:       inactive                 PP SIZE:        32 megabyte(s)

VG PERMISSION:  read/write               TOTAL PPs:      34080 (1090560 megabytes)

MAX LVs:        ???????                  FREE PPs:       17253 (552096 megabytes)

LVs:            16                       USED PPs:       16827 (538464 megabytes)

OPEN LVs:       0                        QUORUM:         17

TOTAL PVs:      32                       VG DESCRIPTORS: 32

STALE PVs:      0                        STALE PPs:      0

ACTIVE PVs:     0                        AUTO ON:        yes

MAX PPs per PV: 2032                     MAX PVs:        16

12.13. Comment réparer un volume
groupe ?

redefinevg -d dlmfdrv101 prd_data_vg01

varyonvg prd_data_vg01

synclvodm prd_data_vg01

12.14. comment créer un volume
groupe ?

on crée le volume groupe datavg en
utilisant le disque hdisk2. On pourrait fournir une liste de disque.

#mkvg -y datavg hdisk2

datavg

root@phebe:/ #lsvg

rootvg

altinst_rootvg

datavg

Il faut parfois forcer la création avec
l'option -f lorsque le disque a appartenu à un autre volume
groupe:

#mkvg -f -y appsvg01 hdisk1

appsvg01

12.15. Comment obtenir une liste complete
des filesystem au format csv ?

lsfs q>quelles sont les politiques d'allocation ?

12.16. Comment lister les corrrespondances
entre volume physique et logique?

lsvg -M vsystsy01

vsystsy01

hdiskpower15:1  lsystsy0119:27

hdiskpower15:2  lsystsy0119:28

hdiskpower15:3  lsystsy0119:29

hdiskpower15:4  lsystsy0119:30

12.17. Comment déterminer la taille
de bloc d'un filesystem et/ou son type ?

exemple pour un filesystem en
jfs2

lsfs -q /environnements/production/toto

Name            Nodename   Mount Pt               VFS   Size    Options    Auto Accounting

/dev/lapplpr0109 --         /environnements/production/toto jfs2  786432  rw         yes  no

(lv size: 786432, fs size: 786432, block size: 4096, sparse files: yes, inline log: no, inline log size: 0, reserved: 0, reserved: 0, DMAPI: no, VIX: no)

exemple pour un filesystem en jfs

lsfs -q /environnements/production/test Name
Nodename Mount Pt VFS Size Options Auto Accounting /dev/lapplpr0110 --
/environnements/production/test jfs 524288 rw yes yes (lv size: 524288, fs
size: 524288, frag size: 4096, nbpi: 4096, compress: no, bf: true, ag: 64)

12.18. Comment créer un filesystem
jfs2 avec son volume logique associé ?

Au préalable on aura créé un
volume groupe:

#mkvg -y appsvg01 hdisk1

Le volume groupe est appsvg01, le volume
logique est lapps0101, le point de montage /apps/websphere , la
taille de bloc est de 4096 et il est accessible en mode read/write (option-p'rw'),
avec montage automatique au reboot (option-A y).

#mklv -y lapps0101 -t jfs2 appsvg01 1

lapps0101

#crfs -v jfs2 -d lapps0101 -m /apps/websphere -A y -p'rw' -a agblksize='4096'

File system created successfully.

65328 kilobytes total disk space.

New File System size is 131072

#mount /apps/websphere

On peut alors tailler à la bonne dimension
avec :

chfS -a size=4G /apps/websphere

Meme
procedure pour un filesystem jfs:

#mklv -y lsystsy0111 -t jfs vsystsy01 1 lsystsy0111 -A y -p'rw' -a agblksize='4096'

Based on the parameters chosen, the new /root/test JFS file system

is limited to a maximum size of 134217728 (512 byte blocks)

New File System size is 65536

#mount /root/test

#chfs -a size=3G /root/test

12.19. comment connaitre la taille et la
fragmentation d'un fichier?

Utilisez la commande fileplace:

fileplace smit.log

File: smit.log  Size: 6165 bytes  Vol: /dev/hd4

Blk Size: 4096  Frag Size: 4096  Nfrags: 2   Compress: no

Logical Fragment

----------------

0006496                            1 frags     4096 Bytes,  50.0%

0006509                            1 frags     4096 Bytes,  50.0%

12.20. comment reconstruire la LVCB, la
VGDA sur un volume physique?

# synclvodm -v vg_tsmdb

synclvodm: Physical volume data updated.

synclvodm: Logical volume lv_tsmdb updated.

synclvodm: Logical volume loglv01 updated.

12.21. comment connaitre les statistiques
IO concernant les volumes logiques ?

#lvmstat  -v rootvg

Logical Volume       iocnt   Kb_read   Kb_wrtn      Kbps

hd8                   34         0       136      0.00

hd4                   18         0        72      0.00

hd3                    6         0        24      0.00

hd10opt                6         0        24      0.00

hd9var                 4         0        16      0.00

lrootvg0101            0         0         0      0.00

lg_dumplv              0         0         0      0.00

hd1                    0         0         0      0.00

hd2                    0         0         0      0.00

hd6                    0         0         0      0.00

hd5                    0         0         0      0.00

12.22. comment supprimer un volume groupe?

Il faut utiliser reducevg
en précisant le nom du volume groupe et du ou des hdisks.

#reducevg -df vg_save_data hdisk3

rmlv: Logical volume lv_save_data is removed.

rmlv: Logical volume loglv01 is removed.

ldeletepv: Volume Group deleted since it contains no physical volumes.

12.23. Pourquoi le nombre maximum de PP's
par PV pour un VG est de 1016?

1016 est le nombre maximum de
bits par PV qui se trouve dans la table Volume Group Status Area (VGSA) sur
tous les disques d'un volume groupe. C'est utilisé pour pister les PP's
non actifs.

On a 1016 bits + 8 bits utilisés à
autre choose (?) soit 1024 bits par PV = 128 bytes * 32 PVs / VG = 4KB.

Depuis AIX 5.3 TL 05 on peut s'affranchir de cette limite en
utilisant des volumes groupes scalable.

13. filesystems

13.1. Comment connaitre les
caractéristiques (inodes, nbpi...)d'un filesystem ?

lsfs -q /tmp

Name            Nodename   Mount Pt               VFS   Size    Options    Auto Accounting

/dev/hd3        --         /tmp                   jfs   1048576 --         yes  no

(lv size: 1048576, fs size: 1048576, frag size: 4096, nbpi: 4096, compress: no, bf: false, ag: 8)

13.2. Comment lister tous les
filesystems au format big file?

for i in `lsfs | awk '{print $3}'`

do

r=`lsfs -q $i | grep "bf: true" `

if [ "$r" != "" ]

then

echo $i

fi

done

13.3. comment connaitre les
utilisateurs qui loquent un filesystem?

fuser -u /apps/products/ctmagent/REEL

/apps/products/ctmagent/REEL:   598266c(mahe)

13.4. comment supprimer les
processus des utilisteurs qui loquent un filesystem?

fuser -k /apps/products/ctmagent/REEL

/apps/products/ctmagent/REEL:   598266c

13.5. Comment créer et un filesystem de taille
donné dans un volume groupe ?

·
on cherche un disque libre

#lspv

hdisk0          00ccd2cde83c037c                    old_rootvg

hdisk1          00ccd2cd26257aa4                    None

Si il s'agit d'une baie, vérifier qu'il
n'est pas attaché à un hdiskpower

#powermt display dev=all |grep hdisk1

1 fscsi1                    hdisk105   SP B0     active  alive      0      0

1 fscsi1                    hdisk102   SP B0     active  alive      0      0

1 fscsi1                    hdisk103   SP B0     active  alive      0      0

1 fscsi1                    hdisk104   SP B0     active  alive      0      0

0 fscsi0                    hdisk10    SP B1     active  alive      0      0

1 fscsi1                    hdisk101   SP B0     active  alive      0      0

0 fscsi0                    hdisk19    SP B1     active  alive      0      0

0 fscsi0                    hdisk11    SP B1     active  alive      0      0

0 fscsi0                    hdisk14    SP B1     active  alive      0      0

0 fscsi0                    hdisk13    SP B1     active  alive      0      0

0 fscsi0                    hdisk17    SP B1     active  alive      0      0

1 fscsi1                    hdisk100   SP B0     active  alive      0      0

0 fscsi0                    hdisk12    SP B1     active  alive      0      0

0 fscsi0                    hdisk16    SP B1     active  alive      0      0

0 fscsi0                    hdisk18    SP B1     active  alive      0      0

0 fscsi0                    hdisk15    SP B1     active  alive      0      0

·
créons le volume groupe nommé datavg.
L'option -f force la création car le disque hdisk1 avait
déjà un identifiant ou pvid ( 00ccd2cd26257aa4).

mkvg -s 128 -f -y datavg hdisk1

datavg

La taille d'un PP a été fixé
à 128 Mo. On pourrait mettre une valeur plus petite, mais il faut tenir
compte de la taille du disque. En mettant 1Mo on obtiendrait ceci:

#mkvg -s 1 -f -y datavg hdisk1

0516-1208 mkvg: Warning, The Physical Partition Size of 1 requires the

creation of 70006 partitions for hdisk1.  The system limitation is 16256

physical partitions per disk at a factor value of 16. Specify a larger

Physical Partition Size or a larger factor value in order create a

volume group on this disk.

0516-862 mkvg: Unable to create volume group.

Une option interessante de mkvg est
l'option -B qui permet de créer des Big volume.

·
on verifie le vg

#lsvg data

0516-306 : Unable to find volume group data in the Device

Configuration Database.

root@ceto:/root #lsvg datavg

VOLUME GROUP:   datavg                   VG IDENTIFIER:  00ccd2cd00004c0000000111925b7951

VG STATE:       active                   PP SIZE:        128 megabyte(s)

VG PERMISSION:  read/write               TOTAL PPs:      546 (69888 megabytes)

MAX LVs:        256                      FREE PPs:       546 (69888 megabytes)

LVs:            0                        USED PPs:       0 (0 megabytes)

OPEN LVs:       0                        QUORUM:         2

TOTAL PVs:      1                        VG DESCRIPTORS: 2

STALE PVs:      0                        STALE PPs:      0

ACTIVE PVs:     1                        AUTO ON:        yes

MAX PPs per PV: 1016                     MAX PVs:        32

LTG size:       128 kilobyte(s)          AUTO SYNC:      no

HOT SPARE:      no                       BB POLICY:      relocatable

Ensuite on crée le filesystem. Il existe deux
methodes possibles:

·
créer un filesystem et laisser le
sytème créer le volume logique qui lui est associé.

·
créér en donnant un nom de volume
logique

mklv -y datalv -t jfs2 datavg 1

crfs -v jfs2 -d datalv -m data -A ''`locale yesstr | awk -F: '{print $1}'`'' -p'rw' -a agblksize='4096'

chfs -a size=40G /data

Filesystem size changed to 83886080

root@ceto:/ #lsfs data

Name            Nodename   Mount Pt               VFS   Size    Options    Auto Accounting

/dev/datalv     --         /data                  jfs2  83886080 rw         yes  no

13.6. Comment vérifier le
superbloc et les données d'un filesysteme ?

#dumpfs /sauve | pg

/sauve:

Primary Superblock

last update             Fri Sep 26 11:16:51 2008

magic                   J2FS

file system version     1

volume name             lv_sau

aggregate size in physical byte blocks  373281256

allocation group size   524288

aggregate block size    4096            log2 of aggregate block size    12

physical block size     512             log2 of physical block size     9

log2 of block size/physical block size  3

Aggregate attributes    J2_GROUPCOMMIT

Aggregate state:        FM_MOUNT

AIT's first extent: 45056 (11); 4

AIT's second extent: 102400 (25); 4

log device      0x8000002a00000002 log serial number    0x1

Inline Log: 0 (0); 0

fsck Service Log number of blocks: 50

Most recent fsck service: 1 (First one)

fsck Working Space: 191120003072 (46660157); 1475

Extendfs aggregate size in physical blocks: 0

Extendfs fsck Working Space: 191120003072 (46660157); 1475

Extendfs Inline Log Working Space: 0 (0); 0

Compatible feature: 0x0000000000000000

Read-only feature: 0x0000000000000000

Incompatible feature: 0x0000000000000000

Features supported:

Aggregate Inode Allocation Map:

i_inostamp:0x48dca883 i_fileset:1 i_number:1

i_mode:0x00018000 i_nlink:1 i_ixpxd address:11 i_ixpxd length:4

i_size:8192 i_nblocks:2

B+-tree node: root flag:0x83 nextindex:3 maxentry:18

xad[2]: offset:0x0 address:0x9 length:2

Inode imap information

gengen: 0

Inode Map Control Page

14. paging space

14.1. comment vérifier le
paging space ?

lsps -a

Page Space      Physical Volume   Volume Group    Size %Used Active  Auto  Type

hd6             hdisk0            rootvg       10240MB     2     yes   yes    lv

14.2. comment vérifier les
paging spaces activés au démarrage ?

cat /etc/swapspaces

* /etc/swapspaces

*

* This file lists all the paging spaces that are automatically put into

* service on each system restart (the 'swapon -a' command executed from

* /etc/rc swaps on every device listed here).

*

* WARNING: Only paging space devices should be listed here.

*

* This file is modified by the chps, mkps and rmps commands and referenced

* by the lsps and swapon commands.

hd6:

dev = /dev/hd6

14.3. comment créer un
paging space sur un disque donné

mkps -s 1 rootvg hdisk1

lsps -a

Page Space      Physical Volume   Volume Group    Size %Used Active  Auto  Type

paging00        hdisk1            rootvg          64MB     1     yes   yes    lv

hd6             hdisk0            rootvg       10240MB     2     yes   yes    lv

ajouter -n pour l'activation immédiate et -a pour
l'ajout au démarrage.

14.4. comment activer un espace
de pagination ?

Activation de l'espace de
pagination /dev/paging01 :

swapon /dev/paging01

14.5. comment mirrorer un paging
space ?

1.     vérifier
le volume logique contenant le paging space

lslv -m paging00

paging00:N/A

LP    PP1  PV1               PP2  PV2               PP3  PV3

0001  0339 hdisk1

2.     vérifier
que le disque de mirroir appartient au meme volume groupe que le disque
déjà paginé. Etendre le volume groupe sinon.

lsvg -p rootvg

rootvg:

PV_NAME           PV STATE          TOTAL PPs   FREE PPs    FREE DISTRIBUTION

hdisk1            active            542         133         00..00..00..94..39

hdisk0            active            542         134         00..00..00..95..39

3.     Activation
de tous les espaces de pagination définis dans le fichier
/etc/swapspaces :

swapon -a

4.     mirror
du volume logique

mklvcopy paging00 2 hdisk1 hdisk0

5.     vérifier
que le nombre de PV pour paging00 est à 2.

lsvg -l rootvg

rootvg:

LV NAME             TYPE       LPs   PPs   PVs  LV STATE      MOUNT POINT

hd5                 boot       1     2     2    closed/syncd  N/A

hd6                 paging     160   320   2    open/syncd    N/A

hd8                 jfslog     1     2     2    open/syncd    N/A

hd4                 jfs        16    32    2    open/syncd    /

hd2                 jfs        80    160   2    open/syncd    /usr

hd9var              jfs        32    64    2    open/syncd    /var

hd3                 jfs        8     16    2    open/syncd    /tmp

paging00            paging     1     2     2    open/stale    N/A

hd10opt             jfs        8     16    2    open/syncd    /opt

lg_dumplv           sysdump    102   204   2    open/syncd    N/A

6.     vérifier
le disque mirroir principal.

lslv -m paging00

LP    PP1  PV1               PP2  PV2               PP3  PV3

0001  0339 hdisk1            0339 hdisk0

14.6. comment augmenter la taille
du paging space?

#lsps -a Page Space Physical Volume Volume
Group Size %Used Active Auto Type paging00 hdisk93 rootvg 3072MB 1 yes no lv
hd6 hdisk93 rootvg 7680MB 98 yes yes lv #chps -s 1 paging00 #lsps -a Page Space
Physical Volume Volume Group Size %Used Active Auto Type paging00 hdisk93 rootvg
3200MB 1 yes no lv hd6 hdisk93 rootvg 7680MB 98 yes yes lv

14.7. comment réduire la
taille du paging space?

attention il faut de l'espace
disque!

lsps -a

Page Space      Physical Volume   Volume Group    Size %Used Active  Auto  Type

paging00        hdisk1            rootvg        2112MB     1     yes   yes    lv

hd6             hdisk0            rootvg       10240MB     2     yes   yes    lv

chps -d 1 paging00

shrinkps: Temporary paging space paging01 created.

shrinkps: Paging space paging00 removed.

shrinkps: Paging space paging00 recreated with new size.

lsps -a

Page Space      Physical Volume   Volume Group    Size %Used Active  Auto  Type

paging00        hdisk1            rootvg        2048MB     1     yes   yes    lv

hd6             hdisk0            rootvg       10240MB     2     yes   yes    lv

15. fichiers

15.1. Comment connaitre les
informations relatives à un fichier ?

Utilisez istat:

istat file

Inode 57549 on device 10/4      File

Protection: rw-r--r--

Owner: 0(root)          Group: 0(system)

Link count:   1         Length 22 bytes

Last updated:   Tue Jan 15 16:40:32 2008

Last modified:  Tue Jan 15 16:40:32 2008

Last accessed:  Tue Dec  2 09:11:01 2008

Vous obtiendrez les date de création,
modification et d'access, les droits, le propriétaire et même son
numéro d'ionde. On voit ici avec Link count qu'il est unique. Si
on fait un lin le count passe à 2.

ln file file2

root@artemis:/root# istat filee

Inode 57549 on device 10/4      File

Protection: rw-r--r--

Owner: 0(root)          Group: 0(system)

Link count:   2         Length 22 bytes

Last updated:   Tue Dec  2 16:21:56 2008

Last modified:  Tue Jan 15 16:40:32 2008

15.2. comment faire le lien entre un
inode et un fichier?

Il faut utiliser ncheck

ncheck -i 57549

/dev/hd4:

57549   /root/file2

57549   /root/file1

16. users

16.1. comment vérifier que les
utilisateurs sont corrects ?

usrck -n ALL

3001-654 The group gdb2adm has no stanza in /etc/security/group.

3001-654 The group gfence has no stanza in /etc/security/group.

3001-654 The group gipief01 has no stanza in /etc/security/group.

3001-654 The group gr6 has no stanza in /etc/security/group.

3001-654 The group mi_group has no stanza in /etc/security/group.

3001-654 The group sasgrp has no stanza in /etc/security/group.

3001-664 The account for user daemon has expired.

3001-664 The account for user bin has expired.

3001-664 The account for user sys has expired.

3001-664 The account for user nobody has expired.

3001-664 The account for user lpd has expired.

3001-612 User lp has a non-existent

or inaccessible home directory /var/spool/lp.

3001-648 The user lp has no stanza in /etc/security/user.

3001-648 The user lp has no stanza in /etc/security/user.

3001-612 User imnadm has a non-existent

or inaccessible home directory /home/imnadm.

3001-662 User sshd is locked.

16.2. comment vérifier que les
groupes sont corrects ?

grpck -n ALL

3001-227  User name "printq" not found in password file.

3001-233  Invalid admin value in /etc/security/group for "gusasqta"

3001-239  Missing stanza for "gusasqta" in /etc/security/group.

3001-238  Missing stanza for "gusas" in /etc/group.

16.3. comment vérifier que les
password des users sont corrects ?

pwdck -n ALL

3001-402  The user "imnadm" has an invalid password field in /etc/passwd.

3001-414  The stanza for "imnadm" was not found in /etc/security/passwd.

3001-402  The user "invscout" has an invalid password field in /etc/passwd.

3001-414  The stanza for "invscout" was not found in /etc/security/passwd.

3001-402  The user "ipsec" has an invalid password field in /etc/passwd.

3001-414  The stanza for "ipsec" was not found in /etc/security/passwd.

3001-402  The user "lp" has an invalid password field in /etc/passwd.

3001-414  The stanza for "lp" was not found in /etc/security/passwd.

3001-421  The user "lp" does not have a stanza in /etc/security/user.

3001-402  The user "nuucp" has an invalid password field in /etc/passwd.

3001-414  The stanza for "nuucp" was not found in /etc/security/passwd.

3001-402  The user "snapp" has an invalid password field in /etc/passwd.

3001-414  The stanza for "snapp" was not found in /etc/security/passwd.

3001-402  The user "sshd" has an invalid password field in /etc/passwd.

3001-414  The stanza for "sshd" was not found in /etc/security/passwd.

16.4. comment changer un attribut sur tous
les users locaux?

for user in àwk-F ":" '/^.*:.*:0/ {print $1}' /etc/passwd

do

echo "$user account ..\c"

chuser rlogin=false $user

check_status $?

echo "modified"

done

16.5. Comment afficher tous les
utilisateurs?

lsuser ALL

16.6. Comment afficher les attributs d'un
user?

#lsuser -f root

root:

id=0

pgrp=system

groups=system,bin,sys,security,cron,audit,lp

home=/root

shell=/usr/bin/ksh

auditclasses=general

login=true

su=true

rlogin=true

daemon=true

admin=true

sugroups=ALL

admgroups=

tpath=nosak

ttys=ALL

expires=0

auth1=SYSTEM

auth2=NONE

umask=22

registry=files

SYSTEM=compat

logintimes=

loginretries=0

pwdwarntime=0

account_locked=false

minage=0

maxage=0

maxexpired=-1

minalpha=0

minother=0

mindiff=0

maxrepeats=8

minlen=0

histexpire=0

histsize=0

pwdchecks=

dictionlist=

fsize=2097151

cpu=-1

data=262144

stack=65536

core=2097151

rss=65536

nofiles=2000

time_last_login=1180684403

time_last_unsuccessful_login=1173802995

tty_last_login=/dev/pts/0

tty_last_unsuccessful_login=/dev/vty0

host_last_login=syst0001.getima.mutuagri.tm.fr

host_last_unsuccessful_login=localhost

unsuccessful_login_count=0

roles=

Sans l'option -f l'affichage se fai en vrac.

16.7. Comment changer les attributs d'un
utilisateur?

remet à zero le nombre de tentatives de
connection erronee

#chuser unsuccessful_login_count=0 toto

change le descriptif d'un compte

#chuser gecos="Jean-Louis Bicquelet" toto

passe l'authentification de l'utilisateur en mode
LDAP

#chuser registry=LDAP SYSTEM=LDAP toto

vérouillage d'un compte

#chuser      account_locked=false toto

16.8. Comment créer un utilisateur
?

La comamnde pour créer un utilisateur est:

#mkuser id=2014 gecos='utilisateur systeme' unix_user

Les parametres de comptes pêuvent
être ajoutés. Il peut être plus simple de créer
d'abord le groupe puis l'utilisateur:

#mkgroup -A id=800 topx

#mkuser id='800' pgrp='topx' groups='staff,topx' home='/home/topx' shell='/usr/bin/ksh' topx

en général on va grouper la
création du compte avec celui du groupe et le mot de passe:

mkgroup -A id=2010 csme

mkuser id=2301 pgrp=csme home='/home/exploit/judocsme'  gecos='judocsme' judocsme

passwd judocsme

16.9. Comment créer un groupe ?

#mkgroup id=2000 unix_users

16.10. Comment changer l'id d'un
utilisateur local?

Editez le fichier /etc/passwd et changer
l'id de l'utilisateur. Dans l'exemple, on change l'utilisateur oracle id=207
en oracle id=216.

Lancez ensuite un find sur le user suivi d'un chown
(éventuelement avec oracle:oracle).

find . -user 207 -exec chown oracle {} \;

16.11. Comment trouver les attributs
associés au password?

pwdadm -q user

user:

lastupdate = 1188172800

flags = NOCHECK

les attibuts peuvent être:

NOCHECK         pas de vérification

ADMIN           password uniquement modifiable par l'utilisateur

ADMCHG          le password devra etre changé par l'utilisateur à sa prochaine connection.

L'autre solution consiste à regarder le
fichier /etc/security/passwd

16.12. Comment ne pas obliger
l'utilisateur à changer son password à la première
connexion?

Il faut utiliser l'option -c
de pwdadm qui efface tous les flags associés à un compte.

# tail -4  /etc/security/passwd

nmon:

password = Wm7hpUyntWqWg

lastupdate = 1229418107

flags = ADMCHG

#pwdadm -c nmon

# tail -4  /etc/security/passwd

password = Wm7hpUyntWqWg

lastupdate = 1229418107

flags =

16.13. Comment savoir quelles tentatives
de connexion invalide on eu lieu?

#who /etc/security/failedlogin

root        pts/0       Apr 23 22:05     (170.127.106.223)

UNKNOWN_    pts/1       Apr 23 23:02     (170.127.103.117)

UNKNOWN_    pts/1       Apr 23 23:03     (170.127.103.117)

UNKNOWN_    pts/2       Apr 24 00:26     (170.127.106.223)

root        pts/1       Apr 24 17:23     (c920001074.net)

UNKNOWN_    ssh         Apr 25 01:32     (170.127.101.31)

UNKNOWN_    ssh         Apr 25 01:32     (170.127.101.31)

UNKNOWN_    ssh         Apr 25 01:32     (170.127.101.31)

root        vty0        Apr 25 18:34

16.14. Comment changer le mot de passe
d'un utilisateur automatiquement ?

Quand on est root, on peut forcer
le mot de passe d'un utilisateur en utilisant la commande chpasswd.
Celle-ci présente l'avantage d'être exécutable à
distance (ssh par exemple).

echo "user:password" | chpasswd

16.15. Comment éviter à
l'utilisateur de changer son mot de passe à la première connexion
?

pwdadm -c user

17. droits

17.1. Comment utiliser le sticky-bit ?

Normalement (sans 't') n'importe
quel utilisateur qui a écrit que la permission à une liste
d'adresses peut supprimer n'importe quels fichiers dans la liste d'adresses
indépendamment de qui le possède, même si il ne peut pas
lire ou écrire au fichier.

Avec 't' fixé, seul le
propriétaire d'un fichier peut le supprimer.

1.
chmod +t repertoire pour fixer le sticky-bit

2.
chmod -t repertoire pour anuler le sticky-bit

17.2. Comment utiliser fixer le Set-Id
mode ?

Il faut utiliser chmod u+s.

Le programme ainsi fixé sera
executé avec les droits du propriétaire du fichier. Dans
l'exemple qui suit on rend la commande ping utilisable par n'importe
qui.

host-user[1] ping host

0821-067 ping: The socket creation call failed.: The file access permissions do not allow the specified action.

host-user[2] which ping

/usr/sbin/ping

host-user[3] ls -ltr /usr/sbin/ping

-rwxr-xr-x   1 root     system        32566 Apr 23 2007  /usr/sbin/ping

On ne peut pas pinger avec le compte user
pour de raison de droits. On fixe alors en tant que root le set-ID bit.

host-root # chmod u+s /usr/sbin/ping

Le compte user peut maintenant pinger.

host-user [1] ls -ltr /usr/sbin/ping

-rwsr-xr-x   1 root     system        32566 Apr 23 2007  /usr/sbin/ping

host-user [2] ping host

PING host: (192.168.2.66): 56 data bytes

64 bytes from 192.168.2.66: icmp_seq=0 ttl=255 time=0 ms

17.3. comment lire les acl d'un fichier
ou d'un repertoire ?

aclget rep

attributes:

base permissions

owner(app):  rwx

group(cft):  rwx

others:  r-x

extended permissions

enabled

specify  rwx     u:user

17.4. comment mettre dans un fichiers les
acl lus ?

aclget -o memo.txt REP

17.5. comment fixer les acl d'un fichier
ou d'un repertoire ?

aclput -i memo.txt fichier

17.6. A quoi correspondent les
permissions étendues ?

Les permissions Étendues permettent au
propriétaire d'un fichier de définir l'accès à ce
fichier plus précisément. Les permissions Étendues
modifient les permissions de fichier de base (le propriétaire, le
groupe, d'autres) en permettant, supprimant, ou spécifiant des modes
d'accès pour des individus spécifiques, des groupes, ou des
combinaisons de groupe et l'utilisateur. Les permissions sont modifiées
à l'aide des mots-clés.

les mots clés permit, deny,
and specify sont définis comme ceci:

1.
permit Accorde à l'utilisateur ou au
groupe l'accès spécifié au fichier

2.
deny empêche l'utilisateur ou le groupe
d'utiliser l'accès indiqué au fichier

3.
specify définit précisément
l'accès au fichier pour l'utilisateur ou le groupe

18. ldap

18.1. comment savoir si le serveur est
relié à un serveur ldap?

/usr/sbin/ls-secldapclntd

ldapservers=orange

ldapport=389

active connections=1

ldapversion=3

userbasedn=ou=aixuser,cn=aixsecdb,cn=aixdata,o=systunix

groupbasedn=ou=aixgroup,cn=aixsecdb,cn=aixdata,o=systunix

idbasedn=

usercachesize=1000

usercacheused=0

groupcachesize=100

groupcacheused=0

usercachetimeout=300

groupcachetimeout=300

heartbeatT=300

numberofthread=10

connectionsperserver=10

alwaysmaster=no

authtype=UNIX_AUTH

searchmode=ALL

defaultentrylocation=LDAP

ldaptimeout=60

userobjectclass=posixaccount,account,shadowaccount,aixauxaccount,ibm-securityIdentities

groupobjectclass=posixgroup,aixauxgroup

18.2. quel est le fichier de configuration
de ldap sous AIX?

Le fichier de configuration du LDAP se nomme /etc/security/ldap/ldap.cfg.

18.3. Comment savoir si un compte est sous
LDAP?

Il faut utiliser l'option -R
LDAP.

exemple:

lsuser -R LDAP wbic

lsuser -R LDAP ALL

18.4. Comment gérer le demon LDAP?

Les commandes pour arrêter et
redémarrer LDAP sont:

·
start-secldapclntd

·
stop-secldapclntd

·
restart-secldapclntd

Pour vérifier le status:

#lsldap

dn: ibm-replicaGroup=default,cn=aixsecdb,cn=aixdata,o=systunix

dn: ou=aixuser,cn=aixsecdb,cn=aixdata,o=systunix

dn: ou=aixgroup,cn=aixsecdb,cn=aixdata,o=systunix

root@artemis:/etc/security/ldap# ls-secldapclntd

ldapservers=orange

ldapport=389

active connections=1

ldapversion=3

userbasedn=ou=aixuser,cn=aixsecdb,cn=aixdata,o=systunix

groupbasedn=ou=aixgroup,cn=aixsecdb,cn=aixdata,o=systunix

idbasedn=

usercachesize=1000

usercacheused=0

groupcachesize=100

groupcacheused=0

usercachetimeout=0

groupcachetimeout=0

heartbeatT=60

numberofthread=10

connectionsperserver=10

alwaysmaster=no

authtype=UNIX_AUTH

searchmode=ALL

defaultentrylocation=LDAP

ldaptimeout=60

userobjectclass=posixaccount,account,shadowaccount,aixauxaccount

groupobjectclass=posixgroup,aixauxgroup

18.5. Comment afficher les objets du naming
service LDAP?

Il faut utiliser la commande lsldap.

#lsldap

dn: ibm-replicaGroup=default,cn=aixsecdb,cn=aixdata,o=systunix

dn: ou=aixuser,cn=aixsecdb,cn=aixdata,o=systunix

dn: ou=aixgroup,cn=aixsecdb,cn=aixdata,o=systunix

Par défaut, lsldap n'affiche que
les distinguished name (DN). Il faut utiliser l'option -a pour afficher
les attributs:

# lsldap -a

dn: ibm-replicaGroup=default,cn=aixsecdb,cn=aixdata,o=systunix

objectclass: top

objectclass: ibm-replicaGroup

ibm-replicaGroup: default

dn: ou=aixuser,cn=aixsecdb,cn=aixdata,o=systunix

ou: aixuser

objectClass: organizationalUnit

objectClass: top

dn: ou=aixgroup,cn=aixsecdb,cn=aixdata,o=systunix

ou: aixgroup

objectClass: organizationalUnit

objectClass: top

18.6. Ou puis-je trouver de la
documentation LDAP spécifique à AIX?

Le document de référence est
"Configuring an AIX Client System for User Authentication and Management
Through LDAP".

19. parametrage

19.1. comment dater l'historique des
commandes ?

Il suffit d'ajouter la ligne
suivante dans le fichier .profile de root:

export EXTENDED_HISTORY=ON

On ajoute alors la date et
l'heure à l'historique:

#fc -l

646     fc -l

647     fc -t

648     which fc

649     fc -l

#fc -t

647     2009/05/29 14:05:13 :: fc -t

648     2009/05/29 14:05:27 :: which fc

649     2009/05/29 14:05:30 :: fc -l

650     2009/05/29 14:05:52 :: fc -t

19.2. comment autoriser la crontab
pour les utilisateurs qui ne sont pas root ?

Il faut soit créer un fichier /var/adm/cron/cron.allow
qui contient la liste des utilisateurs à raison d'une entrée par
ligne, comme ceci:

sas

topx

root

soit créer un fichier /var/adm/cron/cron.deny,
éventuellement vide.

20. cpu

20.1. comment obtenir des informations sur
les processeurs ?

La commande de pmlist
exécute les fonctions suivantes :

1.     liste
les processeurs supportés.

2.     liste
le résumé de l'information pour un processeur donné.

3.     liste
la table d'événement pour un processeur donné.

4.     liste
n'importe quels groupes d'événement existants pour un processeur
donné.

5.     liste
n'importe quels jeux d'événement existants pour un processeur
donné.

6.     liste
le jeu d'événement et la formule pour une métrique
donnée.

pmlist -s

POWER5 supports 6 counters

Number of groups            : 148

Number of sets              : 9

Threshold multiplier (lower): 1

Threshold multiplier (upper): 32

Threshold multiplier (hyper): 64

Hypervisor counting mode is supported

Runlatch counting mode is supported

20.2. comment connaitre le nombre physique
de processeurs et le type?

#prtconf | grep Processor

Processor Type: PowerPC_POWER5

Number Of Processors: 3

Processor Clock Speed: 1798 MHz

Model Implementation: Multiple Processor, PCI bus

+ proc0                                                                          Processor

+ proc2                                                                          Processor

+ proc4                                                                          Processor

20.3. comment connaitre la vitesse des
processeurs?

#prtconf | grep Speed

Processor Clock Speed: 1798 MHz

20.4. comment obtenir des informations sur
les processeurs au format csv ?

pmlist -s -o c

Processor Name,Counter Number,Group Number,Set Number,Lower Threshold,Upper Threshold,Hyper Threshold,Hypervisor Counting,Runlatch Counting

POWER5,6,148,9,1,32,64,yes,yes

20.5. comment examiner les plus gros process
?

-P donne la mémoire
pour les 10 plus importants process

-U donne la mémoire pour les 10 plus importants utilisateurs

#svmon -P -v -t 10 | more

(B) #svmon -U -v -t 10 | more

20.6. comment savoir si votre processeur est
en mode SMT (multithread simultané) ?

smtctl

This system is SMT capable.

SMT is currently enabled.

SMT boot mode is not set.

SMT threads are bound to the same physical processor.

proc0 has 2 SMT threads.

Bind processor 0 is bound with proc0

Bind processor 1 is bound with proc0

20.7. comment passer votre processeur en
mode SMT (multithread simultané) ?

smtctl -m 'on' -w now

smtctl: SMT is now enabled.

-m 'off' pour désactiver le mode SMT.

21. imprimantes

21.1. Comment lister toutes les
queue configurées?

/usr/bin/lsallq

# PRINT QUEUE          PRINTER              DESCRIPTION

printer1                 @server1             Remote Printer

printer2                 @server2            Remote Printer

L'option -c permet un
affichage à la mode smit.

/usr/bin/lsallq -c

printer1

printer1:@server1

printer2

printer2:@server2

21.2. Comment créer une queue
d'impression pointant sur imprimante distante pilotée par un serveur
windows ou novell ?

/usr/lib/lpd/pio/etc/piomisc_ext mkpq_remote_ext  -q  'printer3'  -h

'server3' -r 'HP2400_003' -t 'bsd' -C 'FALSE'

21.3. Comment supprimer une queue
d'impression pointant sur imprimante distante pilotée par un serveur
windows ou novell ?

/usr/lib/lpd/pio/etc/piomisc_ext rmpq_other  'R_HP2400_003:@server3' 'remote'

21.4. Comment imprimer plusieurs
copies de plusieurs fichiers?

Affichez à l'aide de cat
les fichiers et pipez dans lpr en utilisant l'option -# suivie du nombre
de copies.

cat fichier1.c fichier2.c | lpr -#2

On peut aussi cumuler les noms
comme ceci:

cat `ls *.pl` | lpr

21.5. Comment envoyer un fichier
à l'impression ?

Il existe plusieures
manières de faire:

enq -P printer2 fichier

lpr -P printer 2 fichier

21.6. Comment lister le contenu des
queues d'impression?

# enq -A

Queue   Dev   Status    Job Files              User         PP %   Blks  Cp Rnk

------- ----- --------- --- ------------------ ---------- ---- -- ----- --- ---

p207    @verd READY

p207: R_HP2300_B240 status: Idle

018608  @opal READY

018608: R_HP4200N_018608 status: Idle

018609  @opal READY

018609: R_HP4200N_018609 status: Idle

21.7. comment obtenir les
caractéristiques d'une queue d'impression ?

lsquedev  -c  -dR_HP4200_003 -qR_HP4200_003

#name:file:access:feed:header:trailer:backend:align

R_HP4200_003:FALSE:write:never:never:never:/usr/lib/lpd/rembak:FALSE

21.8. où sont définies
les imprimantes remote ?

Dans le fichier /etc/qconfig

21.9. comment vérifier que
les démons imprimantes sont actifs ?

#lssrc -g spooler

Subsystem         Group            PID          Status

qdaemon          spooler          614520       active

writesrv         spooler          794656       active

lpd              spooler          1912856      active

22. cdrom et bandes

22.1. comment savoir si le
montage automatique du cdrom est disponible?

#lssrc -s cdromd

Subsystem         Group            PID          Status

cdromd                                         inoperative

22.2. comment connaitre les
caractéristiques d'un lecteur de bande?

tctl status

rmt0 Available 0I-08-00-0,0 LVD SCSI 4mm Tape Drive

attribute     value description                          user_settable

block_size    0     BLOCK size (0=variable length)       True

compress      yes   Use data COMPRESSION                 True

density_set_1 71    DENSITY setting #1                   True

density_set_2 38    DENSITY setting #2                   True

extfm         yes   Use EXTENDED file marks              True

mode          yes   Use DEVICE BUFFERS during writes     True

ret           no    RETENSION on tape change or reset    True

ret_error     no    RETURN error on tape change or reset True

size_in_mb    36000 Size in Megabytes                    False

22.3. comment ejecter une
bande d'un lecteur de bande?

tctl offline

22.4. comment utiliser backup et restore ?

Pour backuper:

# backup -ivqf /dev/rmt44

Backing up to /dev/rmt44.

Cluster 51200 bytes (100 blocks).

Volume 1 on /dev/rmt44

Pour lister de la bande

#restore -Tvf/dev/rmt

Pour
restorer:

#restore -xvf/dev/rmt0

#restore -xvf/dev/rmt0 ./home/jlb

#restore -xvf/dev/rmt0 ./home/*

La première commande restore tout, la seconde l'arborescence
d'un compte unix, la dernière restore tous les comptes se trouvantr dans
/home.

22.5. comment vérifier
que la bande est bonne?

On utilise tapechk qui
vérifie la consistance d'une bande écrite au format backup. Cette
commande attend un nombre qui correspond au nombre de fichiers à
vérifier. On mettra 2 ou 3 pour vérifier les premiers fichiers
écrits sur la bande.

#tapechk 2

23. packages

23.1. comment connaitre le niveau de
l'operating systeme ?

#oslevel -r

5200-08

IL s'agit d'un AIX 5.2 TL 08 (car depuis cette
version on parle de technical level).

Avec les technical level, pour connaitre le
niveau de service pack, il faut utiliser l'option -s.

#oslevel -s

5200-09-CSP-0000

Une autre façon de faire est de chercher
les ML:

instfix -i | grep -i ML

All filesets for 5.2.0.0_AIX_ML were found.

All filesets for 5200-01_AIX_ML were found.

All filesets for 5200-02_AIX_ML were found.

All filesets for 5200-03_AIX_ML were found.

All filesets for 5200-04_AIX_ML were found.

All filesets for 5200-05_AIX_ML were found.

All filesets for 5200-06_AIX_ML were found.

All filesets for 5200-07_AIX_ML were found.

All filesets for 5200-08_AIX_ML were found.

All filesets for 5200-09_AIX_ML were found.

Not all filesets for 5200-10_AIX_ML were found.

23.2. comment faire une liste de lpp
pour réinstaller à l'identique ?

1.     mémoriser
la liste des lpp:

2.     copier
tous les lpp dans un répertoire lslpp -Jl > liste_AIX

3.     installer
à l'identique: geninstall -I -cgNQqwXY -J -Z -d . -f liste_AIX
2>&1

23.3. comment afficher la liste des
packages installés ?

#lslpp -l

bos.txt.tfs.data           5.2.0.0  COMMITTED  Text Formatting Services Data

devices.common.IBM.modemcfg.data

5.2.0.0  COMMITTED  Sample Service Processor Modem

Configuration Files

mqm.man.en_US.data        5.3.0.13  APPLIED    WebSphere MQ Man Pages - U.S.

English

Les packages peuvent être en mode COMMITTED ou APPLIED.
En mode APPLIED, on peut faire un reject pour revenir en arrière
ou un commit pour valider l'instalaltion. Après une période de
test et avant les montées de niveaux, il vaut mieux faire un COMMIT.

23.4. comment savoir quels sont les
fichiers contenus dans un lpp ?

lslpp -f xlC.aix50.rte

Fileset               File

----------------------------------------------------------------------------

Path: /usr/lib/objrepos

xlC.aix50.rte 6.0.0.13

/usr/lpp/xlC/lib/profiled/libC128_r.a -> /usr/lpp/xlC/lib/profiled/aix51/libC128_r.a

/usr/lpp/xlC/lib/aix50/libC.a

/usr/lpp/xlC/lib/libC128_r.a -> /usr/lpp/xlC/lib/aix51/libC128_r.a

/usr/lpp/xlC/lib/libC.a -> /usr/lpp/xlC/lib/aix51/libC.a

/usr/lpp/xlC/lib/profiled/aix52/libC.a -> /usr/lpp/xlC/lib/profiled/aix50/libC.a

/usr/lpp/xlC/lib/profiled/aix53/libC128.a -> /usr/lpp/xlC/lib/profiled/aix50/libC128.a

/usr/lpp/xlC/lib/profiled/aix51/libC128.a -> /usr/lpp/xlC/lib/profiled/aix50/libC128.a

...

/usr/lpp/xlC/lib/aix53/libC128_r.a -> /usr/lpp/xlC/lib/aix50/libC128_r.a

/usr/lpp/xlC/lib/aix50

/usr/lpp/xlC/lib/aix51

/usr/lpp/xlC/lib/aix52

/usr/lpp/xlC/lib/aix53

/usr/lpp/xlC/lib/profiled/aix52/libC128_r.a -> /usr/lpp/xlC/lib/profiled/aix50/libC128_r.a

/usr/lpp/xlC/lib/aix53/libC128.a -> /usr/lpp/xlC/lib/aix50/libC128.a

23.5. comment lister les lpp d'un
produit?

lslpp -L | grep MQ

mqm.Client.Bnd             5.3.0.2    C     F    WebSphere MQ Client Bundle

mqm.Server.Bnd             5.3.0.2    C     F    WebSphere MQ Server Bundle

mqm.base.runtime           5.3.0.8    C     F    WebSphere MQ Runtime for

mqm.base.samples           5.3.0.8    C     F    WebSphere MQ Samples

mqm.base.sdk               5.3.0.8    C     F    WebSphere MQ Base Kit for

mqm.client.rte             5.3.0.8    C     F    WebSphere MQ Client for AIX

mqm.java.rte               5.3.0.8    C     F    WebSphere MQ Java Client and

mqm.keyman.rte             5.3.0.8    C     F    WebSphere MQ Support for GSKit

mqm.man.en_US.data         5.3.0.8    C     F    WebSphere MQ Man Pages - U.S.

mqm.msg.en_US              5.3.0.8    C     F    WebSphere MQ Messages - U.S.

mqm.server.rte             5.3.0.8    C     F    WebSphere MQ Server

23.6. comment installer un produit ou
un fixpack?

Pour mettre à jour la
liste des produits à installer:

cd /root/fixpack_13

inutoc .

Allez
ensuite dans smitty

smitty

->  Software Installation and Maintenance

->   Install and Update Software

->  Update Installed Software to Latest Level (Update All)

Et précisez : input device .

23.7. comment identifier les packages
qui manque pour atteindre un technical level ?

Il faut utiliser instfix.
On peut chercher les packages qui ne sont pas installés:

#instfix -ivk 5200-10_AIX_ML |grep not

On peut aussi chercher ceux qui sont
inférieur au niveau de référence avec grep
":-:". Si on remplace le signe - par + on trouve
les packages d'un niveau supérieur au niveau de référence
et si on utilise = on trouve uniquement les packages à niveau.

#instfix -ciqk 5200-10_AIX_ML|grep ":-:"

Une autre manière de faire est d'utiliser
l'option -l avec oslevel -s ou oslevel -r.

#oslevel -rl 5300-07

Fileset                                 Actual Level           Recommended ML

-----------------------------------------------------------------------------

ICU4C.rte                               5.3.0.60               5.3.7.0

OpenGL.OpenGL_X.rte.base                5.3.0.61               5.3.7.0

OpenGL.OpenGL_X.rte.soft                5.3.0.60               5.3.7.0

X11.base.rte                            5.3.0.60               5.3.7.0

bos.64bit                               5.3.0.61               5.3.7.0

bos.acct                                5.3.0.60               5.3.7.0

bos.adt.debug                           5.3.0.60               5.3.7.0

bos.adt.include                         5.3.0.61               5.3.7.0

bos.adt.prof                            5.3.0.61               5.3.7.0

bos.adt.samples                         5.3.0.40               5.3.7.0

bos.adt.sccs                            5.3.0.60               5.3.7.0

bos.adt.syscalls                        5.3.0.60               5.3.7.0

bos.clvm.enh                            5.3.0.61               5.3.7.0

bos.compat.cmds                         5.3.0.60               5.3.7.0

bos.cpr                                 5.3.0.60               5.3.7.0

bos.diag.com                            5.3.0.61               5.3.7.0

bos.diag.rte                            5.3.0.61               5.3.7.0

bos.diag.util                           5.3.0.61               5.3.7.0

#oslevel -sl 5300-06-01-0732

23.8. comment désinstaller un
package?

Le plus simple consiste à
utiliser la commande installp -u.

exemple:

installp -u xlopt.tools

On peut aussi lister un groupe de fichier ainsi
afin de vérifier qu'on ne supprimera rien de trop (tout ce qui est en
japonais):

lslpp -JL | grep -i JP | awk '{print $1}'

Et le supprimer avec xargs:

lslpp -JL | grep -i JP | awk '{print $1}' |xargs installp -u

23.9. comment déinstaller un
package sans vérifier le bosboot ?

Lorsque la configuration est mauvaise, il peut
être utile de supprimer la vérification de la validité du
bosboot. Il faut alors utiliser l'option -

installp -u -b sysmgt.websm.*

+-----------------------------------------------------------------------------+

Pre-deinstall Verification...

+-----------------------------------------------------------------------------+

Verifying selections...done

Verifying requisites...done

Results...

SUCCESSES

---------

Filesets listed in this section passed pre-deinstall verification

and will be removed.

23.10. comment obtenir la liste des
noms des packages installés et seulement ceux-ci?

#lslpp -Jl | grep -v "#"

23.11. comment trouver à quel
package appartient un fichier?

#lslpp -w /usr/lib/libisns.a

File                                        Fileset               Type

----------------------------------------------------------------------------

/usr/lib/libisns.a                          bos.net.tcp.client    File

23.12. comment trouver la liste des fichiers associés à un package ?

#lslpp -f

23.13. comment forcer l'installation d'un package ?

Avec cette ligne de commande, on ne vérifie ni le bosboot, ni les niveaux de dépendances.

#installp -abcgd . devices.vdevice.IBM.v-scsi-host.rte

23.14. l'installation echoue à cause du bosboot sans aucun message ; comment obtenir plus d'information ?

tapez bosboot -ad /dev/hdisk0. Celui-ci devrait vous fournir des explications (fichier manquant ...).

23.15. comment reconstruire l'image de boot après une instalaltion de packages touchant au bos?

Il faut réinstaller l'image de boot sur le disque du rotovg (ici hdisk0, puis refaire l'ipldevice.

#bosboot -ad /dev/hdisk0

bosboot: Boot image is 36284 512 byte blocks.

# bosboot -ad /dev/ipldevice

bosboot: Boot image is 36284 512 byte blocks.

24. licence

24.1. Où se trouve le
répertoire contenant les outils de vérification et de gestion des
licences?

/usr/opt/ifor/bin/

24.2. Où se trouve la base de
données des licences

/var/ifor

24.3. Comment sauvegarder/restorer la
base de licence?

Utilisez les scripts db_back.sh b_recov.sh se trouvant dans
/var/ifor/scripts

25. maintenance

25.1. Quels sont les fichiers qui
peuvent grossir ?

Les fichiers suivant ne font que
croitre:

·
/var/adm/sulog

·
/var/adm/cron/log
* /var/adm/wtmp * /etc/security/failedlogin * /var/adm/ras/errlog (use errclear
w/parameters)

A l'exception de errlog qui se nettoye
à l'aide de errclear, il faut périodiquement nettoyer ces
fichier soit en rendant vide leur contenu:

cat /dev/null >/var/adm/sulog

soit en réduisant ceux-ci

tail -200 sulog > sulog_new

rm sulog

mv sulog_new sulog

25.2. comment connaitre le runlevel
?

#who -r

.        run-level 2 Apr  2 21:42       2    0    S

#who -r

.        run-level 1 Apr  3 22:07       1    0    2

#who -r

.        run-level S Apr  3 22:11       S    1    1

25.3. comment changer de runlevel ?

Il faut utiliser telinit avec le niveau
souhaité.

26. erreurs

26.1. comment lister les erreurs?

errpt

#errpt

IDENTIFIER TIMESTAMP  T C RESOURCE_NAME  DESCRIPTION

C6ACA566   0711114407 U S syslog         MESSAGE REDIRECTED FROM SYSLOG

C6ACA566   0711114407 U S syslog         MESSAGE REDIRECTED FROM SYSLOG

C6ACA566   0711084607 U S syslog         MESSAGE REDIRECTED FROM SYSLOG

A6DF45AA   0711084407 I O RMCdaemon      The daemon is started.

C6ACA566   0711084407 U S syslog         MESSAGE REDIRECTED FROM SYSLOG

C6ACA566   0711084407 U S syslog         MESSAGE REDIRECTED FROM SYSLOG

B38E3397   0711084307 U S SYSDUMP        Previous system dump information

C0AA5338   0711084307 U S SYSDUMP        SYSTEM DUMP

9D035E4D   0711040007 P S SYSVMM         DATA STORAGE INTERRUPT, PROCESSOR

9DBCFDEE   0711084307 T O errdemon       ERROR LOGGING TURNED ON

C6ACA566   0711034907 U S syslog         MESSAGE REDIRECTED FROM SYSLOG

26.2. comment lister les erreurs de
manière détaillées?

errpt -a

26.3. comment afficher une erreur de
façon détaillée à l'aide de son identifiant ?

errpt -aj 9D035E4D

---------------------------------------------------------------------------

LABEL:          DSI_PROC

IDENTIFIER:     9D035E4D

Date/Time:       Wed Jul 11 04:00:31 DFT

Sequence Number: 9554

Machine Id:      00CCD2CD4C00

Node Id:         ceto

Class:           S

Type:            PERM

Resource Name:   SYSVMM

Description

DATA STORAGE INTERRUPT, PROCESSOR

Probable Causes

SOFTWARE PROGRAM

Failure Causes

SOFTWARE PROGRAM

Recommended Actions

IF PROBLEM PERSISTS THEN DO THE FOLLOWING

CONTACT APPROPRIATE SERVICE REPRESENTATIVE

Detail Data

DATA STORAGE INTERRUPT STATUS REGISTER

0000 0000 0000 0000

SEGMENT REGISTER, SEGREG

4000 0000 0000 00FF

DATA STORAGE INTERRUPT ADDRESS REGISTER

FFFF D000 0000 0000

EXVAL

044D 6B40 FFFF FFFF

26.4. comment afficher une erreur en
fonction de son label ?

errpt -aj SYSLOG

Voici une liste d'exemple de labels possibles:

·
SYSLOG

·
SYSDUMP_STACK

·
DUMP_STATS

·
DSI_PROC

·
ERRLOG_ON

·
RMCD_INFO_0_ST

26.5. comment afficher les erreurs entre
deux dates ?

Le format de la date est mmddhhmmyy.
On utilise les flags -s pour le début et -e pour la fin.

#errpt -s 0711084307 -e 0711084407

IDENTIFIER TIMESTAMP  T C RESOURCE_NAME  DESCRIPTION

B38E3397   0711084307 U S SYSDUMP        Previous system dump information

C0AA5338   0711084307 U S SYSDUMP        SYSTEM DUMP

9DBCFDEE   0711084307 T O errdemon       ERROR LOGGING TURNED ON

Par exemple pour lister les erreurs entre le 18
mai 2009 17h00 et le 19 mai 9h00 :

# errpt -s 0518170009 -e 0519090009.

27. trace et debug

27.1. Comment lancer une de
trace de MQseries ?

trace -a -j30D,30E -L 268435368 -o $TRACE

L'option -L sert à définir une trace rotative.

27.2. Comment extraire un
rapport de trace concernant MQseries ?

trcrpt -t /usr/mqm/lib/amqtrc.fmt trc > trc.txt

28. dump

28.1. comment vérifier l'état
d'un dump?

# sysdumpdev -L

0453-039

Device name:         /dev/lg_dumplv

Major device number: 10

Minor device number: 10

Size:                448727040 bytes

Uncompressed Size:   2888377946 bytes

Date/Time:           Tue Jun 19 08:39:14 DFT 2007

Dump status:         0

dump completed successfully

Le dump status à 0 indique que cela s'est bien passé.

28.2. Quand a eu lieu le dernier dump ?

#sysdumpdev -L |grep Date

Date/Time:           Wed Jul 11 04:00:31 DFT 2007

28.3. Comment lister les espace de dump ?

sysdumpdev -l

primary              /dev/lg_dumplv

secondary            /dev/sysdumpnull

copy directory       /var/adm/ras

forced copy flag     TRUE

always allow dump    TRUE

dump compression     ON

28.4. Comment fixer les espaces de dump ?

Pour désactiver le premier dump device
temporairement:

sysdumpdev -p /dev/sysdumpnull

Pour changer le second dump device de
manière permanente.

sysdumpdev -p /dev/sysdumpnull

28.5. Comment estimer l'espace
nécessaire au dump ?

sysdumpdev -e

0453-041 Estimated dump size in bytes: 264870297

28.6. Comment activer la compression pour
le dump?

sysdumpdev -C

-c désactive la compression du dump.

28.7. LED status code du dump

c0 The dump completed successfully. Go to Copying a System Dump.

0c1 An I/O error occurred during the dump. Go to System Dump Facility.

0c2 A user-requested dump is not finished. Wait at least 1 minute for the dump to complete and for the operator panel display value to change. If the operator panel display value changes, find the new value on this list. If the value does not change, then the dump did not complete due to an unexpected error.

0c4 The dump ran out of space . A partial dump was written to the dump device, but there is not enough space on the dump device to contain the entire dump. To prevent this problem from occurring again, you must increase the size of your dump media. Go to Increase the Size of a Dump Device.

0c5 The dump failed due to an internal error.

0c7 A network dump is in progress, and the host is waiting for the server to respond. The value in the operator panel display should alternate between 0c7 and 0c2 or 0c9. If the value does not change, then the dump did not complete due to an unexpected error.

0c8 The dump device has been disabled. The current system configuration does not designate a device for the requested dump. Enter the sysdumpdev command to configure the dump device.

0c9 A dump started by the system did not complete. Wait at least 1 minute for the dump to complete and for the operator panel display value to change. If the operator panel display value changes, find the new value on the list. If the value does not change, then the dump did not complete due to an unexpected error.

0cc An error occured dumping to the primary device; the dump has switched over to the secondary device. Wait at least 1 minute for the dump to complete and for the three-digit display value to change. If the three-digit display value changes, find the new value on this list. If the value does not change, then the dump did not complete due to an unexpected error.

c20 The kernel debugger exited without a request for a system dump. Enter the quit dump subcommand. Read the new three-digit value from the LED display.

28.8. Comment connaitre la taille non
compresse en Go du dump?

#sysdumpdev -L | grep Uncompressed |awk '{print $3/1024/1024}' 2754.57

28.9. Comment extraire le vmcore d'un snap
?

savecore -d /root/nfs

0481-183 Saving 1740395520 bytes of system dump in /root/nfs/vmcore.

28.10. Comment examiner un dump ?

savecore génère un fichier vmcore.O.Z
qui dévompréssé peut être examiner par kdb.

savecore -d /tmp

df -g /tmp

uncompress vmcore.0.Z

kdb /tmp/vmcore.0 /unix

28.11. Quelles sont les premières
commandes de kdb ?

1.            stat

SYSTEM_CONFIGURATION:

CHRP_SMP_PCI POWER_PC POWER_4 machine with 2 available CPU(s)  (64-bit registers)

SYSTEM STATUS:

sysname... AIX

nodename.. serveur

release... 2

version... 5

build date Oct 12 2005

build time 11:30:28

label..... yes

machine... 00XXXX0C4C00

nid....... XXXX0C4C

time of crash: Mon Jul  9 16:40:22 2007

age of system: 9 day, 23 hr., 52 min., 11 sec.

xmalloc debug: disabled

CRASH INFORMATION:

CPU 0 CSA 02020E00 at time of crash, error code for LEDs: 70000000

pvthread+01EC00 STACK:

[000B0268]v_jfscorruption+000068 (000000005D0C6080, FFFFFFFF08000003,

0000000002020440, 0000000002020E00, 0000000032223080 [??])

...

Except :

csr   FFFFFFFF00A001FF dsisr 0000000042000000  bit set: DSISR_PFT DSISR_ST

esid  00000001FE379080 dar   FFFFFFFF00A001FF dsirr 0000000000000106

[0000B67C].umem_move+00007C (??, FFFFFFFF00A001FF,

F00000002FF38FF0, ??, 0000000000000000, 0000000000000000,

??, 0000000000000000, 0000000000000001, ??,

F10000E3208E6E00, F100000040000000, ??, 0000000000000000,

0000000000000000, ??)

[00185ECC]vmpcopy+0004B4 (??, ??, ??, ??, ??, ??, ??)

[00186D9C]vmfcopyin+00052C (??, ??, ??, ??, ??, ??)

[00186670]vm_uiomove+0003EC (??, ??, ??, ??)

[006D9E58]writei+000140 (??, ??, ??, ??, ??)

[0073C9C8]iextend+000090 (??, ??, ??)

2.     status

(0)> status

CPU     TID  TSLOT     PID  PSLOT  PROC_NAME

0   1EC09F    492  15B086    347  oracle

1   1BB079    443   AF0A0    175  maragent

2-31   Disabled

3.     f
Affiche la stack courrantepour le processus ou le thread

4.     lke
(modules chargés)

(0)> lke

ADDRESS     FILE FILESIZE    FLAGS         MODULE NAME

1 082F5800 08C31000 00001218 00080272 /etc/pw-syscall.64bit_kernel

2 082F5900 08C54000 00001580 00180248 /unix

3 082F5700 0897C000 00004320 00080262 bpf64/usr/lib/drivers/bpf

4 082F5500 08BD8000 0000AE28 00080272 random64/usr/lib/drivers/random

5 082F5600 08C04000 000014D8 00180248 /unix

6 082F5400 08B93000 00044CA8 00080262 /sbin/comp.uext64

7 082F5300 083FB000 00000408 00080262 comp.kext64/sbin/comp.kext

8 082F5100 08ACC000 000849D8 00080272 nfs.ext64/usr/lib/drivers/nfs.ext

9 082F5200 08714000 000014D8 00180248 /unix

...

5.     vfs
analyse de la table vfs

vfs 1

GFS             DATA TYPE    FLAGS

1 F10000E31D34F470 007127F0 F10000E31D350990 JFS     DEVMOUNT

... /dev/hd4 mounted over /

vfs_next..... F10000E31D34F4D0 vfs_gfs...... 00000000007127F0

vfs_mntd..... F10000E30862DF10 vfs_mntdover. 0000000000000000

vfs_vnodes... F10000E3049E7380 vfs_count.... 00000001

vfs_data..... F10000E31D350990 vfs_number... 00000001

vfs_mdata.... F10000E31E685500 vfs_bsize.... 00001000

vfs_lock@.... F10000E31D34F4C0 vfs_lock..... 0000000000000000

vmt_revision. 00000001 vmt_length... 00000078 vmt_vfsnumber 00000001

vmt_fsid..... 8000000A00000004 0000000000000003

6.     dla
recherche de dead lock

dla

Component Dump Table Cache (10000 entries) OVERFLOW

Component Dump Table Cache resized from 10000 to 20000 entries

[kdb_read_mem] no real storage @ F10000E3206F3410

[kdb_read_mem] no real storage @ F10000E3208E6E30

[kdb_read_mem] no real storage @ F10000E3208E6E30

[kdb_read_mem] no real storage @ F10000E3208E6E30

[kdb_read_mem] no real storage @ F10000E3208E6E30

...

7.     cdt

cdt

1) CDT head name dmp_minimal, len 00000108, entries 5

2) CDT head name proc entries 2473

3) CDT head name thrd entries 6833

4) CDT head name ldr, len 00000078, entries 2

5) CDT head name errlg, len 000000A8, entries 3

6) CDT head name lfs, len 00000048, entries 1

7) CDT head name bos, len 00000078, entries 2

8) CDT head name ipc, len 00000168, entries 7

9) CDT head name vmm, len 00000438, entries 22

10) CDT head name alloc entries 267

11) CDT head name rtastrc, len 00000198, entries 8

12) CDT head name sscsidd, len 00000048, entries 1

13) CDT head name aixpcm, len 00000108, entries 5

14) CDT head name efcdd, len 00000588, entries 29

15) CDT head name scdisk, len 00000228, entries 11

16) CDT head name lvm, len 00000078, entries 2

17) CDT head name tty, len 000000D8, entries 4

18) CDT head name efscsi, len 00000168, entries 7

19) CDT head name scsidisk, len 000030A8, entries 259

20) CDT head name netstat, len 000001F8, entries 10

21) CDT head name goent_dd, len 000000D8, entries 4

22) CDT head name jfs2, len 00000048, entries 1

(0)> cdt 5

5) CDT head name errlg, len 000000A8, entries 3

CDT    1 name             errc addr 00000000002827A0, len 000009E8

CDT    2 name          errc_io addr 0000000000DF46C8, len 00000048

CDT    3 name              log addr F10000E3040E3000, len 00008000

29. tuning

29.1. comment monitorer un disque
à interval régulier?

iostat 1 | grep "hdisk0 "

hdisk0           7.0      83.8      14.8   80387474  324942887

hdisk0          17.0     244.0      55.0          0       244

hdisk0          15.9     238.2      47.6          0       240

hdisk0          17.0     231.4      50.9          0       232

hdisk0          16.0     216.3      45.1          0       216

hdisk0          11.9     194.1      41.6          0       196

29.2. comment tuner un disque?

iostat | head -n5

tty:      tin         tout   avg-cpu:  % user    % sys     % idle    % iowait

0.6         80.7              11.3     10.8       72.3       5.6

Disks:        % tm_act     Kbps      tps    Kb_read   Kb_wrtn

iostat | grep "hdisk1 "

hdisk1           6.1      67.3      13.8   10609796  314630527

29.3. comment autoriser lvmstat?

lvmstat -v rootvg

Logical Volume       iocnt   Kb_read   Kb_wrtn      Kbps

hd2                   88         0       352      0.00

hd4                   62         0       272      0.00

hd8                   24         0        96      0.00

hd3                   16         0        64      0.00

paging00               0         0         0      0.00

lv00                   0         0         0      0.00

hd10opt                0         0         0      0.00

dumplv                 0         0         0      0.00

hd9var                 0         0         0      0.00

hd6                    0         0         0      0.00

hd5                    0         0         0      0.00

lvmstat -v rootvg

Logical Volume       iocnt   Kb_read   Kb_wrtn      Kbps

hd2                  365         4      1456      0.00

hd4                  190         0       800      0.00

hd8                   74         0       296      0.00

hd3                   62         0       248      0.00

hd6                    4         0        16      0.00

paging00               0         0         0      0.00

lv00                   0         0         0      0.00

hd10opt                0         0         0      0.00

dumplv                 0         0         0      0.00

hd9var                 0         0         0      0.00

hd5                    0         0         0      0.00

lvmstat -v rootvg -d

29.4. comment autoriser/supprimer le
tuning d'un volume groupe ?

lvmstat
-v rootvg -e

-e enable -d disable.

29.5. comment voir les entrees/sorties
d'un volume groupe ?

lvmstat -v rootvg

Logical Volume       iocnt   Kb_read   Kb_wrtn      Kbps

hd8                  126         0       504      0.00

hd2                  100         0       464      0.00

hd3                   60         0       800      0.00

hd4                   34         0       144      0.00

hd9var                18         0        80      0.00

hd6                   16         0        64      0.00

lg_dumplv              0         0         0      0.00

hd10opt                0         0         0      0.00

hd5                    0         0         0      0.00

30. shell

30.1. Comment récupérer sous
forme de shell les commandes passées par smit?

smitty -s command.sh

smit va créer un fichier command.sh.
Il faut rendre celui-ci exécutable à l'aide de chmod +x.

Une autre manière de faire consiste à
récupérer le fichier smit.log et l'éditer.

30.2. Comment recuperer le résultat
d'une opération avec bc dans une variable ?

a=`bc << EOF

> 6+8

> quit

> EOF

Autre façon de faire:

a=2

awk -v a=$a 'BEGIN { print a+1 }'| read b

echo $b

3

30.3. Comment faire une opération
avec perl en mode commande et retourner le résultat dans une variable ?

#a=`echo 45 + 6 |perl -pane "$F[0] + $F[1];"`

30.4. Comment faire une copie de fichier
avec un timestamp ?

FICHIER=mon_fichier

cp -pr $FICHIER "${FICHIER}_`date +%H%M%d%m%y`"

30.5. Comment créer un fichier
d'une taille donnée ?

Ici on va créer un fichier
filename1 de 100 octets.

/usr/sbin/lmktemp filename1 100

filename1

# ls -l filename1

-rw-r--r--   1 root     system          100 Jun 14 14:11 filename1

30.6. Comment connaitre toutes les
caractéristiques d'un fichier, et en particulier les dates de
création, modification et d'accès à un fichier ?

istat lvmt.log

Inode 5 on device 10/7  File

Protection: rw-rw----

Owner: 0(root)          Group: 0(system)

Link count:   1         Length 204800 bytes

Last updated:   Thu Sep 25 16:31:21 CDT 2008

Last modified:  Mon Oct  6 15:48:41 CDT 2008

Last accessed:  Thu Sep 25 16:31:21 CDT 2008

On dispose de plus de l'inode du fichier ainsi que du nombre de lien (Link
count). Ceci permet par exemple de supprimer un fichier grace à son
inode.

30.7. comment eviter de dépasser la
taille du buffer NCARGS?

Il faut passer par la commande find ou xargs
afin de traiter ligne à ligne les paramêtres.

# ls |while read l

do

echo $l

done

.sh_history

.vi_history

DATASOFT

SOFT

TUX1

audit

bin

cd0

30.8. comment revenir au
précédent répertoire ?

utilisez cd - ou cd ~-

# cd /tmp

# cd /NIM

# cd ~-

# pwd

/tmp

30.9. comment changer le prompt ?

Ajoutez dans $HOME/.profile
la ligne :

export PS1=`hostname`:'$PWD#  '

30.10. comment activer l'édition de
l'historique en Korn shell ?

Ajoutez dans $HOME/.profile
la ligne :

set -o vi

Cela vous permetra d'utiliser les touches

k

haut

j

bas

l

droit

h

gauche

x

suppresion d'un caractère

i

insertion

$

fin de ligne

c$

changement jusqu'à la fin de la ligne

/chaine

recherche d'une commande

et cetera

30.11. comment utiliser les alias en Korn
shell?

Ajoutez dans $HOME/.kshrc
une ligne du style :

alias  l='ls -l'

Ajoutez dans $HOME/.profile la ligne :

export ENV=$HOME/.kshrc