Anda di halaman 1dari 283

UNIX ALL TIPS

V4.6 Gi@nts 2002


UNIX ALL TIPS
U.A.T(orient Aix)
~ Base de connaissance Unix ~
Cration document : 2002 BusinessObjects @Admin Sys
Ajout : 2006 Sun-EDF @Admin Sys
Ajout : 2007 Bouygues Telecom @Expert AiX
Ajout : 2007 MecaPlast-IBM @Consultant AiX
Ajout : 2008 France Telecom @Expert AiX
Ajout : 2008 ING Direct @Dev/Admin Sys
Ajout : 2008 Sun-EDF @Expert Aix
Ajout : 2009 Aspheria @Expert Aix
Ajout : 2009 Europcar @Consultant AiX
Ajout : 2010 Cedicam @Consultant AiX
Ajout : 2010 Hsbc @Expert Aix
Version actuel : 4.6a - 14/02/2010
Escurat Christophe
Petites Note :
La confiance n'exclue pas le contrle
La connaissance n'est rien si elle n'est partage
1 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
INDEX
LIENS DIVERS...............................................................................................................................16
PUBLIC DOMAIN SOFTWARE LIBRARY FOR AIX...........................................................................16
UNIX TOOLBOX - GROUP...............................................................................................................16
AIX TOOLBOX FOR LINUX APPLICATIONS.....................................................................................16
AIX FIX CENTRAL..........................................................................................................................16
AIX RECHERCHE DE FILESETS........................................................................................................16
BULL OPEN SOFTWARE ARCHIVE FOR AIX...................................................................................16
FIRMWARE......................................................................................................................................16
POWERVM WIKIPEDIA....................................................................................................................16
CALL IBM.......................................................................................................................................16
UPGRADE FICHIER SUR UN INCIDENT ............................................................................................17
HISTORIQUE ET INFORMATIONS DES PRINCIPAUX OS.................................................18
AIX.................................................................................................................................................18
HP...................................................................................................................................................19
SUN.................................................................................................................................................19
LINUX.............................................................................................................................................19
WINDOWS.......................................................................................................................................19
RESEAU...........................................................................................................................................20
|ALL| INFORMATION GENERAL RESEAU........................................................................................20
|AIX| SUPPRIMER IPV6 .................................................................................................................20
|AIX| EQUIVALENT LSOF................................................................................................................21
|ALL| TIMEOUT POUR SSH............................................................................................................21
|ALL| MISE EN PLACE SSH............................................................................................................21
|AIX| DUMP RESEAU......................................................................................................................21
|AIX| CIFS.....................................................................................................................................21
|ALL| MISE EN PLACE DE RDIST....................................................................................................22
|AIX| CONNAITRE LA VITESSE ACTUEL D`UNE CARTE...................................................................23
|ALL| ENCODAGE BINAIRE POUR ENVOIE.......................................................................................23
|ALL| AFFICHE LES MONTAGES PAR UNE MACHINE DISTANTE......................................................23
|ALL| ON AFFICHE LES PORTS A L`ECOUTE....................................................................................23
|ALL| FICHIER DE CONF DES SERVICES..........................................................................................23
|ALL| POUR AJOUTER UN POINT DE MONTAGE POUR LECTURE NFS...............................................24
|ALL| ENVOYER UN MAIL SOUS UNIX............................................................................................24
|ALL| ENVOYER UN MAIL AU FORMAT HTML POUR LOTUS/NOTES................................................24
|ALL| FORWARD DE MAIL SOUS UNIX...........................................................................................24
|ALL| CONNAITRE LE SERVEUR DE TEMPS.....................................................................................25
|ALL| NBR MAX DE DOMAINE DANS LE /ETC/RESOLV.CONF..........................................................25
|ALL| FTP & CO..............................................................................................................................25
|AIX| NIS & LDAP........................................................................................................................26
|AIX| EMPECHER LA CONNECTION EN ROOT / TELNET..................................................................27
|AIX| PROBLEME HOSTNAME LONG DE LA MACHINE.....................................................................27
|AIX| DEMONTER TOUS UN SYSTEM DE FICHIERS..........................................................................27
|AIX| ROUTE RESEAU....................................................................................................................28
|AIX| MISE EN PLACE D`UN ALIAS.................................................................................................28
|AIX| CHANGER EN DUR LE NOM DE LA MACHINE.........................................................................28
2 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
|AIX| CHANGER L`ADRESSE IP D`UNE CARTE RESEAU...................................................................29
|AIX| ADRESSE MAC.....................................................................................................................29
|AIX| SMTP, POP, SENDMAIL, XNTPD (SERVICES - SRC)..................................................................29
|AIX| CONFIGURATION 1GIGABYTE.............................................................................................29
|AIX| TCPIP....................................................................................................................................29
|ALL| NSSWITCH.CONF SUR AIX |ORDRE DE RECHERCHE DNS/LOCAL|..........................................30
|AIX| RETRY DNS AND CO............................................................................................................30
|ALL| VISUALISER LES SOCKET OUVERT........................................................................................31
[ALL] AFFICHER LES PROCESSUS TRIS PAR NOMRE DE FICHIERS OUVERTS. 31
|AIX| IMAP SUR AIX.......................................................................................................................31
|SUN| STATUT SUR SOLARIS DE LA CARTE RESEAU.......................................................................31
|SUN| AFFICHAGE DE L`ESPACE LIBRE D`UN DEVICE SUR SDS.....................................................31
|SUN| MISE A JOUR DE L`ADRESSE IP SUR SOLARIS10..................................................................31
|SUN| PING IMPOSSIBLE D`UNE MACHINE......................................................................................31
|PC| RSH A PARTIR D`UN PC..........................................................................................................31
|LINUX| REPERTOIRE RESEAU SOUS LINUX...................................................................................32
|OTHER| DEPORT DE CONSOLE.......................................................................................................32
VM!ARE ESX SERVER..............................................................................................................33
QUELQUES EXEMPLE D`IMAGE DE L`INTERFACE POUR ESX: ....................................................33
SERVEURS VIRTUELS, QUEL INTERT?........................................................................................35
COMMENT FONCTIONNE VMWARE ESX SERVER?....................................................................36
MODULES ESX...........................................................................................................................36
SYNCHRONISATION DE L`HEURE SOUS ESX...............................................................................36
CLUSTER.........................................................................................................................................3"
|AIX| HACMP/ES : HIGH AVAILABILITY CLUSTER MULTIPROCESSING......................................37
|AIX| AIX 6.1 POUR HA.................................................................................................................38
|AIX| RE-CREATION DES MIBS SUR AIX.........................................................................................38
|AIX| CONFIGURATION DE SNMPDV3.............................................................................................38
|AIX| SUPP DES FILESETS NON NECESSAIRES.................................................................................40
|AIX| WARNING DE ROUTAGE........................................................................................................40
|AIX| RHOST SOUS HACMP ET WEBSMIT.........................................................................................40
|AIX| ARRET DU CLUSTER : SMITTY CLSTOP..................................................................................40
|AIX| AFFICHER LES INTERFACES I/O HACMP.............................................................................41
|AIX| CREATION D`UN DISQUE DE HEARTH BEAT.........................................................................41
|AIX| TEST DU DISQUE DE HEARTH BEAT.....................................................................................41
|AIX| AFFICHER LES SCRIPTS DES RESOURCES GROUPES...............................................................41
|AIX| DEMARRAGE DU CLUSTER : SMITTY CLSTART......................................................................42
|AIX| INFORMATIONS DES RESSOURCES GROUPES ET PRIORITY OVERRIDE LOCATION.................42
|AIX| RESSOURCES DU CLUSTER....................................................................................................42
|AIX| VERIFICAION ET SYNCHRO DU CLUSTER...............................................................................43
|AIX| SYNCHRONIZER LA DEFINITION D`UN VOLUME GROUP PARTAGE.......................................43
|AIX| DEPLACEMENT DE RESOURCE GROUPE |TEST FAILOVER|.....................................................43
|ALL| UNIX VERITAS CLUSTER SERVER........................................................................................43
PERFORMANCE............................................................................................................................#$
|AIX| JFS/JFS2..............................................................................................................................45
3 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
|AIX| PERFAGENT TOOLBOX...........................................................................................................46
|AIX| PERFORMANCE TOOLBOX VERSION 2 AND 3 GUIDE AND REFERENCE................................49
|AIX| GPFS....................................................................................................................................54
|AIX| FICHIER DES FS DISPONIBLENT ...........................................................................................55
|ALL| TOPAS..................................................................................................................................55
|AIX| IOSTAT..................................................................................................................................56
|AIX| VMSTAT................................................................................................................................57
|AIX| CUSTOMISATION // TUNING SYSTEMES ET RESEAU..............................................................58
|AIX| MEMOIRE VIRTUELLE - SVMON.............................................................................................59
|AIX| AFFICHER LES STATISTIQUES MEMOIRE D`UN USER.............................................................61
|AIX| AFFICHER LES STATISTQIUES MEMOIRE DES 10 PLUS GROS PROCESS..................................62
|ALL| CREATION DE GRAPH SUR EN ENSEMBLE DE LPAR AND CO.................................................63
|ALL| UTILISATION RRD POUR FAIRE DES GRAPHIQUES...............................................................64
HMC..................................................................................................................................................%8
BRUTE FORCE HACK PASSWORD................................................................................................98
CONNATRE LA VERSION DE LA HMC..........................................................................................98
SAUVEGARDE DE LA CONF HMC..............................................................................................98
AFFICHER LE NIVEAU DE BIOS DE LA HMC...............................................................................98
AFFICHER LES OPTIONS D`ACCEES DE LA HMC...........................................................................99
AFFICHER LA CONFIGURATION RESEAU DE LA HMC.................................................................99
AFFICHER L`ETATS DES CONNECTIONS EN COURS......................................................................99
LOGIN ET PASSWORD D`ORIGINE................................................................................................99
TROUVER LA HMC D`UN SERVEUR..............................................................................................99
TROUVER SUR QU`ELLE PARTITION EST LE LECTEUR CD/DVD ROM...........................................99
LISTER TOUTES LES PLATEFORMES DISPONIBLES.....................................................................100
REBOOT DE LA HMC SOUS HSCROOT........................................................................................100
LISTER TOUTES LES PARTITIONS ET LEUR ETATS.....................................................................100
LISTER LES PARTITIONS SFP......................................................................................................100
LISTER TOUS LES PROFILES DISPONIBLES.................................................................................100
LISTER TOUS LES UTILISATEURS...............................................................................................100
POUR REBOOTER UNE PARTITION.............................................................................................100
POUR ARRETER UNE PARTITION................................................................................................101
POUR AFFICHER LES EVENEMENTS LOG` ................................................................................101
POUR AFFICHER LES EVENEMENTS HARDWARES......................................................................101
POUR DEMARRER UNE PARTITION............................................................................................101
POUR OUVRIR UNE SESSION SUR UNE PARTITION.....................................................................101
POUR FERMER UNE SESSION SUR UNE PARTITION.....................................................................101
POUR VOIR LES RESSOURCES ATTRIBUEES A UNE PARTITION...................................................101
POUR ASSIGNER UN LECTEUR CDROM A UNE PARTITION..........................................................101
POUR MODIFIER UNE CONFIGURATION EN COURS (NECESSITE DLPART)..................................101
POUR RESYNCHRONISER UNE PARTITION AVEC CES RESSOURCES............................................102
ORACLE........................................................................................................................................103
|ALL| VERIFICATION DU LISTENER..............................................................................................103
SE CONNECTER EN TANT QU&ORACLE ET ENTRER ' ...................................................103
# // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
( LSNRCTL STATUS...................................................................................................................103
S)ST*MES PARTITIONN.......................................................................................................10#
MISE EN PARTIQUE (DESSIN CI-DESSUS)...................................................................................108
COMMANDES VIOS....................................................................................................................110
FILESET VIO EN TROP ?...........................................................................................................110
GAPE ON NON GAPE.................................................................................................................110
MODIFICATION DE DEVICE........................................................................................................110
MODIFICATION VALEUR SYSTEME............................................................................................110
MODIFICATION PARAMETRE TCP/IP DU SERVEUR VIOS...........................................................110
DEFINIT LES VALEUR REQUIS POUR UN ADAPTATEUR TCP/IP...................................................110
CREATION DE DEVICE...............................................................................................................110
AFFICHE LES UNITES DU SERVEUR D`E-S VIRTUEL ET LEURS CARACTERISTIQUES .................111
DIVERS......................................................................................................................................111
CREATION DE VIRTUAL OPTIC DEVICES...................................................................................111
CREATION DU BACKEND POOL DE 40GB SOUS ROOTVG SUR UN VIOS DONT LES 2 HDISKS
INTERNES SONT EN RAID0 LVM ................................................................................................112
CREATION DES ISO A PARTIR DES CD AIX: ...........................................................................112
CREER LE VIRTUAL OPTIC DEVICE POUR CHAQUE VIOC ........................................................112
MOUNTER L'IMAGE ISO DANS LE VIRTUAL OPTIC DEVICE: .....................................................113
VERIFIER LA DISPONIBILITE DE L'IMAGE POUR LE VIOC: .......................................................113
LISTING DES FILE-BACKED VIRTUAL OPTICAL DEVICES ET DU REPOSITORY: ..........................113
ATTACHER LE CDROM DU VIOS (SATA) A UN VIOC: .........................................................114
CONFIG FIREWALL VIOS : .......................................................................................................114
UPGRADE VIOS: ......................................................................................................................114
DECONFIGURER UN VDEVICE SANS LE SUPPRIMER..................................................................114
IDENTIFIER UN PORT ETHERNET PHY/VIRT ..............................................................................114
CREER UNE CARTE ETHERCHANNEL AVEC 2 ETHERNET: ........................................................114
CREER UN SHARED ETHERNET ADAPTER (SEA) SIMPLE: .......................................................114
MAPPING SEA .........................................................................................................................114
DUAL VIOS 1.5, VHOST DISQUES SUR SAN: SETTER SCSILOCK RESERVATION A OFF/NO
IMMEDIATODM: .......................................................................................................................115
MME ACTION MAIS EN VIOS 2.1: ..........................................................................................115
DRIVERS MPIO AVEC EMC DMX: .......................................................................................115
MPIO SETTINGS: (REBOOT) ...................................................................................................115
MPIO: REACTIVER UN PATH FAILED: ......................................................................................115
ATTACHEMENT DES DISQUES AU VHOST0: ..............................................................................115
CREER UN SEA AVEC FAILOVER (DUAL VIOS): .......................................................................116
DETACHER/REATTACHER UN VETHERNET D'UN HOST: ............................................................116
BACKUP CONFIG DES MAPPINGS DEVICES (~VIOS 2.1.2.10 FP 22.1) ...................................116
FULLBACKUP SANS VIRTUAL MEDIA (/VAR/VIO/VMLIBRARY EXCLUDE) ...............................116
HARD!ARE.................................................................................................................................11"
DIFFERENCE P5/P6...................................................................................................................117
$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
!PAR.............................................................................................................................................11%
PRESENTATION WPAR...............................................................................................................119
COMMANDES SPECIFIQUES WPAR............................................................................................121
VM...................................................................................................................................................123
VOLUME MANAGER..................................................................................................................123
EXEMPLE DE CREATION POSSIBLE SOUS VM............................................................................124
COMMANDE PLUS COMPLEXE SOUS VM..................................................................................124
AIE................................................................................................................................................12$
|AIX| DRIVERS POUR DS4000.................................................................................................125
|AIX| DEVICES SUR LES HOSTS - DS4000...............................................................................126
|AIX| CREATION DE RESSOURCES POUR DS4000....................................................................127
|AIX| TUNING DS4000............................................................................................................128
BAIE SUN A5000.....................................................................................................................129
AIE EMC.....................................................................................................................................131
SRDF/S....................................................................................................................................131
SRDF/A....................................................................................................................................131
SRDF/DM................................................................................................................................132
NAVISPHERE CLI CHEAT SHEET...............................................................................................133
SAN..................................................................................................................................................13$
SAN - DEFINITION.....................................................................................................................135
SAN - TOPOLOGIES...................................................................................................................135
SAN - TECHNO..........................................................................................................................137
SAN NOMAGE ET ADRESSAGE...............................................................................................139
SAN SECURITE.......................................................................................................................139
SAN EXEMPLE DE PROBLEMES..............................................................................................139
MULTIPATHING SOLUTIONS......................................................................................................139
PROBLEME IMPORT VG SUR DISK GERE AVEC POWERPATH.....................................................140
CREATION CLONE SOUS BAIE, COMME SYMETRIX....................................................................140
COMMANDE SRDF...................................................................................................................141
AFFICHE LES DISQUES POWERPATH..........................................................................................142
VERIFICATION DE LA CONF.......................................................................................................142
AFFICHE LA VERSION DE POWERMT D`INSTALLEE...................................................................142
DETECTION DES PERIPHERIQUES CONNECTES EN POWERPATH.................................................142
AFFICHER TOUS LES CHEMINS POSSIBLENTEN POWERPATH.....................................................142
RETIRE UN CHEMIN DE LA CONFIGURATION.............................................................................142
DEFINI LE MODE ACTIVE OU STANDBY POUR LES CHEMINS.....................................................142
DEFINI LA PRIORITE D`E/S .......................................................................................................142
AFFICHER TOUS LES DEVICES DISPONIBLENT EN POWERPATH.................................................142
SAUVE LA CONFIGURATION POWERPATH ................................................................................143
CHARGER LA CONFIGURATION POWERPATH ............................................................................143
DETECTION DES PERIPHERIQUES CONNECTES EN HDLM...........................................................143
6 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
AFFICHE LE PATH DES PERIPHERIQUES CONNECTES HDLM......................................................143
COMMANDES POUR GESTION BAIE EMC..................................................................................143
MPIO AND CO..........................................................................................................................143
LSPATH......................................................................................................................................144
SPCIFICIT AIX $.3 ................................................................................................................1#$
SPCIFICIT AIX 6.1.................................................................................................................1#6
NEW AIO DYNAMIC TUNABLES :.................................................................................................146
ENCRYPTION DE FS :....................................................................................................................146
LO+ICAL VOLUMES SUR AIX................................................................................................1$0
PRINCIPALES COMMANDES.......................................................................................................151
LISTER LES FS D`UN VG..........................................................................................................152
/TMP CORROMPU.......................................................................................................................152
DISPLAYS THE PLACEMENT OF FILE BLOCKS WITHIN LOGICAL OR PHYSICAL VOLUMES. .........152
REMET A JOUR LES INFOS D`UN DISK DANS LA BASE ODM.......................................................153
COMMANDES DE SPLIT..............................................................................................................153
COMMANDES BAS-NIVEAU.......................................................................................................153
SUPPRESSION DE LP D`UN LV EN BAS NIVEAU........................................................................154
DISQUE ARRACHE.....................................................................................................................155
MAPFILE...................................................................................................................................155
RENOMMER UN LOGICALVOLUME...........................................................................................156
LES SNAPSHOT SUR AIX...........................................................................................................156
INCIDENTS 01 : DISQUE MIRROIR HS.......................................................................................156
INCIDENTS 02 : DISQUE MIROIR HS MAIS PAS 100 MORT.....................................................157
INCIDENTS 03 : RE-CREER A L'IDENTIQUE LES FS D'UNE MACHINE VERS UNE AUTRE ............157
INCIDENTS 04 : SUPPRIMER UN FS ET LIBERER LES PV ASSOCIE................................................159
INCIDENTS 05 : AUGMENTER UN VG.......................................................................................159
INCIDENTS 06 : METTRE OU ENLEVER UNE LV EN MIRROR.....................................................159
INCIDENTS 07 : REMPLACER UN DISQUE HS MIRRORE.............................................................159
INCIDENTS 08 : IMPORT / EXPORT D'UN VG.............................................................................160
INCIDENTS 09 : DISQUES HS, MIRRORE OU STREAPE ?............................................................161
INCIDENTS 10 : COPY D'UN LV D'UN VG A UN AUTRE (OU PAS).............................................161
INCIDENTS 11 : ACCES TROP LENT A DES DONNEES.................................................................161
INCIDENTS 12 : PROBL JFSLOG.................................................................................................162
INCIDENTS 13 : SUPPRIMER CARTE FIBRE.................................................................................162
LO+ICIAL VOLUME SUR LINUX...........................................................................................16#
ETENDRE/REDUIRE UN VOLUME GROUPE................................................................................164
CHANGER LES PARAMETRES D`UN VOLUME GROUPE..............................................................164
SUPPRIMER UN VOLUMEGROUPE GROUPE...............................................................................164
ETENDRE/REDUIRE UN LOGICAL VOLUME...............................................................................164
LO+ICIAL VOLUME SUR HP...................................................................................................16$
PRESENTATION / STRUCTURE...................................................................................................165
" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
CREATION DE VOLUMEGROUPE ET VERIFICATION...................................................................166
CREATION DE LOGICALVOLUME ET VERIFICATION..................................................................166
EFFACER UN PVI D`UN DISQUE................................................................................................166
CREATION DE FILESYSTEME....................................................................................................166
ETENDRE/REDUIRE UN VOLUME GROUPE................................................................................167
MI+RATION.................................................................................................................................16"
MI+RATIN+ TO AIX 6.1 !ITH NIMADM.............................................................................16"
SAUVE+ARDE..............................................................................................................................1"%
NETBACKUP : FICHIER D`EXCLUDE......................................................................................179
NETBACKUP : LOGS..............................................................................................................179
TSM : TIVOLI STORAGE MANAGER.........................................................................................179
TSM : CHANGEMENT DE LECTEUR LTO..................................................................................181
TSM ERR : UNEXPECTED ERROR 2 FETCHING ROW IN TABLE "ARCHIVE.OBJECTS"................182
TSM : DIVERS COMMANDES....................................................................................................182
TSM : FICHIER DE CONFIGURATION CLIENT ET SERVEUR........................................................183
TSM : AJOUT D`UN NODE.........................................................................................................183
TSM : AUGMENTATION DE LA TAILLE D`UNE BASE EN MANUEL.............................................183
TSM : MODIFICATION DU NOMBRE DE MONTAGE MAXIMUM..................................................184
TSM : SUPPRESSION D`UN NODE..............................................................................................184
TSM : PROCEDURE DE RECUPERATION D`UNE BASE APRES CRASH.........................................184
TSM : SYNCHRONISATION DE LA BASE TSM AVEC LES BANDES REEL....................................185
TSM : ESTIMATION DE LA REORGANISATION DE BASE DE DONNEES.......................................186
DISQUES ET DEVICES...............................................................................................................186
MAJOR/MINOR NUMBER..........................................................................................................186
INFORMATION SUR UN FICHIER ................................................................................................187
ISTAT FICHIER~...........................................................................................................................187
CREATION D`UN RAMDISK SUR AIX.........................................................................................187
RESTAURER UN FICHIER/REPERTOIRE SUPPRIME......................................................................187
RECUPERATION D`UN FICHIER EFFACER EN JFS2.....................................................................194
TAILLE D`UN DISQUE................................................................................................................195
AFFICHER LES DEVICES DANS UN CLASS SPECIFIQUE...............................................................195
MISE A JOUR SYSTEME SOUS REDHAT......................................................................................195
GENERATION DU MBR SUR LINUX...........................................................................................195
AFFICHER LES ENFANTS D'UN DEVICE......................................................................................195
CLONAGE D`UN DISQUE DISQUE ALTERNE` ............................................................................195
SUPERBLOCK CORROMPU.........................................................................................................196
AFFICHER LES CARTES PCI RAID DE LA MACHINE...................................................................196
RECREER LE REPERTOIRE LOSTFOUND SUR UN FS..................................................................196
AFFICHER TOUS LES DISQUES D`UNE CARTE RAID ET L`ETAT..................................................196
AFFICHER TOUTES LES CARTES PCI HOT PLUG ET L`ETAT......................................................196
VERSION DU FIRMWARE DE LA MACHINE.................................................................................196
VERSION DE FIRMWARE DE L`ENSEMBLE DES PERIPHERIQUES................................................196
8 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
METTRE A JOUR LE FIRMWARE DE LA MACHINE......................................................................197
MICROCODE INFORMATIONS....................................................................................................197
VERSION DU FIRMWARE D`UNE CARTE FIBRE...........................................................................199
MODEL D`UNE CARTE...............................................................................................................200
AFFICHER LES ATTRIBUTS D`UN DEVICE..................................................................................200
SYSDUMP (LV POUR SAUVEGARDE DE DUMP LORS DE CRASH)...............................................200
SAUVEGARDER UN CORE .........................................................................................................201
DESACTIVER/ACTIVER TCB : TRUSTED COMPUTING BASE.....................................................201
AFFICHE LES INFORMATIONS D`UN FS (NBPI, BIG FILE.) ......................................................202
DEVEROUILLER UN VG............................................................................................................202
EFFACER LE BOOT RECCORD D`UN DISK...................................................................................202
INTERROGER LA BASE ODM SUR UN DISQUE..........................................................................202
AVOIR DES INFORMATIONS SUR UN PERIPHERIQUE..................................................................202
POUR AUGMENTER LA TAILLE D`UNE PARTITION DYNAMIQUEMENT.......................................203
AFFICHER LES UNITEES SCSI....................................................................................................204
CHANGER UN POINT DE MONTAGE D`UN FS.............................................................................204
COMMENT CLONER ROOTVG.....................................................................................................204
LES POINTS DE MONTAGE SUR AIX..........................................................................................204
AFFICHER TOUS LES FILE SYSTEMES AVEC LEURS TAILLES.....................................................204
FICHIER MONTAGE DE FILESYSTEME.......................................................................................204
REPARATION D`UN FS..............................................................................................................204
DEFRAGMENTATION D`UN FS...................................................................................................204
AFFICHAGE DES CARTES CONTROLLERS...................................................................................205
AFFICHAGE DES CARTES CONTROLLERS...................................................................................205
LANCE UN DIAG DAGNOSTIC PROGRAMS` SUR LE DEVICE SCDISK0.......................................205
SAVOIR SI UN DISQUE EST UTILISER PAR QUELQU`UN D`AUTRE..............................................205
AFFICHAGE INFORMATIONS DISQUES DUR...............................................................................205
CREATION DE DEVICE SUR LINUX.............................................................................................205
RECREER UN INITRD.................................................................................................................205
RE-SYNCHRONISER LE VG........................................................................................................205
AFFICHER LA TAILLE DE TOUT LES REPS DU FS EN COURS......................................................206
RECHERCHER TOUS LES FICHIER EN 666..................................................................................206
FORMATAGE DISQUETTE LINUX...............................................................................................206
AFFICHER LE WWN WORLD WIDE NUMBER .........................................................................206
EQUIVALENT TRACEROUTE (SOLARIS 2.6)..........................................................................206
ERREUR LOGICALVOLUME LV................................................................................................206
FORMATAGE D`UN JOURNAL DE TRANSACTION........................................................................206
SECURIT.....................................................................................................................................20"
AFFICHER/EDITER LES LIMITS SYSTEMS D`UN USER.................................................................207
SUP DES LIMITS D`UN USER SUR LA MACHINE.........................................................................207
CHANGEMENT D`UN PASSWORD EN DUR..................................................................................207
VERIFIFCATION DE LA COHERENCE SYSTEMES.........................................................................207
CREATION DE GROUPE..............................................................................................................207
% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
LISTER LES GROUPES................................................................................................................207
CREATION DE USER...................................................................................................................207
AUTHORISER LE SU D`UN USER.................................................................................................207
EMPECHER LE LOGIN EN SUR AIX............................................................................................208
MODIFIER LE GECOS` D`UN UTILISATEUR...............................................................................208
AFFICHER LES USERS EN LIGNE AVEC IDENTIFICATION............................................................208
SUDO.........................................................................................................................................208
QUI EST DANS CE REPERTOIRE ACTUELLEMENT ?....................................................................208
N.I.M...............................................................................................................................................208
VERIFICATION DE RESSOURCE (SPOT, LPP, FILESET DANS UN SPOT, NIVEAU SPOT.).............208
RAJOUT D`UN FILESET DANS UN SPOT......................................................................................209
UTILISER SSL AVEC NIM..........................................................................................................209
RECHERCHE D`UN FIX DANS UN SPOT.......................................................................................210
LISTER LES RESSOURCES NIM..................................................................................................210
AFFICHER TOUTES LES VLANS DEFINIS DANS NIM....................................................................210
SUPPRIMER UNE MACHINE DES RESSOURCES NIM...................................................................210
REDECLARER LE SERVEUR SUR LE MASTER NIM....................................................................210
DISTRIBUER UNE RESSOURCE DU MASTER NIM SUR UN CLIENT...............................................210
DESALOUER DES RESSOURCES NIM.........................................................................................211
EXECUTION D`UNE COMMANDE VIA NIMSH..............................................................................211
CREATION D`UN MKSYSB..........................................................................................................211
CREATION D`UN MKSYSB DISTANT A PARTIR DU NIM..............................................................211
CREATION D`UN MKSYSB BOOTABLE.......................................................................................212
CREATION DU IMAGE.DATA......................................................................................................212
VERIFICATION RESSOURCE MKSYSB.........................................................................................212
CREATION D`UN FICHIER LISTANT TOUS LES FICHIERS DE ROOTVG.........................................212
SAUVEGARDE SUR BANDE RMT................................................................................................213
RESTAURATION D'UN MKSYSB..................................................................................................213
ENLEVER UNE SAUVEGARDE MKSYSB .....................................................................................213
PROBLEME LORS DE RESTAURATION DE MKSYSB ....................................................................213
AFFICHER L`ETAT D`UNE INSTALL NIM....................................................................................214
CREER LE FICHIER /ETC/NIMINFO.............................................................................................214
RESET ET BOOT SUR RESEAU POUR BOOT SUR SERVEUR NIM.................................................214
TIPS.................................................................................................................................................21$
RAID AND CO............................................................................................................................215
PROXY SOUS MSDOS..............................................................................................................216
EFFACE LE CODE BACKSPACE...................................................................................................216
EXTRAIRE LES FICHIER D`UN RPM SANS LES INSTALLER........................................................216
RPM.........................................................................................................................................216
COPIE DE MBR POUR BOOT LINUX DEPUIS WINDOWS..............................................................216
TRANSLATE CHARACTERES......................................................................................................217
PROBLEME AVEC TTY...............................................................................................................217
10 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
SYSTEME A JOUR ?....................................................................................................................217
VERSION DE TOMCAT................................................................................................................218
VERSION DE LINUX....................................................................................................................218
UNIQ.........................................................................................................................................218
ERRPT PAR MAIL.......................................................................................................................218
LIRE UN CORE...........................................................................................................................219
MONTAGE NFS AIX SUR SERVER LINUX................................................................................219
MONTAGE NFS SUR AIX ..........................................................................................................219
LIRE LES X PREMIERS LIGNES D`UN FICHIER............................................................................220
LIRE LES X DERNIERES LIGNES D`UN FICHIER..........................................................................220
OPEN BOOT SUR AIX................................................................................................................220
OUVIR L`EXPLORATEUR DE FICHIER SUR SUN...........................................................................220
VARIABLE D'ENVIRONEMENT SUR AIX.....................................................................................220
CONVERTIR TOUT UN FICHIER DE MAJUSCULE EN MINUSCULE................................................221
EFFACER UN FICHIER AVEC NOM NON-STANDARD...................................................................221
GREP ET EGREP.........................................................................................................................222
PASSER UN PROCESS EN BACKGROUND....................................................................................222
SORTIR D`UNE CONSOLE...........................................................................................................222
MENU SMS DE L`ERE GLACIAIRE.............................................................................................222
.BFF SUR AIX ET EXTRACTION D`UN FICHIER DANS UN MKSYSB.............................................222
SUPPRIMER L`INVERSE CARACTERE D`UN SHELL.....................................................................222
COPIE EN RAFALE VIA UN TUNNEL LE TOUT EN COMPRESSE (CPIO, TAR, PAX).......................222
COMMANDE PIPER....................................................................................................................223
COMPARER 2 FICHIERS.............................................................................................................223
EFFECTUER UN LOG REPAIR ACTION EN LIGNE DE COMMANDE..............................................224
OUVIR UNE CONSOLE EN LIGNE DE COMMANDE......................................................................224
COMMANDE AT........................................................................................................................224
AFFICHER L`HISTORY DES COMMANDES...................................................................................224
SORTIR D`UNE CONSOLE...........................................................................................................224
ERREUR NTP SUR SOLARIS......................................................................................................224
GREPER DANS LE HISTORY UNE COMMANDE............................................................................224
AFFICHER LA LISTE DES PROCESS ET LEURS ENFANTS DES USERS CONNECTES.......................224
PASSER ROOT AVEC UN SUDO...................................................................................................224
CHANGER LE PROPRIETAIRE DU PROCESS UNAMED..................................................................224
AFFICHER LES NUMEROS SOUS VI............................................................................................225
AFFICHER LES CHARACTERS SPECIAUX SOUS VI......................................................................225
PAS A PAS SUR UN SCRIT SHELL...............................................................................................225
ERREUR APRES UN DIAG..........................................................................................................225
ENVOYER UN MESSAGE SUR LA CONSOLE................................................................................225
VIDER UN FICHIER....................................................................................................................225
EFFACER LIGNE VIDE ET COMMENTAIRE DANS UN FICHIER.....................................................225
CREER UN FICHIER VIDE D`UNE TAILLE FIXE............................................................................225
LOGUER DANS LE LOG DES ERREUR ERRPT`UNE CORRECTION................................................225
PASSER LA PROTECTION DES "ARG LIST TOO LONG"................................................................226
11 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
RECUPERER LE PASSWORD ROOT D`UNE AIX..........................................................................226
COMPTER LE NBR DE FICHIER DANS UN REP.............................................................................226
MACHINE UP DEPUIS ?.............................................................................................................226
AFFICHER LES DERNIERES COMMANDES EXECUTER.................................................................226
EDITEUR HEXADECIMAL..........................................................................................................226
MODIFIER LES PROGRAMMES QUI CE LANCE AU DEMARRAGE ................................................226
AUTOCOMPLETION EN CSH.......................................................................................................226
VERIFIER LA PRESENCE D'UN FIX..............................................................................................226
LISTER TOUS LES FIX PRESENTS (APARS) ET LEURS INFORMATIONS......................................227
AFFICHER TOUS LES FILESETS MANQUANT NECESSAIRE A UN TL...........................................227
REMPLACEMENT D`UNE VALEUR SOUS VI................................................................................227
COMPRESSION TAR..................................................................................................................227
VI..............................................................................................................................................228
TOUS SUR LE CHMOD................................................................................................................228
ACL PERMISSION NON STANDARDS.......................................................................................231
ACL FORMAT DES ACL.........................................................................................................231
ACL AFFICHER LES ACL, LA COMMANDE ACLGET...............................................................232
ACL EDITION DES ACL, LA COMMANDE ACLEDIT................................................................233
ACL POSITIONNEMENT DES ACL'S, LA COMMANDE ACLPUT................................................234
LO+ S)STEME AIX....................................................................................................................238
AFFICHE TOUS LES LOGS DISPONIBLES SUR LA MACHINE........................................................238
LIRE LES LOGS SYSTEMES........................................................................................................238
EFFACER DES ERREURS DE L`ERRPT.........................................................................................239
RAJOUT D`UN FICHIER DE LOG GLOBAL POUR SYSLOG............................................................239
S)STEMS.......................................................................................................................................2#0
UPDATE AUTOMATIQUE AVEC SUMA......................................................................................240
CRC D`UN FICHIER....................................................................................................................240
NOHUP.......................................................................................................................................240
CREATION D`UN SERVICE PAR RAPPORT A UN BINAIRE............................................................240
STATISTIQUE ET INFORMATION DU LPAR COURANT...............................................................240
DESACTIVATION/ACTIVATION DU SMT MULTITHREAD`........................................................241
WLM GESTION DES RESSOURCES............................................................................................241
ICE // RENICE : PRIORITEE DES PROCESS................................................................................241
LOG SYSTEME SOUS LINUX......................................................................................................241
LOG SYSTEME SOUS LINUX......................................................................................................241
AFFICHE LES PROCESS DEFUNCT FANTOMES`..........................................................................242
LITTLE ENDIAN & BIG ENDIAN................................................................................................242
MODIFIER LE NBR DE LOGIN` SIMULTATE AUTRE QUE ROOT..................................................243
AFFICHER LES LICENSES DISPONIBLENT SUR LE SERVEUR.......................................................243
PASSER EN MODE ASYNCHONE AIO........................................................................................243
DATE ........................................................................................................................................243
TIMESTAMP TO DATE...............................................................................................................244
12 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
DATE TO TIMESTAMP...............................................................................................................244
VOIR LES MODULES PERL D`INSTALLES....................................................................................244
DESACTIVATION DE LA LICENSE...............................................................................................245
LES PROCESS.............................................................................................................................245
LES INTER-PROCESS..................................................................................................................245
IMPRESSION UNIX - IMPRIMANTE.............................................................................................245
[LINUX] LISTER LES MODULES CHARGES PAR LE SYSTEME.........................................................247
[LINUX] AVOIR DES INFORMATIONS SUR UN MODULE.................................................................247
[LINUX] CHARGER UN MODULE...................................................................................................247
[LINUX] PARAMETRAGE DYNAMIQUE DU NOYAU........................................................................247
[LINUX] PARAMETRAGE CARTE RESEAU......................................................................................247
SECTEUR DE BOOT PRESENT ?..................................................................................................247
CONNATRE LE NIVEAU DE PATCH D`UNE MACHINE.................................................................247
INSTALLATION DE PAKAGE POUR SOLARIS...............................................................................247
RE-EXAMINER LE FICHIER /ETC/INITTAB..................................................................................248
PROBLEME DE UMASK..............................................................................................................249
SUPPRIMER L`EMRPREINTE FAITE PAR DISKALTERNE.............................................................249
RECREER LE FICHIER /ETC/FILESYSTEMS..................................................................................249
AFFICHER L`ARCHITECTURE DE LA MACHINE|CHRP-RS6K| TYPE DE PLATEFORME.................249
TYPE DE NOYAU.......................................................................................................................250
AFFICHER LES FIX INSTALLE SUR LA MACHINE........................................................................250
REPARATION D`UN BLV RECREATION DE L`IPL (SECTEUR DE BOOT)...................................250
RECREATION DE : BOOT IMAGE, THE BOOT RECORD, AND THE SERVICE RECORD....................250
SUPPR ESION D`UN DEVICE DANS LA BASE ODM.....................................................................251
SAUVEGARDE ODM.................................................................................................................251
RESTAURATION ODM..............................................................................................................251
AFFICHER LES FICHIERS QUI DATE DE 3 JOURS........................................................................252
AFFICHER LES FICHIERS PLUS GROS QUE 10 MEGA..................................................................252
AFFICHER LES FICHIERS DU PLUS PETIT AU PLUS GROS............................................................252
CHERCHER DES FICHIERS CORE ET CREER DES LIENS...............................................................252
PASSER EN MODE SINGLE.........................................................................................................252
EFFACER BEAUCOUP DE FICHIERS QUAND LA COMMANDE RM NE FONCTIONNE PAS..............252
PASSER EN MODE DEBUG SOUS UN SHEEL ...............................................................................252
ADMIN SOUS HP.......................................................................................................................252
DUMP SOUS AIX.......................................................................................................................253
VOIR LES LOG D`ERREUR SOLARIS...........................................................................................253
GERER LA SWAP SUR AIX.........................................................................................................253
AFFICHER LA TAILLE DE LA SWAP SOUS SOLARIS....................................................................253
AFFICHER LE TYPE DU FICHER (ASCCI, IMAGE, TEXTE)............................................................253
SNAP SOUS AIX.......................................................................................................................253
AFFICHAGE LES INFORMATIONS SUR LE MODELE, TYPE DE PROC, VITESSE, MEMOIRE.........253
AFFICHAGE LES STATISTIQUES D`ACTIVITE DES KERNEL THREAD, MEMOIRE VIRTUEL, DISKS,
ERREUR, ACTIVITE CPU.................................................................................................................254
DONNE LE TAUX D`OCCUPATION DU CPU ET DES DISK.............................................................254
13 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
AFFICHAGE DE L`ESPACE DE PAGINATION................................................................................254
LISTER LES PACKAGES INSTALLES............................................................................................254
AFFICHAGE DES PATCHS INSTALLES.........................................................................................254
VERIFICATION DES FICHIERS DE PACKAGES.............................................................................254
VERIFICATION DES PATCHES INSTALLES..................................................................................254
SAVOIR SI LA PLATEFORME EST 32 OU 64 BITS.......................................................................254
SAVOIR SI LE KERNEL EST BIEN EN 64B...................................................................................254
CHARGER LE MODE 64BITS.......................................................................................................255
RAM TOTAL..............................................................................................................................255
INFO MACHINE, SERIAL..........................................................................................................255
TRAVAILLER AVEC LA CRONTAB..............................................................................................255
|AIX| PROBLEME AVEC LA CRON.............................................................................................255
DESACTIVATION D`UN PROC SUR AIX.....................................................................................256
INSTALLATION DE SOFT (.BFF ET AUTRES)...............................................................................256
CREE UN PACKAGE LPP / BFF POUR AIX................................................................................257
VERIFICATIONS DES FILESET INSTALLES..................................................................................259
RENOMMER UN ENSEMBLE DE BFF...........................................................................................259
TO CHECK THE FIRMWARE LEVELS ..........................................................................................259
REBOOTER EN CHOISISSANT L`OS EN LIGNE DE COMMANDE...................................................259
CREER UN ALIAS.......................................................................................................................260
AFFICHER LES INFORMATIONS DES DERNIERES CONNECTIONS.................................................260
MONTER/DEMONTER UN CD ROM.............................................................................................260
OSLEVEL FAUX.........................................................................................................................260
CONNAITRE LE NIVEAU DU MAINTENANCE LEVEL..................................................................260
NIVEAU DE L`OS (AIX 5.3).......................................................................................................260
VERIFICATION DE LA COHERENCE DES PACKAGES...................................................................261
AFFICHER TOUS LES SP/TL/ML CONNUE PAR LE SYSTEME.....................................................261
AFFICHE TOUS LES FILESETS QUI NE SONT PAS DANS LA BONNE VERSION PAR RAPPORT A L`OS
......................................................................................................................................................261
INSTALLATION DE MAINTENANCE LEVEL SUR AIX..................................................................261
/VAR/ADM/WTMPX REMPLIE A 100........................................................................................262
SCRIPTS.........................................................................................................................................263
LES EXPRESSIONS.........................................................................................................................263
LES ATTRIBUTS DE VARIABLES.....................................................................................................263
LES TABLEAUX.............................................................................................................................264
CONVERSIONS...............................................................................................................................265
LA COMMANDE LET OU (( )).........................................................................................................265
LA MODIFICATION DU DEROULEMENT D'UNE BOUCLE.................................................................265
INTERCEPTION DE SIGNAL........................................................................................................265
KILL..........................................................................................................................................266
DECALAGE................................................................................................................................267
ARGUMENTS.............................................................................................................................268
DEBUGGING D`UN SCRIPT........................................................................................................268
CONDITIONAL - STATEMENTS...................................................................................................268
1# // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
CONDITIONAL OPERATEURS DE TEST DE FICHIER.................................................................268
CONDITIONAL OPERATEURS DE COMPARAISON BINAIRE......................................................269
CONDITIONAL - FORMAT OF FLOW CONTROL FUNCTIONS ......................................................270
FORMATAGE AVEC PRINTF........................................................................................................270
EFFACER LE RETOUR CHARACTERE A L`ECRAN........................................................................271
COULEUR AND CO.....................................................................................................................271
SORT.........................................................................................................................................272
SED ET AWK.............................................................................................................................273
BOUCLE....................................................................................................................................274
REDIRECTION............................................................................................................................274
AFFICHE UNE VARIABLE SANS LES COMPOSANTS COMPLET DE DIRECTORY............................275
AFFICHE UNE VARIABLE D`UNE VARIABLE EN SH....................................................................275
FONCTION COULEUR.................................................................................................................275
TRAITEMENT DE CHANE..........................................................................................................276
ARITHMETIQUE ENTIERE...........................................................................................................276
COMMANDE SED.......................................................................................................................276
CODE DE SORTIE.......................................................................................................................276
COMMANDE GREP....................................................................................................................277
SCRIPT PH)TON.........................................................................................................................281
,AVA-SCRIPT AND CO..............................................................................................................281
LEXIQUE.......................................................................................................................................283
1$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
L./01 2.3/41
Public Domain SoItware Library Ior AIX
http://pdslib4aix.seas.ucla.edu/aixpdslib.htm l
Unix Toolbox - Group
http://unix.ittoolbox.com/groups/technical-functional/ibm-aix-l
AIX Toolbox Ior Linux Applications
http://www-03.ibm.com/systems/p/os/aix/linux/download.html
http://www-03.ibm.com/systems/p/os/aix/linux/toolbox/download.html
AIX Fix Central
http://www-933.ibm.com/eserver/support/fixes/fixcentral/
AIX recherche de Iilesets
http://www-933.ibm.com/eserver/support/fixes/fixcentral/pseriespgoptions/
Bull Open SoItware archive Ior AIX
http://www.bullfreeware.com
http://www.bullfreeware.com/aixtoolbox/index.html
http://pware.hvcc.edu/
Firmware
http://www-opensup.bull.com/firm/
http://www14.software.ibm.com/webapp/set2/firmware/gjsn
PowerVM wikipedia
http://www.ibm.com/developerworks/wikis/display/virtualization/Home
Mt Xia Technical Consulting Group
http://www.mtxia.com/js/index.shtml
call IBM
0810 63 12 13 => H/W
0810 63 10 20 => Soft
Contrat GOLD 0810 426 907
16 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Email : spoc6000@be.ibm.com
Upgrade Iichier sur un incident
http://www.ecurep.ibm.com/app/upload
1" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
H.1564.78/ /5 .0964:;5.601 2/1 <4.0=.<;8> OS
1968: naissance de Unix aux Bell Labs (ATT)
1977: protocoles TCP-IP d'INTERNET
1983: UNIX BSD (Berkeley)
.
A.>
P6?/4 #
Plate-forme BULL Plate-forme IBM
PL 240 6C3
PL 420 P 630 (6C4)
PL 820 P 650
PL 1600 P 670
PL 3200 P 690
P6?/4 $
PL 850 P5 570 Express
PL 1650 P5 570 Power5
PL 3250 P5 590
PL 6450 P5 595
PL 450 P5 550
PL 250 P5 520
P6?/4 6 - H;85 2/ +;::/
PL6460R 8 a 64 procs 4.2Ghz // 5.0Ghz
PL1660R 2,4,8,12,16 procs 3.5Ghz // 4.2Ghz //
4.7Ghz
P6?/4 6 - M.@./8 A E054B/ 2/ +;::/
PL160 1 core 4.2Ghz
PL260 2 cores 4.2Ghz
PL460 4 cores 4.2Ghz P570 Power6
PL860 2,4,6 cores 3.5Ghz // 4.2Ghz
P6?/4 6 - E36@85.3/ L.0/
EL260 2 cores 3.8Ghz
EL460 4 cores 4.0Ghz
18 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
H<
S80
L.08>
188$ Richard Stallman (MIT) initialise le developpement d`un systeme d`exploitation libre, GNU (GNU
(is Not Unix) ; il cree pour son nouveau systeme la licence GNU GPL (General Public Licence), qui
deviendra la licence des logiciels libres par excellence.
1%8" Andrew Tanenbaum (Pays-Bas) cree un clone d`Unix sur architecture x86 (PC), Minix aIin
d`illustrer ses cours sur la programmation d`un systeme d`exploitation.
1%%1 Linus Torvalds (Helsinki), inspire par l`exemple de Minix, ecrit a partir de zero un noyau de type
Unix ; le kernel (noyau) Ionctionne sur x86 uniquement et le systeme est constitue de logiciels GNU
(compilateur C, shell, etc.). Ce nouveau systeme d`exploitation est baptise Linux (Linus`s Unix).
L`ensemble GNU/Linux est place sous licence GPL, il est donc librement copiable et modiIiable, au
contraire de ses predecesseurs Unix ou Minix
1%%1 12 decembre: Linux 0.11 mis a disposition sur le net. Linus Torvalds s`appuie sur les contributions
de nombreux benevoles ; le mode de developpement de Linux devient communautaire.
1%%2 Premieres distributions GNU/Linux, support de X11
1%%# Linux kernel 1.0, premiere version stable
C I0.5.;@.1;5.60 28 1D15E:/ 1681 L.08>
Le BIOS du serveur charge en memoire le MBR (Master Boot Record, 1er secteur de la 1ere piste du disque
dur de boot, 512 octets) contenant le stage1 du chargeur de systeme GRUB (le stage1 sert a executer le
stage2).
Le chargeur de systeme GRUB decompresse l`image du noyau et la charge en memoire, ainsi que l`image du
systeme de Iichiers .0.542 .
Le noyau monte ( en RAM) le systeme de Iichiers temporaire .0.542 contenant les drivers (modules), inspecte
son environnement materiel, charge les drivers necessaires ; il demonte ensuite le systeme de Iichier .0.542. Le
systeme de Iichier racine (/) est monte en lecture seule, et le process .0.5 est lance.
Le process .0.5 lit le Iichier de conIiguration //5=/.0.55;F, lance les scripts //5=/4=.2/4=.1D1.0.5, //5=/4=.2/4=,
puis initialise les consoles.
Le script //5=/4=.2/4= lance les scripts //5=/4=.2/4=G480@/3/@H.2/S>>G1/43.=/H qui initialisent les services
souhaites.
!.026?1
1% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
R/1/;8
[A@@] InIormation General Reseau
LAN (local area network)
l s'agit d'un ensemble d'ordinateurs appartenant une mme organisation et relis entre eux dans une
petite aire gographique par un rseau, souvent l'aide d'une mme technologie
(la plus rpandue tant Ethernet)
Un rseau local est donc un rseau sous sa forme la plus simple.
La vitesse de transfert de donnes peut tres bien s!"chelonner entre 10 Mbps (pour un rseau ethernet par
exemple) et 1 Gbps (en FDD ou Gigabit Ethernet par exemple).
La taille d'un rseau local peut atteindre jusqu' 100 voire 1000 utilisateurs
MAN (Metropolitan Area Networ)
ls interconnectent plusieurs LAN gographiquement proches (au maximum quelques dizaines de km) des
dbits importants. Ainsi un MAN permet deux noeuds distants de communiquer comme si ils faisaient
partie d'un mme rseau local.
Un MAN est form de commutateurs ou de routeurs interconnects par des liens hauts dbits (en gnral
en fibre optique).
!AN I!.2/ A4/; N/5?64JK
ls interconnectent plusieurs LANs travers de grandes distances gographiques.
Les dbits disponibles sur un WAN rsultent d'un arbitrage avec le cot des liaisons (qui augmente avec la
distance) et peuvent tre faibles.
Les WAN fonctionnent grce des routeurs qui permettent de "choisir" le trajet le plus appropri pour
atteindre un noeud du rseau.
Le plus connu des WAN est nternet.
TAN (Tiny Area Network) identiques aux LAN mais moins etendus (2 a 3 machines)
CAN (Campus Area Network) Identiques au MAN (bande passante maximale entre tous les LAN du reseau)
[A.>] Supprimer IPV6
# lsattr -El lo0 | grep netaddr6
# chdev -l lo0 -a netaddr6=''
# ifconfig lo0 inet6 ::1/0 delete
vi /etc/netsvc.conf
remplacer hosts=local,bind par hosts = local4,bind4
20 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
[A.>] Equivalent lsoI
# netstat -Aan | grep '\.199 '
##
## On cherchequelque chose comme ca :
## f100060005d73b90 tcp4 0 0 *.199 *.* LISTEN
# kdb
(0)> sockinfo f100060005d73b90 tcpcb | tail -4
A line like this will be displayed:
pvproc+076000 472*snmpdv3n ACTIVE 01D802E 00300C0
00000000590A4400
00001
==>sockinfo f1000500058f13b0 tcpcb | tail -4
pvproc+029400 165*snmpmagt ACTIVE 0A500AA 0000001 00000010C0AAC400 0 0001
En l`occurrence, le process snmpmagt utilise le port
On cherche le process au ps et on le tue, relance, etc.
[A@@] Timeout pour SSH
# ssh -oConnectTimeout=5 <MaMachine> <MaCommande>
[A@@] Mise en place SSH
# ssh-keygen -t rsa
Permet de generer une cle RSA dans un repertoire .ssh du home du user
Prendre le fichier id_rsa.pub gener sur le client le copier sur le serveur dans
le fichier authorized_keys, ce fichier doit se trouver dans un repertoire .ssh
contenue dans le home du meme user.
[A.>] Dump Reseau
The tcpdump command prints out the headers oI packets on a network
# tcpdump -v
v verbose
vv more verbose
vvv even more verbose
[A.>] CIFS
C`est une couche netbios pour unix, il permet d`eIIectuer des montage Netbios sur unix
Montage netbios = partage sur un serveur windows
L/ 9.@/1/5 /5 1605 8<2;5/.
bos.cifs_fs.rte 5.3.9.1 COMMITTED Runtime for SMBFS
bos.cifs_fs.smit 5.3.0.0 COMMITTED SMIT Interfce for SMBFS
bos.cifs_fs.smit 5.3.!.0 COMMITTED SMIT Interfce for SMBFS
21 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Un device est cre : /dev/nsmb0
Une modification de bos.boot est aussi effectu et il OBLGATORE de rebooter le serveur
Sinon, le montage ne se fera pas ( ! erreur).
Pour info, voiI ce que fait smitty pour un montage CIFS

echo "Creation crfs avec cifs en option"


/usr/sbin/crfs -v cifs -m /opt/ER1/Server/declare -d __temp_cifs_dev__ -n
frnas1001.prod.fr.hsbc/FR-SVC_SEPA_OAT -A yes -a
options=ro,uid=12345,gid=71,fmode=755,wrkgrp=HBEU
echo "Montage du cifs en option"
/usr/sbin/mount -v cifs -n frnas1001.prod.fr.hsbc/FR-SVC_SEPA_OAT/2jEa12S -o
ro,uid=12345,gid=71,fmode=755,wrkgrp=HBEU EVO_ER1_PROD$ /opt/ER1/Server/declare
Pour nfo
/etc/cifs_fs/cifscred fichier qui contient la cle gnr crypt.
[A@@] Mise en place de Rdist
http://www.benedikt-stockebrand.de/rdist-introe.html
Rdist est un programme qui permet de maintenir une copie de fichiers sur
plusieurs hotes. Il garde le proprietaire, le groupe, le mode, le mtime.
Il est implment d'origine mais est assez limit (pas de ssh me semble t'il) et
fonctionne grace a rsh (donc .rhosts)
Une version freeware est dispo sur internet (tools linux pour aix) ou sur les
cd.
Il existe 2 binaires, l'un etant le demond, l'autre etant l'exec proprement dit.
root s"stem #3 $un 1% 15&5! r'ist () *o+t*free,re*bin*r'ist
root s"stem #- $un 1% 15&5% r'ist' () *o+t*free,re*bin*r'ist'
Un fichier de conf est necessaire ! : /usr/local/prod/rdist_config
. Distfi/e 1
0OSTS1 2 s/3e_1 s/3e_# s/3e_3 4
FI5ES1 2
*etc*6osts
*etc*inet*nt+.conf
*etc*ser3ices
4

bse(confi7s& 89FI5ES: () 890OSTS:
inst// (o,6o/e * ;
ou
22 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
. Distfi/e #
0OSTS12+bos#(boot4
FI5ES12*.+rofi/e
*.en3
*usr*ti3o/i*tsm*c/ient*b*bin*'sm_bos1.o+t
*usr*ti3o/i*tsm*c/ient*b*bin*'sm_bos#.o+t
*usr*ti3o/i*tsm*c/ient*b*bin*inc/e<c/_bos1.'ef
*usr*ti3o/i*tsm*c/ient*b*bin*inc/e<c/_bos#.'ef
*etc*en3ironment
*etc*+rofi/e
*etc*6osts
*etc*+ss,'
*etc*7rou+
*etc*ft+users
*etc*su'oers
*etc*securit"*.i's
*etc*securit"*en3iron
*etc*securit"*7rou+
*etc*securit"*/imits
*etc*securit"*+ss,'
*etc*securit"*ro/es
*etc*securit"*user
*etc*securit"*/st/o7
*etc*securit"*user.ro/es
*6ome*4
89FI5ES: () 890OSTS:
inst//;
On peut place une rplication dans la crontab a 0h00 par exemple
0 0 * * * rdist -f /usr/local/prod/rdist_config -P /usr/bin/ssh
[A.>] Connaitre la vitesse actuel d`une carte
# entstat -d <ent6>
[A@@] Encodage binaire pour envoie
uuencode uudecode
Permet de coder/decoder des binaires pour l'envoie de fichier par mail
[A@@] A IIiche les montages par une machine distante
showmount -e hostanme
[A@@] On aIIiche les ports a l`ecoute
netstat -a
[A@@] Fichier de conI des services
vi /etc/inetd.conf
23 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
[A@@] Pour ajouter un point de montage pour lecture nIs
Ajout dans etc/exports
Puis
export fs -va
[A@@] Envoyer un mail sous Unix
vi titi (on crie mail)
cat titi |mail -s "Mail Title" christophe.escurat@edfgdf.fr
ou directement
mail -s "Mail Title" christophe.escurat@edfgdf.fr
[A@@] Envoyer un mail au Iormat html pour lotus/notes
# Quelques variables
FichieraEnvoyer=test.txt
Destinataire="cescurat@mecaplast.com"
Emetteur="PereNoel@pole-nord.com"
Message="information test"
# Le header pour Lotus avec un tag HTML et PRE
cat >header.txt<<EOF
From: ${Emetteur}
To: ${Destinataire}
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="PAA08673.1018277622/server.domain.com"
Subject: ${Message}
This is a MIME-encapsulated message
--PAA08673.1018277622/server.domain.com
Content-Type: text/html
--PAA08673.1018277622/server.domain.com
<HTML><PRE>
EOF
# On fusione le fichier a envoyer avec le header et on ajoute les tag de fin PRE
et HTML
cat ${FichieraEnvoyer} >> header.txt
echo "</PRE></HTML>" >> header.txt
# On envoie le mail
cat header.txt | sendmail -t ${Destinataire}
[A@@] Forward de mail sous Unix
Crer le fichier .forward dans le home directory de l'utilisateur dsir
echo xxxx@xxxx.xxx >.forward
exemple : echo "toto@free.fr" > .forward
2# // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
[A@@] Connaitre le serveur de temps
Information dans
/etc/hosts
/etc/inet.conf
/etc/ntp.conf
Pour le demarrer
# startsrc -s xntpd
Pour l'interroger :
# ntpq -p
Pour mettre le client a jour avec la date d'un serveur
# ntpdate <server>
Pour se renseigner sur un serveur de temps sans effectuer des changements.
# ntpdate -d <server>
[A@@] Nbr max de domaine dans le /etc/resolv.conI
Dpends de la version de Bind
grep MAXDNSRCH /usr/include/*
en general 6
[A@@] Ftp & co
0/515;5 -;0 LM4/< -. LISTEN
On aIIiche les ports a l`ecoute
Ils sont lance par le super demon .0/52 ou >.0/52
Le Iichier de conIiguration de ce demon est //5=/.0/52.=609
MAIS sur linux cela se trouve dans un repertoire //5=/>.0/52.2
et dedans on trouve des Iichiers qui sont en Iaite des alias de conIiguration.
Exemple dans //5=/1/43.=/1 on trouve le port 591 en tcp a l`ecoute sur le process Itp
On edite le Iichier //5=/>.0/52.2/95< et l`on va trouver le Reel Iichier executable
Exemple
service proftpdis
{
disable = no
flags = REUSE
socket_type = stream
wait = no
protocol = tcp
user = root
server = /logiciels/proftpdis/sbin/proftpd
log_on_success += UR!"#$% USER#
log_on_failure += USER#
2$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
&
Il ne Iaut pas oublier les Iichiers //5=/N6151.;@@6? et //5=/N6151.2/0D qui peuvent empcher
Une connexion sur le serveur.
On peut relancer aussi le super demon Xinetd
//5=/.0.5.2/>.0/5.2 4/@6;2
[A.>] NIS & LDAP
# ypwhich
Donne le nom complet de la machine qui hberge le serveur (serveur NIS)
ou les serveurs sont lists dans le fichier ci-dessous.
# cat /var/yp/binding/`domainname`/ypservers
//5=/.41.=609 search order Ior network releated data including hosts, network, services, protocols and netgroups
//5=/4<=.=609 order oI rps services, deIault is nis and local
//5=/0/513=.=609 order Ior resolving hostnames and aliases
# lslpp -L all |grep -w nis
bos.net.nis.client 5.3.0.40 C F Network Information Service
bos.net.nis.server 5.3.0.40 C F Network Information Service
# lssrc -a |grep -i yp
ypbind yp 487442 active
ypserv yp inoperative
ypupdated yp inoperative
yppasswdd yp inoperative
//5=/1@;<2.=609 order Ior resolving hostnames and aliases
/etc/slapd.conf Fichier de configuration du serveur ldap
lslpp -L all |grep -i ldap
ldap.client.adt 5.2.0.0 C F Directory Client SDK
ldap.client.rte 5.2.0.0 C F Directory Client Runtime (No
exemple de recheche dans l'annuaire ldap
ldapsearch -h <serveurLdap> -b "dc=bouyguestelecom,dc=fr" cn=cescurat
Il est necessaire de metre a jour le serveur apres l`installation des Iileset
Exemple de conIiguration :
mksecldap -c -h ldap.prod.fr.hsbc -a cn=RootAIXManager,cn=aixsectie -p A!
xP@ss4LDAP -d cn=aixsectie
[A.>] AuthentiIication ldap sur le system
26 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Sur le fichier /etc/security/user dans default
registry = LDAP
SYSTEM = "LDAP"
[A.>] AIIiche ou deIini le domaine NIS
# 26:;.00;:/
ics.iic.bpa.bouyguestelecom.fr
[A.>] Voir les cartes en etherchannel
-Cc adapter -s pseudo -t ibm_ech -F name
[A.>] AIIiche la conIiguration DNS
lsnamsv -C
[A.>] Telnetd: All network ports in use
smitty pty
Change / Show Characteristics of the PTY
STATE to be configured at boot time [available]
Maximum number of Pseudo-Terminals [256] 300
Maximum number of BSD Pseudo-Terminals [16]
Peut tre relancer la ressource inetd, a voir !
[A.>] Empecher la connection en root / Telnet
/etc/security/user
Mettre le compte dsir (root en l'occurrence) rlogin = true
[A.>] Probleme hostname long de la machine
9.=N./4 //5=/4=.0/5
[A.>] Demonter tous un system de Iichiers
Dans le fichier /etc/filesystems il existe un champ 'type' pour chaque FS
on peut dmonter tous les filesystems ayant un 'type' prcis.
Exemple : NFSSAP
umount -t NFSSAP
2" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
[A.>] Route reseau
netstat -r ou netstat -rn pour afficher numriquement
affiche les routes dj dfinit.
nim route
Divers commandes route avec smit.
route add -net 163.62.168.0 -netmask 255.255.255.0 192.196.89.6
exemple d'un ajout pour la plage 163.62.168.0/24 <= donc masque de 255.255.255.0
vers la gateway 192.196.89.6
Pour que ce soit permanent il faut la rajouter dans le fichier /etc/rc.net
Autre exemple, tout ce qui part vers l'adresse ip 163.106.10.xxx
(car 24 = mask de 255.255.255.0) on redirigers vers la gateway 192.196.89.131
route add 163.106.10/24 192.196.89.131
Changer la gateway par default sans perdre le reseau :
netstat -rn |grep default
chdev -l inet0 -a addroute=net,default,192.196.10.1
chdev -l inet0 -a delroute='net','0','192.196.11.1'
ou si juste pour la session
route delete default <Mon_Ancienne_Gateway>
route add default <Ma_nouvelle_Gateway>
puis
lsattr -El inet0
ut6m =553= >ut6entiction Met6o's True
6ostnme +c"??00t 0ost @me True
7te," Ate," True
route net,,0,192.196.89.6 Route True
route net,,0,192.196.89.3
bootu+_o+tion no Seri/ O+tic/ @et,orB Interfce True
rout= FDDI @et,orB Interfce True
chdev -l inet0 -a delroute='net','0','192.196.11.1'
Si l'interface principale n'est pas en0 mais en2
route delete default <Mon_Ancienne_Gateway>
route add default -host <ma_getaway> -if en3
[A.>] Mise en place d`un alias
# chdev -l en5 -a alias4='10.75.66.214','255.255.255.0'
# chdev -l en5 -a delalias4='10.75.66.214','255.255.255.0'
[A.>] Changer en dur le nom de la machine
# chdev -l inet0 -a hostname=<hostname>
28 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
[A.>] Changer l`adresse ip d`une carte reseau
# chdev -l 'en0' -a netaddr='10.196.38.150' -a netmask='255.255.2555.0' -a
state='up'
[A.>] Adresse MAC
# lscfg -vl ent0
# entstat -d en<?> |grep -i hardware
[A.>] Smtp, pop, sendmail, xntpd (services - src)
Process qui appartiennent a sendmail
# Issrac a
On liste les services prsents sur la machine
# startsrc -s sendmaiI
On dmarre le service dsire
l arrive que le service sendmail ne ce lance pas, dans ce cas vrifier les fichiers de configuration dans etc
# lssrc -a |grep ntp
# startsrc -s xntpd
/etc/ntp.conf
bro'cstc/ient
ser3er fr.+oo/.nt+.or7 3ersion 3 +refer
'riftfi/e *etc*nt+.'rift
trcefi/e *etc*nt+.trce
Broadcastclient indique de repondre aux client du LAN qui demande l'heure via un broadcast
server fr.pool.ntp.org 3ersion 3 +refer indique le serveur de reference
# stopsrc -s xntpd
# startsrc -s xntpd
de sendmail, regarder aussi l'errpt et les log du syslog,
l faut dans certain cas, le relancer avec l'option bd, ce qui nous donne:
# startsrc -s sendmaiI -a '-bd'
[A.>] ConIiguration 1GigaByte
ifconfig en2 down detach
chdev -l ent2 -a jumbo_frames=yes
ifconfig en2 down detach
chdev -l en2 -a mtu=9000
chdev -l en2 -a state=up
ou smitty mktcpip si en0
[A.>] Tcpip
netstat -vn |grep Link (Up pas Up ?)
ifconfig en0 down detach (sur ai !.3.3)
lsattr -El ent0 (affic"e la config ent0)
2% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
lsattr -El ent0 -a media_speed (affic"e la config actuel de #edia$speed)
10_Half_Duplex
10_Full_Duplex
100_Half_Duplex
100_Full_Duplex
Auto_Negotiation
Sur certaine carte cette commande ne pass pas il faut passer par la commande :
Isattr -EH -I ent0 -a media_speed
lsattr -Rl ent0 -a media_speed (affic"er ce %ue l&on peut seter 'pas t(s vrai)
chdev -l ent0 -a media_speed=Auto_Negotiation (c"anger les proprieter)
smitty mktcpip
/etc/tcpip.clean Script d'arret de la couche tcpip
[A@@] nsswitch.conI sur Aix |ordre de recherche dns/local|
/etc/netsvc.conf # Sous Aix
/etc/host.conf # Sous Linux
[A.>] Retry DNS and co
Options dans //5=//03.460:/051
RESRETRY2 # EIIectue 2 retry avant de passer au prochain DNS
RESTIMEOUT1 # Attends 1 seconde de timeout
Il est aussi possible de mettre des options dans //5=/4/16@3.=609
options O+tion@me
2/F8M Turns on the RESDEBUG resolver option, which enables resolver debugging.
02651'n SpeciIies that Ior a domain name with n or more periods ( . ) in it, the resolver should try to
look up the domain name "as is" beIore applying the search list.
5.:/685'n Enables you to speciIy the initial timeout Ior a query to a nameserver. The deIault value
is Iive seconds. The maximum value is 30 seconds. For the second and successive rounds oI
queries, the resolver doubles the initial timeout and is divided by the number oI nameservers in the
4/16@3.=609 Iile.
;55/:<51'n Enables you to speciIy how many queries the resolver should send to each nameserver
in the 4/16@3.=609 Iile beIore it stops execution. The deIault value is 2. The maximum value is $.
465;5/ Enables the resolver to use all the nameservers in the 4/16@3.=609 Iile, not just the Iirst one.
.0/56 Uses or maps IPv6 in the M/5N615FD0;:/ subroutine.
30 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
[A@@] Visualiser les socket ouvert
# lsof | grep IPv4
ss6' %=9 root 3u IC3- 1501 TCC D&ss6 25ISTE@4
ss6' 1-#-= root -u IC3- -!9## TCC tintest&ss6)coe/ib&-9!=# 2EST>B5IS0ED4
.
|ALL| AIIicher les processus tries par nombre de Iichiers ouverts
root@home:~# lsof -n | awk '{print $1}' | sort | uniq -c | sort -rn | head
2353 php-cgi
756 mysqld
205 sshd
[A.>] Imap sur Aix
Editer le fichier /etc/inetd.conf
D commenter la ligne en rapport avec l'Impa
Relancer le service inet.d
refresh -s inetd
netstat -an | grep 143
telnet localhost 143
[S80] Statut sur Solaris de la carte reseau
ndd -set /dev/hme instance 0
ndd -get /dev/hme link_status
ndd -get /dev/hme link_mode
ndd -get /dev/hme link_speed
[S80] AIIichage de l`espace libre d`un device sur SDS
:/5;4/=63/4 O30 =0522010 O< LM4/< O. 94//
[S80] Mise a jour de l`adresse IP sur Solaris10
Fichier habituel a modifier + le fichier /etc/inet/ipnodes
[S80] Ping impossible d`une machine
Modifier le fichier /etc/netsvc.conf
N6151P@6=;@QF.02#
[P=] Rsh a partir d`un PC
Sur la machine Unix editer le Iichier //5=/N6151 et mettre dedans la machine PC
Sur la machine Unix editer le Iichier .4N6151 DU USER (ex /814/8/7;80.>/.4N6151 pour qaunix)
et mettre dedans la machine PC espace
31 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
ex de fichier 'r(osts de qaunix
=;4.M0;02 R
ex de commande rsh sur P
rsh joyeuse -l qaunix ls -lsa
[L.08>] Repertoire reseau sous Linux
# cat /etc/sysconfig/network
@ETEORFI@A1"es
0OST@>ME1tintest
A>TEE>G110.1=9.3.#5-
[O5N/4] Deport de console
Voir la conIiguration des ports au niveau de la vitesse.
1/5 @.0/
1/5 @.0/ F;82P1%200 4;0M/P#
32 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
V:?;4/ ESX S/43/4
ESX Server s`installe directement sur le materiel et permet aux systemes d`exploitation et a
leurs applications de s`executer sur des machines virtuelles qui partagent des ressources
physiques. (Linux red hat)
Chaque machine virtuelle constitue un systeme complet avec processeurs, memoire,
stockage, BIOS et reseau.
Les politiques evoluees de repartition des ressources entre machines virtuelles garantissent
que les applications les plus exigeantes disposeront des ressources necessaires a leur
Ionctionnement.
Quelques exemple d`image de l`interIace pour ESX:
33 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Installation ESX serveur http://www.vmware.com/support/esx2/doc/esx20installserver-stepsinstall.html#1081108
Support Ressources ESX serveur 2.1 http://www.vmware.com/support/esx21/doc/index.html
3# // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Serveurs virtuels, quel intert?
VMware Server permet de Iaire baisser le TCO (Total Cost oI Ownership) d'une inIrastructure en
optimisant les possibilites de gestion, la Ilexibilite et l'eIIicacite. Il est utilise dans l'entreprise pour :
C6016@.2/4 @/1 1/43/841 : VMware vous permet de consolider vos applications et votre
inIrastructure sur un plus petit nombre de serveurs.
A.2/4 @; N;85/ 2.1<60.F.@.5B : Un plate-Iorme stable et securisee rend de meilleurs services
et permet l'implementation rapide et eIIicace de nouvelles solutions. En ce qui concerne la
securisation de donnees critiques, VMware permet de creer un serveur virtuel parIaitement
isole pour les proteger contre les vulnerabilites physiques du serveur.
+;4;05.4 80 N;85 0.3/;8 2/ 1/43.=/ : Le service technique peut garantir des ressources
serveur d'un haut niveau de perIormance - CPU, memoire, bande passante - ameliorant ainsi
le service aux utilisateurs ainsi que la mise en cluster des machines.
R;5.60;@.1/4 @/1 5/151 /5 2B3/@6<</:/051 : Les developpeurs et responsables qualite
peuvent travailler eIIicacement sur des machines sous environnements diII erents. Ils
peuvent ainsi eIIectuer des tests realistes en moins de temps et en mobilisant moins de
ressources

3$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Comment Ionctionne VMware ESX Server?
VMware ESX Server simpliIie l'inIrastructure des serveurs en partitionnant et en isolant les
ressources necessaires, lesquelles peuvent tre gerees a distance, automatisees et standardisees. Avec
VMware ESX Server, vous transIormez des machines physiques en pool de ressources logiques. Le
serveur physique est partitionn en plusieurs serveurs virtuels securises et independants. Les
systemes d'exploitation et les applications sont isoles dans plusieurs serveurs virtuels qui sont
heberges par un serveur physique unique. Les ressources peuvent tre reparties entre diIIerents
systemes d'exploitation, la demande et selon les besoins. Vous creez ainsi une veritable
inIrastructure centralisee de serveurs.
VMware ESX Server tourne directement sur vos machines pour vous Iournir une plate-Iorme
uniIorme et securisee Iacilement gerable et administrable a distance. Vous pouvez ainsi contrler
plusieurs serveurs et gagner de l'espace pour un cot tres bas. Les Ionctions avancees de contrle
des ressources vous permettent de garantir la continuite du niveau de services.
Avec VMware ESX Server, Les applications tournant sur des serveurs dedies peuvent tre
consolidees sur une seule machine plus Iiable et plus evolutive.
Il est possible d'utiliser des scripts pour administrer les machines virtuelles
Les serveurs peuvent tre geres a distance, simpliIiant ainsi leur maintenance.
Les services et conIigurations peuvent tre instantanement repris a partir d'une librairie de
serveurs virtuels.
Modules ESX
Ils existe deux modules de 18</43.1.60 que sont VM?;4/ C60546@ C/05/4 et VM?;4/
VM65.60.
Ces modules donnent la possibilite de gerer les diIIerents serveurs ESX comme GSX comme un
veritable pool de ressources logiques en dehors de toutes considerations hardware. Ces modules
permettent une Ilexibilite totalement adaptable aux diIIerents besoins en quelques clics de
souris.
Synchronisation de l`heure sous ESX
La synchro ne se fait pas en NTP mais directement avec le serveur ESX
Activation de la synchro de temps avec le serveur ESX
# vmware-guestd -cmd vmx.set_option synctime 0 1S
Desactivation de la synchro de temps avec le serveur ESX
# vmware-guestd -cmd vmx.set_option synctime 1 0S
36 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
C@815/4
[A.>] HACMP/ES : High Availability Cluster Multiprocessing
Renomme depuis la version 5.2 (nov 2008) en P6?/4HA
Principes de creation de FS sur les 2 noeuds
Les groupes de volumes, volumes logiques et systemes de Iichiers doivent tre connus avec les
mmes deIinitions sur chacun des nouds.
Les regles generales suivantes doivent tre respectees :
- imposer un major number au groupe de volume,
(utile en cas d`utilisation de NFS. mais Iixer le major number permet d`evoluer plus tard
Iacilement vers cette Ionctionnalite si elle devient necessaire.)
- si le mirroring est mis en ouvre par le LVM, positionner le quorum a "no" : cela n`est pas
necessaire dans le cluster Irlpcluster.
- le groupe de volume est positionne a auto-varyon a "no" pour tout VG, qu`il soit ou non
concurrent, (un VG concurrent a ete cree pour le lien heartbeat disk
- creer les systemes de Iichiers avec les volumes logiques crees precedemment et ne pas les
mettre en montage automatique a l'initialisation du systeme,
Apres avoir desactive avec varyoIIvg le VG sur le premier noeud,
importer le VG sur le second noeud :
( .:<6453M OVI:;T64 062/ K ODI3M0;:/K N2.1JI>K
Si probleme de type 0516-022 lors de l`import, le probleme viens qu`il existe deja une declaration
de ces disks dans l`odm, il Iaut donc l`eIIacer avec la commande 4:2/3 -R2@ N2.1J>>
( /814//1/;2:]H3. =@815/4.@6M L/1 @6M 28 =@815/41
( /814//1/1F.0/=@815/4 L/ N6:/ 2.4/=564D
( =@2.1< A99.=N;M/ <@81 =6:<@/5
( =@15;5 C@815/4 15;581 M60.564
( =@56<.096 L.15 .0964:;5.60 =@815/4
( =@1N6?143 O3 S/43.=/1 S5;581
( =@9.024/1 I2/05.78/ U =@R+.096
( =@R+.096 I0964:;5.60 2/1 4/11684=/1
3" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
M4;=/98@ : Desactivation des ressources sans leur bascule, et l`arrt des process HACMP.
5;J/63/4 : Desactivation des ressources, leur bascule sur le noud distant, et l`arrt des process
HACMP sur le noud source.
964=/2 : Laisse les ressources actives sur le noud, ne provoque que l`arrt des process HACMP sur
le noud.
[A.>] Aix 6.1 pour HA
Sur aix 6.1 on ete enleve une certain vue au niveau snmp, il Iaut la reactive pour HA.
//5=/10:<233 V=609
(VACMWVIE! 2/9;8@5V./? .05/40/5 - .0=@82/2 -
[A.>] Re-creation des mibs sur Aix
( =2 /814/1;:<@/1/10:<2
( :61D O6 //5=/:.F.2/91 .F:.:D :.FII.:D
[A.>] ConIiguration de snmpdv3
On genere une clee :
( <?56J/D O< HMACOMD$ O8 ;85N I0TN/N6XE 1#1.2.101.21
- L`adresse IP speciIiee est celle ou s`execute l`agent. (141.2.101.21)
- Le mot de passe est quelconque. ( InTheNozE )
Display of 16 byte HMAC-MD5 authKey:
187578e456aaebd34ef24a5f4e6d77f1
Display of 16 byte HMAC-MD5 localized authKey:
a6105f9b28e81af9efc191004ad3c5c2
Dans le Iichier /etc/snmpdv3.conI, modiIier comme suit :
########################################################
USM_USER u1 - HMAC-MD5 a6105f9b28e81af9efc191004ad3c5c2 - - L -u1
VACM_GROUP group1 USM u1 -
VACM_VIEW group1View interfaces - included -
VACM_VIEW group1View tcp - included -
VACM_VIEW group1View icmp - included -
VACM_VIEW group1View system - included -
VACM_VIEW group1View sysObjectID - excluded -
readView writeView notifyView storageType
VACM_ACCESS group1 - - AuthNoPriv USM group1View - group1View -
NOTIFY notify1 traptag trap -
TARGET_ADDRESS Target1 UDP 141.2.101.21 traptag trapparms1 - - -
TARGET_PARAMETERS trapparms1 SNMPv3 USM u1 AuthNoPriv
38 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
- userName est le nom de l`utilisateur. Dans ce cas, il s`agit de u1.
- authProto doit tre le protocole que vous avez utilise lors de la creation des cles.
Dans ce cas, il s`agit de HMACMD5.
authKey est la cle d`authentiIication localisee generee avec la commande pwtokey.
privProto et privkey ,e sont pas precises car nous n`utilisons pas les cles de conIidentialite dans ce
scenario.
keyType est L parce que nous utilisons la cle d`authentiIication localisee.
Dans le Iichier /etc/clsnmp.conI, modiIier comme suit :
#######################################################
user1 141.2.101.21 SNMPv3 u1 - - AuthNoPriv HMAC-MD5 187578e456aaebd34ef24a5f4e6d77f1 - -
( 156<14= -1 ;.>:.F2 Y 156<14= -1 10:<2 Y 15;4514= -1 10:<2 Y 15;4514= -1 ;.>:.F2
( =@10:< -N 81/41 ?;@J G:.FH
( 10:<?;@J -D<;41/-:.F1 -3 1 -= <8F@.= 40.:1/433 1D15/:
ou mib peu etre :
interIaces
tcp
icmp
system
Ce qui Iinalement nous donnes pour /etc/snmpdv3.conI :
######################################################
##############################
# START Monitorinf via cacti
##############################
VACM_VIEW defaultView 1.3.6.1.4.1.2.6.191 - included -
VACM_VIEW defaultView 1.3.6.1.2.1.1.1.0 - included -
VACM_VIEW defaultView 1.3.6.1.4.1.2 - included -
VACM_VIEW defaultView 1.3.6.1.4.1.2.2 - included -
VACM_VIEW defaultView 1.3.6.1.4.1.2.3 - included -
VACM_VIEW defaultView 1.3.6.1.4.1.2.5 - included -
VACM_VIEW defaultView 1.3.6.1.4.1.2.6 - included -
VACM_VIEW defaultView internet - included -
VACM_VIEW defaultView directory - included -
VACM_VIEW defaultView mgmt - included -
VACM_VIEW defaultView mib-2 - included -
VACM_VIEW defaultView system - included -
VACM_VIEW defaultView aix - included -
VACM_VIEW defaultView xmd - included -
VACM_VIEW defaultView ibm - included -
VACM_VIEW defaultView ibmAgents - included -
VACM_VIEW defaultView snmpModules - included -
VACM_VIEW defaultView 1.3.6.1.4 - included -
VACM_VIEW defaultView 1.3.6.1.6 - included -
VACM_VIEW defaultView 1.3.6.1.4.1.2.6.191 - included -
VACM_VIEW defaultView 1.3.6.1.6.3.1.1.5 - included -
VACM_VIEW defaultView 1.3.6.1.4.1.2021 - included -
3% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
VACM_VIEW defaultView 1.3.6.1.4.1.2.3.1.2.2.2.1.4 - included -
USM_USER u1 - HMAC-MD5 a6105f9b28e81af9efc191004ad3c5c2 - - L -
VACM_GROUP group1 USM u1 -
VACM_VIEW group1View interfaces - included -
VACM_VIEW group1View tcp - included -
VACM_VIEW group1View icmp - included -
VACM_VIEW group1View system - included -
VACM_VIEW group1View sysObjectID - excluded -
VACM_ACCESS group1 - - AuthNoPriv USM group1View - group1View -
NOTIFY notify1 traptag trap -
TARGET_ADDRESS Target1 UDP 141.2.101.21 traptag trapparms1 - - -
TARGET_PARAMETERS trapparms1 SNMPv3 USM u1 AuthNoPriv -
##############################
# STOP Monitorinf via cacti
##############################
[A.>] Supp des Iilesets non necessaires.
/=N6 ZO0 18<<4.:/ @/1 =6:<61;051 060 0/=/11;.4/ 2/ P6?/4HAZ
/814/@.F/.015@/1:W.015 .015;@@<W=:2 -8 -9[=@815/4.26=./0WUS.;11.15.2F2.N5:@
=@815/4.26=./0WUS.;11.15.2F2.<29 =@815/4.26=./0WUS.;11.15.?/F1<N/4/.N5:@
=@815/4.26=./0WUS.;11.15.?/F1<N/4/.<29 =@815/4./1.;11.15.2F2 =@815/4./1.;11.15.1;<
=@815/4./1.;11.15.?/F1<N/4/ =@815/4./1.<@8M.01.2N=< =@815/4./1.<@8M.01.201
=@815/4./1.<@8M.01.<4.051/43/4 =@815/4.:1M.,;W,P.;11.15 =@815/4.:1M.,;W,P.=1<6=
=@815/4.:1M.,;W,P./1.=@./05 =@815/4.:1M.,;W,P./1.1/43/4 =@815/4.:1M.T;W,P.;11.15
=@815/4.:1M.T;W,P.=1<6= =@815/4.:1M.T;W,P./1.=@./05 =@815/4.:1M.T;W,P./1.1/43/4[
[A.>] Warning de routage
( 06 -< -6 4685/4/3;@.2;5/P1
[A.>] rhost sous hacmp et websmit
# Fonctionne # #/usr/es/sbin/cluster/etc/rhosts
# (websmit qui Ionctionne avec, en multi mode)
# /usr/sbin/cluster/utilities/clrsh 141.2.187.38 date
# rsh de hacmp qui Ionctionne avec /usr/es/sbin/cluster/etc/rhosts
# (le reste du cluster Ionctionne avec celui ci, dans le meme cluster)
# /usr/sbin/cluster/utilities/cl_rsh ctmprod1pr date
[A.>] Arret du cluster ' 1:.55D =@156<
Un Iichier de log est cree ' ( 5;.@ O9 /5:</N;=:<.685
-f Forced shutdown. Cluster daemons should terminate without running any local procedures.
-g Graceful shutdown with no takeover.
#0 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
-gr Graceful shutdown with the resources being released by this node and taken over by
another node, if completed.The daemons should terminate gracefully, and the node should
release is resources, which will then be taken over.
-s Silent shutdown, specifies not to broadcast a shutdown message via /usr/sbin/wall.
The default is to broadcast.
-y Confirms the shutdown of the specified node. This flag is the default.
-N Shutdown now.
-R Removes automatic start of cluster daemons on subsequent system restart
removes the inittab entry).
-B Stop now and remove automatic start on subsequent system restart.
#!/usr/bin/sh
[A.>] AIIicher les interIaces I/O HACMP
=@@1.9
[A.>] Creation d`un disque de Hearth Beat
#Ajout d'un disque de Hearth Beat
/814//1/1F.0/=@815/4/85.@.5./1/=@:620/5?64J -; -@[06[ -0[0/5W2.1JNFW01[ -.[2.1JNF[
#Creation de deux adaptateurs
/814//1/1F.0/=@815/4/85.@.5./1/=@;22062/ -;[2.1JNF1[ '[2.1JNF[ '[0/5W2.1JNFW01[
'1/4.;@'1/43.=/'[/814/1F.0/41=5/F.0/N;51W2.1JNFW0.:[ -0[94@664;<42;1[
#Creation de deux adaptateurs
/814//1/1F.0/=@815/4/85.@.5./1/=@;22062/ -;[2.1JNF2[ '[2.1JNF[ '[0/5W2.1JNFW01[
'1/4.;@'1/43.=/'[/814/1F.0/41=5/F.0/N;51W2.1JNFW0.:[ -0[94@664;<42;2[
#Creation d'un device pour les adapteurs precedemnt cree.
WCSPOCWCALLEDWFROMWSMITP548/ /814//1/1F.0/=@815/4/1F.0/=@W:JW:02NFW@3 -D[:02NFW3MW01[ -V[#3[
-=1<6= -0[94@664;<42;1Q94@664;<42;2[ -9 -4[4MW2.1JNF:8@5.W01[ -/[0/5W2.1JNF:8@5.W01[ 00=600#2#3$$9F38
:02NFW@3W01
#On aIIiche les interIaces HA declarees
=@@1.9
[A.>] Test du disque de Hearth Beat
(O0 /036./ 80 F/;5 184 80 06/82
/814/1F.0/41=5/F.0/2NFW4/;2 -< N2.1J<6?/4" -5
(184 @/ 1/=602 06/82 60 4/M;42/ 1. .@ /15 ;44.3B
/814/1F.0/41=5/F.0/2NFW4/;2 -< N2.1J<6?/4" -4
[A.>] AIIicher les scripts des resources groupes
#1 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
=@@11/43
[A.>] Demarrage du cluster ' 1:.55D =@15;45
( 1:.55D =@15;45
Un Iichier de log est cree ' ( 5;.@ O9 /5:</N;=:<.685
U5.@.5./1 H;=:< ' I/814//1/1F.0/=@815/4/85.@.5./1K
[A.>] InIormations des ressources groupes et Priority Override Location
# clRGinfo -p
)luster *a#e+ frlpcluster
,esource -roup *a#e+ resfrlperp1
.riorit/ 0verride 1nfor#ation+
.ri#ar/ 1nstance .02+
*ode 3tate
4444444444444444444444444444 444444444444444
frlperp1 0*21*5
frlperp2 06621*5
,esource -roup *a#e+ resfrlperp2
.riorit/ 0verride 1nfor#ation+
.ri#ar/ 1nstance .02+
*ode 3tate
4444444444444444444444444444 444444444444444
frlperp2 0*21*5
frlperp1 06621*5
[A.>] Ressources du cluster
# lssrc -g cluster
3u7s/ste# -roup .18 3tatus
clstr#gr53 cluster 12!12! active
clinfo53 cluster 119!:6 active
#2 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
[A.>] VeriIicaion et synchro du cluster
(/814//1/1F.0/=@815/4/85.@.5./1/=@2;4/ -45 -V [064:;@[ -C[.05/4;=5.3/[
[A.>] Synchronizer la deIinition d`un Volume Group partage
( /814//1/1F.0/=@815/4/=1<6=/9.>W;4M1 06< =@W8<2;5/3M -=1<6=-M 4/194@</4<1 S;3/WA@@
[A.>] Deplacement de resource groupe | test Iailover |
( 1:.55D =@W4/1M4<W:63/.062/W1.5/
4/194@</4<1 etant le nom de le ressource groupe a synchroniser
[A@@] Unix Veritas Cluster Server
Connaitre l`etat du cluster
# N;15;581 -18:
Fichier de log du process HA /3;4/VRTS3=1/@6M//0M.0/WA.@6M
Un Iichier de bloquage` peut etre cree sur les noeuds pouvant l`empecher de rejoindre le master.
Ce Iichie se nome .15;@/ et se trouve dans le repertoire : //5=/VRTS/=609/=609.M/
Un noeud peut tre demarre dans plusieurs etats :
( N;15;45 -15;@/
( N;15;45 -964=/
Un noeud peut etre arrete de plusieurs Iaon :
( N;156< -@6=;@
( N;156< -;@@
on peut donc moduler les commandes
( N;156< -@6=;@ -964=/
( N;156< -;@@ -964=/
( N;156< -1D1 G06/82H
Le Iichier de conIiguration (la de base de donnee VCS) est a la base dans un Iichier :
//5=/VRTSVCS/=609/=609.M/:;.0.=9
Il est charge en memoire lors du lancement du cluster (demon HAD)
Pour toute modiIication a la main du Iichier, il est necessaire d`arreter le cluster et de le relancer
pour relecture des modiIication. On peut aussi utiliser les commandes veritas pour modiIication
Online`
( N;=609 -:;J/4? Ouvre la `base` en ecriture
( N;=609 -28:< -:;J/46 EIIectue une propagation de la conI via le reseau prive et le sauve
#3 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
aussi en Iichier (main.cI) et Ierme la base en ecriture.
( N;=609 -28:< EIIectue juste propagation et sauvegarde, ne Ierme pas la base.
On peut creer un utilisateur VCS avec la commande : N;81/4 -;22 G81/4H
Une Iois la base ouverte, on peut utiliser des commandes veritas pour la modiIier.
C609.M84;5.60 2/1 1/43.=/1 M468</1
( N;M4< -;22 L 2/@/5/ GM468<H
( N;M4< -:62.9D GM468<H G;554.F85/H G3;@8/H
( N;M4< -@.0J G<;4/05WM468<H G=N.@2WM468<H G2/</02/0=DH G9.4:L1695H
C609.M84;5.60 2/1 4/11684=/1
( N;4/1 -;22 G4/11684=/1H G5D</H GM468<H
( N;4/1 -2/@/5/ G4/11684=/H
( N;4/1 -:62.9D G4/11684=/H G;554.F85/ 3;@8/H
( N;4/1 -@.0J G<;4/05W4/11684=/H G=N.@2W;554.F85/H
L/1 ;=5.60 <611.F@/1
( N;M4< -60@.0/L699@.0/ GM468<H -1D1 G1D15/:H
( N;M4< -60@.0/L699@.0/ GM468<H -;0D
( N;M4< -1?.5=N GM468<H -56 G1D15/:H
( N;M4< -1?.5=N GM468<H -;0D
( N;4/1 -60@.0/L60@.0/ [.M064/<;4/05] G4/11684=/H -1D1 G1D15/:H
( N;4/1 -=@/;4 G4/11684=/H [-1D1 1D15/:]
( N;4/1 -=@/;4 GM468<H [-1D1 1D15/:]
( N;4/1 -<46F@/ G4/11684=/H -1D1 G1D15/:H
A99.=N/4 @&B5;5 28 +A /5 LLT
( @@5=609.M
( @@5=609.M -; @.15
( @@515;5
( @@15;5 -03?
( M;F=609.M -;
( M;F2.1JNF -@
( M;F2.1J> -@
## // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
P/4964:;0=/
http://bazar.ndlp.inIo/doku.php/inIormatique:nix:ibm:ibmaixtuning
[A.>] JFS/JFS2
http://www.ibm.com/developerworks/aix/library/au-aixoptimization-disktun3/index.html
This section discusses JFS2, Iile system perIormance, and speciIic perIormance improvements over
JFS. A1 D68 J06?Q 5N/4/ ;4/ 5?6 5D</1 69 J/40/@1 .0 AIX. TN/4/ .1 ; 32-F.5 J/40/@ ;02 ; 6#-F.5
J/40/@. !N.@/ 5N/D F65N 1N;4/ 16:/ =6::60 @.F4;4./1 ;02 :615 =6::;021 ;02 85.@.5./1, it is
important to understand their diIIerences and how the kernels relate to overall perIormance tuning.
,FS2 N;1 F//0 6<5.:.X/2 964 5N/ 6#-F.5 J/40/@, while JFS is 6<5.:.X/2 964 5N/ 32-F.5 J/40/@.
Journaling Iile systems, while much more secure, historically have been associated with
perIormance overheads. In a PerIormance Rules shop (at the expense oI availability), you would
disable metadata logging in an eIIort to increase perIormance with JFS. With JFS2, that is no
longer possible, or even necessary, because it was tuned in order to handle metadata-intensive types
oI applications much more eIIiciently. More importantly, the key advantage oI JFS2 lies in its
ability to scale. With ,FSQ 5N/4/ .1 ; @.:.5 69 6#+ 964 ; 9.@/. With ,FS2Q D68 =;0 N;3/ ; 9.@/
18<<645.0M 16T.
Another .:<645;05 =N;0M/ .1 5N/ 2.4/=564D 64M;0.X;5.60. E0N;0=/2 ,FS2 81/1 ; F.0;4D 54//
4/<4/1/05;5.60 ?N.@/ </4964:.0M .062/ 1/;4=N/1Q ?N.=N .1 ; :8=N F/55/4 :/5N62 5N;0 5N/
@.0/;4 :/5N62 81/2 FD ,FS. F845N/4Q D68 26 065 0//2 56 ;11.M0 .062/1 ;0D:64/ ?N/0 =4/;5.0M
9.@/ 1D15/:1Q ;1 5N/D ;4/ 06? 2D0;:.=;@@D ;@@6=;5/2 FD ,FS2, meaning you won't be running out
oI them. While concurrent I/O was covered in the Iirst installment oI the series (see Resources), it's
worth another mention here. Implementation oI concurrent I/O allows multiple threads to read and
write data concurrently to the same Iile. This is due to the way in which JFS2 is implemented with
write-exclusive inode locks. TN.1 ;@@6?1 :8@5.<@/ 81/41 56 4/;2 5N/ 1;:/ 9.@/ 1.:8@5;0/681@DQ
?N.=N .0=4/;1/1 </4964:;0=/ 24;:;5.=;@@D ?N/0 :8@5.<@/ 81/41 4/;2 946: 5N/ 1;:/ 2;5; 9.@/.
To turn concurrent I/O on, you just need to mount the I/s with the appropriate Ilags (see Listing 1).
I recommend that you look at using concurrent I/O when using databases such as Oracle.
L.15.0M 1. T840.0M 60 =60=844/05 I/O

root@lpar29p682e_pub[/] mount -o cio /test
root@lpar29p682e_pub[/] > df -k /test
Filesystem 1024-blocks Free %Used Iused %Iused Mounted on
/dev/fslv00 131072 130724 1% 4 1% /test
JFS standard Journaled File System
Max. file size 2 GB, max. file system size 1 TB large file enabled JFS max.
#$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
JFS Large File Enabled
Max file size 64 GB, max. file system size 1 TB
JFS2 Enhanced Journaled File System
Max. file size tested 1 TB (AX currently supports up to 16 TB using the 64-bit kernel,
1 TB using the 32-bit kernel),
Max. file system size tested 1 TB, architectural max. file system size 4 PB.
The JFS2 outline log can be up to 1 GB (32-bit kernel) and up to 64 GB (64-bit kernel)
The JFS2 inline log size can be from 256 KB up to 16 GB.
+PFS General Parallel File System (GPFS)
Provides a cluster-wide file system allowing users shared access to files spanning multiple disk drives.
[A.>] perIagent toolbox
C`est une suite d`utilitaires ibm (trouvable sur les cd) qui permet d`eIIectuer des prises de
perIormance sur une machine.
<5>4@6M
>:1/432
9.@52
/>:60
;X.X6
>:</49
32:60
=N:60
Toutes les donnes sont receuillis par le demond >:1/432
La commande suivante permet de lister toutes les valeurs pouvant etre prisent
par celui-ci.
# xmpeek -l | pg
!! Il faut que le demond xmservd soit lanc (/etc/inetd.conf) !!

Il existe 4 utilitaires pouvant prendre des perI en direct sur un serveur.
CHMON ' text : =N:60 -<3
XMPERF ' graphique customisable : >:</49
3DMON ' graphique 3D,2D : 32:60 O= LAN
PTXRLO+ ' ascii : <5>4@6M O9 <5>4@6M.=9 O. $
Toolbox est aussi capable de reagir a une situation precise grace au demond
filtd.
La mthode standard est d'utiliser les scripts installs par bos.perf.pmr
Pour utiliser le demond fltd il est necessaire de travailler avec les fichiers
xmservd.res et filter.cf
Des versions d'example peuvent etres trouv dans /usr/lpp/perfagent
Il est recommand de copier ces fichiers de /usr/lpp/perfagent vers /etc/perf
pour les customiser.
Enlever le # et l'espace de la ligne suivante dans le fichier xmservd.res
. su++/ier& *usr*bin*fi/t' (+5
#6 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Editer le fichier /etc/perf/filter.cf
Exemple :
.
. HS>MC5E fi/ter.cf FI5EH
.
. out+ut fi/es re crete' in *3r*+erf*tm+
. bos.+erf.+mr 2>II -.1 on/"4 must be inst//e' to run
. t6e scri+ts in *usr*sbin*+erf*+mr. Cerson/ scri+ts cn
. be use' in +/ce of t6ose +ro3i'e' ,it6 bos.+erf.+mr.
.
'isBm< 1 DisB_)_bus" HBus" +ercent ( most bus" 'isBH
c+unum 1 CCJ_._user H@umber of CCJKs on t6e s"stemH
Better number for 1 more t6n t6en . of +rocessors on t6e mc6ine
L6i76c+u/o'&M*usr*sbin*+erf*+mr*t+rof_ 10N O
9EIECTIO@: O
2CCJ_7/user CCJ_7/Bern4 ) 90 PP 2Croc_runQue ) O
2DDS_IBM_Fi/ters_c+unum 144 O
DJR>TIO@ =0 FRERJE@CG 10 SESERITG 1 O
H0i76 CCJ /o'H
Lt6rs6in7& M*usr*sbin*+erf*+mr*3mstt_ =0N O
9EIECTIO@: O
2Mem_Sirt_+7s+7out D =4 ) Mem_Sirt_ste/ O
DJR>TIO@ 5 FRERJE@CG 10 SESERITG # O
HS"stem is t6rs6in7H
L/o,free& M*usr*sbin*+erf*+mr*3mstt_ =0N O
9EIECTIO@: O
Mem_Re/_numfrb T -0 O
DJR>TIO@ 5 FRERJE@CG 10 SESERITG 3 O
H5o, free frmes in R>MH
L/o,+7s+& M*usr*sbin*/s+s ( )) *3r*+erf*tm+*+7in7s+ce
#)P1N O
9EIECTIO@: O
C7S+_Utot/use' ) 90 O
DJR>TIO@ =0 FRERJE@CG 10 SESERITG - O
H5o, +7in7 s+ceH
L,it& M*usr*sbin*+erf*+mr*fi/emon_ 30N O
9EIECTIO@: O
CCJ_c+u0_,it ) 0 PP O
DDS_IBM_Fi/ters_'isBm< ) 33 O
DJR>TIO@ 30 FRERJE@CG 10 SESERITG 5 O
HI*O ,itH
Quand on utilise filtd il est conseill de modifier les scripts de demarrage :
;etc;rc.tcpip
M> / fin 'u fic6ierN
. Strtin7 <mser3' 2Cerformnce Too/bo< Demon4
s/ee+ #
*usr*bin*<m+eeB
;etc;inetd.conf
MMo'ifier / /i7ne <mQuer"N
xmquery dgram udp wait root /usr/bin/xmservd xmservd -p3 -l0
Il existe 3 methodes pour sauver les Iichiers cree par perIormance toolbox.
.0;.4/ A1=.. A1=.. 964:;5B
#" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
XMPERF et 3DMON (enregistrement peut etre active sur chaque Ienetre monitore.
PTXRLO+ Les options b et e permet de planiIier une plage horraire
XMSERVD Genere un Iichier binaire en background quand il est execute (stocke dans /etc/perI)
Pour enristrer les statistiques avec xmserv, cree un Iichier >:1/432.=9 dans //5=/</49
E>/:<@/ '
.
. HS>MC5E <mser3'.cf FI5EH
.
. Fee+ fi/es t /est 1- '"s n' /et ec6 fi/e contin
. one '"Ks recor'in7s
.
retin 1- 1
.
. Set 'efu/t sm+/in7 inter3/ to 1 secon'
.
freQuenc" 1000
.
. Sttistics to recor' ,it6 'efu/t freQuenc"
.
Croc*runQue
Croc*s,+Que
CCJ*7/user
CCJ*7/Bern
CCJ*7/,it
Mem*Re/*numfrb
Mem*Sirt*+7s+7in
Mem*Sirt*+7s+7out
.
. Sttistics recor'e' e3er" 5 minutes
.
Mem*Re/*Ucom+ 300000
Mem*Re/*Unoncom+ 300000
C7S+*Utot/use' 300000
.
. Recor' e3er" ,eeB'" from ! m to !+m
.
strt 1(5 ! 0 1(5 19 0
Pour lire les donnees receuilli on peut utiliser les programmes : T;X.X6 et T56<;1
On peut aussi utiliser les programmes commencant par <5> pour eIIectuer des converssions.
<?2 Y @1 -@
*usr*+erfm7r*co'ebse
tot/ -0
'r,<r(<r(< 3 root s"stem %19# Oct #- #00! (a<i<o
'r,<r(<r(< 3 root s"stem -09= Oct #- #00! (topas
'r,<r(<r(< 3 root s"stem -09= Oct #- #00! +t<M7rCommon
'r,<r(<r(< # root s"stem -09= Oct #- #00! ,/m+erf
#8 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
[A.>] PerIormance Toolbox Version 2 and 3 Guide and ReIerence
T6< M60.564.0M
PerIormance Toolbox Version 3.1 introduced top monitoring to simpliIy perIormance analysis oI
large server conIigurations. These systems typically contain a large number oI CPUs, network
adapters, and disk devices, which makes it diIIicult to visualize or represent system perIormance in
a graphical manner. !op monitoring, also known as hot monitoring, Iocuses on elements consuming
the most system resources and these elements are then sorted into lists reIerred to as top"lists. For
example, the top ten processes consuming the most CPU resources would make up a top"list.
System administrators and perIormance analysts can identiIy and diagnose issues oI interest more
quickly by Iocusing on the most constrained resources.
This chapter discusses the Iollowing topics:
Top Monitoring ConIiguration
Using the jtopas System-Monitoring Tool
Note:
The PerIormance Aide Ior AIX trend agent, >:54/02, has been modiIied to support perpetual
collection oI top resource data. This agent is described in more detail in Analyzing PerIormance
Trend Recordings with the jazizo Tool and Recording PerIormance Data on Remote and Local
Systems.
T6< M60.564.0M C609.M84;5.60
The top Iramework records a deIined number oI perIormance metrics, by resource, at all times Ior
all systems on which PerIormance Aide Ior AIX is installed. The Iramework consists oI:
User-centered distributed top resource client
Always-on agent data collection and recording
Tabular report summaries
Near real-time response Ior active monitoring
Playback Iunction
Common recording Iormat allows support by existing trend analysis client (T;X.X6)
The jtopas client can retrieve this data Ior display and reporting. The <5>5;F command-line utility
can also output reports oI data recordings. This utility is described in more detail in ptxtab
Command.
No user conIiguration oI the top agents' recorded metric set is currently provided. The daemon
records a predeIined set oI inIormation Ior optimal perIormance on AIX systems. In addition, the
daemon exports sampled data Ior near real-time retrieval by the jtopas client. The >:54/02 agent
that provides top data, operates independently oI any other instance oI a user-conIigured >:54/02
or >:1/432 agent. That is, iI a intends to monitor or record other perIormance metrics, the user
must manually conIigure the >:54/02 or >:1/432 agents.
The top agent uses the /814/@<</</49;M/05/T56<;1.=9 conIiguration Iile. The only user-modiIiable
sections oI this conIiguration Iile are:
#% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Retain Line
Start-Stop Lines
These lines control recording retention and when a recording is active.
Note:
ModiIication oI other than these lines or removal oI the T56<;1.=9 Iile disables the top agent.
In addition to recording top resource data, the top agent also records a set oI global system metrics
that do not correspond to list data, Ior example, system memory size. The complete list oI available
global metrics is provided in the T56<;1.=9 conIiguration Iile.
Top data is recorded into the //5=/</49/T6</ directory by deIault. Users requiring a separate
recording Iile system Ior management purposes can create that Iile system and relink the
//5=/</49/T6< directory as desired. Top data recordings can also be viewed by the T56<;1 client or
the T;X.X6 trend analysis tool.
Upon installation, the top agent is added to the //5=/.0.55;F Iile, so that it is enabled by deIault.
Users who want to disable the top agent can comment out the >:54/02 entry in the Iile.
Additional entries in the //5=/.0.55;F Iile are the 50;:/1/43 program and the 9//2 program. Both oI
these entries are required Ior the T56<;1 tool to register remote Java classes and communicate
with the local and remote servers. These entries are added when PerIormance Toolbox Ior AIX is
installed and can be disabled along with the top agent.
U1.0M 5N/ T56<;1 SD15/:-M60.564.0M T66@
The T56<;1 tool is a Java-based system-monitoring tool that provides a console to view a summary
oI the overall system, as well as separate consoles to Iocus on particular subsystems. Top
instruments are Ieatured in theT56<;1 tool Ior various resources such as processes and disks. The
data streams available are Near Real-Time (NRT) and Playback (PB). PB data can be viewed Irom
the local host or a remote host, as long as PerIormance Toolbox Ior AIX has been installed and
conIigured.
The T56<;1 tool interIace displays a set oI tabs that represent the various consoles. The main
console provides a view oI several resources and subsystems and lends itselI to providing an
overall view oI a computer system, while the other consoles Iocus more on particular areas oI the
system. The main console contains several top instruments. A top instrument is a monitoring
window that displays a group oI devices or processes. For instance, these top instruments can be
sorted by the largest consumers oI a system resource, such as memory, CPU, storage, or network
adapters. Even though there might be thousands oI processes, Ior example, only the top 10 or 20 are
displayed by the T56<;1 tool.
Each oI the other consoles is composed oI one or more instruments. An instrument is similar to a
window that can be resized, minimized, or moved. A divider bar is used to separate top-instrument
inIormation Irom global inIormation about the system, and the bar can be moved or either side oI
the bar can be made to use the entire console display area.
$0 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
At initialization, the T56<;1 tool displays all consoles with their instruments. II a user conIiguration
Iile is Iound, the consoles are constructed based on that Iile. Otherwise, the deIault conIiguration is
used. By deIault, the T56<;1 tool tries to establish a communication link with the local host to drive
the consoles.
To run the T56<;1 tool, type:
Jtopas
F.@/1 U1/2 FD 5N/ T56<;1 T66@
The T56<;1 tool uses recording Iiles and a conIiguration Iile, as Iollows:
R/=642.0M F.@/1
Recording Iiles contain metric values recorded by an instance oI the >:54/02 agent, acting
as the top agent. This >:54/02 agent is directed to record metric data speciIically Ior top
data. The >:54/02 agent creates a recording Iile oI top metric data as deIined in the
T56<;1.=9 conIiguration Iile. This recording Iile can be used by the T56<;1 tool to display
historical system events, or by the T;X.X6 trend analysis tool. Not all data and data rates are
available to the T56<;1 tool during a playback. For top recordings and Near Real-Time data,
the >:54/02 daemon must be started with the -T option. The top recordings are placed in
the //5=/</49/T6</ directory.
C609.M84;5.60 F.@/
The T56<;1 tool uses a deIault conIiguration Iile that determines the size, location, and
metrics viewed Ior each instrument. II any instrument is changed, upon exit, users are asked
iI they want to save the current conIiguration. II Yes is selected, a conIiguration Iile is
placed in the user's HOME directory and is named .T56<;1.=9M. Users can return to using the
deIault conIiguration by deleting the /\HOME/.T56<;1.=9M Iile.
M/081 964 5N/ ,56<;1 T66@
This section describes the various menus associated with the T56<;1 tool. The Iollowing are the
T56<;1 menus:
File Menu
Data Source Menu
Reports Menu
Host List
Options Menu
)ile *enu
The Iollowing option is contained in the File menu:
Exit
Closes all windows and exits the T56<;1 tool. II the conIiguration has changed, the user is
asked whether to save the new conIiguration.
$1 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
ata Source *enu
The Iollowing options are contained in the Data Source menu:
N/;4 R/;@-T.:/ D;5;
Changes the data stream to near real-time data. Near real-time data is gathered Irom a
machine in real time and then made available to the T56<;1 tool. The reIresh rate, which can
be changed in the T56<;1 tool, deIines how oIten data is requested and displayed.
P@;D;=J D;5;
Changes the data stream to PlayBack data. The PlayBack control panel is displayed when
users select this option. The T56<;1 tool continues to display data at the reIresh rate. The
data is gathered Irom the local or a remote machine. Recorded data is saved on a server by
the >:54/02 agent at 1-minute intervals. Although the reIresh rate updates the console at a
given interval by deIault, the clock associated with the data increments at the 1-minute
interval. For example, iI the reIresh rate is every 5 seconds and the recording Iile is recorded
every minute, the data and clock on the PlayBack panel reIreshes every 5 seconds by 1
minute.
Reports *enu
The Reports menu provides a set oI report Iormats. Each report summarizes the data in a tabular
Iormat that can be viewed and printed. The Iont and size oI the data can be changed. Some reports
might oIIer report options to change how the data is summarized and displayed.
+ost ,ist
The Host List menu allows users to add or delete a host name Irom the host list.
$ptions *enu
The Iollowing options are contained in the Options menu:
ReIresh Rate
The T56<;1 tool cycles through at the reIresh rate. The cycle includes requesting the data
and updating the console. The reIresh rate can be changed by either clicking the reIresh
rate/status button or selecting the menu option. The user can enter values oI whole seconds.
The T56<;1 tool uses the deIault reIresh rate. The greater the reIresh rate value, the less load
the T56<;1 tool consumes on the CPU. II the T56<;1 tool is unable to complete an operation
within the cycle time, the status button turns yellow and an appropriate message is
displayed. II data cycles are consistently missed, the reIresh rate should be adjusted to
increase the time between updates.
Message Filter
The message Iilter option allows users to Iilter out and display messages based on a speciIic
priority.
The Iollowing are priorities Ior messages, each priority having a color associated with it:
Priority 1 Red - Critical message, such as losing a host connection
Priority 2 Yellow - Important message, such as losing a data cycle
$2 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Priority 3 Black - InIormational messages
The text oI each message displayed is color-coded and is preceded by the priority and the
timestamp.
I096 S/=5.60 964 5N/ T56<;1 T66@
The inIo section provides status inIormation and allows users to select the host Irom which to
gather the data. The Iollowing are the data Iields:
H615 N;:/
By deIault, the local host name is displayed. Host names can be added, deleted, or selected.
To add a new host, select H615 L.15 Irom the menu bar and then select A22 H615. The new
host is immediately contacted Ior a connection and is added to the host list pull-down. II the
host list is modiIied in any way, upon exit, the user is asked whether to save the new
conIiguration. II O] is selected, the new host list is saved in the \HOME/.T56<;1.=9M Iile
and made available the next time the same user starts the T56<;1 tool.
To delete a host, select H615 L.15 Irom the menu bar and then select D/@/5/ H615. The old
host is still selected until a new host is selected.
To select a new host Irom the host list, open the list and select the host name.
M/11;M/ S/=5.60
The T56<;1 tool generates inIormational messages. These messages are assigned a priority
to classiIy them by importance and to allow users to hide messages oI a particular priority
Ior easier viewing. As stated in the M/11;M/ F.@5/4 section oI the Options menu, the
Iollowing priorities are assigned to messages: P1, P2, or P3. The highest in importance is
P1, as it is used Ior critical messages. Messages can be Iiltered by selecting M/11;M/ F.@5/4
under the Options menu.
S5;581/R/94/1N R;5/ 85560
The status button reIlects the status oI data acquisition per the selected reIresh rate. The
reIresh rate deIines how oIten the console data is updated. The value is in seconds. The
reIresh rate can be changed by selecting the button or selecting R/94/1N R;5/ under the
Options menu. II data is not retrieved and updated within the reIresh cycle, the button turns
yellow and the button label changes to N6 U<2;5/. II the data connection is lost, the button
turns red and the button label displays N6 D;5;. Appropriate messages are also added to the
message section.
C844/05 T.:/
This Iield reIlects the current day and time.
C6016@/1 69 5N/ T56<;1 T66@
The various consoles are displayed under tabs on the interIace. The initial console is the main
console. By selecting a diIIerent tab, the corresponding console is activated and displayed. Each
console contains one or more instruments. Each instrument is displayed as a window that can be
minimized, maximized, moved, and resized. II there are multiple columns with headers, the
$3 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
columns can be reorganized and resized. Some instruments implement a scroll bar to view
additional data.
Top instruments monitor a group oI common metrics ordered by a particular column metric. For
example, CPUs are by deIault ordered highest to lowest by largest consumer oI kernel CPU used.
This deIault can be changed to largest consumer oI user CPU by clicking the U1/4 header label.
Even iI there are 64 CPUs, only a subset is displayed.
P@;D;=J P;0/@ 964 5N/ T56<;1 T66@
When the PlayBack data source is selected, the PlayBack panel is displayed. The panel allows a
user to control the playback. Closing the PlayBack panel returns the user to the NRT data source.
Playbacks begin in a paused state. To begin displaying the playback, click P@;D. The PlayBack
panel contains the Iollowing inIormation:
H615 N;:/
The initial playback host is the host that was selected Ior the NRT data. This can be changed
in the same manner as it is changed in the main console.
S5;45 / S56<
The available start and stop times oI all recorded data on a particular host are displayed. By
clicking CN;0M/, the start and stop date and times can be altered. The T.:/ S/@/=5.60 panel
displays dates and times oI available recorded data. Select a date and indicate whether it is
the start or stop date Ior the playback. Then select a start time and stop time. Click O] to
use the dates and times selected.
P@;D;=J T.:/
This time stamp represents the time stamp Ior the playback sample that is displayed.
S;:<@/ I05/43;@
Even though the recording Irequency is in minutes, metric samples are taken at a much Iiner
granularity. These samples are combined to determine the mean across the recording cycle.
By deIault, sample updates to the T56<;1 tool in the playback mode are at the recording
Irequency. This is not the same as the reIresh rate oI the screen. The reIresh rate represents
how oIten the data in the T56<;1 console is reIreshed. Having a reIresh rate Ior the console,
as well as a sample interval, allows the user to view a week's worth oI data in hourly
intervals and have the console reIresh at a rate that is comIortable to view and analyze.
[A.>] GPFS
http://publib.boulder.ibm.com/inIocenter/clresctr/vxrx/index.jsp?
topic/com.ibm.cluster.gpIs.doc/gpIsbooks.html
http://www14.soItware.ibm.com/webapp/set2/sas/I/gpIs/download/systemx.html
$# // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
[A.>] Fichier des FS disponiblent
This Iile describes the known virtual Iile system implementations.
Lists entries in the /etc/vIs Iile.
# lsvfs
[A@@] Topas
export TERM=vt100
topas
. Kernel % d'utilisation du CPU
. User % utilis par les programmes (consommation utilisateur)
. Wait % d'attente utilis pour les I/O (attente de rsultat)
. Idle % d'inactivit pour le cpu (Temps CPU non consomm)
. Faults Nbr total de page en fautes par seconde
. Steals Nbr de pages physiques de 4K en fautes par le virtual memory manager
. PgspIn Nbr de page de 4K lue depuis l'espace de pagination par seconde
. PgspOut Nbr de page de 4K crie depuis l'espace de pagination par seconde
. PageIn Nbr de page de 4K lue par seconde (inclue l'activit de pagination)
. PageOut Nbr de page de 4K crie par seconde (inclue l'activit de pagination)
. Sios Nbr de requete I/O par seconde par le virtual memory manager
. Real.MB Taille de la mmoire rel en mgabytes
. % Comp % de la mmoire rel actuelement allou la computation des pages frames
. % NonComp % de la mmoire rel actuelement allou la non-computation des pages frames
. Client % de la mmoire rel actuelement allou au cache des fichiers `remotely' mont
. Size,MB Somme de toute les espaces de pagination
. % Used % total de l'espace de pagination actuelement en utilisation
. % Free % total de l'espace de pagination actuelement libre
. Cswitch Nbr de switches par seconde
. Syscalls Nbr total d'appel systme par seconde
. Reads Nbr d'appel de lecture systme par seconde
. Writes Nbr d'appel d'ecriture systme par seconde
$$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
. Forks Nbr d'appel de fork systme par seconde
. Execs Nbr d'appel d'execs systme par seconde
. RunQueue Nbr de thread prt a etre execut mais attendent un proc pour etre disponibles
. WaitQueue Nbr de thread qui sont en attente de paging
. Readch Nbr de bytes lue par seconde a travers la lecture systme
. Writech Nbr de bytes crie par seconde travers l'ecriture systme
. Rawin Nbr de bytes raws lue par seconde
. Ttyout Nbr de bytes crie sur les TTYs par seconde
. Igets Nbr d'appel vers les routines de lookup inode par seconde
. Namei Nbr d'appel vers les routines de lookup pathname par seconde
. Dirblk Nbr de block de directory scann par seconde par les routines de directory Search
. KBPS Somme en Kilobytes envoy et recue par seconde
. I-Pack Nbr de paquet de data recue par seconde
. O-Pack Nbr de paquet de data envoy par seconde
. KB-In Nbr de kilobytes recue par seconde
. KB-Out Nbr de kilobytes envoy par seconde
. Busy% % ou le disque est actif
. KBPS Nbr de kilobytes lue et ecrie par seconde
. TPS Nbr de transfert par seconde
. KB-Read Nbr de kilobytes lue par seconde
. K -Writ Nbr de kilobytes crie par seconde
. Process ID ID du process
. % CPU Utilization % d'utilisation du cpu par le process
. Paging Space Used Taille de l'espace de pagination allou par le process
. Process Owner Nom du l'utilisateur du process
[A.>] Iostat
Permet de monitoring les disques !
Exemple : iostat -d hdisk0 1 1
System configuration: lcpu=8 drives=18 paths=2 vdisks=0
Disks: % tm_act Kbps tps Kb_read Kb_wrtn
hdisk0 11.0 500.0 49.0 0 500
tm_act Percentage of time the physical disk was active (bandwidth use for the drive)
Kbps Amount of data transferred (read or written) to the drive in KB per second
tps Number of transfers per second that were issued to the physical disk
Kb_Read The total number of KB read
Kb_wrtn The total number of KB written
# iostat -d hdisk1 | awk '/hdisk/ { print $3 }'
$6 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Pour des raisons de performances, les statistiques de collections d'entre/sorties des disks peut
etre desactiv :
# chdev -l sys0 -a iostat=true Activer
# chdev -l sys0 -a iostat=false Desactiver
# lsattr -El sys0 -a iostat voir la config actuelle
[A.>] Vmstat
System Configuration: lcpu=1 mem=4096MB
kthr memory page faults cpu
----- ----------- ------------------------ ------------ -----------
r b avm fre re pi po fr sr cy in sy cs us sy id wa
0 0 226982 520556 0 0 0 0 0 0 3 35 171 0 0 99 0
0 0 226983 520555 0 0 0 0 0 0 1 23 170 0 1 99 0
0 0 226983 520555 0 0 0 0 0 0 3 1724 188 1 4 95 0
0 0 226983 520555 0 0 0 0 0 0 1 20 164 0 1 99 0
0 0 226983 520555 0 0 0 0 0 0 1 23 169 0 13 87 0
0 0 226983 520555 0 0 0 0 0 0 2 18 163 0 0 99 0
0 0 226983 520555 0 0 0 0 0 0 1 610 189 4 3 93 0
Kthr : Kernel Thread [nbr de thread kernel par seconde]
r : Nbr de processus dans la run queue
v : Nbr de processus "bloqus", en attente de de ressource E/S, demande de page
Memory : (reprsente l'utilisation de la mmoire)
avm: active virtual memory.
Nbr de pages mmoires 4Ko actives au cours d'un intervalle dpendant du systme
free: nombre de pages mmoires disponibles 4ko
Page :
re : Nombre de pages rclames
$" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
c'est--dire le nombre de pages places dans la liste des pages disponibles (freelist) mais
rclames par leur propritaire avant qu'elle ne soient rutilises.
pi: page in, nombre de pages par seconde charges en mmoire depuis le disque
po: page out, nombre de pages par seconde crites sur le disque depuis la mmoire
fr: nombre de pages par seconde libres par le daemon de libration de pages
sr: nombre de pages par seconde scannes par le daemon de libration de pages
cy:
Faults : Process control
in : Nbr d'interuption de device par seconde
cs : Nbr de switches par seconde
us : % de Temp CPU user (process de priorits comprises entre 127 et 50
Lorsqu'un process s'excute en mode utilisateur, il utilise son propre code et ne fait pas
appel aux ressources du noyau
sy : Nbr d'appel systme par seconde
id : % de temps CPU d'inactivit
wa : % de temps CPU d'inactivit avec attente des I/O
minperm : seuil minimal (en %) de la quantit de mmoire utiliser pour cache filesystem
maxperm : seuil maximal (en %) de la quantit de mmoire utiliser pour cache filesystem
comp : mmoire rellement utilise par le systme (applis + OS)
noncomp : % cache filesystem
numperm : % de mmoire rellement utilise par le cache filesystem
Depuis AIX 5.2 ML4, il existe un parametre (quasi) imparable, le lruIilerepage.
Ce parametre mis a 0, le serveur essaie de degager uniquement les Iile pages.
Du coup, si le minperm est a 5/10, le maxperm a 80 et le systeme gere (en jIs2 ou pas) les
pages memoires.
Une belle courbe vmtune se traduit par un numperm qui navigue entre minperm et maxperm.
Attention tout de mme en cas de jIs2 ou NFS Iortement sollicite le maxclient peut litteralement
exploser et atteindre les 80 du maxperm et Iaire swapper le serveur, dans le cas maxperm
maxclient. Il est peut tre appreciable de mettre un maxclient a 30.
Rapidement, l'utilisation du lruIile repage0 permet de se liberer des contraintes mix/maxIree
(intervalle qui encadre la garantie d'avoir de la place dans la Iree list, depuis 5.3, ces valeurs sont
appliquees sur chaque memory pool).
AIX utilise des pages de 4k par deIaut. L'utilisation des pages de 16M (lgpgsize) ne sera Iera
uniquement par les applications sachant les utiliser (Sybase par ex.) et ne seront pas 'liberable
pour les autres process. lgpgregions permet de Iixer le nombre de regions qui seront de cette taille.
.
[A.>] Customisation // Tuning Systemes et reseau
Il existe les commandes :
3:6 : M;0;M/1 V.458;@ M/:64D M;0;M/4 580;F@/ <;4;:/5/4
06 : M;0;M/1 0/5?64J 580.0M <;4;:/5/41
$8 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
.66 : M;0;M/1 I0<85/O85<85 580;F@/ <;4;:/5/41
0916 ' M;0;M/1 N/5?64J F.@/ SD15/: INFSK 580.0M <;4;:/5/41.
3:6 -; : pour voir la conIiguration I3.458;@ :/:64DK
3:6 -L :AIIiche les characteristiques des elements tunable. I3.458;@ :/:64DK
06 -; : pour voir la conIiguration I0/5?64J 580.0MK
.66 -; : pour voir la conIiguration I0/5?64J 580.0MK
.66 -L : AIIiche les characteristiques des elements tunable. I0/5?64J 580.0MK
exemple de commande :
# vmo -p -o minperm%=10
# ioo -p -o sync_reIease_iIock=1
# no -rp -o tcp_sendspace=262144
# nfso -p -o nfs_rfc 1323=1
[A.>] =6::/05 9.>/4 @/ 1/8.@ 2/1 <;M.0M 1<;=/1V
( 3:6 -; L M4/< 0<1
n+sBi// 1 1==-0
n+s,rn 1 ==5=0
0<1?;40 et 0<1J.@@ sont utilises par VMM pour avertir les process et eventuellement les tuer.
Par deIaut:
nkill=MAX(64,(nombre total de pages)/128)
npswarm=(512,4*npskill)
[A.>] memoire virtuelle - svmon
Svmon permet la capture et l`anylse d`un snapshot de la memoire virtuelle.
( 13:60 -P : Genere un rapport
( 13:60 -9 : Pourcentage d`occupation de la memoire physique
-------------------------------------------------------------------------------
Pid Command Inuse Pin Pgsp Virtual 64-bit Mthrd LPage
258174 wait 8036 5301 0 8036 Y N N
Vsid Esid Type Description LPage Inuse Pin Pgsp Virtual
0 0 work kernel segment - 8024 5292 0 8024
810b0 f00000002 work process private - 11 8 0 11
890b1 ffffffff work application stack - 1 1 0 1
P.2 ' le numero inter-process
C6::;02 ' le nom de la commande
I081/ ' Le nbr total de page dans la memoire reel en segment qui sont utilise par la commande (pour tous les process de cette commande)
P.0 ' Le nbr total de page pinned` en segment qui sont utilise par la commande (pour tous les process de cette commande)
PM1< ' Le nbr total de page reservee ou utilise par l`espace de pagination en segments utilisee par cette commande
$% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
V.458;@ ' Le nbr total de page allouee dans l`espace virtuel de la commande
6#-F.5 ' Process 64 bits (Y) ou 32 bits (N)
M5N42 ' Indique si le process est multithreade ou pas Y,N
L<;M/ ' M` en attente de manda Y` le process utilise a utilise des segments de large pages N`le process n`utilise pas de large pages.
Exemple :
On liste les segments memoires et on prends un :
( .<=1 -:PL;?J [/:/ ^@.M0/P\0_ /SID/ ^<4.05 @.M0/Z Z \1_[
m 10-%5!= 0<0000cce ((r,(r,(r,( root s"stem SID&0<503c-
m 10-%5!! 0<ffffffff ((r,(r,(((( root s"stem SID&0<103=0
m 10-%5!% 0<!%000011 ((r,(r,(r,( root s"stem SID&0<f0#ce
# 3 061000016 44r=4r=4r=4 ingdira ingdir 318+0190!36
m - 0<=10001#e ((r,(r,(r,( root in7'ir SID&0<1=0-!!
m 5 0<ffffffff ((r,(r,(((( root s"stem SID&0<100-91
m = 0<ffffffff ((r,(r,(((( root s"stem SID&0<100331
m ! 0<=10000!3 ((r,(r,(r,( root in7'ir SID&0<b0-c
m 5#-#%%% 0<ffffffff ((r,(r,(r,( sc sc SID&0<1c0=!'
m 5#-#%%9 0<ffffffff ((r,(r,(r,( sc sc SID&0<=09!
m 5#-#%90 0<ffffffff ((r,(r,(r,( sc sc SID&0<#09%3
On recupere le S#$ : 0x170436
( 13:60 -@S 0>1"0#36
Ssi' Esi' T"+e Descri+tion CSi?e Inuse Cin C7s+ Sirtu/
1!0-3= 3 ,orB s6re' memor" se7ment s -# 0 0 -#
+i'2s413%5-%=V 35#!1%V #911#%V 3%91!%V 3%50-#V 3!#!--V
+i'2s4135#-%-V 3-%31#V 3-01=#
>> ou d'un process
( 13:60 -P 2236$"#
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
Ci' Commn' Inuse Cin C7s+ Sirtu/ =-(bit Mt6r' 5C7e
##3=5!- ++'s,eb ##133 55%5 =%!1 335-= @ G @
Ssi' Esi' T"+e Descri+tion 5C7e Inuse Cin C7s+ Sirtu/
0% ' ,orB /o'er se7ment ( 1#5-9 0 =1 1%935
0 0 ,orB Berne/ se7ment ( !31= 55!% 13%# %=0=
1e35e 1 +ers co'eV/r7e fi/e ( 1!13 0 ( (
*'e3*/++/,6010=&131-90
'90' # ,orB +rocess +ri3te ( 305 3 51-9 5-=1
15#515 ( +ers /r7e fi/e ( 11! 0 ( (
*'e3*/++/,6010=&100-10
e'0#e f ,orB s6re' /ibrr" 't ( 9- 0 #!5 530
9'0-9 ( ,orB ( 11 - - 1-
W
I081/ nombre total de pages utilisees par le programme, blocs de 4KB
P.0 pages attachees, blocs de 4KB
V1.2 ID su segment virtuel
E1.2 ID eIIectiI du segment
( 13:60 -P 1"163$2 -. $ $ H /5:</:/:.685
( M4/< -. Z<46=/11Z /5:</:/:.685
Ssi' Esi' T"+e Descri+tion 5C7e Inuse Cin C7s+ Sirtu/ N
3!e#3= # ,orB +rocess +ri3te s -% 3 0 -%
3!e#3= # ,orB +rocess +ri3te s -% 3 0 -%
3!e#3= # ,orB +rocess +ri3te s -% 3 0 -%
3!e#3= # ,orB +rocess +ri3te s -% 3 0 -%
60 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
3!e#3= # ,orB +rocess +ri3te s -% 3 0 -%
[E1.2[:
Segment 0 (kernel) - a leak maybe in kernel itselI, or device drivers.
Segment 2 (app) - user stack and data
Segment I (shared libs) - in standard libraries, etc.
( 13:60 O+ : Repartition de la memoire
si?e inuse free +in 3irtu/
memor" %19#000 %09#=%9 99311 #0=3##- 39=#9#5
+7 s+ce -19-30- -33%9=
,orB +ers c/nt
+in #0=3##- 0 0
in use 3!55059 0 -33!=30
C7eSi?e Coo/Si?e inuse +7s+ +in 3irtu/
s - FB ( !%!3=%1 -33%9= 193-#1= 3!-391!
m =- FB ( 13=%% 0 %0=3 13=%%
8192000 * 4 *1024 33 554 432 000 ]6 P 32 +.M; 2/ RAM
( @1;554 -E@ :/:0
M6621.X/ 32000 A:6805 69 81;F@/ <ND1.=;@ :/:64D .0 MFD5/1 F;@1/
1.X/ 32000 T65;@ ;:6805 69 <ND1.=;@ :/:64D .0 MFD5/1 F;@1/
4194304 * 4 *1024 17 179 869 184 ]6 P 16 +.M; 2/ PA+IN+ SPACE
(@1<1 O1
Total Paging Space Percent Used
16384MB 11
8092689 * 4 *1024 33 147 654 144 ]6 30.% +.M; 2/ RAM 85.@.1B
433896 * 4 *1024 1777238016 ]6 1.8 +.M; 2/ PA+IN+ SPACE 85.@.1B
[A.>] AIIicher les statistiques memoire d`un user
( 13:60 OU 5858 -?
1111111111111111111111111111111111111111111111111111111111111111111111111111111
Jser Inuse Cin C7s+ Sirtu/ 5C7eC+
,bic #0151 55%- 1--3 #!%#3 (
...............................................................................
SGSTEM se7ments Inuse Cin C7s+ Sirtu/
!31= 55!% 13%# %=0=
Ssi' Esi' T"+e Descri+tion 5C7e Inuse Cin C7s+ Sirtu/
0 0 ,orB Berne/ se7ment ( !31= 55!% 13%# %=0=
61 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
...............................................................................
EIC5JSISE se7ments Inuse Cin C7s+ Sirtu/
#%# = 0 #%#
Ssi' Esi' T"+e Descri+tion 5C7e Inuse Cin C7s+ Sirtu/
b53 # ,orB +rocess +ri3te ( 1#- 3 0 1#-
1%53!9 # ,orB +rocess +ri3te ( %1 3 0 %1
153bb f ,orB s6re' /ibrr" 't ( 50 0 0 50
f-9-e f ,orB s6re' /ibrr" 't ( #! 0 0 #!
...............................................................................
S0>RED se7ments Inuse Cin C7s+ Sirtu/
1#553 0 =1 1%935
Ssi' Esi' T"+e Descri+tion 5C7e Inuse Cin C7s+ Sirtu/
0% ' ,orB /o'er se7ment ( 1#553 0 =1 1%935
[A.>] AIIicher les statistqiues memoire des 10 plus gros process
( 13:60 -P -5 10
[A.>] AIO ;1D0=N460681 I/O
II an application does a synchronous I/O operation, it must wait Ior the I/O to complete. In contrast,
asynchronous I/O operations run in the background and do not block user applications. This
improves perIormance, because I/O operations and applications processing can run simultaneously.
Many applications, such as databases and Iile servers, take advantage oI the ability to overlap
processing and I/O.
Applications can use the ;.6W4/;2IK, ;.6W?4.5/IK, or @.6W@.15.6IK subroutines (or their 64-bit
counterparts) to perIorm asynchronous disk I/O. Control returns to the application Irom the
subroutine as soon as the request has been queued. The application can then continue processing
while the disk operation is being perIormed.
To manage asynchronous I/O, each asynchronous I/O request has a corresponding control block in
the application's address space. This control block contains the control and status inIormation Ior
the request. It can be used again when the I/O operation is completed.
AIter issuing an asynchronous I/O request, the user application can determine when and how the
I/O operation is completed. This inIormation is provided in any oI three ways:
The application can poll the status oI the I/O operation.
The system can asynchronously notiIy the application when the I/O operation is done.
The application can block until the I/O operation is complete.
Each I/O is handled by a single kernel process, or kproc, and typically the kproc cannot process any
more requests Irom the queue until that I/O has completed. The deIault minimum number oI servers
conIigured when async I/O is enabled is 1, which is the minservers attribute. There is also a
maximum number oI async I/O servers that get created, which is controlled by the maxservers
attribute. The maxservers value is the number oI async I/O kprocs per CPU and the deIault value is
10 per CPU. To obtain the maximum number oI async I/O kprocs running on an AIX

system,
multiply the maxservers value with the number oI currently running CPUs.
62 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
The number oI servers limits the number oI asynchronous disk I/O operations that can be in
progress in the system simultaneously. You can set the number oI servers with the SMIT command
(1:.55D->Devices->Asynchronous I/O->Change/Show Characteristics of Asynchronous
I/O->M#%#M&M , M'(#M&M} number oI servers or smitty aio) or with the chdev command.
In systems that seldom run applications that use asynchronous I/O, the deIaults are usually
adequate.
II the number oI async I/O requests is high, increase the maxservers value to approximately the
number oI simultaneous I/Os there might be. In most cases, it is better to leave the minservers
parameter at the deIault value because the AIO kernel extension will generate additional servers iI
needed.
Note: AIO actions perIormed against a raw Logical Volume do not use kproc server processes. The
setting oI maxservers and minservers have no eIIect in this case.
By looking at the CPU utilization oI the AIO servers, iI the utilization is evenly divided among all
oI them, that means that they're all being used; you may want to try increasing them in this case. To
see the AIO servers by name, run the pstat -; command. Run the ps -J command to see the AIO
servers as the name kproc.
For environments in which the perIormance oI asynchronous disk I/O is critical and the volume oI
requests is high, but you do not have an approximate number oI simultaneous I/Os, it is
recommended that maxservers be set to at least 10 * (number oI disks accessed asynchronously).
This could be achieved Ior a system with three asynchronously accessed disks as Iollows:
# chdev -l aio0 -a maxservers='30'
In addition, you can set the maximum number oI asynchronous I/O REQUESTS outstanding, and
the server PRIORITY. II you have a system with a high volume oI asynchronous I/O applications,
it might be appropriate to increase the REQUESTS number and lower the PRIORITY number.
[A@@] Creation de graph sur en ensemble de lpar and co
N55<'//???..F:.=6:/2/3/@6</4?64J1/?.J.1/2.1<@;D/3.458;@.X;5.60/@<;42442R566@
Tres Iacile a metre en oeuvre et super sympat
63 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
[A@@] Utilisation RRD pour Iaire des graphiques
rrdtool est une suite de binaires cris par Tobias Oetiker
rrdtool permet de mettre des valeurs dans une base de donne round robin pour les archiver et de tracer
des graphiques partir de ces valeurs. Quel type de valeurs ? N'importe quoi pourvu que ce soit des
valeurs numriques
L'exploitation de rrdtool fait en 3 tapes :
1. Cration de la base de donne
2. Mise jour de la base de donne
3. Cration des graphiques au format .gif ou .png
C4B;5.60 2[80/ F;1/ 442 '
Syntaxe :
6# // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
rrdtooI create base.rrd \
DS:nom_variabIe:DST:heartbeat:vaIeurmin:vaIeurmax \
RRA:CF:XFF:steps:rows
DS : Data Source
Une ligne de cration commence toujours par DS. On met autant de DS qu'on a de valeurs acqurir.
nom_variable : C'est le nom de la variable dans la base de donne.
DST : Data Source Type
En fonction des donnes traiter, on choisira GAUGE, COUNTER, etc.
heartbeat :
Si cette valeur est de 100, alors rrdtool considre la valeur nom_variable comme inconnue si il se passe
plus de 100 s entre 2 mises jour.
vaIeurmin et vaIeursmax :
Sont les valeurs min et max des donnes que l'on va acqurir. Si on ne sait pas, on peut mettre U la place
(=unknown)
RRA : Round Robin Archive
Ce sont les archives que l'on va conserver. l faut mettre au moins une ligne RRA pour chaques lignes DS.
CF : ConsoIidation Function.
On peut choisir MN, MAX, AVERAGE en fonction des donnes conserver.
XFF : XFiIe Factor
En fait c'est trs souvent 0.5...
steps : Par dfaut rrdtool conserve les mesure toutes les 5 min (-s 300). C'est donc un multiple de 300. Si on
spcifie le paramre s 60 lors de la cration de la base, l'intervalle sera alors de une mesure conserve
toutes les minutes.
rows : Dfini le nombre de (steps * 300) que l'on conserve.
ExempIes de RRA :
On prend comme hypothse que la valeur "-s 300" (5 min) qui est celle par dfaut.
Pour garder un historique de 2 jours :
RRA:AVERAGE:0.5:1:576
Note : 1 * 300s = 5 minutes.
On garde 576 * 5 min, donc 48 heures ou 2 jours
Pour garder un historique de 7 jours :
RRA:AVERAGE:0.5:12:168
Note : 12 * 300s = 60 minutes.
On garde 168 * 60 min = 168 heures, donc 7 jours.
Pour garder un historique de 31 jours :
6$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
RRA:AVERAGE:0.5:144:62
Note : 144 * 300s = 0.5 jour.
On garde 62 * 0,5 jours, donc 1 mois.
Pour garder un historique de 366 jours :
RRA:AVERAGE:0.5:288:366
Note : 288 * 300s = 1 jour.
On garde 1 jour * 366, donc 1 an.
Mise jour d'une base rrd :
On utilise la commande rrtool update pour faire la mise jour de la base de donne rrd. On doit respecter
l'ordre dans lequel les lments ont t placs lors de sa cration. Pour que les rsultats aient un sens, il
faut acqurir les valeurs et les mettre dans la base intervalles rguliers. La plupart du temps on fera dans
un script et on le mettre dans un crontab.
l faut galement inclure le moment auquel on relve les donnes. Pour cela, on utilise le temps "unix", c'est
dire le nombre de secondes qui se sont coules depuis le 1 janvier 1970 00h00. On obtient cela grce
la commande date +%s.
Si on a une base "base.rrd" qui contient 2 valeurs, on l'alimentera avec la commande
rrdtooI update base.rrd temps_unix:vaIeur1:vaIeur2
Cration de graphiques avec rrd
La cration des graphiques se fait avec la commande rrdtool graph. Comme il n'y a rien de tel qu'un bon
exemple commant, tous les dtails sont donns plus bas.
Monitoring Rseau // Monitoring de Ia bande passante
Nous allons crer des graphiques en nous aidant des informations que nous donne le systme. Pour cela, 2
mthodes (au moins !) possibles :
Mthode n 1 :
On liste le contenu du fichier /proc/net/dev et on filtre la sortie
NF=`grep eth0 /proc/net/dev | sed 's/eth0://' | awk '{print $1}'`
OUTF=`grep eth0 /proc/net/dev | sed 's/eth0://' | awk '{print $9}'`
Mthode n 2 :
On utilise la commande ifconfig et on filtre la sortie
NF=`/sbin/ifconfig eth0 | grep "RX bytes" | cut -f2 -d: | cut -f1 -d " "`
OUTF=`/sbin/ifconfig eth0 | grep "RX bytes" | cut -f3 -d: | cut -f1 -d " "`
66 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Dans les 2 cas, les variables $NF et $OUTF reprsentent respectivement le nombres d'octets reus et
mis.
Mthode pour Aix :
iIaceent0
entstat -drt $iIace} ~ /tmp/iI$iIace}.log
numberligne`cat /tmp/iI$iIace}.log , grep -n "Transmit Statistics" , awk -F":" 'print $1}'`
ligne`echo $(($numberligne}3))`
inIo`cat /tmp/iI$iIace}.log , sed -n $ligne}p`
echo $inIo} , awk 'print $2}'
echo $inIo} , awk 'print $4}'
Cration de Ia base :
Le script suivant cr la base de donne /home/rrd/if.rrd suivant les principes ci-dessus :
cat /home/rrd/create/create-if.sh
# 5 minute samples for 2 days ( 576 samples 300*1)
# 1 hour samples for 7 days ( 168 samples 300*12 )
# 24 hour sampes for 31 days ( 62 samples 300*144)
# 24 hour sampes for 366 days ( 366 samples 300*288)
RRDPATH=/usr/bin
RRDATAPATH=/home/rrd
DATABASE=if.rrd
$RRDPATH/rrdtool create $RRDATAPATH/$DATABASE \
DS:ifin:COUNTER:576:0:U \
DS:ifout:COUNTER:576:0:U \
RRA:AVERAGE:0.5:1:576 \
RRA:AVERAGE:0.5:12:168 \
RRA:AVERAGE:0.5:144:62 \
RRA:AVERAGE:0.5:288:366 \
RRA:MAX:0.5:1:576 \
RRA:MAX:0.5:12:168 \
RRA:MAX:0.5:144:62 \
RRA:MAX:0.5:288:366
Ce script est utiliser une seule fois. Si on le lance un deuxime fois, on crase la base de donne
existante sans aucunes autres mises en garde...
Mise jour de Ia base :
l faut commencer par extraire intervalles rguliers le nombre de bits mis et le nombre de bits reus par la
carte rseau. On utilise les informations de la commande ifconfig (voir plus haut).
6" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Comme on a tous les lments en main pour mettre la base de donne jour, on cre le script suivant qu'il
suffira de mettre dans un crontab pour qu'il s'excute toutes les 5 minutes.
#!/bin/bash
## Recuperation des donnes relatives au trafic sur l'interface rseau
## et envois dans la base de donne RRD
## R. Taupin - 2004
# Declaration des constantes
NOW=`date +%s`
RRDPATH=/usr/bin
RRDATAPATH=/home/rrd
FACE=eth1
DATABASE=if.rrd
NF=`/sbin/ifconfig $FACE | grep "RX bytes" | cut -f2 -d: | cut -f1 -d " "`
OUTF=`/sbin/ifconfig $FACE | grep "RX bytes" | cut -f3 -d: | cut -f1 -d " "`
# Log data to rrd
$RRDPATH/rrdtool update $RRDATAPATH/$DATABASE $NOW:$NF:$OUTF
Pour appeller le script get-if.sh et on la place dans un crontab :
# crontab -e
*/5 * * * * /home/rrd/get/get-if.sh
Cration des graphiques
La cration du graphe se fera avec la commande rrdtool graph. Nous allons utiliser crer une image au
format GF. Dcortiquons un exemple :
[01]$RRDPATH/rrdtool graph /var/www/ifweek.gif \
[02] -t "Historique de la semaine" \
[03] -v "bits/s" \
[04] -w 800 -h 200\
[05] --start $NOW1W \
[06] --end $NOW \
[07] DEF:downaverage=$RRDATAPATH/if.rrd:ifin:AVERAGE \
[08] DEF:upaverage=$RRDATAPATH/if.rrd:ifout:AVERAGE \
[09] CDEF:inaverage=downaverage,8,* \
[10] CDEF:outaverage=upaverage,8,* \
[11] LNE2:inaverage\#FF0000:"Download Average" \
[12] LNE2:outaverage\#00FF00:"Upload Average"
La ligne [01] excute rrdtool graph suivi du nom de l'image crer.
La ligne [02] donne le titre horizontal de l'image.
La ligne [03] donne le titre vertival de l'image.
La ligne [04] donne les dimensions de l'image en pixels : largeur : 800 x hauteur : 200
La ligne [05] indique le dbut de la courbe en temps unix.
Voir le script complet ci-dessous pour son calcul par rapport la date actuelle.
La ligne [06] indique la fin de la courbe, galement en temps unix
Les lignes suivantes sont plus compliques :
La ligne [07] rcupre le champ ifin dans la base de donne et lui affecte un nom de variable :
downaverage. Ce nom de variable va servir faire des calculs avant de crer le graphe.
68 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
En ligne [09], on dclare une nouvelle variable, inaverage et on dit qu'elle est gale 8 * downaverage.
C'est du RPN.
En ligne [11], on trace un ligne d'paisseur 2 (LNE2) de couleur rouge (#FF0000) et on cre la lgende
"Download Average".
Les lignes [08], [10] et [12] font la mme chose pour l'upload.
On peut crer autant de graphes que l'on veut avec autant de couleurs que l'on veut dans une image.
Attention toutefois la lisibilit...
Maintenant, voici le listing complet du script qui trace des courbes quotidiennes, hebdomadaire, mensuelles
et annuelles :
cat /home/rrd/graph/graph-if.sh
#!/bin/bash
## Cette partie transforme le temps en nombre de secondes ecoulees depuis
## le 1er Janv 1970 a 0h00 puis calcule le nombre de seconces par jours,
## semaines, mois et annees.
## R. Taupin, 09/2004
# Calcul des contantes
SEC_PER_DAY=86400
SEC_PER_WEEK=`expr $SEC_PER_DAY \* 7`
SEC_PER_MONTH=`expr $SEC_PER_DAY \* 31`
SEC_PER_YEAR=`expr $SEC_PER_DAY \* 366`
# Heure actuelle
NOW=`date +%s`
# NOW -1 jour
NOW1D=`expr $NOW - $SEC_PER_DAY`
# NOW -1 semaine
NOW1W=`expr $NOW - $SEC_PER_WEEK`
# NOW -1 mois
NOW1M=`expr $NOW - $SEC_PER_MONTH`
# NOW -1 an
NOW1Y=`expr $NOW - $SEC_PER_YEAR`
# Chemin des binaires rrdtool
RRDPATH=/usr/bin
# Rpertoire des stockage
RRDATAPATH=/home/rrd
# Rpertoire ou sont cres les images
WWWDR=/var/www/stats
# Nom de la base de donne
DATABASE=if.rrd
# Titre
TTRE="trafic total"
# Hauteur de l'image
HAUT=150
# Largeur de l'image
LARG=600
# Creation du graphe quotidien
$RRDPATH/rrdtool graph $WWWDR/ifday.gif \
-t "Historique $TTRE sur une journe" \
-v "bits/s" \
-w $LARG -h $HAUT \
--start $NOW1D \
--end $NOW \
DEF:downaverage=$RRDATAPATH/$DATABASE:ifin:AVERAGE \
DEF:upaverage=$RRDATAPATH/$DATABASE:ifout:AVERAGE \
CDEF:inaverage=downaverage,8,* \
6% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
CDEF:outaverage=upaverage,8,* \
LNE2:inaverage\#FF0000:"Download Average" \
LNE2:outaverage\#00FF00:"Upload Average"
# Creation du graphe hebdomadaire
$RRDPATH/rrdtool graph $WWWDR/ifweek.gif \
-t "Historique $TTRE sur une semaine" \
-v "bits/s" \
-w $LARG -h $HAUT \
--start $NOW1W \
--end $NOW \
DEF:downaverage=$RRDATAPATH/$DATABASE:ifin:AVERAGE \
DEF:upaverage=$RRDATAPATH/$DATABASE:ifout:AVERAGE \
CDEF:inaverage=downaverage,8,* \
CDEF:outaverage=upaverage,8,* \
LNE2:inaverage\#FF0000:"Download Average" \
LNE2:outaverage\#00FF00:"Upload Average"
# Creation du graphe mensuel
$RRDPATH/rrdtool graph $WWWDR/ifmonth.gif \
-t "Historique $TTRE sur un mois" \
-v "bits/s" \
-w $LARG -h $HAUT \
--start $NOW1M \
--end $NOW \
DEF:downaverage=$RRDATAPATH/$DATABASE:ifin:AVERAGE \
DEF:upaverage=$RRDATAPATH/$DATABASE:ifout:AVERAGE \
CDEF:inaverage=downaverage,8,* \
CDEF:outaverage=upaverage,8,* \
LNE2:inaverage\#FF0000:"Download Average" \
LNE2:outaverage\#00FF00:"Upload Average"
# Creation du graphe annuel
$RRDPATH/rrdtool graph $WWWDR/ifyear.gif \
-t "Historique $TTRE sur une anne" \
-v "bits/s" \
-w $LARG -h $HAUT \
--start $NOW1Y \
--end $NOW \
DEF:downaverage=$RRDATAPATH/$DATABASE:ifin:AVERAGE \
DEF:upaverage=$RRDATAPATH/$DATABASE:ifout:AVERAGE \
CDEF:inaverage=downaverage,8,* \
CDEF:outaverage=upaverage,8,* \
LNE2:inaverage\#FF0000:"Download Average" \
LNE2:outaverage\#00FF00:"Upload Average"
Ce graphe est placer dans un crontab pour qu'il s'xcute toutes les 5 minutes.
Monitoring de Ia bande passante par services TCP :
On utilise iptraf en mode "background", c'est dire en tache de fond. Une fois lanc, on paramtre iptraf
pour qu'il "loggue" les informations toutes les minutes. Voici un exemple de sortie du journal de log :
TCP/22: 83977 packets, 34318576 bytes total; 43300 packets, 29851638 bytes incoming; 40677 packets,
4466938 bytes outgoing
UDP/370: 29 packets, 7993 bytes total; 16 packets, 4058 bytes incoming; 13 packets, 3935 bytes outgoing
TCP/7: 4 packets, 200 bytes total; 2 packets, 120 bytes incoming; 2 packets, 80 bytes outgoing
UDP/80: 2 packets, 100 bytes total; 1 packets, 46 bytes incoming; 1 packets, 54 bytes outgoing
"0 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
UDP/913: 2 packets, 92 bytes total; 1 packets, 46 bytes incoming; 1 packets, 46 bytes outgoing
UDP/663: 1 packets, 46 bytes total; 1 packets, 46 bytes incoming; 0 packets, 0 bytes outgoing
ptraf fait le tri des informations par n de ports TCP ou UDP. Pour avoir le nombre d'octets envoys et
reus, il suffit de rediriger la sortie vers un filtre grep et d'en extraire la dernire ligne. Voici ce que ca donne
pour le port TCP80 (web).
grep TCP/80 /var/Iog/iptraf/tcp_udp_services-eth1.Iog | taiI -n 1
On obtient la ligne suivante :
TCP/80: 1391405 packets, 1070101206 bytes total; 566048 packets, 57772139 bytes incoming; 825357
packets, 1012329067 bytes outgoing
On filtre maintenant la sortie pour en extraire les champs qui nous intressent avec la commande cut :
Pour les octets reus :
grep TCP/80 /var/Iog/iptraf/tcp_udp_services-eth1.Iog | taiI -n 1 | cut -d" " -f9`
Pour les octets mis :
grep TCP/80 /var/Iog/iptraf/tcp_udp_services-eth1.Iog | taiI -n 1 | cut -d" " f14`
Nous aurons donc les valeurs 57772139 et 1012329067.
Cration de Ia base
cat /home/rrd/create/create-service.sh
# 5 minute samples for 2 days ( 576 samples 300*1)
# 1 hour samples for 7 days ( 168 samples 300*12 )
# 24 hour sampes for 31 days ( 62 samples 300*144)
# 24 hour sampes for 366 days ( 366 samples 300*288)
RRDPATH=/usr/bin
RRDATAPATH=/home/rrd
case $1 in
"")
echo Erreur : pas de base de donnes dfinie
exit 1
;;
*)
$RRDPATH/rrdtool create $RRDATAPATH/$1 \
DS:ifin:COUNTER:576:0:U \
DS:ifout:COUNTER:576:0:U \
RRA:AVERAGE:0.5:1:576 \
RRA:AVERAGE:0.5:12:168 \
RRA:AVERAGE:0.5:144:62 \
RRA:AVERAGE:0.5:288:366 \
RRA:MAX:0.5:1:576 \
RRA:MAX:0.5:12:168 \
RRA:MAX:0.5:144:62 \
"1 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
RRA:MAX:0.5:288:366
exit 0
;;
On appelle le script /home/rrd/create/create-service.sh. On l'utilise comme a :
./create-service.sh tcp20.rrd
./create-service.sh tcp21.rrd
./create-service.sh tcp22.rrd
./create-service.sh tcp23.rrd
./create-service.sh tcp25.rrd
./create-service.sh tcp80.rrd
./create-service.sh tcp110.rrd
./create-service.sh tcp123.rrd
./create-service.sh tcp143.rrd
./create-service.sh tcp139.rrd
./create-service.sh tcp443.rrd
Dans les exemples ci-dessus, on cre les bases de donnes tcp20.rrd, tcp21.rrd, etc qui vont correspondre
aux ports TCP des services que l'on veut monitorer.
Mise jour de Ia base
Nous allons faire un script qui on passera le n de port en paramtre. Ce script rcuprera les donnes
dans le fichier de log de iptraf et les injectera dans la base de donne rrd pralablement cre.
cat /etc/rrd/get/get-service.sh
#!/bin/bash
## Recuperation des donnes relatives au trafic ssh sur l'interface rseau
## et envois dans la base de donne RRD
## R. Taupin - 2004
case $1 in
"")
echo Erreur : pas de n de port dfini
exit 1
;;
*)
# Declaration des constantes
NOW=`date +%s`
RRDPATH=/usr/bin
RRDATAPATH=/home/rrd
FACE=eth1
LOGFLE=/var/log/iptraf/tcp_udp_services-$FACE.log
DATABASE=tcp$1.rrd
# Recuperation des donnes dans le ficher de log + filtrage
NF=`grep TCP/$1 $LOGFLE | tail -n 1 | cut -d" " -f9`
OUTF=`grep TCP/$1 $LOGFLE | tail -n 1 | cut -d" " -f14`
# Log data to rrd
$RRDPATH/rrdtool update $RRDATAPATH/$DATABASE $NOW:$NF:$OUTF
;;
"2 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
esac
Cration des graphiques
Pour la cration des graphes, on utilise un script par groupe de services. Les courbes montreront les
services rpartis par catgories suivantes dans une image gif :
#essagerie : smtp $ pop $ imap
%eb : http $ https
&ransfert de fichiers : ftp $ ftp-data
ssh
telnet
netbios
Voici un exemple pour la cration des graphes relatifs aux services web :
cat /home/rrd/graph/graph-web.sh
#!/bin/bash
## Cette partie transforme le temps en nombre de secondes ecoulees depuis
## le 1er Janv 1970 a 0h00 puis calcule le nombre de seconces par jours,
## semaines, mois et annees.
## R. Taupin, 09/2004
# Calcul des contantes
SEC_PER_DAY=86400
SEC_PER_WEEK=`expr $SEC_PER_DAY \* 7`
SEC_PER_MONTH=`expr $SEC_PER_DAY \* 31`
SEC_PER_YEAR=`expr $SEC_PER_DAY \* 366`
# Heure actuelle
NOW=`date +%s`
# NOW -1 jour
NOW1D=`expr $NOW - $SEC_PER_DAY`
# NOW -1 semaine
NOW1W=`expr $NOW - $SEC_PER_WEEK`
# NOW -1 mois
NOW1M=`expr $NOW - $SEC_PER_MONTH`
# NOW -1 an
NOW1Y=`expr $NOW - $SEC_PER_YEAR`
# Chemin des binaires rrdtool
RRDPATH=/usr/bin
# Rpertoire des stockage
RRDATAPATH=/home/rrd
# Rpertoire ou sont cres les images
WWWDR=/var/www/stats
"3 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
# Titre
TTRE="trafic web"
# Hauteur de l'image
HAUT=150
# Largeur de l'image
LARG=600
# Creation du graphe quotidien
$RRDPATH/rrdtool graph $WWWDR/webday.gif \
-t "Historique $TTRE sur une journe" \
-v "bits/s" \
-w $LARG -h $HAUT \
--start $NOW1D \
--end $NOW \
DEF:downaverage80=$RRDATAPATH/tcp80.rrd:ifin:AVERAGE \
DEF:upaverage80=$RRDATAPATH/tcp80.rrd:ifout:AVERAGE \
DEF:downaverage443=$RRDATAPATH/tcp443.rrd:ifin:AVERAGE \
DEF:upaverage443=$RRDATAPATH/tcp443.rrd:ifout:AVERAGE \
CDEF:inaverage80=downaverage80,8,* \
CDEF:outaverage80=upaverage80,8,* \
CDEF:inaverage443=downaverage443,8,* \
CDEF:outaverage443=upaverage443,8,* \
LNE2:inaverage80\#FF0000:"Download Average (http)" \
LNE2:outaverage80\#00FF00:"Upload Average (http)" \
LNE2:inaverage443\#FF9900:"Download Average (https)" \
LNE2:outaverage443\#99CC00:"Upload Average (https)"
# Creation du graphe hebdomadaire
$RRDPATH/rrdtool graph $WWWDR/webweek.gif \
-t "Historique $TTRE sur une semaine" \
-v "bits/s" \
-w $LARG -h $HAUT \
--start $NOW1W \
--end $NOW \
DEF:downaverage80=$RRDATAPATH/tcp80.rrd:ifin:AVERAGE \
DEF:upaverage80=$RRDATAPATH/tcp80.rrd:ifout:AVERAGE \
DEF:downaverage443=$RRDATAPATH/tcp443.rrd:ifin:AVERAGE \
DEF:upaverage443=$RRDATAPATH/tcp443.rrd:ifout:AVERAGE \
CDEF:inaverage80=downaverage80,8,* \
CDEF:outaverage80=upaverage80,8,* \
CDEF:inaverage443=downaverage443,8,* \
CDEF:outaverage443=upaverage443,8,* \
LNE2:inaverage80\#FF0000:"Download Average (http)" \
LNE2:outaverage80\#00FF00:"Upload Average (http)" \
LNE2:inaverage443\#FF9900:"Download Average (https)" \
LNE2:outaverage443\#99CC00:"Upload Average (https)"
# Creation du graphe mensuel
$RRDPATH/rrdtool graph $WWWDR/webmonth.gif \
-t "Historique $TTRE sur un mois" \
-v "bits/s" \
-w $LARG -h $HAUT \
--start $NOW1M \
--end $NOW \
DEF:downaverage80=$RRDATAPATH/tcp80.rrd:ifin:AVERAGE \
DEF:upaverage80=$RRDATAPATH/tcp80.rrd:ifout:AVERAGE \
"# // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
DEF:downaverage443=$RRDATAPATH/tcp443.rrd:ifin:AVERAGE \
DEF:upaverage443=$RRDATAPATH/tcp443.rrd:ifout:AVERAGE \
CDEF:inaverage80=downaverage80,8,* \
CDEF:outaverage80=upaverage80,8,* \
CDEF:inaverage443=downaverage443,8,* \
CDEF:outaverage443=upaverage443,8,* \
LNE2:inaverage80\#FF0000:"Download Average (http)" \
LNE2:outaverage80\#00FF00:"Upload Average (http)" \
LNE2:inaverage443\#FF9900:"Download Average (https)" \
LNE2:outaverage443\#99CC00:"Upload Average (https)"
# Creation du graphe annuel
$RRDPATH/rrdtool graph $WWWDR/webyear.gif \
-t "Historique $TTRE sur une anne" \
-v "bits/s" \
-w $LARG -h $HAUT \
--start $NOW1Y \
--end $NOW \
DEF:downaverage80=$RRDATAPATH/tcp80.rrd:ifin:AVERAGE \
DEF:upaverage80=$RRDATAPATH/tcp80.rrd:ifout:AVERAGE \
DEF:downaverage443=$RRDATAPATH/tcp443.rrd:ifin:AVERAGE \
DEF:upaverage443=$RRDATAPATH/tcp443.rrd:ifout:AVERAGE \
CDEF:inaverage80=downaverage80,8,* \
CDEF:outaverage80=upaverage80,8,* \
CDEF:inaverage443=downaverage443,8,* \
CDEF:outaverage443=upaverage443,8,* \
LNE2:inaverage80\#FF0000:"Download Average (http)" \
LNE2:outaverage80\#00FF00:"Upload Average (http)" \
LNE2:inaverage443\#FF9900:"Download Average (https)" \
LNE2:outaverage443\#99CC00:"Upload Average (https)"

Statistiques Ping
Principe
On envoie 5 paquets CMP "echo request" intervalles rguliers, et on garde la moyenne des temps de
rponses "echo reply" :
ping -c 5 172.16.205.254
PNG 172.16.205.254 (172.16.205.254): 56 data bytes
64 bytes from 172.16.205.254: icmp_seq=0 ttl=248 time=53.9 ms
64 bytes from 172.16.205.254: icmp_seq=1 ttl=248 time=54.5 ms
64 bytes from 172.16.205.254: icmp_seq=2 ttl=248 time=51.4 ms
64 bytes from 172.16.205.254: icmp_seq=3 ttl=248 time=51.6 ms
64 bytes from 172.16.205.254: icmp_seq=4 ttl=248 time=53.6 ms
- 172.16.205.254 ping statistics -
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 51.4/53.0/54.5 ms
Cration de Ia base
# cat /home/rrd/create/create-ping.sh
"$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
# 5 minute samples for 2 days ( 576 samples 300*1)
# 1 hour samples for 7 days ( 168 samples 300*12 )
# 24 hour sampes for 31 days ( 62 samples 300*144)
# 24 hour sampes for 366 days ( 366 samples 300*288)
RRDPATH=/usr/bin
RRDATAPATH=/home/rrd
case $1 in
"")@@
echo Erreur : pas de site dfini
exit 1
;;
*)
$RRDPATH/rrdtool create $RRDATAPATH/ping$1.rrd \
DS:ping64:GAUGE:576:0:1000 \
DS:ping1024:GAUGE:576:0:1000 \
RRA:AVERAGE:0.5:1:576 \
RRA:AVERAGE:0.5:12:168 \
RRA:AVERAGE:0.5:144:62 \
RRA:AVERAGE:0.5:288:366 \
RRA:MAX:0.5:1:576 \
RRA:MAX:0.5:12:168 \
RRA:MAX:0.5:144:62 \
RRA:MAX:0.5:288:366
exit 0
;;
UtiIisation : Iancer Ia commande
/home/rrd/create/create-ping.sh 204
pour crer la base de donne /home/rrd/ping204.rrd. Cette base de donne va enregistrer les ping de 64 et
1024 octets sur le routeur 172.16.204.254.
Mise jour de Ia base
# cat /home/rrd/get/get-ping.sh
#!/bin/bash
## Recuperation des donn\xe9es relatives au trafic ssh sur l'interface r\xe9seau
## et envois dans la base de donn\xe9e RRD
## R. Taupin - 2004
case $1 in
"")
echo Erreur : pas de rseau dfini
exit 1
;;
*)
# Declaration des constantes
NOW=`date +%s`
"6 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
RRDPATH=/usr/bin
RRDATAPATH=/home/rrd
DATABASE=ping$1.rrd
STE=172.16.$1.254
# Recuperation des donn\xe9es + filtrage
PNG64=`ping -s 1024 -c 5 $STE | grep "round-trip" | cut -d '/' -f 4`
PNG1024=`ping -s 1024 -c 5 $STE | grep "round-trip" | cut -d '/' -f 4`
# Log data to rrd
$RRDPATH/rrdtool update $RRDATAPATH/$DATABASE $NOW:$PNG64:$PNG1024
;;
esac
Utilisation : comme pour la cration, on lui passe le n de rseau en argument.
/home/rrd/get/get-ping.sh 204
va faire un ping sur le routeur 172.16.204.254 et stocker les rsultats dans la base de donne
/home/rrd/ping204.rrd.
Cration des graphiques
On cre les graphiques en interrogeant toutes les bases de donnes en mme temps pour mettre les
courbes de tous les sites sur la mme image.
# cat /home/rrd/graph/graph-ping.sh
#!/bin/bash
## Cette partie transforme le temps en nombre de secondes ecoulees depuis
## le 1er Janv 1970 a 0h00 puis calcule le nombre de seconces par jours,
## semaines, mois et annees.
## R. Taupin, 09/2004
# Calcul des contantes
SEC_PER_DAY=86400
SEC_PER_WEEK=`expr $SEC_PER_DAY \* 7`
SEC_PER_MONTH=`expr $SEC_PER_DAY \* 31`
SEC_PER_YEAR=`expr $SEC_PER_DAY \* 366`
# Heure actuelle
NOW=`date +%s`
# NOW -1 jour
NOW1D=`expr $NOW - $SEC_PER_DAY`
# NOW -1 semaine
NOW1W=`expr $NOW - $SEC_PER_WEEK`
# NOW -1 mois
NOW1M=`expr $NOW - $SEC_PER_MONTH`
"" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
# NOW -1 an
NOW1Y=`expr $NOW - $SEC_PER_YEAR`
# Chemin des binaires rrdtool
RRDPATH=/usr/bin
# Rpertoire des stockage
RRDATAPATH=/home/rrd
# Rpertoire ou sont cres les images
WWWDR=/var/www/stats
# Titre
TTRE="Statistiques ping"
# Hauteur de l'image
HAUT=150
# Largeur de l'image
LARG=600
# Creation du graphe quotidien
$RRDPATH/rrdtool graph $WWWDR/pingday.gif \
-t "$TTRE sur une journe" \
-v "m Sec" \
-w $LARG -h $HAUT \
--start $NOW1D \
--end $NOW \
DEF:taping64=$RRDATAPATH/ping105.rrd:ping64:AVERAGE \
DEF:shping64=$RRDATAPATH/ping106.rrd:ping64:AVERAGE \
DEF:phping64=$RRDATAPATH/ping200.rrd:ping64:AVERAGE \
DEF:caping64=$RRDATAPATH/ping202.rrd:ping64:AVERAGE \
DEF:peping64=$RRDATAPATH/ping204.rrd:ping64:AVERAGE \
DEF:trping64=$RRDATAPATH/ping205.rrd:ping64:AVERAGE \
DEF:ulping64=$RRDATAPATH/ping207.rrd:ping64:AVERAGE \
DEF:goping64=$RRDATAPATH/ping214.rrd:ping64:AVERAGE \
DEF:soping64=$RRDATAPATH/ping219.rrd:ping64:AVERAGE \
DEF:maping64=$RRDATAPATH/ping220.rrd:ping64:AVERAGE \
LNE2:taping64\#FFCC00:"Taby" \
LNE2:shping64\#9966FF:"Shanghai" \
LNE2:phping64\#336600:"Phoenix" \
LNE2:caping64\#99CC00:"Cascais" \
LNE2:peping64\#FF6633:"Pessac" \
LNE2:trping64\#993300:"Troyes" \
LNE2:ulping64\#00FF00:"Ulis" \
LNE2:goping64\#0000FF:"Gouss" \
LNE2:soping64\#FF0000:"Sophia" \
LNE2:maping64\#990099:"Casablanca"
# Creation du graphe hebdomadaire
$RRDPATH/rrdtool graph $WWWDR/pingweek.gif \
-t "$TTRE sur une journe" \
-v "m Sec" \
-w $LARG -h $HAUT \
--start $NOW1W \
--end $NOW \
DEF:taping64=$RRDATAPATH/ping105.rrd:ping64:AVERAGE \
DEF:shping64=$RRDATAPATH/ping106.rrd:ping64:AVERAGE \
"8 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
DEF:phping64=$RRDATAPATH/ping200.rrd:ping64:AVERAGE \
DEF:caping64=$RRDATAPATH/ping202.rrd:ping64:AVERAGE \
DEF:peping64=$RRDATAPATH/ping204.rrd:ping64:AVERAGE \
DEF:trping64=$RRDATAPATH/ping205.rrd:ping64:AVERAGE \
DEF:ulping64=$RRDATAPATH/ping207.rrd:ping64:AVERAGE \
DEF:goping64=$RRDATAPATH/ping214.rrd:ping64:AVERAGE \
DEF:soping64=$RRDATAPATH/ping219.rrd:ping64:AVERAGE \
DEF:maping64=$RRDATAPATH/ping220.rrd:ping64:AVERAGE \
LNE2:taping64\#FFCC00:"Taby" \
LNE2:shping64\#9966FF:"Shanghai" \
LNE2:phping64\#336600:"Phoenix" \
LNE2:caping64\#99CC00:"Cascais" \
LNE2:peping64\#FF6633:"Pessac" \
LNE2:trping64\#993300:"Troyes" \
LNE2:ulping64\#00FF00:"Ulis" \
LNE2:goping64\#0000FF:"Gouss" \
LNE2:soping64\#FF0000:"Sophia" \
LNE2:maping64\#990099:"Casablanca"
# Creation du graphe mensuel
$RRDPATH/rrdtool graph $WWWDR/pingmonth.gif \
-t "$TTRE sur une journe" \
-v "m Sec" \
-w $LARG -h $HAUT \
--start $NOW1M \
--end $NOW \
DEF:taping64=$RRDATAPATH/ping105.rrd:ping64:AVERAGE \
DEF:shping64=$RRDATAPATH/ping106.rrd:ping64:AVERAGE \
DEF:phping64=$RRDATAPATH/ping200.rrd:ping64:AVERAGE \
DEF:caping64=$RRDATAPATH/ping202.rrd:ping64:AVERAGE \
DEF:peping64=$RRDATAPATH/ping204.rrd:ping64:AVERAGE \
DEF:trping64=$RRDATAPATH/ping205.rrd:ping64:AVERAGE \
DEF:ulping64=$RRDATAPATH/ping207.rrd:ping64:AVERAGE \
DEF:goping64=$RRDATAPATH/ping214.rrd:ping64:AVERAGE \
DEF:soping64=$RRDATAPATH/ping219.rrd:ping64:AVERAGE \
DEF:maping64=$RRDATAPATH/ping220.rrd:ping64:AVERAGE \
LNE2:taping64\#FFCC00:"Taby" \
LNE2:shping64\#9966FF:"Shanghai" \
LNE2:phping64\#336600:"Phoenix" \
LNE2:caping64\#99CC00:"Cascais" \
LNE2:peping64\#FF6633:"Pessac" \
LNE2:trping64\#993300:"Troyes" \
LNE2:ulping64\#00FF00:"Ulis" \
LNE2:goping64\#0000FF:"Gouss" \
LNE2:soping64\#FF0000:"Sophia" \
LNE2:maping64\#990099:"Casablanca"
# Creation du graphe annuel
$RRDPATH/rrdtool graph $WWWDR/pingyear.gif \
-t "$TTRE sur une journe" \
-v "m Sec" \
-w $LARG -h $HAUT \
--start $NOW1Y \
--end $NOW \
DEF:taping64=$RRDATAPATH/ping105.rrd:ping64:AVERAGE \
DEF:shping64=$RRDATAPATH/ping106.rrd:ping64:AVERAGE \
DEF:phping64=$RRDATAPATH/ping200.rrd:ping64:AVERAGE \
DEF:caping64=$RRDATAPATH/ping202.rrd:ping64:AVERAGE \
"% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
DEF:peping64=$RRDATAPATH/ping204.rrd:ping64:AVERAGE \
DEF:trping64=$RRDATAPATH/ping205.rrd:ping64:AVERAGE \
DEF:ulping64=$RRDATAPATH/ping207.rrd:ping64:AVERAGE \
DEF:goping64=$RRDATAPATH/ping214.rrd:ping64:AVERAGE \
DEF:soping64=$RRDATAPATH/ping219.rrd:ping64:AVERAGE \
DEF:maping64=$RRDATAPATH/ping220.rrd:ping64:AVERAGE \
LNE2:taping64\#FFCC00:"Taby" \
LNE2:shping64\#9966FF:"Shanghai" \
LNE2:phping64\#336600:"Phoenix" \
LNE2:caping64\#99CC00:"Cascais" \
LNE2:peping64\#FF6633:"Pessac" \
LNE2:trping64\#993300:"Troyes" \
LNE2:ulping64\#00FF00:"Ulis" \
LNE2:goping64\#0000FF:"Gouss" \
LNE2:soping64\#FF0000:"Sophia" \
LNE2:maping64\#990099:"Casablanca"
UtiIisation du CPU
On utilise les informations contenues dans le fichier /proc/stat :
# cat /proc/stat
cpu 3459367 1 700762 47350419
cpu0 3459367 1 700762 47350419
page 84435 12943036
swap 1 50
intr 68092732 51510549 2 0 7409539 0 0 3 0 0 0 7629435 0 0 0 1543201 3
disk_io: (3,0):(1545166,8499,168870,1536667,25886072)
ctxt 58013943
btime 1094052418
processes 992403
La ligne qui nous intresse est celle qui commence par CPU0. Les 4 champs qui suivent indiquent le
nombre de 1/100 de secondes pendant lesquelles le systme a t dans les modes suivants :
mode utilisateur
mode utilisateur basse priorit (nice)
mode systme
repos.
Pour obtenir les temps "utilisateur", "systme", et "repos" en secondes, on utilise donc les commandes
suivantes :
/usr/bin/awk '/cpu0 /{print ($2+$3)/100}' < /proc/stat
34593.68
/usr/bin/awk '/cpu0 /{print ($4)/100}' < /proc/stat
7007.62
80 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
/usr/bin/awk '/cpu0 /{print ($5)/100}' < /proc/stat
473504.19
Pour Aix
OUT=`/usr/sbin/sar 1 | sed 1,6d`
echo $OUT | /usr/bin/awk -F" " '{print $2}'
echo $OUT | /usr/bin/awk -F" " '{print $3}'
echo $OUT | /usr/bin/awk -F" " '{print $4}'
echo $OUT | /usr/bin/awk -F" " '{print $5}'
14:05:10 %usr %sys %wio %idle physc
14:05:11 52 33 6 9 1.00
Cration de Ia base
On fait un script tout simple qui utilise rrdtool create, et on le place /home/rrd/create avec les autres.
# vi create-cpu0.sh
# 5 minute samples for 2 days ( 576 samples 300*1)
# 1 hour samples for 7 days ( 168 samples 300*12 )
# 24 hour sampes for 31 days ( 62 samples 300*144)
# 24 hour sampes for 366 days ( 366 samples 300*288)
RRDPATH=/usr/bin
RRDATAPATH=/home/rrd
DATABASE=cpu0.rrd
$RRDPATH/rrdtool create $RRDATAPATH/$DATABASE \
DS:user:COUNTER:576:0:U \
DS:system:COUNTER:576:0:U \
RRA:AVERAGE:0.5:1:576 \
RRA:AVERAGE:0.5:12:168 \
RRA:AVERAGE:0.5:144:62 \
RRA:AVERAGE:0.5:288:366
Le script Cre 3 DS (Data sources), et archive les moyennes dans des RRA (Round Robin Archive) pour
crer 4 graphiques : jour, semaine, mois, anne.
Mise jour de Ia base
Nous allons crer le script suivant en utilisant les principes vus ci dessus :
# cat /home/rrd/get/get-cpu0.sh
#!/bin/bash
## Recuperation des donnes relatives au trafic sur l'interface rseau
## et envois dans la base de donne RRD
## R. Taupin - 2004
81 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
# Declaration des constantes
NOW=`date +%s`
RRDPATH=/usr/bin
RRDATAPATH=/home/rrd
DATABASE=cpu0.rrd
USER=`/usr/bin/awk '/cpu0 /{print ($2+$3)/100}' < /proc/stat`
SYSTEM=`/usr/bin/awk '/cpu0 /{print ($4)/100}' < /proc/stat`
# Log data to rrd
$RRDPATH/rrdtool update $RRDATAPATH/$DATABASE $NOW:$USER:$SYSTEM
Les valeurs qui nous intressent sont extraites de la sortie de /proc/stat, puis injectes dans l'ordre dans la
base de donne.
Cration des graphiques
La cration du graphique se fait comme prcdemment avec la commande rrdtool graph.
cat /home/rrd/graph/graph-cpu0.sh
#!/bin/bash
## Cette partie transforme le temps en nombre de secondes ecoulees depuis
## le 1er Janv 1970 a 0h00 puis calcule le nombre de seconces par jours,
## semaines, mois et annees.
## R. Taupin, 09/2004
# Calcul des contantes
SEC_PER_DAY=86400
SEC_PER_WEEK=`expr $SEC_PER_DAY \* 7`
SEC_PER_MONTH=`expr $SEC_PER_DAY \* 31`
SEC_PER_YEAR=`expr $SEC_PER_DAY \* 366`
# Heure actuelle
NOW=`date +%s`
# NOW -1 jour
NOW1D=`expr $NOW - $SEC_PER_DAY`
# NOW -1 semaine
NOW1W=`expr $NOW - $SEC_PER_WEEK`
# NOW -1 mois
NOW1M=`expr $NOW - $SEC_PER_MONTH`
# NOW -1 an
NOW1Y=`expr $NOW - $SEC_PER_YEAR`
# Chemin des binaires rrdtool
RRDPATH=/usr/bin
82 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
# Rpertoire des stockage
RRDATAPATH=/home/rrd
# Rpertoire ou sont cres les images
WWWDR=/var/www/stats
# Titre
TTRE="Utilisation du CPU"
# Hauteur de l'image
HAUT=150
# Largeur de l'image
LARG=600
# Creation du graphe quotidien
$RRDPATH/rrdtool graph $WWWDR/cpu0day.gif \
-t "$TTRE sur une journe" \
-v "Secs" \
-w $LARG -h $HAUT \
--start $NOW1D \
--end $NOW \
DEF:user=$RRDATAPATH/cpu0.rrd:user:AVERAGE \
DEF:system=$RRDATAPATH/cpu0.rrd:system:AVERAGE \
CDEF:vuser=user,1,* \
CDEF:vsystem=system,1,* \
LNE2:vuser\#FF0000:"Utilisateur" \
LNE2:vsystem\#00FF00:"System"
# Creation du graphe hebdomadaire
$RRDPATH/rrdtool graph $WWWDR/cpu0week.gif \
-t "$TTRE sur une semaine" \
-v "Secs" \
-w $LARG -h $HAUT \
--start $NOW1W \
--end $NOW \
DEF:user=$RRDATAPATH/cpu0.rrd:user:AVERAGE \
DEF:system=$RRDATAPATH/cpu0.rrd:system:AVERAGE \
CDEF:vuser=user,1,* \
CDEF:vsystem=system,1,* \
LNE2:vuser\#FF0000:"Utilisateur" \
LNE2:vsystem\#00FF00:"System"
# Creation du graphe mensuel
$RRDPATH/rrdtool graph $WWWDR/cpu0month.gif \
-t "$TTRE sur un mois" \
-v "Secs" \
-w $LARG -h $HAUT \
--start $NOW1M \
--end $NOW \
DEF:user=$RRDATAPATH/cpu0.rrd:user:AVERAGE \
DEF:system=$RRDATAPATH/cpu0.rrd:system:AVERAGE \
CDEF:vuser=user,1,* \
CDEF:vsystem=system,1,* \
LNE2:vuser\#FF0000:"Utilisateur" \
LNE2:vsystem\#00FF00:"System"
83 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
# Creation du graphe annuel
$RRDPATH/rrdtool graph $WWWDR/cpu0year.gif \
-t "$TTRE sur une anne" \
-v "Secs" \
-w $LARG -h $HAUT \
--start $NOW1Y \
--end $NOW \
DEF:user=$RRDATAPATH/cpu0.rrd:user:AVERAGE \
DEF:system=$RRDATAPATH/cpu0.rrd:system:AVERAGE \
CDEF:vuser=user,1,* \
CDEF:vsystem=system,1,* \
LNE2:vuser\#FF0000:"Utilisateur" \
LNE2:vsystem\#00FF00:"System""
Taux de charge du systme
Le taux de charge de la machine s'obtient en faisant un filtre du la commade uptime :
# uptime
11:33:04 up 6 days, 18:06, 1 user, load average: 0.03, 0.12, 0.13
Les 3 derniers champs indiquent le taux de charge moyen sur la dernire minute (0.03), les 5 dernires
minutes (0.12) et les 15 dernires minutes (0.13).
Pour rcuprer la charge moyenne sur la dernire minute, il suffit donc de taper la commande :
uptime | awk '{print $10*100}'
Pour la charge moyenne sur les 5 dernires minutes :
uptime | awk '{print $11*100}'
Pour la charge moyenne sur les 15 dernires minutes :
uptime | awk '{print $12*100}'
``` P46F@/:/ 2/ 2/40./4/ :.085/
``` L/1 =N;:<1 1605 2/=;@B 1. @; :;=N.0/ 0&; <;1 ;8 :6.01 1 T684 2&U<5.:/
``` D;01 =/ =;1Q @/ =N;:< a8< 2" 2;D1& 0&;<<;4;b5 <;1 :;.1 T815/ 80 a8<& =/ 78. /3.2/:/05
2/=;@/ 5681 @/1 <6.051 2/ :/184/.
P;4;2/
/usr/bin/uptime |cut -d "Ioad average" -f 2 | sed "s/oad average: //g;s/ //g" | awk -F',' '{print $1*100}'
Cration de Ia base
# vi create-Ioadav.sh
# 5 minute samples for 2 days ( 576 samples 300*1)
8# // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
# 1 hour samples for 7 days ( 168 samples 300*12 )
# 24 hour sampes for 31 days ( 62 samples 300*144)
# 24 hour sampes for 366 days ( 366 samples 300*288)
RRDPATH=/usr/bin
RRDATAPATH=/home/rrd
DATABASE=loadavg.rrd
$RRDPATH/rrdtool create $RRDATAPATH/$DATABASE \
DS:1min:GAUGE:576:0:100 \
DS:5min:GAUGE:576:0:100 \
DS:15min:GAUGE:576:0:100 \
RRA:AVERAGE:0.5:1:576 \
RRA:AVERAGE:0.5:12:168 \
RRA:AVERAGE:0.5:144:62 \
RRA:AVERAGE:0.5:288:366
Comme les donnes ne s'incrmentent pas, on utilise GAUGE au lieu de COUNTER.
Mise jour de Ia base
# vi /home/rrd/get/get-Ioadavg.sh
#!/bin/bash
## Recuperation des donn\xe9es relatives au trafic sur l'interface r\xe9seau
## et envois dans la base de donn\xe9e RRD
## R. Taupin - 2004
# Declaration des constantes
NOW=`date +%s`
RRDPATH=/usr/bin
RRDATAPATH=/home/rrd
DATABASE=loadavg.rrd
MN1=`/usr/bin/uptime | /usr/bin/awk '{print $10*100}'` @@
MN5=`/usr/bin/uptime | /usr/bin/awk '{print $11*100}'` @@
MN15=`/usr/bin/uptime | /usr/bin/awk '{print $12*100}'` @@
# Log data to rrd
$RRDPATH/rrdtool update $RRDATAPATH/$DATABASE $NOW:$MN1:$MN5:$MN15
Pour aix
echo "`/usr/bin/uptime | /usr/bin/awk '{print $10*100}'`"
echo "`/usr/bin/uptime | /usr/bin/awk '{print $11*100}'`"
echo "`/usr/bin/uptime | /usr/bin/awk '{print $12*100}'`"
Cration des graphiques
# cat /home/rrd/graph/graph-Ioadavg.sh
8$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
#!/bin/bash
## Cette partie transforme le temps en nombre de secondes ecoulees depuis
## le 1er Janv 1970 a 0h00 puis calcule le nombre de seconces par jours,
## semaines, mois et annees.
## R. Taupin, 09/2004
# Calcul des contantes
SEC_PER_DAY=86400
SEC_PER_WEEK=`expr $SEC_PER_DAY \* 7`
SEC_PER_MONTH=`expr $SEC_PER_DAY \* 31`
SEC_PER_YEAR=`expr $SEC_PER_DAY \* 366`
# Heure actuelle
NOW=`date +%s`
# NOW -1 jour
NOW1D=`expr $NOW - $SEC_PER_DAY`
# NOW -1 semaine
NOW1W=`expr $NOW - $SEC_PER_WEEK`
# NOW -1 mois
NOW1M=`expr $NOW - $SEC_PER_MONTH`
# NOW -1 an
NOW1Y=`expr $NOW - $SEC_PER_YEAR`
# Chemin des binaires rrdtool
RRDPATH=/usr/bin
# Rpertoire des stockage
RRDATAPATH=/home/rrd
# Rpertoire ou sont cres les images
WWWDR=/var/www/stats
# Titre
TTRE="Charge systme"
# Hauteur de l'image
HAUT=150
# Largeur de l'image
LARG=600
# Creation du graphe quotidien
$RRDPATH/rrdtool graph $WWWDR/loadavgday.gif \
-t "$TTRE sur une journe" \
-v "%" \
-w $LARG -h $HAUT \
--start $NOW1D \
--end $NOW \
DEF:1min=$RRDATAPATH/loadavg.rrd:1min:AVERAGE \
DEF:5min=$RRDATAPATH/loadavg.rrd:5min:AVERAGE \
DEF:15min=$RRDATAPATH/loadavg.rrd:15min:AVERAGE \
LNE2:1min\#FF0000:"Moyenne 1 min" \
86 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
LNE2:5min\#00FF00:"Moyenne 5 min" \
LNE2:15min\#0000FF:"Moyenne 15 min"
# Creation du graphe hebdomadaire
$RRDPATH/rrdtool graph $WWWDR/loadavgweek.gif \
-t "$TTRE sur une semaine" \
-v "%" \
-w $LARG -h $HAUT \
--start $NOW1W \
--end $NOW \
DEF:1min=$RRDATAPATH/loadavg.rrd:1min:AVERAGE \
DEF:5min=$RRDATAPATH/loadavg.rrd:5min:AVERAGE \
DEF:15min=$RRDATAPATH/loadavg.rrd:15min:AVERAGE \
LNE2:1min\#FF0000:"Moyenne 1 min" \
LNE2:5min\#00FF00:"Moyenne 5 min" \
LNE2:15min\#0000FF:"Moyenne 15 min"
# Creation du graphe mensuel
$RRDPATH/rrdtool graph $WWWDR/loadavgmonth.gif \
-t "$TTRE sur un mois" \
-v "%" \
-w $LARG -h $HAUT \
--start $NOW1M \
--end $NOW \
DEF:1min=$RRDATAPATH/loadavg.rrd:1min:AVERAGE \
DEF:5min=$RRDATAPATH/loadavg.rrd:5min:AVERAGE \
DEF:15min=$RRDATAPATH/loadavg.rrd:15min:AVERAGE \
LNE2:1min\#FF0000:"Moyenne 1 min" \
LNE2:5min\#00FF00:"Moyenne 5 min" \
LNE2:15min\#0000FF:"Moyenne 15 min"
# Creation du graphe annuel
$RRDPATH/rrdtool graph $WWWDR/loadavgyear.gif \
-t "$TTRE sur une anne" \
-v "%" \
-w $LARG -h $HAUT \
--start $NOW1Y \
--end $NOW \
DEF:1min=$RRDATAPATH/loadavg.rrd:1min:AVERAGE \
DEF:5min=$RRDATAPATH/loadavg.rrd:5min:AVERAGE \
DEF:15min=$RRDATAPATH/loadavg.rrd:15min:AVERAGE \
LNE2:1min\#FF0000:"Moyenne 1 min" \
LNE2:5min\#00FF00:"Moyenne 5 min" \
LNE2:15min\#0000FF:"Moyenne 15 min"
Ressources mmoires
On utilise les informations contenues dans le fichier /proc/meminfo :
# cat /proc/meminfo
total: used: free: shared: buffers: cached:
Mem: 261812224 243961856 17850368 0 51707904 65191936
Swap: 596082688 352256 595730432
MemTotal: 255676 kB
8" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
MemFree: 17432 kB
MemShared: 0 kB
Buffers: 50496 kB
Cached: 63412 kB
SwapCached: 252 kB
Active: 124072 kB
nactive: 74148 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 255676 kB
LowFree: 17432 kB
SwapTotal: 582112 kB
SwapFree: 581768 kB
Tous les lments dont nous avons besoin sont lists ici. l suffit maintenant de savoir les extraire :
Pour avoir la mmoire totale : cat meminfo | awk '/Mem: /{print $2} Pour avoir la mmoire libre : cat meminfo
| awk '/Mem: /{print $4} Etc...
En crant le graphe, on dispose les donnes pour que les valeurs soient empiles. La valeur maximale sera
donc toujours la mme et on verra les surfaces de couleurs varier.
Pour Aix :
#Free Mem in Mega
echo $((`svmon |grep memory |awk '{print $4}'`/256))
#Use Mem in Mega
echo $((`svmon |grep memory |awk '{print $3}'`/256))
#Free Swap in Mega
echo $(((`svmon |grep 'pg space' | awk '{print $3}'`-`svmon |grep 'pg space' | awk '{print $4}'`)/256))
#Use Swap in Mega
echo $((`svmon |grep 'pg space' | awk '{print $4}'`/256))
Cration de Ia base :
Nous allons crer une base donne qui permet de voir :
La mmoire RAM utilise // La mmoire RAM libre // La mmoire SWAP utilise //La mmoire SWAP libre
# 5 minute samples for 2 days ( 576 samples 300*1)
# 1 hour samples for 7 days ( 168 samples 300*12 )
# 24 hour sampes for 31 days ( 62 samples 300*144)
# 24 hour sampes for 366 days ( 366 samples 300*288)
RRDPATH=/usr/bin
RRDATAPATH=/home/rrd
DATABASE=mem.rrd
88 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
$RRDPATH/rrdtool create $RRDATAPATH/$DATABASE \
DS:freemem:GAUGE:576:0:U \
DS:usedmem:GAUGE:576:0:U \
DS:freeswap:GAUGE:576:0:U \
DS:usedswap:GAUGE:576:0:U \
RRA:AVERAGE:0.5:1:576 \
RRA:AVERAGE:0.5:12:168 \
RRA:AVERAGE:0.5:144:62 \
RRA:AVERAGE:0.5:288:366
Mise jour de Ia base
cat /home/rrd/get/get-mem.sh
#!/bin/bash
## Recuperation des donn\xe9es relatives au trafic sur l'interface r\xe9seau
## et envois dans la base de donn\xe9e RRD
## R. Taupin - 2004
# Declaration des constantes
NOW=`date +%s`
RRDPATH=/usr/bin
RRDATAPATH=/home/rrd
DATABASE=mem.rrd
FREEMEM=`cat /proc/meminfo | /usr/bin/awk '/Mem: /{print $4}'`
USEDMEM=`cat /proc/meminfo | /usr/bin/awk '/Mem: /{print $3}'`
FREESWAP=`cat /proc/meminfo | /usr/bin/awk '/Swap: /{print $4}'`
USEDSWAP=`cat /proc/meminfo | /usr/bin/awk '/Swap: /{print $3}'`
# Log data to rrd
$RRDPATH/rrdtool update $RRDATAPATH/$DATABASE $NOW:$FREEMEM:$USEDMEM:
$FREESWAP:$USEDSWAP
Cration des graphiques
# cat /home/rrd/graph/graph-mem.sh
#!/bin/bash
## Cette partie transforme le temps en nombre de secondes ecoulees depuis
## le 1er Janv 1970 a 0h00 puis calcule le nombre de seconces par jours,
## semaines, mois et annees.
## R. Taupin, 09/2004
# Calcul des contantes
SEC_PER_DAY=86400
SEC_PER_WEEK=`expr $SEC_PER_DAY \* 7`
SEC_PER_MONTH=`expr $SEC_PER_DAY \* 31`
SEC_PER_YEAR=`expr $SEC_PER_DAY \* 366`
# Heure actuelle
NOW=`date +%s`
8% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
# NOW -1 jour
NOW1D=`expr $NOW - $SEC_PER_DAY`
# NOW -1 semaine
NOW1W=`expr $NOW - $SEC_PER_WEEK`
# NOW -1 mois
NOW1M=`expr $NOW - $SEC_PER_MONTH`
# NOW -1 an
NOW1Y=`expr $NOW - $SEC_PER_YEAR`
# Chemin des binaires rrdtool
RRDPATH=/usr/bin
# Rpertoire des stockage
RRDATAPATH=/home/rrd
# Rpertoire ou sont cres les images
WWWDR=/var/www/stats
# Titre
TTRE="Charge mmoire"
# Hauteur de l'image
HAUT=150
# Largeur de l'image
LARG=600
# Creation du graphe quotidien
$RRDPATH/rrdtool graph $WWWDR/memday.gif \
-t "$TTRE sur une journe" \
-v "Bytes" \
-w $LARG -h $HAUT \
--start $NOW1D \
--end $NOW \
DEF:freemem=$RRDATAPATH/mem.rrd:freemem:AVERAGE \
DEF:usedmem=$RRDATAPATH/mem.rrd:usedmem:AVERAGE \
DEF:freeswap=$RRDATAPATH/mem.rrd:freeswap:AVERAGE \
DEF:usedswap=$RRDATAPATH/mem.rrd:usedswap:AVERAGE \
CDEF:swapfree=usedmem,freemem,usedswap,freeswap,+,+,+ \
CDEF:swapused=usedmem,freemem,usedswap,+,+ \
CDEF:memfree=usedmem,freemem,+ \
CDEF:memused=usedmem,0,+ \
AREA:swapfree\#00FF00:"Mmoire swap libre" \
AREA:swapused\#FF0000:"Mmoire swap utilise" \
AREA:memfree\#0000FF:"Mmoire ram libre" \
AREA:memused\#FFFF00:"Mmoire ram utilie"
# Creation du graphe hebdomadaire
$RRDPATH/rrdtool graph $WWWDR/memweek.gif \
-t "$TTRE sur une semaine" \
-v "Bytes" \
-w $LARG -h $HAUT \
--start $NOW1W \
--end $NOW \
%0 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
DEF:freemem=$RRDATAPATH/mem.rrd:freemem:AVERAGE \
DEF:usedmem=$RRDATAPATH/mem.rrd:usedmem:AVERAGE \
DEF:freeswap=$RRDATAPATH/mem.rrd:freeswap:AVERAGE \
DEF:usedswap=$RRDATAPATH/mem.rrd:usedswap:AVERAGE \
CDEF:swapfree=usedmem,freemem,usedswap,freeswap,+,+,+ \
CDEF:swapused=usedmem,freemem,usedswap,+,+ \
CDEF:memfree=usedmem,freemem,+ \
CDEF:memused=usedmem,0,+ \
AREA:swapfree\#00FF00:"Mmoire swap libre" \
AREA:swapused\#FF0000:"Mmoire swap utilise" \
AREA:memfree\#0000FF:"Mmoire ram libre" \
AREA:memused\#FFFF00:"Mmoire ram utilie"
# Creation du graphe mensuel
$RRDPATH/rrdtool graph $WWWDR/memmonth.gif \
-t "$TTRE sur un mois" \
-v "Bytes" \
-w $LARG -h $HAUT \
--start $NOW1M \
--end $NOW \
DEF:freemem=$RRDATAPATH/mem.rrd:freemem:AVERAGE \
DEF:usedmem=$RRDATAPATH/mem.rrd:usedmem:AVERAGE \
DEF:freeswap=$RRDATAPATH/mem.rrd:freeswap:AVERAGE \
DEF:usedswap=$RRDATAPATH/mem.rrd:usedswap:AVERAGE \
CDEF:swapfree=usedmem,freemem,usedswap,freeswap,+,+,+ \
CDEF:swapused=usedmem,freemem,usedswap,+,+ \
CDEF:memfree=usedmem,freemem,+ \
CDEF:memused=usedmem,0,+ \
AREA:swapfree\#00FF00:"Mmoire swap libre" \
AREA:swapused\#FF0000:"Mmoire swap utilise" \
AREA:memfree\#0000FF:"Mmoire ram libre" \
AREA:memused\#FFFF00:"Mmoire ram utilie"
# Creation du graphe annuel
$RRDPATH/rrdtool graph $WWWDR/memyear.gif \
-t "$TTRE sur une anne" \
-v "Bytes" \
-w $LARG -h $HAUT \
--start $NOW1Y \
--end $NOW \
DEF:freemem=$RRDATAPATH/mem.rrd:freemem:AVERAGE \
DEF:usedmem=$RRDATAPATH/mem.rrd:usedmem:AVERAGE \
DEF:freeswap=$RRDATAPATH/mem.rrd:freeswap:AVERAGE \
DEF:usedswap=$RRDATAPATH/mem.rrd:usedswap:AVERAGE \
CDEF:swapfree=usedmem,freemem,usedswap,freeswap,+,+,+ \
CDEF:swapused=usedmem,freemem,usedswap,+,+ \
CDEF:memfree=usedmem,freemem,+ \
CDEF:memused=usedmem,0,+ \
AREA:swapfree\#00FF00:"Mmoire swap libre" \
AREA:swapused\#FF0000:"Mmoire swap utilise" \
AREA:memfree\#0000FF:"Mmoire ram libre" \
AREA:memused\#FFFF00:"Mmoire ram utilise"
Ressources disques
%1 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
On va utiliser la sortie de la commande df --block-size=1024 qui donne un aperu du taux d'occupation des
disques en Ko. On filtre ensuite cette sortie pour en extraire les donnes, puis on multiplie les valeurs par
1024 pour avoir des octets et crer un graphe avec une chelle correcte.
En crant le graphe, on dispose les donnes pour que les valeurs soient empiles. La valeur maximale sera
donc toujours la mme et on verra les surfaces de couleurs varier.
Cration de Ia base
# vi :/home/rrd/create/create-disk.sh
# 5 minute samples for 2 days ( 576 samples 300*1)
# 1 hour samples for 7 days ( 168 samples 300*12 )
# 24 hour sampes for 31 days ( 62 samples 300*144)
# 24 hour sampes for 366 days ( 366 samples 300*288)
RRDPATH=/usr/bin
RRDATAPATH=/home/rrd
DATABASE=disk.rrd
$RRDPATH/rrdtool create $RRDATAPATH/$DATABASE \
DS:freehda1:GAUGE:576:0:U \
DS:usedhda1:GAUGE:576:0:U \
DS:freehda2:GAUGE:576:0:U \
DS:usedhda2:GAUGE:576:0:U \
RRA:AVERAGE:0.5:1:576 \
RRA:AVERAGE:0.5:12:168 \
RRA:AVERAGE:0.5:144:62 \
RRA:AVERAGE:0.5:288:366
Mise jour de Ia base
# vi get-disk.sh
#!/bin/bash
## Recuperation des donnees relatives aux disques durs
## et envois dans la base de donnee RRD
## R. Taupin - 2004
# Declaration des constantes
NOW=`date +%s`
RRDPATH=/usr/bin
RRDATAPATH=/home/rrd
DATABASE=disk.rrd
FREEHDA1=`/bin/df --block-size=1024 | /usr/bin/awk '/\/dev\/hda1 / {print $4}'`
USEDHDA1=`/bin/df --block-size=1024 | /usr/bin/awk '/\/dev\/hda1 / {print $3}'`
FREEHDA2=`/bin/df --block-size=1024 | /usr/bin/awk '/\/dev\/hda2 / {print $4}'`
USEDHDA2=`/bin/df --block-size=1024 | /usr/bin/awk '/\/dev\/hda2 / {print $3}'`
%2 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
# Log data to rrd
$RRDPATH/rrdtool update $RRDATAPATH/$DATABASE $NOW:
$FREEHDA1:$USEDHDA1:$FREEHDA2:$USEDHDA2
Cration des graphiques
# cat graph-disk.sh
#!/bin/bash
## Cette partie transforme le temps en nombre de secondes ecoulees depuis
## le 1er Janv 1970 a 0h00 puis calcule le nombre de seconces par jours,
## semaines, mois et annees.
## R. Taupin, 09/2004
# Calcul des contantes
SEC_PER_DAY=86400
SEC_PER_WEEK=`expr $SEC_PER_DAY \* 7`
SEC_PER_MONTH=`expr $SEC_PER_DAY \* 31`
SEC_PER_YEAR=`expr $SEC_PER_DAY \* 366`
# Heure actuelle
NOW=`date +%s`
# NOW -1 jour
NOW1D=`expr $NOW - $SEC_PER_DAY`
# NOW -1 semaine
NOW1W=`expr $NOW - $SEC_PER_WEEK`
# NOW -1 mois
NOW1M=`expr $NOW - $SEC_PER_MONTH`
# NOW -1 an
NOW1Y=`expr $NOW - $SEC_PER_YEAR`
# Chemin des binaires rrdtool
RRDPATH=/usr/bin
# Rpertoire des stockage
RRDATAPATH=/home/rrd
# Rpertoire ou sont cres les images
WWWDR=/var/www/stats
# Titre
TTRE="Espace disques"
# Hauteur de l'image
HAUT=150
# Largeur de l'image
LARG=600
%3 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
# Creation du graphe quotidien
$RRDPATH/rrdtool graph $WWWDR/diskday.gif \
-t "$TTRE sur une journe" \
-v "Bytes" \
-w $LARG -h $HAUT \
--start $NOW1D \
--end $NOW \
DEF:freehda1=$RRDATAPATH/disk.rrd:freehda1:AVERAGE \
DEF:usedhda1=$RRDATAPATH/disk.rrd:usedhda1:AVERAGE \
DEF:freehda2=$RRDATAPATH/disk.rrd:freehda2:AVERAGE \
DEF:usedhda2=$RRDATAPATH/disk.rrd:usedhda2:AVERAGE \
CDEF:hda2free=freehda1,usedhda1,usedhda2,freehda2,+,+,+ \
CDEF:hda2used=freehda1,usedhda1,usedhda2,+,+ \
CDEF:hda1free=freehda1,usedhda1,+ \
CDEF:hda1used=freehda1,0,+ \
AREA:hda2free\#00FF00:"hda2 libre" \
AREA:hda2used\#FF0000:"hda2 utilis" \
AREA:hda1free\#0000FF:"hda1 libre" \
AREA:hda1used\#FFFF00:"hda1 utilis"
# Creation du graphe hebdomadaire
$RRDPATH/rrdtool graph $WWWDR/diskweek.gif \
-t "$TTRE sur une semaine" \
-v "Bytes" \
-w $LARG -h $HAUT \
--start $NOW1W \
--end $NOW \
DEF:freehda1=$RRDATAPATH/disk.rrd:freehda1:AVERAGE \
DEF:usedhda1=$RRDATAPATH/disk.rrd:usedhda1:AVERAGE \
DEF:freehda2=$RRDATAPATH/disk.rrd:freehda2:AVERAGE \
DEF:usedhda2=$RRDATAPATH/disk.rrd:usedhda2:AVERAGE \
CDEF:hda2free=freehda1,usedhda1,usedhda2,freehda2,+,+,+ \
CDEF:hda2used=freehda1,usedhda1,usedhda2,+,+ \
CDEF:hda1free=freehda1,usedhda1,+ \
CDEF:hda1used=freehda1,0,+ \
AREA:hda2free\#00FF00:"hda2 libre" \
AREA:hda2used\#FF0000:"hda2 utilis" \
AREA:hda1free\#0000FF:"hda1 libre" \
AREA:hda1used\#FFFF00:"hda1 utilis"
# Creation du graphe mensuel
$RRDPATH/rrdtool graph $WWWDR/diskmonth.gif \
-t "$TTRE sur un mois" \
-v "Bytes" \
-w $LARG -h $HAUT \
--start $NOW1M \
--end $NOW \
DEF:freehda1=$RRDATAPATH/disk.rrd:freehda1:AVERAGE \
DEF:usedhda1=$RRDATAPATH/disk.rrd:usedhda1:AVERAGE \
DEF:freehda2=$RRDATAPATH/disk.rrd:freehda2:AVERAGE \
DEF:usedhda2=$RRDATAPATH/disk.rrd:usedhda2:AVERAGE \
CDEF:hda2free=freehda1,usedhda1,usedhda2,freehda2,+,+,+ \
CDEF:hda2used=freehda1,usedhda1,usedhda2,+,+ \
CDEF:hda1free=freehda1,usedhda1,+ \
CDEF:hda1used=freehda1,0,+ \
AREA:hda2free\#00FF00:"hda2 libre" \
AREA:hda2used\#FF0000:"hda2 utilis" \
AREA:hda1free\#0000FF:"hda1 libre" \
AREA:hda1used\#FFFF00:"hda1 utilis"
%# // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
# Creation du graphe annuel
$RRDPATH/rrdtool graph $WWWDR/diskyear.gif \
-t "$TTRE sur une anne" \
-v "Bytes" \
-w $LARG -h $HAUT \
--start $NOW1Y \
--end $NOW \
DEF:freehda1=$RRDATAPATH/disk.rrd:freehda1:AVERAGE \
DEF:usedhda1=$RRDATAPATH/disk.rrd:usedhda1:AVERAGE \
DEF:freehda2=$RRDATAPATH/disk.rrd:freehda2:AVERAGE \
DEF:usedhda2=$RRDATAPATH/disk.rrd:usedhda2:AVERAGE \
CDEF:hda2free=freehda1,usedhda1,usedhda2,freehda2,+,+,+ \
CDEF:hda2used=freehda1,usedhda1,usedhda2,+,+ \
CDEF:hda1free=freehda1,usedhda1,+ \
CDEF:hda1used=freehda1,0,+ \
AREA:hda2free\#00FF00:"hda2 libre" \
AREA:hda2used\#FF0000:"hda2 utilis" \
AREA:hda1free\#0000FF:"hda1 libre" \
AREA:hda1used\#FFFF00:"hda1 utilis"
QueIques exempIes obtenus sur Aix :
%$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
%6 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
%" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
H:=
H;42?;4/ M;0;M/:/05 C6016@/
La HMC est une console, un pc IBM plus exactement qui tourne sous une version speciIique de
linux ou on ne peut etre root.
Sous ce pc va tourner un logiciel qui grace a un reseau prive (connecte aux machine clients)
Va permetre de manager ces machines.
Cela peut par exemple se traduire par une administration de machine partitionnable.
Il existe plusieurs versions de logiciel et de patch pour cette hmc
V/41.60 $.1 6.2 Q @; 2/40./4/ /5;05 @; ".3
Cette console est accessible soit en local via l`interIace graphique, soit a distance
Via un logiciel client speciIique et uniquement en https dans sa derniere version (7.3)
On peut aussi y acceder en ssh et donc en ligne de commande.
T.<1 11N =@./051 ' Ctrl Alt Gr ShiIt 2 pour couper la communication d`un mkvterm
Brute Iorce Hack password
- Inserez dans le lecteur de la HMC un Cd live` d`une distrib Linux
- mount /dev/sda2 on /tmp/mnt
- edit /tmp/mnt/etc/inittab to put a getty on tty5
(there should be a commented out getty Ior tty1 but rather put it on an unused tty)
-umount /tmp/mnt
-reboot the HMC normally
Appuyer sur =54@-;@5 et F$ pour avoir une console
Se connecter avec le compte N1=4665/;F=123
EIIectuer un 18 O
Le password root par deIault est <;11?042
Connatre la version de la hmc
( @1N:= -V />/:<@/Q 3; 0681 2600/4 36.1.2
( @1N:= -3 L M4/< TM 2600/ @/ H;42?;4/Q /> ' "310-C0$
Sauvegarde de la conI HMC
( FJ=6012;5; -4 95< -N 0.:1431 -8 N1=4665 --<;11?2 <;11?642
Ou sur DVD
( FJ=6012;5; -4 232
On peu aussi sauver via nfs
AIIicher le niveau de bios de la HMC
( @1N:= -F
%8 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
AIIicher les options d`accees de la hmc
( @1N:= -4
AIIicher la conIiguration reseau de la HMC
( @1N:= -0
AIIicher l`etats des connections en cours
( @11D1=600
Login et password d`origine
N1=4665
;F=123
;F=123#
Trouver la hmc d`un serveur
( @1414= IM.M;0;M/:/05S/43/4
Faire ensuite un simple nslookup sur le hostname, c`est le nom de la HMC
Utiliser ensuite soit ssh ou websm pour se connecter.
En hmc 7.3 se loguer en https
Trouver sur qu`elle partition est le lecteur cd/dvd rom
Pour savoir ou se trouve le cdrom, le plus facile est de lancer une commande sur
l'ensemble des partitions des serveurs.
Une fois trouver la partition
pc//esvg + cd0 >vaila7le 3>4084004:,0 16 Bit 2?8 3)31 8?84,0@ 8rive
Se connecter sur la machine concerne, de taper la commande suivante :
lsdev -Cc cdrom
cd0 >vaila7le 3>4084004:,0 16 Bit 2?8 3)31 8?84,0@ 8rive
lscfg -vl cd0
cd0 U1.94.14110;A14>: 16 Bit 2?8 3)31 8?84,0@ 8rive (!900 @B)
De noter les infos : `U1.9-P1-I10' et d'aller ensuite dplacer cette ressource
Vers la nouvelle machine sous l'HMC
Clique droit sur la partition puis partitionnement logique dynamique puis cartes
Puis Dplacement de ressource vers une partition et de suivre les etapes.
Il faut bien sur que le priphriques ne suis plus mont et le(s) devices
supprims de la machine source.
rmdev -dRl <scsiscsia0>
%% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
regarder avant ce qu'il y a comme priphrique associ a ce device.
/exploit/sun/bin/lsdev_tree <scsiscsia0>
Repasser sur la machine de destination, faire un cfgmgr et monter le cdrom
Lister toutes les plateIormes disponibles.
( @11D1=9M -4 1D1 -F 0;:/
%otes)*++*",*,"-./011
@11D1=9M -4 1D1 --;@@
@11D1=9M -4 1D1 --;@@ -F 0;:/
Reboot de la hmc sous hscroot
( N:=1N8526?0 -4 -5 0
Lister toutes les partitions et leur etats
( @11D1=9M -4 @<;4 O: GP@;5/964:/H -F 0;:/ OF c@<;4W.2 0;:/ 15;5/ @<;4W/03d
$ =@;XX02= R800.0M ;.>@.08>
# =@;XX02F R800.0M ;.>@.08>
3 =@;D02.61 R800.0M 3.61/43/4
2 =@;D01.61 R800.0M 3.61/43/4
( @11D1=9M -4 @<;4 O: GP@;5/964:/H --;@@
( @1<;45.5.60 -2@<;4
Lister les partitions sIp
( 1<;45.5.60 -19<
Lister tous les proIiles disponibles.
( @11D1=9M -4 <469 O: GP@;5/964:/H
Lister tous les utilisateurs
( @1N:=814
Pour rebooter une partition
( =N1D115;5/ -6 611N8526?0 -4 @<;4 --.::/2 --4/15;45 -: G P@;5/964:/ H O0 GN6:W2/W@;W:;=N.0/H
Equivalent a shutdown Fr au niveau de l`OS
100 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Pour arreter une partition
( =N1D115;5/ -6 611N8526?0 -4 @<;4 --.::/2 -: G P@;5/964:/ H OF O0 GN6:W2/W@;W:;=N.0/H
Equivalent a shutdown F au niveau de l`OS
( =N1D115;5/ -6 1N8526?0 -4 @<;4 --.::/2 -: G P@;5/964:/ H -0 GN6:W2/W@;W:;=N.0/H
Pas d`equivalent au niveau OS, on arret brutalement le serveur Depuis la HMC
Pour aIIicher les evenements log`
( @113=/3/051 -5 =6016@/ -2 1
Pour aIIicher les evenements hardwares
( @113=/3/051 -5 N;42?;4/ -2 1
Pour demarrer une partition
( =N1D115;5/ -6 60 -4 @<;4 -: G P@;5/964:/ H -0 GN6:W2/W@;W:;=N.0/H -9 GN6:W<469.@H
Pour ouvrir une session sur une partition
:J35/4: O: GPlateIorme~ -< GNomdelamachine~
Pour Iermer une session sur une partition
4:35/4: O: GPlateIorme~ -< GNomdelamachine~
Pour voir les ressources attribuees a une partition
@1N?4/1 -: GPlateIorme~ -4 1@65 -F <ND1W@6='1@65W5D</';11.M0/2W56
Pour assigner un lecteur cdrom a une partition
=N1D1=9M -: GPlateIorme~ -4 <469 -< GNomdelamachine~-0 GproIil~ -. 2/1.4/2W.6RPU1.%-P1-I10
Pour modiIier une conIiguration en cours (necessite dlpart)
=NN?4/1 -: GPlateIorme~ -< GNomdelamachine~ -6 4 -4 :/: -7 20#80 --964=/
Cela va enlever 20 Giga de memoire sur la machine (ne pas oublier de modiIier aussi le proIil)
-6 4 =6::/ R/:63/
-6 : =6::/ M63/
-6 ; =6::/ A22
101 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
-- 964=/ 0[/15 <;1 964=/:/05 85.@/Q =/@; 2/34;.5 960=5.600/4 1;01
-7 <684 @; Q8;05.5B
-4 <684 R/11684=/ I:/:Q <46=Q .6Q 3.458;@.6K
Pour resynchroniser une partition avec ces ressources
415N?4/1 -: GPlateIorme~ -< GNomdelaMachine~ -4 :/:
102 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
O4;=@/
[A@@] VeriIication du listener
Se connecter en tant qu`oracle et entrer :
( @104=5@ 15;581
103 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
SD15E:/1 P;45.5.600B
10# // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
VIOS
H:= /5 V.458;@ I/O S/43/84 <684 A.>
Selon les licences et les serveurs que l`on a (Power4, Power5, Power6) on va pouvoir installer et conIigurer
un Virtual I/O Serveur.
Avec l`HMC relie a un serveur de type partitionnable (exemple P520) on va pouvoir par exemple
creer des partitions logiques (qui vont etre vue comme des machines) et distribuer physiquement
les ressources en question.
Exemple :
Sur un serveur partitionnable qui aurait :
- 2 cartes scsi avec sur chaque carte 3 disques dur
- 2 cartes reseaux
- 2 cartes Iibres
On pourrait par exemple creer 2 partition logique, serveur 1 et serveur2 qui aurait chaqu`un 1 controleur
SCSI et donc qui aurait les disques associe a cette carte. On distriburerait aussi 1 carte reseau chaqu`un 1
carte Iibre pour relier par exemple a un switch Iibre (en vue d`un san par exemple).
Ca nous donnerait. :
S/43/841 '
- 1 carte scsi
- 3 disques dur
- 1 carte reseau
- 1 carte Iibre
S/43/842 '
- 1 carte scsi
- 3 disques dur
- 1 carte reseau
- 1 carte Iibre
On peut ensuite via l`HMC installer AIX sur ces partitions, et les rendre onlines.
L&IOS va permettre de Iaire beaucoup plus de chose,
L`IO serveur est en Iaire une version speciIique d`AIX qui va etre installe sur une Partition logique
On va lui attribuer des ressources et elle va partager`, decouper ces ressources comme l`on le
desire.
L`installation est tout simple il suIIit de creer une parition logique via l`HMC et de la tager IOS,
De partage le lecteur CD-rom pour cette partition, d`y inserez le cd IOS et de booter dessus.
Une vois l`installation Iinit, il Iaudra se connecter en tant que <;2:.0 et valider la license avec la
commande @.=/01/ -;==/<5
Grace a la HMC l`on va pouvoir creer des carte reseaux virtuel, on pourra ainsi creer diIIerents vlan
a une bande passante de 3Gb entre chaque partitions, mais ces cartes ne pourront pas etre utilisees
pour sortir vers le reseaux reel.
Grace au VIOS on va pouvoir assigner une carte physique a un des cartes virtuel et avoir ainsi un
lien vers l`exterieure sur les cartes client virtuel.
Idem pour les disques dur.
10$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Sans l`IOS, les cartes scsi sont distribue a chaque partition et chaque partition erite des
peripheriques connecte a celle-ci, si sur une carte SCSI on a 8 disques de connectees, une seul
partition pourra utiliser ces disques, ce qui est un peut domage.
Grace a l`IOS, on vas associer la carte scsi au VIOS, creer sur les disques desire un VolumeGroupe,
dans ce volume groupe creer un LogicalVolume (exactement comme sous aix), on va ensuite creer
un device virtuel vers ce logicalVolume (ce bout de disque donc). Ce device virtuel sera vue de la
plart du client (les partitions logique) comme un disque, on vas donc ainsi pouvoir installer
plusieurs systems beaucoup plus Iacilement qu`avant.
Sans aller aussi loins, on peut aussi creer un device virtuel pour les clients qui va pointer sur un
disque physique, L`utiliter ? On peut partager chaque disque d`une MEME carte scsi a plusieurs
logical partition et donc installer plusieurs serveurs.
E>/:<@/1 ' Partitionnement simple sur un serveur partionnable de type P520
Qui contient 2 Cartes Scsi et 2 cartes reseaux en PCI.
Le partage se Iait directement dans l`hmc, attribution physique des cartes scsi et cartes reseaux.
106 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Exactement la meme chose mais avec 2 cartes virtuel conIigure sur le mme VLAN ID
Ce qui a pour eIIet de les Iaire communiquer entre elle a une bande passante de 3Gb
10" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Maintenant, conIiguration avec un IOS
Mise en partique (dessin ci-dessus)
R/1/;8 '
A l`aide de l`interIace graphique de la HMC on cree 5 cartes reseaux Virtuelles.
# Vhost0 sur la partition VIOS Vhost0 sur le schema ci-dessus VLAN ID : 2
# Vhost1 sur la partition Serveur1PL Ent2 sur le schema ci dessus VLAN ID : 2
# Vhost3 sur la partition Serveur2PL Ent3 sur le schema ci-dessus VLAN ID : 2
# Vhost3 sur la partition Serveur1PL Ent1 sur le schema ci dessus VLAN ID : 1
# Vhost4 sur la partition Serveur2PL Ent1 sur le schema ci dessus VLAN ID : 1
Le lien entre E051 du 1/43/841WPL et E051 du 1/43/842WPL permet par exemple
Une communication privee entre ces 2 serveurs, a la vitesse de 3Gb.
108 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Elles n`ont aucun lien vers l`exterieure.
ID ' 1
Le lien entre E052 du 1/43/841WPL et E053 du 1/43/842WPL permet lui d`avoir aussi
une communication de 3Gb entre ces 2 serveurs mais permet aussi d`avoir un lien vers le LAN
mais permet aussi d`avoir un lien vers l`exterieure.
ID ' 2
Pour mettre en place ce dernier lien, il Iaut creer sur le VIOS une SEA
ISN;4/ E5N/40/5 A2;<5/4K qui va Iaire le lien entre le ReseauVirtuelle ID2
et la carte physique.
( :J32/3 -1/; /050 -3;2;<5/4 /051 -2/9;8@5.2 2
ent2 available
Cela va mapper la carte virtuelle E051 (vhost0 en ID2)
sur la carte physique E050
Un nouveau device Virtuel est cree, E052
Qui mappe donc l`ensemble du Vlan avec @&ID2 (v(ost-, v(ost. et v(ost/)
vers la carte physique E050
Cela permet d`avoir accees de l`exterieure au carte virtuelle /02 et /03
des partitions logiques.
P@81 2&.096 '
http://publib.boulder.ibm.com/inIocenter/powersys/v3r1m5/index.jsp?topic/iphb1/iphb1viosconIiguringsea.htm
D.178/ '
A l`aide de l`interIace graphique de la HMC, 1 cartes Master scsi Virtuelles.
#01 VSCSI0 sur la partition Serveur1PL VSCSI0 sur le schema ci dessus
Pour mettre en place ce dernier lien, il Iaut creer sur le VIOS une 32/3
( :J3M O3M DATAV+ N2.1J2
( :J32/3 O32/3 N2.1J2 -3;2;<5/4 3N6152
vtscsi3 available
Cela va creer un VolumeGroupe DATAV+ contenant le disque physique H2.1J2
Et creer un VirtualDevice pour les partitions clientes qui vont utiliser la carte master Scsi virtuelle
vhost2 (Precedement creer sous la hmc).
Il Iaudra par la suite creer sur les partitions clientes grace a la hmc les cartes Scsi virtuelles clientes
qui pointes vers la carte scsi virtuelles master.
On peut aussi aller plus loin et decouper le VolumeGroupe en plusieurs Logical Volume
et les deIinir comme DeviceVirtuelle sous l`IOS et les rendre disponible en tant que Disque Phys.
pour les Partitions Logique.
On reprendra dans ce cas juste apres le :J3M
0 mkvg 1vg !2'
( :J@3 -@3 P;45;M/1 DATAV+ 30+
( :J32/3 O32/3 P;45;M/1 -3;2;<5/4 3N6150
vtscsi3 available
10% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
C6::;02/1 VIOS
Fileset VIO en trop ?
Ces Iilesets n`ont rien a Iaire sur un serveur AIX standard, on ne doit les trouver que sur un VIO
2/3.=/1.32/3.=/
2/3.=/1.352/3 9.@/1/51
Gape on non Gape
Lors de l`attribution des ressources partagees de processeur en micro-partitionning
On retouve l`option Gape ou Non Gape.
+;<B signiIie que les ressources vont etre bloque a la valeur que vous indiquer
N60 +;<B signiIie que si il y a des ressources libres et qu`il en a besoin, il les prendra
ModiIication de device
( @12/3 -2/3 4:50 # On aIIiche la conIiguration de rmt0
( =N2/3 -2/3 4:50 -;554 4/5P06 # On change l`attribu ret du device rmt0
ModiIication valeur systeme
( =N1D1=9M -4 1D1 -. Z0/?W0;:/P1D11Z # On change le nom du systeme gere
( =N1D1=9M -4 <469 -. Z@<;4W0;:/P<;45.5.603Q:.0W:/:-P2$6Q2/1.4/2W:/:-P2$6Z
4 Pour r5duire de 2,6 Mo la m5moire affect5e et minimale dans un profil de partition
ModiIication parametre tcp/ip du serveur VIOS
( =N5=<.< -.05/49;=/ /00 -M;5/?;D -;22 %.2.3.# -4/:63/ %.1.2.3
4 Pour remplacer la passerelle par d5faut *.+.2.. par *.2...78 entre9
DeIinit les valeur requis pour un adaptateur tcp/ip
( :J5=<.< -N6150;:/ 94/2.;815.0.=/0584D.=6: -.0/5;224 1%2.%.200.# -.05/49;=/ /00 -0143;224
1%2.%.200.1 -014326:;.0 ;815.0.=/0584D.=6: -15;45
Creation de device
( :J32/3 -32/3 @320 -3;2;<5/4 3N6150
vtscsi3 available
Creation d`un device virtuel `351=1.0`qui mappe le volume logique @320
pour une partition client hebergee par la carte de serveur virtuelle 3N6150
110 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
( :J32/3 -32/3 N2.1J6 -3;2;<5/4 3N6152
:tscsi+ available
Creation d`un device virtuel `351=1.1`qui mappe le volume physique hdisk6 en tant
que disque virtuel pour une partition client hebergee par la carte de serveur virtuelle 3N6150
( :J32/3 -1/; /05# -3;2;<5/4 /056Q/05"Q/05% -2/9;8@5 /056 -2/9;8@5.2 8
ent+3 available
Creation d`une carte de reseau Ethernet partagee qui mappe la carte Ethernet physique /05# en tant
que carte de reseau Ethernet virtuelle pour les partitions client servies par les cartes de reseau
Ethernet virtuelles ent6, ent7 et ent9 en utilisant ent6 comme carte par deIaut et 8 comme ID par
deIaut

AIIiche les unites du serveur d`E-S virtuel et leurs caracteristiques
( @12/3 -5D</ ;2;<5/4 -3.458;@ -9./@2 0;:/ status
nme sttus
36ost0 >3i/b/e
36ost1 >3i/b/e
36ost# >3i/b/e
ent= >3i/b/e
ent! >3i/b/e
ent% >3i/b/e
ent9 >3i/b/e
Divers
( 2.;M:/08 4 Place l;utilisateur dans les menus de diagnostic.
( /44@6M -@1 4 'ffiche le <ournal d;erreur.
( /0515;5 /050 # AIIiche les statistiques de ent0
( .61@/3/@ # Donne le dernier niveau de maintenance installe
( @19?;4/ -;@@ # Donne les microcode et microprogramme du system
( @1@<;4.096 # aIIicher le numero et le nom des partitions logiques
( @15=<.< -1564/2 # aIIiche les parametres TCP/IP en cours et stockes
( :J@3 3M03 1+ N2.1J$ N2.1J6 # Creation d`un LV d`1 giga sur les disk5 et 6
( 4/2/93M -2/3 N2.1J0# # Synchroniser les copies sur le PV hdisk04
( 1D0=3M -3M 3M0# 3M0$ # Synchroniser les copies sur des VG vg04 et vg05
Creation de Virtual Optic devices
Source : http://vjamart.com/wiki/index.php?titleCreationdeVirtualOpticdevices
From: http://ibmsystemsmag.blogs.com/aixchange/2008/01/more-on-virtual.html
111 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
-ObjectiI: creer les images ISO bootables de AIX 5.3, AIX 6.1, VIOS 1.5.2, VIOS 2.10.1, ainsi que
les ISO de HACMP en tant que virtual DVDs sur le VIO et installer les LPAR via le VIOS
(alternative NIM sur systemes avec un nombre de LPAR important par VIOS):
Creation du backend pool de 40Gb sous rootvg sur un VIOS dont les 2
hdisks internes sont en RAID0 LVM
( :J4/< -1< 46653M -1.X/ #0+
Sirtu/ Me'i Re+ositor" Crete'
Re+ositor" crete' ,it6in HSM5ibrr"_5SH /o7ic/ 3o/ume
Il est ncssaire, l'aide la commande mkrep de crer un repository virtuel
pour stocker les futures images iso gnres.
-sp Spcifies the parent storage pool
-size Spcifie la taille minium du storage pool
Creation des ISO a partir des CD AIX:
On set l`environement et on passe en root
oemsetupenv ; su-~
( 29
*'e3*SM5ibrr"_5S -09=0.00 -09!3.-5 1U - 1U *3r*3io*SM5ibrr"
( :J36<5 -0;:/ ;.>61TL0SP1..16 -2/3 =20 -46
( :J36<5 -0;:/ N;=:<$#0..16 -2/3 =20 -46
( :J36<5 -0;:/ 3.611$20..16 -2/3 =20 -46
mkvopt MaKe Virtual OPTique
Copie des ISO existantes sur /delivery de NIM vers le repository:
( =< /:05/AIX$.3/:/2.;J.5WCD/AIX$.3TL8/e /3;4/3.6/VML.F4;4D/
( =< /:05/VIOS/3.61210W:.M4;5.601$2..16 /3;4/3.6/VML.F4;4D/
Creer le virtual optic device pour chaque VIOC
Sous padmin~
I@ 1/4; 260= 38/ I=;4 ;55;=NB 3.; @&N:= 184 80 @<;4K ;8 SMSQ 60 </8> F665/4 2/1181.
( :J32/3 -9F6 O3;2;<5/4 3N615G.2H
3to+t0 >3i/b/e
-fbo create a virtual optical device
112 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
-b Spcifie la taille minium du storage pool
vhost<id> tant l'hote virtuel pralablement cre
Contenant par exemple les disques pour un Lpar dfini
Exemple pour le vhost17 contenant
1 - mapping sur un lun destin a rootvg
1 - mapping sur un lun destin des tools
1 - mapping sur le virtual optique device
0 lsmap 3vadapter v(ost-4
SSS> C6"s/oc C/ient Crtition ID
((((((((((((((( (((((((((((((((((((((((((((((((((((((((((((( ((((((((((((((((((
36ost1! J911!.MM>.=50%#=#(S#1(C30% 0<0000000%
STD c"+01root600
Sttus >3i/b/e
5J@ 0<%#00000000000000
BcBin7 'e3ice 6'isB+o,er#=
C6"s/oc J!%9D.001.DRD5%X5(C1(C3(T#(53==
STD c"+01tool600
Sttus >3i/b/e
5J@ 0<%300000000000000
BcBin7 'e3ice 6'isB+o,er1%
C6"s/oc J!%9D.001.DRD5%X5(C1(C3(T#(5##
STD vopt19
Sttus >3i/b/e
5J@ 0<%100000000000000
BcBin7 'e3ice ;var;vio;?@2i7rar/;@aster.>1B61C2!3.3?3.iso
C6"s/oc J!%9D.001.DRD5%X5(C1(C3(T#(5##
Mounter l'image ISO dans le virtual optic device:
( @6;26<5 -352 356<50 -2.1J AIX$308W1..16
VeriIier la disponibilite de l'image pour le VIOC:
( @1:;< -3;2;<5/4 3N615G.2H
Listing des Iile-backed virtual optical devices et du repository:
O0 ;99.=N/ @/1 3.458;@ 6<5.78/ 2/3.=/ 2.1<60.F@/05
( @136<5
O0 ;99.=N/ @&B5;5 28 4B<61.564D
( @14/<
Booter la LPAR sur le virtual CD rom cree via SMS menu
En cas de disques multipes (ISO CDROM AIX 5.3 par ex. lorsque le
message "remove CD1, insert CD2 and click Enter" est sur la console de
la LPAR):
113 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
( 80@6;26<5 -352 356<50
( @6;26<5 -352 356<50 -2.1J AIX$308W2..16
Attacher le CDrom du VIOS (SATA) a un VIOC:
( :J32/3 -32/3 =20 -3;2;<5/4 3N6150 -2/3 CDROM
cdo available
O0 ;55;=N/ @/ 2/3.=/ =20 ; 80 3.458/@ 2/3.=/ =20 78. /15 ;54.F8B ;8 3N6150
conIig Iirewall VIOS :
( .611/=84/
Upgrade VIOS:
.61@/3/@
8<2;5/.61 -2/3 /2/3/=20 -.015;@@ O;==/<5
DeconIigurer un Vdevice sans le supprimer
(. The device's state will be moved Irom Available to DeIined.
To move the device back to Available state run =9M2/3 O2/3 N;:/):
4:2/3 -2/3 32.1J0 O8=9M
-ucfg Annule la conIiguration mais conserve la deIinition de l'unite speciIiee. L'etat de l'unite
passe de Available a Defined
Rour retablir l'etat Available, executez cfgdev -dev *o#
IdentiIier un port Ethernet phy/virt
@12/3 -2/3 /050 O1@65
Creer une carte Etherchannel avec 2 ethernet:
:J32/3 -@0;MM /050 /052 -;554 :62/P8023;2
ent5 Available
en5
et5
Creer un Shared Ethernet Adapter (SEA) simple:
:J32/3 -1/; /051 -3;2;<5/4 /052 -2/9;8@5 /052 -2/9;8@5.2 1
ent3 Available
en3
et3
Mapping SEA
@1:;< -;@@ -0/5
11# // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Stats vSwitch/SEA
(http://publib.boulder.ibm.com/inIocenter/powersys/v3r1m5/index.jsp?topic/iphcg/seastat.htm)
=N2/3 -2/3 G/05SEAH -;554 ;==6805.0MP/0;F@/2 I/0;F@/1 MAC ;224/11 ;==6805.0MK
/0515;5 -;@@ G/05SEAH
1/;15;5 -2 G/05SEAH
Dual VIOS 1.5, vhost disques sur SAN: setter SCSIlock reservation a
oII/no immediatODM:
=N2/3 -2/3 N2.1J1 -;554 4/1/43/W<6@.=DP06W4/1/43/ -</4:
=N2/3 -2/3 N2.1J1 -;554 4/1/43/W<6@.=DP06W4/1/43/
ou en tant que root:
=N2/3 -@ N2.1J1 -; 4/1/43/W@6=JP06 -P
=N2/3 -@ N2.1J1 -; 4/1/43/W@6=JP06
Mme action mais en VIOS 2.1:
6/:W1/58<W/03
18 -
964 2.1J .0 \I@1<3L=85 O91 O2 Z ZK
26
=N2/3 -@ \2.1J -; 4/1/43/W<6@.=DP06W4/1/43/ -P
=N2/3 -@ \2.1J -; 4/1/43/W<6@.=DP06W4/1/43/
260/
Drivers MPIO avec EMC DMX:
EMC.Symmetrix.fcp.MPIO.rte
EMC.Symmetrix.aix.rte
EMCStorageScopeFLR.rte
SYMCLI.STAR_PERL.rte
SYMCLI.SYMRECOVER.rte
/!\ PAS EMC.Symmetrix.fcp.rte
/!\ PAS EMC.POWER*
/!\ Rebooter
MPIO settings: (reboot)
=N2/3 -@ N2.1J1 -; N=N/=JW.05/43;@P20 OP
MPIO: Reactiver un path Iailed:
=N<;5N -1 /0;F@/ -@ N2.1J1 -< 31=1.0
Attachement des disques au vhost0:
:J32/3 -32/3 N2.1J1 -3;2;<5/4 3N6150 -2/3 N615IDW2.1JID
11$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Creer un SEA avec Iailover (dual vios):
:J32/3 -1/; <ND1.=;@W;2;<5/4 -3;2;<5/4 3.458;@W;2;<5/4 -2/9;8@5 3.458;@W;2;<5/4 -2/9;8@5.2 PVIDW69W3.458;@W;2;<5/4 -;554
N;W:62/P;856 =5@W=N;0P=60546@W=N;00/@W;2;<5/4
:J32/3 -1/; /052 -3;2;<5/4 /053 -2/9;8@5 /053 -2/9;8@5.2 1 -;554 N;W:62/P;856 =5@W=N;0P/05#
Detacher/reattacher un vEthernet d'un host:
=N2/3 -2/3 /02 -;554 15;5/P2/5;=N
=N2/3 -2/3 /02 ;554 15;5/P8<
Backup conIig des mappings devices (~VIOS 2.1.2.10 Ip 22.1)
3.61F4 -F;=J8< -9.@/ //><645/:/2.;/>:@/><645.=609 -94/78/0=D 2;.@D -08:9.@/1 10
Fullbackup sans Virtual media (/var/vio/VMLibrary exclude)
F;=J8<.61 -06:/2.;@.F
IBM VIOS doc: http://publib.boulder.ibm.com/inIocenter/systems/scope/aix/index.jsp?
topic/com.ibm.aix.resources/RELNOTES/GI11430200.htm
116 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
H;42?;4/
DiIIerence P5/P6
FEATURES PO!ER$ PO!ER6
Model P550Q P550
Processor 1.5 to 1.65 Ghz 3.5 to 5.0 Ghz
Memory 0-64 Gb 0-256Gb
SMT 2Thread/core 4Thread/core
Instruction Set ViVA ViVA2
Virtualisation Disk VI/O VI/O et HBA
Virtualisation Network LHEA by VI/O LHEA by Hyopervisor
PowerVM Standard Enterprise
InIormation sur le jeu d`instruction ViVA : http://en.wikipedia.org/wiki/IBMViVA
Concernant la virtualisation des cartes reseaux :
Power5 : On ne peu Iaire que du SEA (Share Ethernet Adaptor)
Power6 : On peu aussi Iaire du LHEA.
Pour Iaire du LHEA il est necessaire d`avoir des cartes bien speciIique (IVE : Integrated Virtual
Ethernet) normalement c`est Iourni par deIaut en dual port.
Le dual port est bien sur assez limite, il est conseille de prendre un quad port a l`achat.
Le principal avantage du LHEA par rapport au SEA est qu`il Ionctionne PAS sous le VIO mais
sous l`hyperviseur, cela permet donc ne ne pas charger` le VIO.
ConIiguration du LHEA : (virtualisation ethernet)
http://publib.boulder.ibm.com/inIocenter/powersys/v3r1m5/index.jsp?topic/iphat/iphblconIigurelparp6.htm
ConIiguration du HBA : (virtualisation de disk)
http://publib.boulder.ibm.com/inIocenter/powersys/v3r1m5/index.jsp?topic/iphb1/iphb1viosmpionpiv.htm
ConIiguration VIOS TAPE : (virtualisation de bande magnetique)
http://publib.boulder.ibm.com/inIocenter/powersys/v3r1m5/index.jsp?topic/iphb1/iphb1viostape.htm
C60=/40;05 @/1 <46=
Le power6 utilise une technologie qui permet d`utiliser les CPU reserves au CoD en cas de panne
d`un cpu actiI.
Il est mme possible si pas d`utilisation de disk local, de changer un cpu a chaud en eteignant un
des 4 modules gerant les cpu.
L`architetcure des proc a aussi change, elle est maintenant en etoile
Avant que ne le proc0 voulait discuter avec le proc2, il Iallait qu`il passe par le le proc1
11" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Avec le POWER6 il discute directement, ca permet de gagner un peu d`horloge.
C60=/40;05 @; :B:6.4/ '
Avec le P6?/4VM E05/4<4.1/, on peux Iaire un pool de memoire qui peu tre attribuer
dynamiquement et automatiquement en Ionction des besoins (Active Memory Sharing).
Toujours avec le P6?/4VM E05/4<4.1/Q est disponible le LPM (Live Partition Mobility)
Cela permet de bouger une lpar d`une machine physique a une autre SANS interruption de service.
http://publib.boulder.ibm.com/inIocenter/powersys/v3r1m5/index.jsp?topic/arecu/arecupowervmeds.htm
118 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
!<;4
Presentation wpar
!orkload P;4tition est introduit par la nouvelle version d`Aix 6.1
C`est un nouveau system de virtualisation pour les system P, il est disponible pour Power4,
PPC970, Power5 et Power6
Quand l`on creer un WPAR, il apparait en tant qu`une nouvelle et separe instance d`AIX qui tourne
dans l`instance d`AIX primaire sur la machine ou dans un LPAR
Un system Wpar respresente une partition dans un operating system isolant les ressources t`elle que
la memoire, cpu et d`autres inIormations. Chaque Wpar a ces propres users et groupes et adresses
reseaux. L`administrateur peut acceder au Wpar via une console d`administration ou via un simple
outils reseau comme telnet ou ssh.
Max Wpars : 8192
Tous les Wpars partage exactement le meme Kernel et donc le meme level d`aix
Ceci permet une maintenance et une update plus Iacile.
Il existe deux types de wpar :
- 1 Systeme qui rassemble l`ensemble des instances Aix, il a ces propres ces demons et
process. C`est similaire a un chroot.
WorkIoad Partitions
A WPAR is a virtualized OS environment within an instance oI AIX. This single instance oI AIX is
known as the global environment and is really no diIIerent Irom a standalone instance oI the OS.
The global environment can be hosted within an LPAR, which can consist oI either dedicated or
shared processors and virtual or physical I/O. The global environment owns all system resources
(CPU, memory, I/O). From the global environment you can create multiple WPARs; 8,192 is the
theoretical maximum. Each WPAR is a secure and isolated AIX environment: Workload in one
WPAR can't interIere with workload in another. See Figure 1.
The AIX environment within a WPAR is built upon a shared global (read-only) /usr and /opt
Iilesystem. These shared Iilesystems enable the virtualization oI a single instance oI AIX. All
WPARs share the same global AIX kernel, which means they also share the same level oI AIX.
This makes maintenance easier as you only have one AIX instance to update.
From an application perspective, most soItware will Iunction within a WPAR without modiIication.
The application will Iunction as iI it were running in its own "real" instance oI AIX. Applications
within a WPAR have private execution environments and are isolated Irom other processes outside
the WPAR.
There are two types oI workload partitions. A system WPAR resembles a complete instance oI
AIX. It has its own processes and daemons (e.g., init, inetd, cron, etc.). It's similar to a change root
(chroot) environment with access to normal AIX system Iiles. It's created under a base directory
(deIault /wpars/wparname), which is the root oI the chroot AIX environment.
An application WPAR is a lightweight environment suitable Ior executing one or more application
processes and is beneIicial iI you need to run multiple isolated applications but don't require a
complete AIX environment. WPARs are attractive Ior several reasons:
11% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
You can consolidate multiple workloads to one AIX image yet maintain the security and
isolation Ior each workload. You may have several development environments that all use
the same application soItware and level oI AIX but don't require their own physical LPAR.
Using WPARs you could build one LPAR, then deploy several WPARs Ior each
development stream without separate hardware resources and images oI AIX.
Quick creation Ior testing is possible without additional hardware. II an environment is
needed quickly you could create a WPAR Ior testing within a Iew minutes.
WPARs may help reduce administration overhead. You no longer must upgrade multiple
instances oI AIX, only the global instance, which updates all WPARs.
One application installation can support multiple WPARs, reducing the total number oI
installations. With WPARs, you must only install DB2* once in the global environment and
every WPAR on the system can access it.
You can separate administrative roles based on WPARs. WPARs allow delegation oI root
privileges to a person within a particular WPAR. You could provide a user root access to a
speciIic WPAR to perIorm some administrative task. Even with root access in this WPAR,
the user can't execute privileged commands within other WPARs or the global environment.
Creating a System WPAR
Now that we have a basic understanding oI WPARs, let's create one and put it to use. Creating a
system WPAR is simple. You need about 512 MB Iree in rootvg per WPAR. Create a new
Iilesystem called /wpars (the deIault root directory Ior WPAR mount points) so it's separate Irom
the root Iilesystem.
Suppose I create a WPAR (using the mkwpar command) called wpar1, give it an IP address oI
10.1.1.81 and speciIy en1 as the real network interIace on which an IP alias will be created Ior this
new WPAR. The creation process takes a Iew minutes, during which you'll see the creation and
mounting oI several Iilesystems and then an AIX installation within the newly created WPAR:
# mkwpar -n wpar1 -N interface=en1 address=10.1.1.81
netmask=255.255.252.0
AIterward, you'll see the new WPAR logical volumes in rootvg (see Code Sample 1).
Start the new WPAR with the start WPAR (startwpar) command. Filesystems Ior this WPAR are
mounted during startup, Iollowed by the assignment oI its IP address. Ensure that the new WPAR is
active with the lswpar command. Connect to wpar1 locally via the clogin command and see the
new WPAR environment (see Code Sample 2).
You should see the shared Iilesystems (vIs type nameIs) and the non-shared Iilesystems oI /, /home,
/tmp and /var. The WPARs logical volumes are now open, which you can veriIy with the list
volume group (lsvg) command Irom the global environment. You can also see the new IP alias on
the en1 network interIace Irom the global environment (see Code Sample 3).
Stopping the WPAR is simple using the stop WPAR (stopwpar) command. It removes the IP alias
and closes the logical volumes.
Use the remove WPAR (rmwpar) command Irom the global environment to remove a WPAR. The
WPAR's logical volumes (and Iilesystems) WPAR are removed Irom rootvg.
Making Software AvaiIabIe to System WPARs
This example demonstrates how to install Apache and make it available to the WPAR. SoItware is
installed in the global environment Iirst. PerIorm an rpm install oI Apache in the global
environment. (Note: You can use the uname -n command to determine whether you're in a WPAR
or the global environment - zero is global and non-zero is a WPAR).
Then issue the synchronize WPAR (syncwpar) command to synchronize the soItware between the
global environment and the WPAR. Apache is now available to wpar1. AIter customizing the
httpd.conI Iile on wpar1, you can start httpd within the WPAR (see Code Sample 4).
120 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
ConIirm that Apache is running on the WPAR by connecting to it via a Web browser. The welcome
message will appear.
This is Iairly impressive considering the short time it took to set up and conIigure the WPAR. From
the global environment you can view the httpd processes in wpar1. To see which process belongs to
a WPAR, add the symbol to the ps command:
# ps -ef@ | grep httpd | grep wpar1 | sort
WPAR Resource ControI
Minimize the impact that each WPAR can have on another in terms oI resource utilization and
perIormance by implementing WPAR resource controls, which let you control CPU and memory
allocation Ior WPARs. Start with a share-based approach and allocate shares based on the relative
importance oI the WPARs. You can adjust these settings dynamically.
Let's look at an example. First, create another WPAR named wpar2. The WPAR named wpar1 has
a greater share oI CPU than wpar2, so allocate a share oI 20 to wpar1 and a share oI 5 to wpar2.
This means wpar1 receives 80 percent oI CPU resources and wpar2 receives 20 percent. You can
veriIy the current settings by running the list WPAR (lswpar -R) command and adjust these settings
dynamically with the change WPAR (chwpar) command.
# chwpar -R shares_CPU=20 wpar1
# chwpar -R shares_CPU=5 wpar2
Start some CPU-intensive jobs on both WPARs and monitor the system (Irom the global
environment) with the topas command (adding the symbol to display WPAR statistics):
# topas -@
Topas Monitor for host: uataix6
Name PID CPU% PgSp Wpar
ksh 467120 79.0 0.5 wpar1
ksh 585946 19.9 0.5 wpar2
Changing the CPU shares aIIects the amount oI processor a WPAR can use. To increase the
allocation Ior wpar2 to 10 shares, see Code Sample 5.
Going Forward With WPARs
WPARs oIIer great Ilexibility and will beneIit any organization running the AIX OS. With ease oI
deployment and improved eIIiciencies in administration and resource utilization, WPARs are
impressively useIul.
Commandes speciIiques Wpar
=N?<;4 # ModiIie dynamiquement les options du Wpar meme si il tourne
=@6M.0 # Mecanisme de login dans un wpar
@1?<;4 # AIIiches les inIormations des wpar
:J?<;4 # Construit le Iichier de conIiguration d`un wpar
15;45?<;4 # Active un system wpar deIinit par mkwpar
?<;4/>/= # Creation de Iichier speciIique pour wpar
4/F665?<;4 # Stop et resume un wpar
4:?<;4 # EIIace une partition wpar
156<?<;4 # Kill le Wpar et desalouer les ressources utilisees
1D0=?<;4 # Synchronisation des logiciels installe dans les parties partagee
/usr et /opt
121 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
122 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
VM
Volume Manager
InterIace graphique VMSA GUI : /6<5/VRTS3:1;/F.0/3:1; 1/43/4W0;:/ A
Utilitaire d`administration sans gui 3>2.1J;2:
( 3>2.1J -6 ;@@2M1 @.15 AIIiche toutes les inIormations
( 3>2.1J1/58< O. G<2H On initialise un disque
# vxdisksetup i c1t0d0
( 3>2M .0.5 G2MH GVM 2.1JHPG<2H On cree le DG associe a un disque
# vxdg init DemoDG DemoDG01c1t0d0
( 3>;11.15 -M G2MH :;J/ G36@8:/H G1.X/H On cree le volume
Size (b (block) g(giga) k(kilobytes) m(megabytes) s(sector)
# vxassist -g DemoDG make DemoVol 1G
( :J91 -V G91H G36@8:/H On cree un FS dans le volume
# mkIs V vxIs /dev/vx/rdsk/DemoDG/DemoVol1
( 3>2M @.15 AIIiche tous les DG
( 3>2M -M G2MH 94// AIIiche les inIo d`un DG
123 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
DISK DEVICE TAG OFFSET LENGTH FLAGS
disk01 c3t1d0s2 c3t1d0 1843647 206625 -
disk02 c3t1d1s2 c3t1d1 2046240 4032 -
disk03 c4t2d0s2 c4t2d0 0 2050272 -
total de l`espace disque libre (206625 4032 2050272 ) / 2048 1103,97 Mbytes (1.1 Giga)
.
( 3>2.1J @.15 AIIiche tous les devices VM
( 3>2M -M G2MH 4:2.1J GVM 2.1JH Supprime un dg
( 3>2M 2/1546D G2MH Detruit Complement un DG
( 3>2.1J 4: =2432012 Sup. un disque du control VxVm
( 3>2M .:<645 G2MH Sup. un disque du control VxVm
( 3>2M /><645 G2MH Sup. un disque du control VxVm
( 3>/2.5 4/0;:/ G2MH G0/? 2MH Renomer un dg
Exemple de creation possible sous VM
( 3>;11.1 OM 2M :;J/ 0/?36@ 20: @;D685P=60=;5 2.1J01
( 3>;11.1 OM 2M :;J/ 0/?36@ 20: @;D685P154.</ 2.1J01 2.1J02
( 3>;11.1 OM 2M :;J/ 0/?36@ 20: @;D685P:.4464-=60=;5 2.1J01 2.1J02
( 3>;11.1 OM 2M :;J/ 0/?36@ 20: @;D685P:.4464-154.< 2.1J01 2.1J02 2.1J03 2.1J0#
( 3>;11.1 OM 2M :;J/ 0/?36@ 20: @;D685P=60=;5-:.4464 2.1J01 2.1J02 2.1J03 2.1J0#
( 3>;11.1 OM 2M :;J/ 0/?36@ 20: @;D685P154.</-:.4464 2.1J01 2.1J02 2.1J03 2.1J0#
( 3>;11.1 OM 2M :;J/ 0/?36@ 20: @;D685P4;.2$Q06@6M 2.1J01 2.1J02 2.1J03
Commande plus complexe sous VM
( 3>4/1.X/ -F 891 -M G2MH G36@8:/H R2: On augmente le volume de 2mega
12# // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
;./
|AIX| Drivers pour DS4000
RDAC devices.fcp.disk.array.rte

Fibre ChanneI attachment devices.pci.df1000f7.com

HBAs
6227 devices.pci.df1000f7.rte
6228 devices.pci.df1000f9.rte
6239 devices.pci.df1080f9.rte
5716 devices.pci.df1000fa.rte
5758 or 5759 devices.pci.df1000fd.rte
http://www-912.ibm.com/eserver/support/fixes/fcgui.jsp
``` !.5N AIX $.3Q 26?0@6;2 5N/ =6:<@/5/ :;.05/0;0=/ <;=J;M/ ;02 8<2;5/ ;@@ PTF1 56M/5N/4.
``` D6 065 .015;@@ /;=N PTF 1/<;4;5/@D.
12$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
|AIX| Devices sur les hosts - DS4000
Les drivers RDAC crees les devices suivants:
dar The disk array router (dar) device represents the entire array, including the current and the deferred
paths to all LUNs (hdisks).
dac The disk array controller (dac) devices represent a controller within the storage subsystem.
There are two dacs in the storage subsystem.
hdisk Each hdisk device represents an individual LUN on the array.
utm The universal transport mechanism (utm) device is used only with in-band management
configurations, as a communication channel between the SMagent and the DS4000.
(( D/5/=5.60 2/1 2/3.=/1 ((
( =9M:M4 -3
(( O0 ;99.=N/ @/1 2.178/1 ((
( @12/3 -C= 2.1J
hdisk2 Available 08-09-02 fcparray Disk Array Device
hdisk3 Available 08-08-02 fcparray Disk Array Device
hdisk4 Available 08-09-02 fcparray Disk Array Device
hdisk5 Available 08-08-02 fcparray Disk Array Device
hdisk6 Available 08-08-02 fcparray Disk Array Device
(( O0 ;99.=N/ @/1 2/3.=/1 &2.1J ;44;D =60546@@/4& ((
( @12/3 -C LM4/< 2;=
dac0 Available 08-08-02 fcparray Disk Array Controller
dac1 Available 08-09-02 fcparray Disk Array Controller
(( O0 ;99.=N/ @/1 .0964:;5.60 28 2;= ((
( @1;554 -E@ 2;=0
GLM_type low GLM type False
alt_held_reset no Alternate held in reset False
cache_size 1792 Cache Size in MBytes False
controller_SN 1T61721296 Controller serial number False
ctrl_type fcparray Controller Type False
location Location Label True
lun_id 0x0 Logical Unit Number False
node_name 0x200800a0b811bcd8 FC Node Name False
passive_control no Passive controller False
scsi_id 0x10400 SCSI ID False
utm_lun_id 0x001f000000000000 Logical Unit Number False
ww_name 0x201800a0b811bcd8 World Wide Name False
(( O0 ;99.=N/ @/1 2/3.=/1 &2.1J ;44;D 4685/4& ((
( @12/3 -C LM4/< 2;4
dar0 Available fcparray Disk Array Router
(( O0 ;99.=N/ 5681 @/1 .05/43/0;05 184 @; =N;.0/ ((
( @12/3 -C LM4/< 08-08
dac0 Available 08-08-02 fcparray Disk Array Controller
126 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
fcnet0 Defined 08-08-01 Fibre Channel Network Protocol Device
fcs0 Available 08-08 FC Adapter
fscsi0 Available 08-08-02 FC SCSI I/O Controller Protocol Device
hdisk3 Available 08-08-02 fcparray Disk Array Device
hdisk5 Available 08-08-02 fcparray Disk Array Device
hdisk6 Available 08-08-02 fcparray Disk Array Device
hdisk7 Available 08-08-02 fcparray Disk Array Device
hdisk9 Available 08-08-02 fcparray Disk Array Device
hdisk11 Available 08-08-02 fcparray Disk Array Device
hdisk12 Available 08-08-02 fcparray Disk Array Device
(( O0 ;99.=N/ @; =609.M84;5.60 18F1D15/:/ 2/ @; F;./ DS#000 ((
( M/5W=609.M -@ 2;40
User array name = 'FRLPSAN1'
dac0 ACTIVE dac1 ACTIVE
Disk DAC LUN Logical Drive
utm 31
hdisk2 dac1 0 frlperp1_appli
hdisk3 dac0 1 frlperp1_data
hdisk4 dac1 2 frlperp2_X20
hdisk5 dac0 3 frlperp2_X21
hdisk6 dac0 4 frlperp2_Xmisc
hdisk7 dac0 5 frlperp2_appli
hdisk8 dac1 6 Heartbeat
hdisk9 dac0 7 savearch1
hdisk10 dac1 8 frlperp2_save-hot
hdisk11 dac0 9 frlperp2_save-cold
hdisk12 dac0 10 frlperp2_save-arch
hdisk13 dac1 11 frlperp1_save_all
(( O0 ;99.=N/ @/1 .0964:;5.601 2&80 2/1 2.178/ 2/5/=5B 28 DS#000 ((
( @1;554 -E@ N2.1J13
PR_key_value none Persistant Reserve Key Value True
cache_method fast_write Write Caching method False
ieee_volname 600A0B800011C52C00000B6D461DBEA9 IEEE Unique volume name False
lun_id 0x000b000000000000 Logical Unit Number False
max_transfer 0x100000 Maximum TRANSFER Size True
prefetch_mult 1 Multiple of blocks to prefetch on read False
pvid 00026632ff6044f70000000000000000 Physical volume identifier False
q_type simple Queuing Type False
queue_depth 10 Queue Depth True
raid_level 5 RAID Level False
reassign_to 120 Reassign Timeout value True
reserve_policy single_path Reserve Policy True
rw_timeout 30 Read/Write Timeout value True
scsi_id 0x10500 SCSI ID False
size 153600 Size in Mbytes False
write_cache yes Write Caching enabled False
|AIX| Creation de ressources pour DS4000
Procedure de creation de ressources :
Creation d`un HostGroup
M;<<.0M1 D/9.0/ H615 +468<
12" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Creation d`un host et de ces ports
M;<<.0M1 D/9.0/ H615
VeriIication que les ports correspondent bien avec les hosts
( @12/3 -C= ;2;<5/4 L M4/< 9=1
( @1=9M -3@ 9=10 L M4/< N/5?64J
Mapper les LUNS sur une Storage Partition
right-click the host and select Define storage partitioning.

|AIX| Tuning DS4000
[Cache Mirroring]
On peut desactiver le cache mirroring` pour obtenir un gain de perIomance.
Il est conseille d`eIIectuer une copie des donnees avant de desactiver cette Ionction.
[F;15 I/O F;.@84/]
F;15W9;.@
'i le driver de la fibre chanel d"tecte une perte de lien entre le switch et le ('4000) il attend
*uel*ues secondes pour permettre ca stabilisation.
+!adapteur commence , faire "chouer toute les -/. du driver de l!adapteur s!il d"tecte *ue le
dispositif n!est pas sur stabilis". &outes les nouvelles ou futures tentatives -/. sont echou"es
imm"diatement.
+!"chec rapide d/-/. peut 0tre utile dans des configurations par tra1ets multiples. -l peut
diminuer les temps "chouer d!-/. dus , la perte d!un lien entre le dispositif de stocage et le
'witch) et peut permettre un failover plus rapide aux alternate paths.
D/@;D/2W9;.@ (par deIaut)
Les tentatives ne sont pas immediatement echouees, et le Iailover prend plus longtemps
qu'en mode 9;15W9;.@.
Dans des conIigurations de simple-chemin, particulierement des conIigurations avec un
chemin simple a un dispositiI de pagination, le mode 2/@;D/2W9;.@ devraient tre utilise.
( =N2/3 O@ 91=1.0 O; 9=W/44W4/=63P9;15W9;.@
# lsattr -El fscsi0
attach switch How this adapter is CONNECTED False
dyntrk yes Dynamic Tracking of FC Devices True
fc_err_recov fast_fail FC Fabric Event Error RECOVERY Policy True
scsi_id 0x22600 Adapter SCSI ID False
sw_fc_class 3 FC Class for Fabric True
;55;=N 1?.5=N (par deIaut)
128 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
2D054J D/1L06 (par deIaut)
2uand le (ynamic tracing est activ") le driver de l/adaptateur 34 detect le changement
d/un 5umero de port d/un device. +e driver de l/6daptateur re-route le trafic destin" au
device vers la nouvelle adresse *uand le device semble .nline.
2D054J 9=W/44W4/=63 FC D4.3/4 /N;3.64
no
delayed_fail
The deIault setting. This is legacy behavior existing in previous versions oI
AIX. The FC drivers do not recover iI the SCSI ID oI a device changes, and
I/Os take longer to Iail when a link loss occurs between a remote storage
port and switch. This might be preIerable in single-path situations iI
dynamic tracking support is not a requirement.
no
fast_fail
II the driver receives a RSCN Irom the switch, this could indicate a link loss
between a remote storage port and switch. AIter an initial 15-second delay,
the FC drivers query to see iI the device is on the Iabric. II not, I/Os are
Ilushed back by the adapter. Future retries or new I/Os Iail immediately iI
the device is still not on the Iabric. II the FC drivers detect that the device is
on the Iabric but the SCSI ID has changed, the FC device drivers do not
recover, and the I/Os Iail with PERM errors.
yes
delayed_fail
II the driver receives a RSCN Irom the switch, this could indicate a link loss
between a remote storage port and switch. AIter an initial 15-second delay,
the FC drivers query to see iI the device is on the Iabric. II not, I/Os are
Ilushed back by the adapter. Future retries or new I/Os Iail immediately iI
the device is still not on the Iabric, although the storage driver (disk, tape,
FastT) drivers might inject a small delay (2-5 seconds) between I/O retries.
II the FC drivers detect that the device is on the Iabric but the SCSI ID has
changed, the FC device drivers reroute traIIic to the new SCSI ID.
yes
fast_fail
II the driver receives a Registered State Change NotiIication (RSCN) Irom
the switch, this could indicate a link loss between a remote storage port and
switch. AIter an initial 15-second delay, the FC drivers query to see iI the
device is on the Iabric. II not, I/Os are Ilushed back by the adapter. Future
retries or new I/Os Iail immediately iI the device is still not on the Iabric.
The storage driver (disk, tape, FastT) will likely not delay between retries. II
the FC drivers detect the device is on the Iabric but the SCSI ID has
changed, the FC device drivers reroute traIIic to the new SCSI ID.
Baie SUN A5000
Version d`OS inIerieur a la 2.8, pour la mise a jour des devices
( 243=609.M
( 2.1J1
Version d`OS 2.8 et 2.9
( 2/391;2:
12% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
( @8>/;2: <46F/ AIIiche la baie sur laquelle on est connectee
( @8>/;2: 2.1<@;D AIIiche les inIormations de ma baie.
( @8>/;2: 2.1<@;D G06: 2/ @; F;./HQG90H AIIiche les inIormations d`un disk
I1 pour un disque Irontal en ID1
r3 pour un disque arriere en ID3
( @8>;2: <6?/4W699 G06: 2/ @; F;./HQG.H Deconnecte un disque
( @8>;2: <6?/4W60 G06: 2/ @; F;./HQG.H Connecte un disque
( @8>;2: 4/:63/W2/3.=/ G06: 2/ @; F;./HQG.H Deconnecte un disque
( @8>;2: .01/45W2/3.=/ G06: 2/ @; F;./HQG.H Rajout d`un disque
130 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
;./ EMC
http://Irance.emc.com/products/Iamily/srdI-Iamily.htm
Il existe plusieurs solutions proposees par EMC.
SRDF/S
Symmetrix Remote ata )acility Synchronous
EMC SRDF/SD0=N460681 garantit une perte zero de donnees lors de la replication distante de
donnees sur des distances maximum de 200 km. Ce produit Iournit des Ionctions cles comme le
basculement sur site et le retour arriere, la permutation dynamique entre la source et la cible, les
restaurations incrementielles avec acces immediat et la prise en charge des mises a jour et des
chemins d'acces multiples. EMC SRDF/S comporte egalement un mode de copie evolutive qui vous
permet d'eIIectuer des mises a jour non synchrones vers des sites distants, quelle que soit la
distance.
SRDF/S s'integre completement avedc d'autres produits SRDF comme SRDF/Asynchronous, ainsi
qu'avec la gamme de produits de replication locale EMC TimeFinder
SRDF/A
Symmetrix Remote ata )acility !synchronous
EMC SRDF/Asynchronous Iournit une solution de mise en miroir a distance pour les systemes
DMX Symmetrix. Son architecture Delta Set replique les donnees a distance sans perturber les
applications de production et sans aucune limite de distance.
131 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Grce a SRDF/Asynchronous, vous realiserez des economies signiIicatives sur vos cots
operationnels en raison de la reduction des besoins en bande passante. Le processus de replication
des donnees de ce systeme n`a besoin que de la bande passante necessaire a la gestion d`une charge
de travail moyenne et non des pics d`activite.
SRDF/DM
Symmetrix Remote ata )acility *obility
Deplacez rapidement des donnees partout dans le monde pour partager, distribuer et consolider
l`inIormation a des Iins de traitement parallele centralise.
SRDF/Data Mobility deplace les volumes de donnees par l`intermediaire des canaux d`E/S haut
debit et de la memoire cache des systemes Symmetrix aIin de ne pas surcharger vos serveurs,
reseaux ou processus de production. Le Ionctionnement de ce logiciel est independant des donnees,
de la base de donnees, du systeme d`exploitation et de la plate-Iorme. Il s`execute sur n`importe
quel modele Symmetrix pour repondre a tous vos besoins en matiere de sauvegarde et de
restauration.
132 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Navisphere CLI cheat sheet
Raid Groups
Creating a raid group
0;3=@. -N G1;0H =4/;5/4M 4MID 2.1J1 G6<5.601H
0;3.=@. -N 9=#"00 =4/;5/4M 16 0W0W0 0W0W1 0W0W2 -4: D/1 -<4. N.MN
rgD = decimal raid group id
0_0_0 = bus_enclosure_disk
rm = delete raid group when last LUN is unbound
pri = expansion / defragmentation priority
expanding a raid group
0;3.=@. -N G1;0H =NM4M 4MID G6<5.601H
/>;:<@/' 0;3.=@. -N 9=#"00 =NM4M 16 -/><;02 0W0W# 0W0W$ -@/> D/1 -<4. N.MN
lex = is LUN expansion also allowed
destroying a raid group
0;3.=@. -N G1;0H 2/1546D4M 4MID 2.1J1 G6<5.601H
/>;:<@/' 0;3.=@. -N 9=#"00 2/1546D4M 16 0W0W0 0W0W1 0W0W3 -4: D/1 -<4. N.MN
modifying a raid group
parameters (priority etc)
0;3.=@. -N 9=#"00 =NM4M 16 -<4. N.MN
display status of a raid
group
0;3.=@. -N 9=#"00 M/54M 16 -@80@.15
LUN and Meta LUN configuration
Binding a LUN
0;3.=@. -N G1;0H F.02 4;.2-5D</ G@80 (H -4M 4MID G6<5.601H
/>;:<@/' 0;3.=@. -N 9=#"00 F.02 4$ 3 -4M 0 -4= 1 -?= 1 -17 :F -=;< 2$0
r5 = raid 5
rc = read cache (0=disable, 1=enable)
wc = write cache (0=disable, 1=enable)
sq = size qualifier (MB, GB)
cap = size of the raid
unbinding a LUN 0;3.=@. -N 9=#"00 80F.02 3
display LUN properties 0;3.=@. -N 9=#"00 M/5@80 3 -/@/:/05
expanding a meta LUN
0;3.=@. -N 9=#"00 :/5;@80 -/><;02 -F;1/ G08:F/4H -@80 G08:F/41H -5D</ [=L1]
G6<5.601H
c = concatenate
s = stripe
destroying a meta LUN 0;3.=@. -N 9=#"00 :/5;@80 -2/1546D -:/5;@80 G08:F/4H
133 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
displaying meta LUN
status
0;3.=@. -N 9=#"00 :/5;@80 -.096 G6<5.601H IM/0/4;@ .0964:;5.60K
0;3.=@. -N 9=#"00 :/5;@80 -@.15 :/5;@80 G08:F/4H I1</=.9.= .096 60 ; :/5; LUNK
Modifying a meta lun 0;3.=@. -N 9=#"00 :/5;@80 -:62.9D -:/5;@80 G08:F/4H
Storage Groups
create a storage group
0;3.=@. -N 9=#"00 1564;M/M468< -=4/;5/ -M0;:/ 1564;M/W1
gname = group name
add LUNS to a storage
group
0;3.=@. -N 9=#"00 1564;M/M468< -;22N@8 -M0;:/ 1564;M/W1 -N@8 1% -;@8 16
hlu = LUN number display to hosts i.e c0t0d19
alu = LUN 16 as per the san storage
register a host 0;3.=@. -N 9=#"00 8J1;<01 4/M.15/4
connect host to storage
group
0;3.=@. -N 9=#"00 1564;M/M468< -=600/=5N615 -N615 8J1;<01 -M0;:/ 1564;M/W1
display storage group
information
0;3.=@. -N 9=#"00 1564;M/M468< -@.15 -M0;:/ 1564;M/W1
destroy a storage group
0;3.=@. -N 9=#"00 1564;M/M468< -2/1546D -M0;:/ 1564;M/W1
(all hosts must be removed from the group first)
Cache Configuration
get cache information navicli -h fc4700 getcache
ConIigure the cache
0;3.=@. -N 9=#"00 1/5=;=N/ -?1X; $$0 -41X; 100 -?1XF 100 -41XF 100
wsza SPA write cache in MB
rsza SPA read cache in MB
wszb SPB write cache in MB
rszb SPB read cache in MB
p page size (2, 4, 8 or 16)
l low watermark
h high watermark
wc/rc disable/enable read/write cache
wca/rca disable/enable read/write SPA cache
13# // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
S;0
San - DeIinition
D/9.0.5.60 '
Le SAN (Storage Area Network), est un rseau haut dbit, gr de faon centrale, constitu de
serveurs d'applications, d'units de stockage, et d'quipements rseaux htrognes, permettant
aux entreprises de tirer le meilleur parti de leurs donnes au travers d'un accs universel et d'un
partage des ressources.
San - Topologies
T6<6@6M./1 <611.F@/1 '
Point a Point : Pas de mise en ouvre de reseau, juste une connexion directe.
Reseaux avec protocole FC-AL (Fibre Channel Arbitrated Loop)
Reseaux avec protocole FC-AS (Fibre Channel Switched)
Point to Point :
Dbit de 100 MO/s ou 200 MO/s full duplex,
Distance jusqu' 10 km sans rpteur.
FC-AL :
Les quipements sont interconnects au travers d'une boucle, dont ils se partagent dans le
temps la capacit de transmission
13$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Le cblage de la boucle est facilit par l'utilisation d'un concentrateur, ou "hub", qui accrot la
disponibilit de la boucle en permettant de court-circuiter un noeud dfaillant.
Les caractristiques de cette solution sont les suivantes :
boucle offrant un dbit de 100 MO/s ou 200 MO/s, partag entre les noeuds (jusqu' 127
noeuds),
solution conomique,
cblage autour d'un hub augmentant la disponibilit du rseau,
performances lies au nombre de noeuds (elles dcroissent avec l'augmentation du nombre de
noeuds),
reconfiguration possible chaud,
possibilit de double boucle pour augmenter la disponibilit globale du rseau.
FC-AS :
La topologie "switche" (ou commute) utilise une infrastructure rseau appele "switch fabric".
Celle-ci est constitue d'un ou plusieurs commutateurs ("switch") relis aux serveurs
d'applications, aux serveurs de stockages ou de sauvegardes, ou encore entre eux.
136 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Contrairement aux hubs, les switchs assurent un transfert simultan au dbit nominal de 100
MO/s entre tous les noeuds connects.
Les caractristiques de cette solution sont les suivantes :
dbit de 100 ou 200 MO/s ddi pour chaque noeud, offrant de hautes performances,
possibilit d'interconnecter des switchs entre eux, et de traverser plusieurs switchs
("cascading") sur un chemin,
capacit d'adressage de 16 millions de noeuds,
redondance possible d'accs aux donnes, pour augmenter la disponibilit globale du rseau2,
temps d'accs aux donnes dpendant du chemin et de la charge,
extensible, re-configurable chaud,
connexion possible de boucles "FC-AL"aux switchs,
gestion de rseau ncessaire pour optimiser les performances.
San - Techno
Techno :
13" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Type d'ondes optiques Type de fibre Diamtre Interne Distance maxi
Courtes 780 nm Fibre multimode 62,5 microns 175 mtres
Courtes 780 nm Fibre multimode 50 microns 500 mtres
Longues (LW) 1300 nm Fibre monomode 9 microns 10 Km
Chaque lien FC est constitu de deux fibres (une par sens de transmission), en gnral dotes de
connecteurs SC aux extrmits. Une nouvelle norme se met en place aujourd'hui, avec des
connecteurs LC aux extrmits. Les deux types de connecteurs ont des dimensions diffrentes et
ne se remplacent pas.
Nomage et adressage :
Dans un rseau SAN Fibre Channel, chaque composant est identifi par un nom unique, de 16
caractres (64 bits), appel "world wide name" (wwn). Celui est affect par son constructeur, qui
une autorit (l'EEE) attribue une plage de noms, afin de garantir l'unicit. Le format des "wwn" est
le suivant :
Chaque noeud de rseau SAN, et chaque port Fibre Channel de chaque noeud, sont dots d'un
wwn :
wwnn (world wide node name) pour les noeuds,
138 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
wwpn (world wide port name) pour les ports.
San Nomage et adressage
Nomage et adressage :
Dans un rseau SAN constitu de switchs, le choix du chemin entre deux quipements ("routage")
est calcul automatiquement par les switchs, conformment au standard ANS FSPF (Fabric
Shortest Path First). FSPF choisit, pour chaque communication, le meilleur chemin en fonction du
nombre de sauts ("hop"). En cas de dfaillance, il permet automatiquement le re-routage par un
autre chemin s'il en existe un (ce re-routage ne prend pas plus d'une seconde). FSPF rpartit
automatiquement le trafic sur tous les chemins possibles entre deux quipements (mais chaque
connexion emprunte un chemin et un seul pendant toute sa dure).
San Securite
Securit :
Zoning et LUN masking sont des fonctions permettant de restreindre les possibilits de
communication entre quipements au travers d'un SAN.
Le zoning permet de dcouper le rseau SAN en sous-ensembles ("zones") : les communications
sont possibles entre quipements l'intrieur d'une mme zone, impossibles entre zones. Les
zones peuvent se chevaucher. Les zones sont dfinies au niveau des switchs, soit sur la base des
ports, soit sur la base des adresses (wwn).
Le LUN masking permet de limiter les serveurs capables d'accder un volume logique (LUN)
d'un systme de stockage au travers d'un SAN. l peut tre dfini au niveau des adaptateurs baie
disques de l'ESS, au niveau des switchs, des gateways ou au niveau des serveurs d'applications.
San Exemple de problemes
Plus d'espace sur disque au niveau de l'OS mais encore de l'espace disponible au niveau de la
baie. l existe plusieurs solution comme ajouter d'autre LUN ou augmenter (si possible) la taille
de(s) LUN concerns.
Apres resising et synchro sur la baie (peut etre assez long > 1heure)
l faut re-synchoniser le VG sur AX, pour cela utiliser la commande
( =N3M -M G:60V+H
Multipathing solutions
RDAC Redundant Disk Array Controller (IBM)
SDD Subsystem Device Driver (IBM)
MPIO Multi-pathing I/O
DMP Dynamique Multi-pathing (Veritas)
HDLM Hitachi Dynamic Link Manager (Hitachi)
Solution de multi-pathing san
13% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
EMC P6?/4P;5N est une solution residant sur le serveur qui augmente les perIormances et la disponibilite
des applications. Elle regle automatiquement le SAN lorsqu`elle detecte des desequilibres, en selectionnant
d`autres chemins pour l`acheminement des donnees.
Elle reunit des capacites d`E/S a chemins d`acces multiples, l`equilibrage automatique de la charge et des
Ionctions de basculement de chemin sur incident au sein d`une unique solution integree. PowerPath prend en
charge les serveurs, notamment les serveurs de cluster, connectes aux systemes de stockage EMC
Symmetrix, EMC CLARiiON, Hitachi Data Systems (HDS) Lightning, HP XP, IBM Enterprise Storage
Server (Shark) et HPQ.
Probleme Import VG sur disk gere avec powerpath
Lors d`un import de VG avec powerpath, on peut avoir une erreur d`import
Ceci arrive quand le disque n`a pas de PVID, ce probleme peut etre resolu
en supprimant le disque de l`OS (rmdev) puis ensuite Iaire un cIgmgr sur
la carte qui l`accueil puis un powermt conIig pour le redetecter correctement.
On peut aussi demander a Aix de lui donner un PVI avec la commande suivante
( =N2/3 O@ N2.1JX O; <3PD/1
On peut aussi plus Iacilement et proprement regler le probleme en conIigurant la carte Iibre comme
indiquee. (ne pas oublier de le Iaire sur toutes les cartes)
( @1;554 -E@ 91=1.0
fc)err)recov fast)fail
$ynamic !rac=ing of F $evices !rue
Creation clone sous baie, comme symetrix
Creation d`un groupe
( 1D:2M -5D</ 4/M8@;4 =4/;5/ F61WF22
Ou en srdI
( 1D:2M -5D</ RDF1 =4/;5/ F61WF22
On rajoute des device dans ce groupe
SRC01A2 etant l`alias sur le device 1A2
TGT074A etant l`alias sur le device 74A tague destination
( 1D:@2 -M F61WF22 ;22 2/3 01A2 SRC01A2
( 1D:@2 -M F61WF22 ;22 2/3 0"#A -5M5 T+T0"#A
( 1D:@2 -M F61WF22 ;22 2/3 0"A8 -5M5 T+T0"A8
On aIIiche tous les groupes et leur contenu
( 1D:2M -3 @.15
Ou un groupe en particulier
( 1D:2M 1N6? F61WF22
1#0 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
On peut aussi eIIacer un dg
( 1D:2M 2/@/5/ -964=/ F61WF22
On lance le 1
er
clone de DEV01A2 vers DEV074A les copies se Ieront en diIIerentiel
Mais pour commencer il Iait une Iull.
( 1D:=@60/ -M F61WF22 =4/;5/ SRC01A2 1D: @2 T+T0"#A -2.99/4/05.;@ -<4/=6<D -5M5
On regarde ou ca en es (interval de 5secondes)
( 1D:=@60/ -M F61WF22 78/4D -. $ -:8@5.
On active la copie (passe de 99 a 100, elle est dispo now)
( 1D:=@60/ -M F61WF22 ;=5.3;5/ SRC01A2 1D: @2 T+T0"#A -5M5
Pour les prochaines copies, il Iera que de l`incremental, se lancera avec les commandes suivantes :
On recreer
( /814/1D:=@./F.0/1D:=@60/ -M F61WF22 4/=4/;5/ SRC01A2 1D: @2 T+T0"#A O06<
Par un process special il deduit les tracks qui ont changees entre le FULL et maintenant
Il cible ces tracks
On active (le transIert de track ne demarre qu`apres cetet activation)
( /814/1D:=@./F.0/1D:=@60/ -M F61WF22 ;=5.3;5/ SRC 01A2 1D: @2 T+TV0"#A -06<
Durant cette phase, si l`hote essaye de lire un track pas encore copie sur le disque cible
La piste est alors immediatement copie de la source a la destination.
Durant cette phase, si une modiIication est demande sur le disque source sur une des pistes non
encore copie, le systeme trouve ces pistes et les copies de suite sur le disque cible AVANT toute
modiIication de la source.
Si ca plante on peut terminer une tache :
( 1D:=@60/ -M F61WF22 5/4:.0;5/ SRC01A2 1D: @2 T+T0"#A
Commande SRDF
On aIIiche tous les groupes et leur contenu
( 1D:2M @.15
On aIIiche l`etat d`un groupe, d`un lien.
( 1D:429 OM [M468</] 78/4D
On coupe le lien sur un groupe
( 1D:429 OM [M468</] 1<@.5
On peu maintenant travailler sur le disque de destination, il n`y a plus de clonage` en live
On coupe le lien sur un groupe
( 1D:429 OM [M468</] 1<@.5
1#1 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Si on veu remettre le lien, re-activer un groupe
( 1D:429 OM [M468</] /15;F@.1N
Il existe des options plus ou moins necessaire selon la manipulation desiree :
- noprompt
- force
- syncforce
On pe aIIicher l`integralite des devices de la baie
( 1D:2/3 O3 @.15
ou plus simplement
1D:2/3 @.15 L M4/< -3 ZN65 V.1.F@/Z
AIIiche les disques powerpath
( .07 -9W<6?/4<;5N
VeriIication de la conI
( <6?/4:5 =N/=J
AIIiche la version de powermt d`installee
( <6?/4:5 3/41.60
Detection des peripheriques connectes en powerpath
( <6?/4:5 =609.M
AIIicher tous les chemins possiblenten powerpath
( <6?/4:5 2.1<@;D
Retire un chemin de la conIiguration
( <6?/4:5 4/:63/
DeIini le mode active ou standby pour les chemins
( <6?/4:5 1/5 :62/
DeIini la priorite d`E/S
( <6?/4:5 1/5 <4.64.5D
AIIicher tous les devices disponiblent en powerpath
( <6?/4:5 2.1<@;D 2/3P;@@
1#2 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Sauve la conIiguration powerpath
( <6?/4:5 1;3/ 9.@/P[9.@/0;:/]
La conIiguration est sauve dans un Iichier proprietaire (lisible tout de mme)
Qui peut tre relue
Charger la conIiguration powerpath
( <6?/4:5 @6;2 9.@/P[9.@/0;:/]
Detection des peripheriques connectes en hdlm
# /814/DD0;:.=L.0JM;0;M/4/F.0/2@:=9M:M4
ps: il est Necessaire de ne pas avoir le Iichier
# /814/DD0;:.=L.0JM;0;M/4/243/2@:9243.80=609
avant de Iaire le dlmcIgmgr
AIIiche le path des peripheriques connectes hdlm
( /814/DD0;:.=L.0JM;0;M/4/F.0/2@0J:M4 3./? O<;5N
# /814/DD0;:.=L.0JM;0;M/4/F.0/2@0J:M4 3./? O243
# /814/DD0;:.=L.0JM;0;M/4/F.0/2@0J:M4 3./? ON2/3
Commandes pour gestion baie EMC
Suppression de devices sur du powerpath
( 1D::;1J -1.2 "32 -??0 10000000=%626;1/ -2.4 1$C -P 0 4/: 2/3 $1"Q"18Q"#AQ""3
Ajout de devices sur du powerpath
(1D::;1J -1.2 "32 -??0 10000000=%626;1/ -2.4 1$C -P 0 ;22 2/31 $1"
ReIresh d'un sid sur powerpath
(1D::;1J -1.2 "32 4/94/1N
AIIicher les devices d'un lien sur powerpath
(1D::;1J2F -1.2 "32 -??0 10000000C%6CE260 @.15 2/31
MPIO and co
Multi-Pathing Input/Output : MPIO
MPIO est un package qui permet d`acceder a un mme peripherique a travers 2 chemins.
( @1@<< -L ;@@ LM4/< -. :<.6
devices.common.IBM.mpio.rte
5.3.0.43 C F MPIO Disk Path Control Module
devices.Icp.disk.ibm.mpio.rte
1#3 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
1.0.0.5 C F IBM MPIO FCP Disk Device
lspath
( @1<;5N
permet d`aIIicher les inIormations a propos des chemins vers les devices MultiPath I/O
( @1<;5N
Enabled hdisk0 scsi0
Enabled hdisk1 scsi0
Enabled hdisk2 vscsi0
Enabled hdisk2 vscsi1
1## // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
S<B=.9.=.5B A.> $.3
T;F@/ 1. C609.M84;5.60 @.:.51 964 V+1
:> type Maximum P:s Maximum ?:s Maximum PPs per :> Maximum PP si9e
Normal VG 32 256 32,512 (1016 * 32) 1 GB
Big VG 128 512 130,048 (1016 * 128) 1 GB
S=;@;F@/ V+ 102# #0%6 2Q0%"Q1$2 128 +
Ce nouveau type de VG (scalable) permet un maxim de 1024 PVs et 4096 LVs
Le nbr maximum du PPs s`applique au VG entier et n`est plus deIini sur une base de disque.
On a plus besoin de conIigurer les valeurs maximumde PVs et LVs lors de la creation du VG, on
peut les modiIier apres.
Sur les versions precedente d`AIX on pouvait etendre la taille d`un LV stripper avec la commande
extendlv, tant que vous avez assez de PPs de disponible dans les groupe de disque qui deIinie le
RAID. Reconstruire entierement le LV etait la seul methode possible pour etendre un LV au dessus
de la limite Hard impose par la capacite des disques. Vous deviez sauver, detruire le LV strippe, le
re-creer avec un strip plus large puis restaurer les donnees.
Il n`y plus cette limite sur Aix5.3, les commandes mklv, chlv, extendlv, and mklvcopy ont t
amlior pour supporter ce nouveau dispositif 'Striped column'
http://www-128.ibm.com/developerworks/eserver/library/es-aix5l-lvm.html
1#$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
S<B=.9.=.5B A.> 6.1
- New AIO dynamic tunables
- Encryption de FS
- Snapshot
New AIO dynamic tunables :
There are two AIO subsystems:
1. The original AIX AIO, now called LEGACY AIO.
2. The Portable Operating System InterIace (POSIX) compliant AIO, called POSIX AIO.
In AIX Version 6, both AIO subsystems are loaded by deIault but not activated;
No AIO servers are started at AIX boot time. The AIO servers are automatically
started when applications are initiating AIO I/O requests. They stay active as long
as they service AIO I/O requests
Encryption de FS :
- The Crypto Library (CLiC) package clic.rte from the AIX V6.1 expansion pack must be installed.
- Role Based Access Control (RBAC) must be enabled.
- JFS2 file system with the efs=yes option must be enabled.
- A JFS2 file system with the ea=v2 option must be enabled.
# nstallation du package clic.rte (voir plus haut)
# /usr/Iib/instI/sm_inst instaIIp_cmd -a -Qd '.' -f ' cIic.rte ' -cNgXGY
# verification de l'activation de RBAC
# smitty rbac
# activation de I'efs (initiaIisation du password)
# efsenabIe -a
Enter password to protect your initial keystore: <Password cle>
Enter the same password again: <Password cle>
# Creation d'un FS avec l'option efs activ
# crfs -v jfs2 -g rootvg -m /efs -A yes -a size=256M -a efs=yes
# Verification creation de l'arbo d'efs
# find /var/efs
/var/efs
/var/efs/users
/var/efs/users/.lock
/var/efs/users/root
/var/efs/users/root/.lock
/var/efs/users/root/keystore
/var/efs/groups
/var/efs/groups/.lock
/var/efs/groups/security
/var/efs/groups/security/.lock
/var/efs/groups/security/keystore
/var/efs/efs_admin
/var/efs/efs_admin/.lock
1#6 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
/var/efs/efs_admin/keystore
/var/efs/efsenabled
# Montage du FS
# mount /efs
# Lister les cles charges dans le process courant
efskeymgr -V
There is no key loaded in the current process.
# Il est donc necessaire de charger les clees dans le process courant.
# ouverture du keystore et publie les clees, puis execute la commande ksh
# efskeymgr -o ksh
root's EFS password: <Password cle>
# Lister les cles charges dans le process courant
# efskeymgr -V
List of keys loaded in the current process:
Key #0:
Kind ..................... User key
Id (uid / gid) ......... 0
Type ..................... Private key
Algorithm ................ RSA_1024
Validity ................. Key is valid
Fingerprint .............. 4caad953:5e883f3a:16b64af0:f6d6a32d:66b53ecd
Key #1:
Kind ..................... Group key
Id (uid / gid) ......... 7
Type ..................... Private key
Algorithm ................ RSA_1024
Validity ................. Key is valid
Fingerprint .............. 138265a1:2da44a3a:7c0a291d:95efa287:3c79cd1f
Key #2:
Kind ..................... Admin key
Id (uid / gid) ......... 0
Type ..................... Private key
Algorithm ................ RSA_1024
Validity ................. Key is valid
Fingerprint .............. c5b4bb98:9897be7c:89cc7d2a:9048dd76:b0f21eb5
# Creation de fichier bidons pour excercisse.
# cd /efs
# touch fiIe1 fiIe2 fiIe3
# for i in fiIe[1-3]
> do
> echo "content of $i" > $i
> done
# Affichage des attributs des fichiers (pour linstant rien de spcial
# Is -U
total 24
-rw-r------ 1 root system 17 Oct 20 17:11 file1
-rw-r------ 1 root system 17 Oct 21 09:52 file2
-rw-r------ 1 root system 17 Oct 20 17:11 file3
drwxr-xr-x- 2 root system 256 Oct 20 17:01 lost+found
# !ncr"ption du fichier file#
# efsmgr -e fiIe2
# Affichage des attributs des fichiers (on peut $oir lattribut e sur le file#
# Is -U
total 24
-rw-r------ 1 root system 17 Oct 20 17:11 file1
1#" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
-rw-r-----e 1 root system 17 Oct 21 09:52 file2
-rw-r------ 1 root system 17 Oct 20 17:11 file3
drwxr-xr-x- 2 root system 256 Oct 20 17:01 lost+found
# %tail de la protection &ise en place sur file#
# efsmgr -I fiIe2
EFS File information:
Algorithm: AES_128_CBC
List of keys that can open the file:
Key #1:
Algorithm : RSA_1024
Who : uid 0
Key fingerprint : 4caad953:5e883f3a:16b64af0:f6d6a32d:66b53ecd
# 'n peut aussi enle$er lencr"ption sur un fichier
# efsmgr -d fiIe2
# 'n peut aussi enle$er lencr"ption sur un fichier
# su - secadm -c cat /efs/fiIe[1-3]
content of file1
cat: cannot open /efs/file2
content of file3
# 'n $erifie aussi lencr"ption du fichier en dtail
# Is -iU fiIe2
5 -rw-r-----e 1 root system 17 Oct 21 09:52 file2
# df -k /efs | grep dev
/dev/fslv00 262144 261728 1% 9 1% /efs
# istat 5 /dev/fsIv00 | grep -p BIoc
Block pointers (hexadecimal):
2f
# fsdb /dev/fsIv00
Filesystem /dev/fslv00 is mounted. Modification is not permitted.
File System: /dev/fslv00
File System Size: 523864 (512 byte blocks)
Aggregate Block Size: 4096
Allocation Group Size: 8192 (aggregate blocks)
> dispIay 0x2f
Block: 47 Real Address 0x2f000
00000000: 23D582E9 84C030D1 DC3DF879 D631F9A2 |#.....0..=.y.1..|
00000010: ED63D3F9 032075FB DA9B77BE DB9BAB84 |.c... u...w.....|
00000020: 73D0D9D7 B6C47EB0 35536CDF 3DE71925 |s.....~.5Sl.=..%|
00000030: CB886BDF 1454691C 14C38745 AB070E0A |..k..Ti....E....|
00000040: EDED8923 CC36973F A48417DC A85186E0 |...#.6.?.....Q..|
00000050: 47FAD4DB 611CF596 43C472AE D20986FE |G...a...C.r.....|
00000060: 047D525B 0CCA2210 B7FA054A 8F05427E |.}R[.."....J..B~|
00000070: E57F7D09 F38053CC F30FB6E4 B16CC66A |..}...S......l.j|
00000080: 1ACC74C3 889C67B1 087F9175 DA852733 |..t...g....u..'3|
00000090: 53FF05FE A78A45DB 6453050A B9E5C706 |S.....E.dS......|
000000a0: 22F0635D F565A81C 4DB4F7DC 1D52C4DD |".c].e..M....R..|
000000b0: 07CF085D 910BD55E A69CFE5F 10C77EFF |...]...^..._..~.|
000000c0: 9104741E 7A1057AC 83B5EEB9 598FAE4C |..t.z.W.....Y..L|
000000d0: DD48FEED E7A2F0DB 8A5514F9 9FD33856 |.H.......U....8V|
000000e0: ABE9CD82 F58A06E0 80E16ABC 31204F8D |..........j.1 O.|
000000f0: E05A8B3E BCA399C7 82092603 84AC4EFD |.Z.>......&...N.|
# Acti$ation de lencr"ption dun repertoire
1#8 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
# (ous les fichiers)repertoires cres dans ce fs sera cod.
# efsmgr -E inh_dir
# de*Acti$ation de lencr"ption dun repertoire
# efsmgr -D /efs
1#% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
L6M.=;@ V6@8:/1 184 A.>
------------------------+
|
VG ROOTVG |
|
|
hdisk0 |
__________ |
PPs -> |__________| |
|__________| <--------+
|__________| | |
PV | |
| |
| |
hdisk1 | |
__________ | | __________
|__________| | +------ |__________| <- LPs
|__________| <--------------- |__________|
|__________| | +------ |__________|
|__________| | | LV
|__________| | |
PV | |
| |
| |
hdisk2 | |
__________ | |
|__________| | |
|__________| | |
|__________| | |
|__________| | |
|__________| <--------+
|__________| |
|__________| |
|__________| |
PV |
|
|
------------------------+
Volume Groupe Descriptor Area (VGDA)
'ituer au debut de cha*ue 78) contient les informations *ui decrivent les +8 et tous les 78 utilis"
par le 89 contenue dans ce 78
4ha*ue dis*ue contient au moins une 89(6
Volume Groupe Status Area (VGSA)
:lle contient les informations d/etats des 77 et 78.
7ar exemple la 89'6 sais un des 78 est man*uant
Logical Volume Control Blocks (LVCB) 5! premier octet "e cha#ue $olume logi#ue
Situer au debut de chaque LV, elle contient les inIormations des LV
1$0 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Principales Commandes
Isvg Lister les VG
Isvg <VolumeGroupe> Lister les infos d'un VG
Isvg -I <VolumeGroupe> Lister les Logical Volumes d'un VG
Isvg -p <VolumeGroupe> Lister les Physique Volume d'un VG

Ispv Lister les PV
Ispv <hdisk> Lister les infos d'un PV
Ispv -I <hdisk> Lister les Logical Volumes d'un PV
Ispv -M <hdisk> Affiche PVname:PPnum [LVname: LPnum [:Copynum] [PPstate]]
Ispv -p <hdisk> Lister les Physique Volume d'un PV

IsIv <LogicaIVoIume> Lister les infos d'un LV
IsIv -p <PhysicaIVoIume> Lister les PP d'un PV
IsIv -m <LogicaIVoIume> Lister les mirroirs d'un LV

PPPhysical Partition (Briques de VG)
LVLogical Volume (AppeI sIice sur SoIaris)
PVPhysical Volume (Disque Dur)
VGVolume Group (EnsembIe de disque)
LPLogical Partition (Contiens jusqu' 3 PP)
Pour utiliser un disque il faut obligatoirement l'intgrer a un VG
Un Logical volume est constitue de plusieurs 'briques' appeles LP
A partir de disques physiques l'on va crer un VG, on ne peut pas parler de streaping proprement
dit au niveau du VG car un VG n'est qu'une enveloppe, on crit rien dans le VG directement.
On parle de Streaping ou mirroring au niveau des LV sur des disques Physiques.
Sur ce 'regroupement de disque', ce 'VG' l'on va crer dedans un Logical Volume, qui LU
peut tre streap sur plusieurs disques du VG (donc rel streaping) ou mirror sur plusieurs
disques (rel mirroir)
Si l'on veut faire un mirror d'un LV streap, (Raid 1+0)
L'on doit d'abord crer un LV streap sur x disques du VG
Puis faire un mirroir de ce LV sur x disques.
Et si a casse, il faut casser le mirroir, changer le disques cass et relancer le mirroir
!! II existe pIusieurs variabIes qui peuvent empcher I'augmentation d'un FiIe system !!
!! Ie nbr de PP restant sur Ie VG du LV
!! et Ie nbr de LP du LV
!! II se peut aussi que Ie mirror fut cre sur 2 disques de taiIIes differentes !!
!! Et que Ie 1er disque soit pIein, dans ce cas et mme si iI reste des pp de Iibre !!
!! Sur Ie second disque, on ne pourras pas faire un chfs !!
Comme les disques sont en mirroir, quand on rajoute des LP on les rajoutes uniformment.
si on se retrouve avec :
PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION
hdisk1 active 542 42 00..00..00..34..08
1$1 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
hdisk2 active 542 14 00..00..00..00..14
On ne pourra augmenter le FS QUE de 14 LP, car c'est le maximum que l'on peut allouer
en MRROR
On peut les voir en tapant
Isvg tutuvg
IsIv tutuIv
Pour augmenter le nbr de PP sur un VG il faut rajouter des Disques
Pour augmenter le nbr de LP sur un LV il faut utiliser la commande :
chIv x 1024 tutuIv
On peut aussi augmenter des logicals parition en nbr de LP sur les disques dsirs
IsIv -m tutuLV
extendIv tutuLV 2 hdisk1 hdisk3
On vas 'rserver, allouer' des ppsize de t'elle, t'elle disque pour tel LV
!!! ATTENTON, les pp ne sont QUE rserv/allouer au LV, il ne sont pas visible sur le FS
de plus, ils ont bien ts retires de la MAP des disques (lsvg -p <vg>), donc il faut savoir que l'on
a rserv x Pp pour tel FS.
Bref.. Ensuite il faut rajouter les PP reservs/alou au FS en question
chfs -a size=+$((x*sizePP*2048)) /monFS
x = correspond au nbr de pp que l'on a rserv, allou (dans notre cas, 2)
size PP correspond a la taille du PP size du LV
``` Q8;02 60 =;11/ 80 =;11/ 80 :.446.4 I80:.44643MKQ 60 0/ M;42/ <;1 80/ =6<./ />;=5/
184 @/ 1/=602 2.178/Q =/ 0&/15 <;1 =6::/ 184 S80. ```
Lors de la cration d'un LV on aussi choisir (comme pour projet Notes), que les les donnes soit reparties
Uniformement sur TOUS les disques. Exemple d'un VG avec 15 disques et d'un LV avec l'option e x
l va crer 1 pp sur hdisk0 puis 1 pp sur hdisk1 etc.
Lister les FS d`un VG
# Isvgfs <mon_vg>
/tmp corrompu
l est impossible de demonter / et /var car ce sont deux FS utilis par l'OS
l faut rebooter le serveur en mode single user OU booter reseau sur une ressource NM
et faire le montage de rootvg en mode rescue et faire les fsck
# shutdown -m
Permet de rebooter en single user.
Displays the placement oI Iile blocks within logical or physical volumes.
# fiIepIace -v rstcfg.sh
1$2 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
3ile: rstcfg.sh 'i;e: <4 bytes 8ol: /dev/hd4
=l 'i;e: 409> 3rag 'i;e: 409> 5frags: ?
-node: 99? #ode: -rw-r----- .wner: root 9roup: system
+ogical :xtent
--------------
0000???< ? frags 409> =ytes) ?00.0@
? frags over space of ? frags: space efficiency A ?00.0@
? extent out of ? possible: se*uentiality A ?00.0@
Remet a jour les inIos d`un disk dans la base odm
# redefinevg -d <disk> <vg>
Redefini les informations contenu dans la base odm d'un disk
Commandes de split
# spIitIvcopy [ -y NewLogicaIVoIumeName ] [ -Y Prefix ] LogicaIVoIume Copies [ PhysicaIVoIume ... ]
Permet d'extraire une copie d'une LV vers un nouveau LV
#spIitvg [ -y SnapVGname ] [ -c Copy ] [ -f ] [ -i ] VGname
Permet d'extraire une copie d'une VG vers un nouveau VG
#joinvg joinvg datavg
Join le VG original datavg avec le snapshot VG snapvg
Commandes Bas-niveau
Iqueryvg -g <VGID> -S Connaitre le PP Size d'un VG
26 = va donner 2 ^6
en plus rapide ==>
print ${rsultat du lquery} | awk '{print substr($1,1,1),"^",substr($1,2);}'
Iquerypv -h /dev/hdisk0 80 10 Pvid D'1 disk
od -cx /dev/hdisk0 Pvid D'1 disk (en $200)
Iqueryvg -g <VGID> -c Nbr de disque d'un VG
Iqueryvg -g <VGID> -n Nbr Lv sur un VG
Iqueryvg -g <VGID> -P Pvid des disks d'un VG
Iqueryvg -g <VGID> -s Taille PPSize
getIvodm C Tous les disques de disponibles (lspv)
getIvodm -e <Lvid> nom du LV
getIvodm -m <Lvid> point de montage d'un LV
getIvodm -y <Lvid> type du LV
getIvodm -c <Lvid> nbr de copie du LV
getIvodm -N <Lvid> Stripped ou pas ?
getIvodm -v <VG_Name> VGD
getIvodm -g <pvid> nom d'un disk
getIvodm -L <VGID> Tous les LV et leurs LVD d'un VG
getIvcb -AT <LogicaIVoIume> Affiche toutes les informations du LV
getIvcb -a <LogicaIVoIume> Intra physical volume allocation policy.
1$3 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
getIvcb -c Copies
getIvcb -f File system name
getIvcb L Label
getIvcb -r Inter-physical volume allocation policy.
getIvcb P Stripe expn
getIvcb S Striping width
getIvcb -s Strictness
getIvcb t Display type of file system.
getIvcb u Upper limit.
Suppression de LP d`un LV en bas niveau
Il peut etre utile si il y a une corruption de la base ODM ou si les inIormations presente
sur le disque ne reIletent pas realite.
Exemple, lors d`une creation d`une copie (mirroire) d`un LV avec la Ionction mklvcopy
La synchro c`est mal passe et l`on se retrouve avec un nombre inequal de LP sur les 2 disques
Au lsvg l on a meme une erreur et si on essay de l`enlever via rmlvcopy, une autre erreur apparait
Iaisant reIerence a un disk ID 000000000000 (qui n`existe pas, inutile de le chercher)
Ce probleme apparait par exemple sur Aix 4.3.3 mais aussi sur 5.3
Le package F61.45/.@3: doit etre au moins dans ca version $.3.0.#0
Il existe aussi un Iix pour le lvm : I)"%"83
Neanmoins, pour regler ce probleme, l`on doit detruire tout les LP d`un disk (casse le mirroire)
ReIaire les synchro odm et disque et relancer le mirroire
On cree deja un Iichier map qui va contenir tout les N block LP et PP concerne :
@3W64;10203 etant notre LV a probleme`.
# IqueryIv -L `getIvodm -I Iv_ora10203` -r > /tmp/mapfiIe
Comme l`on veut ne pas detruire tout les LP mais uniquement ceux sur 1 disque (cible)
On grep
# IsIv -m Iv_ora10203 # On voie ainsi sur quelle disque se !rouve no "#
On recupere les #$%& des disques concern' (inu!ile de )ard' les 000... a la *in+
# Isattr -EI hdisk1 | grep pvid
# Isattr -EI hdisk3 | grep pvid
On Iiltre notre Iichier de map precedement cree avec le disque ou l`on veux supprime la copie
# cat /tmp/mapfiIe |grep hdisk1 > /tmp/map_foireux_hdisk1
Le fichier va ressembler a ca [PVI du disque] [PhysicaI Partition Number] [LogicaI Partition Number]
00c3f38fbf906b47 530 1
00c3f38fbf906b47 531 2
00c3f38fbf906b47 532 3
00c3f38fbf906b47 533 4
00c3f38fbf906b47 534 5
...
On lance ensuite le reduce LV en indiquand le Logical D Number du LV concern ainsi que le nbr de PP
que l'on veux supprim ainsi que le fichier de mapping
# IreduceIv -I 00c3f38f00004c0000000113bf90788a.18 -s 281 /tmp/map_foireux_hdisk1
l suffit ensuite de faire un synchro de disque et de la base ODM (syncvg... et synclvodm... )
1$# // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Disque arrache
Si on perd un disque, exemple plantage VO
l est possible de juste reactiver le disque (apres redemarrage des vio ET du serveur en question)
Le disque doit etre REMOVE et pas MSSNG
# chpv -va hdisk1
MapFile
On peut creer un Iichier texte de mapIile` ou l`on va lui indiquer de prendre t`elle PP sur t`elle
disque. Ce mapIile` peut etre utilise avec la commande />5/02@3, :J@3=6<D, :J@3f
Exemple l`on veut creer un LV de 6 PP contigue
On regarde ou il y a de la place contigue sur le vg
@13M OM 46653M
f.
fff
N2.1J2'%2 @364;%20'$1
N2.1J2'%3 @364;%20'$2
N2.1J2'%# @364;%20'$3
N2.1J2'%$ @364;%20'$#
N2.1J2'%6 @364;%20'$$
N2.1J2'%" @364;%20'$6
N2.1J2'%8 @364;%20'$"
N2.1J2'%%-13$
E>/:<@/ ' Le PP 92 du disque 2 est occupe par le LP n51 du FS lvora920
Comme on peut le remarquer, les PP 99 a 135 sur le disque 2 sont libre.
On cree donc un Iichier avec les blocs en question !
5858.:;<
N2.1J2 '%%-10#
ou si l`on preIere detaille exactement :
5858.:;<
N2.1J2 '%%
N2.1J2 '100
N2.1J2 '101
N2.1J2 '102
N2.1J2 '103
N2.1J2 '10#
on cree le Is en speciIiant ce Iichier :
:J@3 O: 5858.:;< O5 T912 OD T/15LV 46653M 6
@&60 </85 ;811. ;M4;02.4 80 FS ;3/= =/ a:;<9.@/&Q =4B/4 80/ =6<./ 2&80 LV 184 2/1 PP <4/=.1Q
/5=f
1$$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Renommer un LogicalVolume
/814/1F.0/=N@3 O0 G0683/;8W06:H G;0=./0W06:H
Les Snapshot sur Aix
Il est possible de creer un snapshot d`un LogicalVolume grace a des commandes Aix
Exemple d`un Snap de 10Mega de /opt vers /opt2
#backsnap -m /opt2 -s size=10M /opt
Snapshot for file system /opt created on /dev/fslv00
backup: Date of this level 9 backup: Mon Sep 22 14:36:10 2008
backup: Date of last level 0 backup: the epoch
backup: Backing up /dev/rfslv00 to /dev/rfd0
backup: Mapping (Pass I) [regular files]
backup: Mapping (Pass II) [directories]
backup: estimated 64757 1k blocks.
backup: Backing up (Pass III) [directories]
backup: Backing up (Pass IV) [regular files]
backup: 63948 1k blocks on 1 volume(s)
backup: Backup is complete
#snapshot -q /opt
Snapshots for /opt
Current Location 512-blocks Free Time
* /dev/fslv00 65536 64512 Mon Sep 22 14:36:10 2008
Incidents 01 : Disque mirroir HS
Isdev -Cc disk - On affiche les disques ainsi que leur numro
Isdev -Cc adapter - On affiche les adapateurs ainsi que les numro des
disks, utile pour connatre l'adapter d'un Disk
unmirrorvg <VG> hdisk0 - Enlever le hdisk0 du mirroir
!!! si Ie unmirrovg ne fonctionne pas, on peut casser 1 par 1 Ies copie de chaque LV avec Ia
commande rmIvcopy
!!! On peut aussi en cas de force majeur UNIQUEMENT Ie supprimer de Ia base ODM mais
!!! a utiIiser avec prudence, iI faudra ensuite supprimer de I'odm Ie device en question et son PVID
!!! Si on a des messages d'erreur a I'affichage des LV d'un LV, iI faut supprimer 'rmIcopcy' chaque
!!! bout de copie sur Ie disque incremin, qu'iI soit present ou non sur Ia machine et present ou non
!!! dans Ia base odm.
reducevg <VG> hdisk10 - ,nlever hdis-0 du v) indiqu' (.odi*ica!ion de la v)da+
rmdev -dI hdisk0 - ,nl/ve hdis-0 de l0od.1 des devices
!!! On change Ie Disque Dur Physiquement
cfgmgr -vI scsi3 - Dtecte les modifications matriels effectues sur la chane scsi3
1$6 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Ispv - On vrifie qu'il la bien dtect et dclar.
extendvg <VG> hdisk0 - On rajoute le disk hdisk0 au VG indiqu.
errpt |more - On vrifie juste que a ne refait pas d'erreur disque.
mirrorvg <VG> hdisk0 - On recre le miroir entre les 2 disques
Isvg -I <VG> - Une fois le miroir termin, on vrifie que le nbr de PP est
bien le double de LP 'mirror'
!!! Si Ie disque aurait concern Ie rootVG, iI aurait faIIut Ie rajouter dans Ie disque de boot avec Ia
!!! commande bootIist et Ie rendre aussi bootabIe
bosboot -a -d /dev/hdisk1 - On rends Hdisk1 bootable.
ipI_varyon -i |grep YES - Hdisk1 apparait bien ? il a donc un secteur de boot
bootIist -m normaI hdisk0 hdisk1 - On re-set l'ordre de boot.
Incidents 02 : Disque miroir HS mais pas 100 mort
!!! => On rajoute Ie nouveau disque dur physiquement <= !!!
cfgmgr - On dtecte le nouveau Disk rajout.
extendvg <VG> hdiskY - On rajoute le nouveau Disk au VG en question.
Ispv -I hdiskY - On regarde les LV qui sont sur le disque HS
migratepv hdiskX hdiskY - On migre les donnes de l'ancien Disk hdiskX vers le
nouveau Disk HdiskY
!!! on monte/demonte les FS si ncessaire. !!!
reducevg <VG> hdiskX - On enlve l'ancien Disk HS du VG.
rmdev -dI hdiskX - On supprime l'ancien disk de la machine.
Incidents 03 : Re-creer a l'identique les FS d'une machine vers une autre
Sur la machine d'origine vrifier le nbr de VG et les disques qui leurs sont attribu.
Isvg
Les recrer si ncessaire sur la machine de destination.
mkvg -s '64' -y <Vgname> NomDesDisques
ex : mkvg -s '64' -y tutu_vg hdisk1 hdisk11
-s '64' ==> Sets the um!er o" meg#!ytes i e#$h physi$#l p#rtitio
!!! II se peut aussi que I'on ne puisse pas crer Ie VG Ia taiIIe dsir avec I'option s
1$" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
!!! car iI y a une Iimitation. Pour ceIa, soit on augmente Ie chiffre specifi avec I'option s
!!! soit on augmente Ie facteur avec I'option t
Lister les Logical Volume des VG de la machine source
Isvg -I <NomduVG>
Re-crer l'identique sur la machine de destination les LogicalVolume
mkIv -t jfs -y <NomDuLV> -c2 <NomDuVg> NbrDeLp NomDesDisques
mklv -t %"s -y pi$olv -$& !&!vg & hdisk1 hdisk'
ex : mklv -t %"s -y (v_tutu_)1 -$& tutu_vg & hdisk1 hdisk&
mklv -t %"s -y tr#s_otes1 -$& *)1ovg_ot1 & hdisk1 hdisk+
$r"s -v %"s -d tr#s_otes1 -m ,tr#slog,otes)1 -- yes -p'r.' -# !"='true'
mout ,tr#slog,otes)1
$h"s -# si*e=/0112)3643&)4'44 ,tr#slog,otes)&
The maximum size of a JFS fiIe system is a function of its fragment size and the
NBPI vaIue. These vaIues yieId the foIIowing size restrictions:

NBPI - Minimum AG Size - Fragment Size - Maximum Size (GB)

512 8 512, 1024, 2048, 4096 8
1024 8 512, 1024, 2048, 4096 16
2048 8 512, 1024, 2048, 4096 32
4096 8 512, 1024, 2048, 4096 64
8192 8 512, 1024, 2048, 4096 128
16384 8 1024, 2048, 4096 256
32768 16 2048, 4096 512
65536 32 4096 1024
131072 64 4096 1024
-c2 = va faire 2 copie, donc un Mirror, c'est pour ca qu'on lui indique 2 disques a la fin
2 = nbr de LP dsire du Logical Volume, peut etre trouv par la formule : Taille en Mo / ppsize
si on crer le logicalVolume que sur 1 disk, 2 correspondra au nbr de LP et de PP
ou tout simplement si les disques sources et destination sont les mmes, en reprenant le LP
du Logical Volume d'origine (affich avec lsvg -l <NomduVG>)
On cre ensuite le file systemes
crfs -v jfs -d <NomduLV> -m /expIoit -A yes -p'rw' -a bf='true'
On peut aussi si ncessaire attribu des valeurs spcifiques selon le FS demand
(taille des fichiers, taille du fs), exemple : nbpi=13162 ag=64
ou en jfs2
crfs -v jfs2 -d <NomduLV> -m /expIoit
Le fichier contenant les point de montage est mis a jour, il ne reste plus qu'a faire un simple Mount /tutu
Si l'on desire 'etaI' sur un LV les donnes, il fuat utiliser l'option suivante : -e x au mklv
Exemple :
mkIv -t jfs2 e x y tutuIv hdisk1 hdisk2
/usr/sbin/chIv -e'x'
1$8 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Incidents 04 : Supprimer un FS et liberer les PV associe
Isvg - On cherche dans les VG le LV concern
Isvg -I <LV>
IsIv -m <LV> - On affiche les disques concerns du LV
umount /tutu/nico - On dmonte le FS
rmfs /tutu/nico - On efface le filesystem rmfs
l efface au passage le logical volume associ.
Isvg -p <VG> - Disques concern encore attribu a d'autre ?
Si le nbr de FREE PP est = au nbr de TOTAL PP alors on peut enlever le disk du VG
reducevg <VG> <Disque a enIever>
ExempIe :
reduce datavvg hdisk1 hdisk11
Incidents 05 : Augmenter un VG
On cherche ajouter un disk sur un VG car plus de PP de libre.
extendvg <VG> Hdisk5 Hdisk8
Ensuite faire un chfs de la taille dsire, tout simplement.
Incidents 06 : Mettre ou enlever une LV en mirror
Peut se faire a chaud sans problme.
mkIvcopy <MonLogicaIVoIume> 2
2 = Signifie le Nbr de copie, dans le cas d'un mirroir = 2
Ou alors on enleve une copie du logicalVolume (je dit une car on peut tres bien faire plusieurs mirror d'un
LV)
rmIvcopy <MonLogicaIVoIume> 1 <Hdisk_ou_L'on_enIeve_une_copie>
ex : 4:@3=6<D N26 1 N2.1J1Q reduis le nbr de copie du LV hd6 a 1 copie qui restera sur hdisk0
Incidents 07 : Remplacer un disque HS mirrore
Appeler CSA pour lui demander si on garde le disque (donne confidentiel ou pas)
Sur un mirroir il n'est pas ncessaire de faire un dmontage, un peut le changer comme a
a 'chaud'.
unmirrorvg transIogvg hdisk2 - Message d'erreur sur le quorum, on sans fou)
1$% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
reducevg transIogvg hdisk2 - On enlve hdisk2 du VG translog
rmdev -I hdisk2 -d - On supprime le device hdisk2
ou hdisk2 est le disk a ENLEVER.
Iscfg -vI hdisk2 - On vrifie que l'on voie plus le disque.
Ispv - On vrifie que l'on voie plus le disque.
!!! Changement physique du disque. !!!
Isdev -Cc adapter - Pour apercevoir le numro de la chaine scsi du hdisk
concern et son device).
cfgmgr -vI scsi0 - On r-detecte le disque sur la chaine scsi0
Iscfg -vI hdisk2 - Pour vrifier que l'on le revoie).
extendvg transIogvg hdisk2 - On rajoute le disque sur le VG
mirrorvg transIogvg hdisk2 - On relance le Mirroir 'assez long'
!!! Il met un message pour le quorum, aucune importance !!!
Le Quorum est le nbr de disque minimum ncessaire pour qu'il monte le VG.
Exemple : Si on a 3 Disks mirrors donc 6 disques, il ne sert a rien de mettre
le quorum a 4 ou 5, car, le but d'un miroir est que les donnes doivent tre
accessibles mme si un disque plante, donc mme avec 3 Disques de mort il Doit
monter le VG sinon, le miroir ne sert a rien, donc on met le quorum a 1 (off).
chvg a'y' Q'n' <Mon_VG>
Quand on fait un miroir avec Ia commande mirrovg iI supprime automatiquement Ie quorum (Iogique
car pIus necessaire), par contre, si on fait Ies copies a Ia main avec mkIvcopie, iI faut supprimer a Ia
mano avec Ia commande si dessus Ie quorum car iI n'est pIus necessaire.
Incidents 08 : Import / Export d'un VG
Une baie de disque est reli a 2 serveurs, l'on veut importer un VG du 1er serveur vers le second
On dmonte bien sur le(s) FS associ(s), l'on dsactive le VG que l'on veut importer
varyoffvg [MonVG]
L'on cible bien les disques associ a mon VG grace a leur PVD
Ispv hdisk0
L'on efface les informations du VG dans la base ODM (on casse le lien en fait)
Les informations du VG restent sur le(s) disques, les donnes sur le disques restent inchangs.
exportvg [MonVg]
L'on se connecte sur le second serveur et l'on importe le VG
On va lui indiqu juste le bon disque (par le PVD) et le nom du VG qu'il va re-crer, il va faire un varyon tout
seul.
l faudra bien sur rechercher les bon disques sur cette machine par rapport a leur PVD.
il ne restera plus qu'a le monter, il fait les liens vers les autres disques tout seul si besoin.
importvg -y [VG] -R [PhysicaIVoIume]
PS : Pour importer un VG vers une version d`AIX inIerieur il Iaut passer la commande suivante
avant l`export.
chvg I <mon_VG>
160 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Incidents 09 : Disques HS, mirrore ou streape ?
IsIv -I hdisk1
on regarde les LV contenue sur hdisk1
IsIv <LV>
on regarde a qu'elle VG appartient le(s) LS prcdemment trouvs
Isvg -p <VG>
on affiche les disques contenue dans le VG
Isvg -I <VG>
on regarde qu'elle LV sont miror et streap
Ispv -I hdisk1
on affiche les LV contenue dans le HDSK1
IsIv -m
on affiche les miroirs des LV prcdemment lists.
Incidents 10 : Copy d'un LV d'un VG a un Autre (ou pas)
cpIv -v <VoIumeGroupeDeDestination> -y <NomDuNouveauLVaCreer> <NomDuLVaCopier>
On copie l'ancien LV vers le nouveau que l'on cree l'ors de la manip
vi /etc/fiIesystems
On modifie le point de montage en consquence, exemple ==>
/exportbase:
Dev = /dev/Ivexportbase2
vfs = jfs
Iog = /dev/IogIv01
mount = true
options = rw
account = faIse
Ivexportbase2 : Est le nom du nouveau LV que l'on vient de crer
IogIv01 : Est le nom du LV de log de ce VG, Isvg -I <VgdeDestination> |grep jfsIog
!!! On synchronise Ie Tout !!!
syncvg -I <NouveauLVcre>
syncIvodm -v <VoIumeGroupeImpact>
Incidents 11 : Acces trop lent a des donnees
On peut dans un premier temps faire un simple defragfs pour de fragmenter le FS en question
Mais la d-fragmentation avec cette commande va s'arrter au donnes dans le LV et non les blocks
Physique Pure.
Pour une vrais d-fragmentation block il faut utiliser la commande reorgvg
On peut trs bien rorganiser tous le VG ou juste un ou des LV, exemples :
Ispv -p hdisk1 - On affiche les rgions des donnes
reorgvg datavg - On peut rorganiser un VG dans son ensemble
reorgvg datavg tutuIv1 - Ou juste un de ces LV
reorgvg datavg tutuIv1 tutuIv2- Ou plusieurs de ces LV d'ailleurs
!! l faut viter de rorganiser rootvg car cela prends normment de temps. !!
161 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Incidents 12 : Probl JIslog
re-creation d'un fjfslog
mkIv -t jfsIog -y IogIv00 -c2 rootvg 2 hdisk0 hdisk1
ou en jfs2 bien sur
et on re-formate le jfslog
@6M964: /2/3/@6M@300
Incidents 13 : Supprimer carte Iibre
Normalement un simple rm -RdI <fcs2> devrait suffire, si ce n'est pas le cas
il faut supprimer le device lus : rmdev -I Ius
chercher sur qu'elle slot se trouve la carte : IssIot -c sIot
et supprimer le slot : rmdev -dI <pci7> -R
on peut aussi tuer les process sur ce device : fuser -k>8= /dev/fscsi2
Incidents 14 : Recreation de la VGDA
On affiche les informations du VG
# Isvg -I testvg
testvg:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
testLV jfs2 3 3 1 open/syncd /testLV
loglv00 jfslog 1 1 1 open/syncd N/A
# Isvg -p testvg
testvg:
PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION
hdisk1 active 67 63 14..09..13..13..14
# grep -p testLV /etc/fiIesystems
/testLV:
dev = /dev/testLV
vfs = jfs
log = /dev/loglv00
mount = true
options = rw
account = false
# Iqueryvg -g `getIvodm -v testvg` -At -p hdisk1
Max LVs: 256
PP Size: 26 <<= 2^6= 64 Mega
Free PPs: 63
LV count: 2
PV count: 1
Total VGDAs: 2
Conc Allowed 0
MAX PPs per 1016
MAX PVs: 32
Conc Autovar 0
162 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Varied on Co 0
Logical: 00c1a13d2975dc10.1 testLV 1
00c1a13d2975dc10.2 loglv00 1
Physical: 00c1a13dc3d4a3b9 2 0
#Ispv -M hdisk1
hdisk1:1-14
hdisk1:15 testLV:1
hdisk1:16 loglv00:1
hdisk1:17 testLV:2
hdisk1:18 testLV:3
hdisk1:19-67
#echo "hdisk1:16" > map_IogIv
#echo "hdisk1:15" > map_testIv
#echo "hdisk1:17-18" >> map_testIv
On demonte tous les FS du vg incremin
On varyoff le VG
On export le VG
On recreer le VG
mkvg -y testvg -s 64 hdisk1
On recreer les points de montages
mkdir p
On recreer les LV avec les fichiers de mapping
# mkIv -y IogIv00 -t Iog -m map_IogIv testvg 1
# mkIv -y testIv -t jfs -m map_testIv testvg 3
On re-ecrie les infos des FS dans /etc/filesystems
vi /etc/fiIesystems
(precedement sauver)
On effectue un FSCK des FS
fsck y .
163 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
L6M.=.;@ V6@8:/ 184 LINUX
Pour les volumes physiques : pvcreate, pvscan, pvs, pvdisplay, pvremove, pvmove, pvchange
Pour les groupes de volume : vgcreate, vgdisplay, vgscan, vgs, vgc=, vgremove
Pour les volumes logiques : lvcreate, lvmdis=scan, lvs, lvdisplay, lvremove, lvextend
Pour la sauvegarde/restauration de la structure LVM : vgcfgbac=up, vgcfvgrestore
http://Ir.wikipedia.org/wiki/Gestionparvolumeslogiques#LescommandesusuellesdeLVM2
Etendre/reduire un Volume Groupe
On supprime le physical volume hda1.
# vgreduce my_voIume_group /dev/hda1
Changer les parametres d`un Volume Groupe
Exemple, pour reactiver un volume groupe
# vgchange -a y my_voIume_group
Exemple, pour desactiver un volume groupe
# vgchange -a y my_voIume_group
Supprimer un VolumeGroupe Groupe
# vgremove my_voIume_group
Etendre/reduire un Logical Volume
On ettends 12G le Logical Volume home_Iv du VolumeGroupe my_vg
# Ivextend -L12G /dev/my_vg/home_Iv
On rajoute 2 Giga au logical Volum
# Ivextend L+2G /dev/my_vg/home_Iv
Ou
# Ivextend L+2048M /dev/my_vg/home_Iv

l est ensuite necessaire de d'ettendre au niveau du FileSystem
# umount /dev/myvg/homevoI/dev/myvg/homevoI
# resize2fs /dev/myvg/homevoI
# mount /dev/myvg/homevoI /home
Ou
# umount /dev/myvg/homevoI/dev/myvg/homevoI
# ext2resize /dev/myvg/homevoI
# mount /dev/myvg/homevoI /home
16# // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
L6M.=.;@ V6@8:/ 184 HP
http://www.tldp.org/HOWTO/LVM-HOWTO/index.html
Presentation / Structure
Le LVM HP est un produit OSF (Open SoItware Foundation) qui est present depuis la version HP-UX 9
Mais il commence vraiment qu`avec la version 10 de HP-UX
HH E846</.18<<645./>5/40;@.N<.=6:
Pour utiliser un disk sous lvm il doit etre completement sous le control de celui-ci
S548=584/ 2/1 2600B/1 1681 LVM '
} Physical Volume Reserved Area PVRA
} Volume Group Reserved Area VGRA
} Bad Block Pool
PVRA :
PVRA
BAD bIock PooI
/ PV D number
/ VG D number
\ PE size
\ PV size
\
\ Bad Block Directory
\
\
\ Pointers to start and size of other disk areas
VGRA :
PVRA
/ Split into sections
/ a) VGDA Volume Group Description Area
How many LVs in this VG
How many PVs make up this VG
PE map for every LV in the volume group
\ b) VGSA Volume Group Status Area
\ Dynamic area recording
16$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
BAD bIock PooI
\ status of each PV
/etc/Ivmtab:
----------------------- \
| PVRA | \
------------------------ / /etc/Ivmtab
| VGRA | /
------------------------ /
Creation de VolumeGroupe et veriIication
ioscan permet de detecter les peripheriques sur le systme
pvcreate /dev/rdsk/c0t5d0 Creation du Physical Volume
mkdir /dev/vg01 Creation du device associ au VG 'la creation n'est pas Auto'
cd /dev/vg01
mknode group c 64 0x010000 Creation d'un node avec le major number 64
vgcreate /dev/vg01 /dev/dsk/c0t5d0 Creration du VG 'vg01'
On peut aussi specifier la taille du PE avec l'option s
Ex : v)crea!e 2s 64 3dev3v)01 3dev3c0!5d0
Par default il est de 4Mb, il doit etre un multiple de 2 (1 => 256 Mb)
vgdispIay On visualise les Vg
vgdispIay -v Mode verbose (on voie tout les LV et leurs characts)
vgdispIay -v [Name_VG] Mode verbose sur un VG specifique, idem
pvdispIay On visualise les PV
pvdispIay v Mode verbose
pvdispIay -v [Name_PV] Mode verbose sur un PV specifique
Creation de LogicalVolume et veriIication
Ivcreate -L 100 -n Nom_Du_LV /dev/vg01 Cration d'un LV de 100Mo sur le VG 'vg01'
Ivcreate -i2 -I4 -I100 -n anotherr_test_Iv testvg dem mais Strip avec taille size de 4Kb
IvdispIay [Name_LV] On visualise un LV
IvdispIay v [Name_LV] Mode verbose
EIIacer un PVI d`un disque
=N2/3 O@ N2.1JX O; <3P=@/;4
Creation de FileSysteme
newfs F hfs /dev/vg01/rIv011
mount F hfs /dev/vg01/Iv011 /databases
166 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Etendre/reduire un Volume Groupe
On rajoute le physical volume qui utilise le disque SCS d'adresse 2 precement cre.
# vgextend /dev/vg01 /dev/dsk/c0t2d0
On supprime le physical volume c0t2d0.
# vgreduce /dev/vg01 / dev/dsk/c0t2d0
M.M4;5.60
M.M4;5.0M 56 AIX 6.1 ?.5N 0.:;2:
http://www.ibm.com/developerworks/aix/library/au-migrate_nimadm/index.html
Overview
Over the years, I've migrated to several new releases oI the AIX OS. To do this I would have
typically used one oI the conventional methods. These methods consisted oI either A) migration
using the AIX installation DVD or B) migration using NIM. Method A is still possible, even in
virtualized environments via the use oI File-Backed devices. And method B is also perIectly viable
by network booting the client LPAR and perIorming the migration using a NIM.
The downside with both oI these methods is that they both require signiIicant downtime on the
LPAR while the migration takes place. This downtime could be anywhere Irom 30-45 minutes to
several hours, depending on the system. This can be a concern in environments with tight outage
windows.
The 0.:;2: utility oIIers several advantages over a conventional migration. For example, a
system administrator can use0.:;2: to create a copy oI a NIM client's rootvg (on a spare disk on
the client, similar to a standard alternate disk install ;@5W2.1JW.015;@@) and migrate the disk to a
newer version or release oI AIX. All oI this can be done without disruption to the client (there is no
outage required to perIorm the migration). AIter the migration is Iinished, the only downtime
required will be a scheduled reboot oI the system.
Another advantage is that the actual migration process occurs on the NIM master, taking the load
oII the client LPAR. This reduces the processing overhead on the LPAR and minimizes the
perIormance impact to the running applications.
For customers with a large number oI AIX systems, it is also important to note that the 0.:;2:
tool supports migrating several clients at once.
To summarize, these are the beneIits oI 0.:;2: over other migration methods:
Reduced downtime Ior the client. The migration is executed while the system is up and
running as normal. There is no disruption to any oI the applications or services running on
the client; thereIore, the upgrade can be done at a time convenient to the administrator. At a
later stage, a reboot can be scheduled in order to restart the system at the later level oI AIX.
16" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
The 0.:;2: process is very Ilexible and it can be customized using some oI the optional
NIM customization resources, such as imagedata, bosinstdata, pre/postmigration scripts,
excludeIiles, and so on.
Quick recovery Irom migration Iailures. All changes are perIormed on the rootvg copy
(altinstrootvg). II there are any serious problems with the migration, the original rootvg is
still available and the system has not been impacted. II a migration Iails or terminates at any
stage, 0.:;2: is able to quickly recover Irom the event and clean up aIterwards. There is
little Ior the administrator to do except determine why the migration Iailed, rectiIy the
situation, and attempt the 0.:;2: process again. II the migration completed but issues are
discovered aIter the reboot, then the administrator can back out easily by booting Irom the
original rootvg disk.
Back to top
Preparation
There are a Iew requirements that must be met beIore attempting to use 0.:;2: to migrate to AIX
6.1. I'll mention just some oI these here. I recommend that you review the online documentation Ior
0.:;2: or the IBM NIM Redbook Ior more inIormation (see the Resources section at the end oI
this article).
You must have a NIM master running AIX 6.1 or higher with the latest Technology Level
or higher.
The NIM master must have the F61.;@5W2.1JW.015;@@.45/ Iileset installed in its own rootvg
and in the SPOT that will be used Ior the migration. Both need to be at the same level. It is
not necessary to install the alternate disk utilities on the client.
The lppsource and SPOT NIM resources that have been selected Ior the migration MUST
match the AIX level to which you are migrating.
The NIM master (as always) should be at the same or higher AIX level than the level you
are migrating to on the client.
The target client must be registered with the NIM master as a standalone NIM client.
The NIM master must be able to execute remote commands on the client using rsh.
Ensure the NIM client has a spare disk (not allocated to a volume group) large enough to
contain a complete copy oI its rootvg. II rootvg is mirrored, break the mirror and use one oI
the disks Ior the migration.
Ensure the clients NIM master has a volume group (Ior example, nimadmvg) with enough
Iree space to cater Ior a complete copy oI the client's rootvg. II more than one AIX
migration is occurring Ior multiple NIM clients, make sure there is capacity Ior a copy oI
each clients rootvg.
Local disk caching versus NFS
By deIault, the 0.:;2: tool utilizes NFS Ior many oI the tasks during the migration. This can be a
problem on slower networks because NFS writes can be very expensive. To avoid using NFS, a
L6=;@ D.1J C;=N.0M option exists that can provide some perIormance advantages.
Local disk caching allows the NIM master to avoid having to use NFS to write to the client. This
can be useIul iI the 0.:;2: operation is not perIorming well due to an NFS write bottleneck.
168 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
II the Local Disk Caching Iunction is invoked, then 0.:;2: will create the client Iile systems in a
volume group on the NIM master. It will then use streams (via rshd) to cache all oI the data Irom
the client to the Iile systems on the NIM master.
The advantages oI local disk caching over NFS could be summarized as:
Improved perIormance Ior 0.:;2: operations on relatively slow networks.
Improved perIormance Ior 0.:;2: operations that are bottlenecked in NFS writes.
Decreased CPU usage on the client.
Client Iile systems not exported.
Allows TCB enabled systems to be migrated with 0.:;2:.
Some potential disadvantages oI local disk caching are:
Cache Iile systems take up space on the NIM master. You must have enough disk space in a
volume group on the NIM master to host the client's rootvg Iile systems, plus some space
Ior the migration oI each client.
Increased CPU usage on the NIM master.
Increased I/O on the master. For best perIormance, use a volume group on the NIM master
that does not contain the NIM resources being used Ior the AIX migration.
For perIormance reasons, we deploy Local Disk Caching with 0.:;2: in our environment.
The 0.:;2: command perIorms a migration in 12 phases. It is useIul to have some knowledge oI
each phase beIore perIorming a migration.
1. The master issues the altdiskinstall command to the client, which makes a copy oI the
clients rootvg to the target disks. In this phase, the alternate root volume group
(altinstrootvg) is created.
2. The NIM master creates the cache Iile systems in the nimadmvg volume group. Some initial
checks Ior the required migration disk space are perIormed.
3. The NIM master copies the NIM client's data to the cache Iile systems in nimadmvg. This
data copy is done via rsh.
4. II a pre-migration script resource has been speciIied, it is executed at this time.
5. System conIiguration Iiles are saved. Initial migration space is calculated and appropriate
Iile system expansions are made. The bos image is restored and the device database is
merged (similar to a conventional migration). All oI the migration merge methods are
executed, and some miscellaneous processing takes place.
6. All system Iilesets are migrated using installp. Any required RPM images are also installed
during this phase.
7. II a post-migration script resource has been speciIied, it is executed at this time.
8. The bosboot command is run to create a client boot image, which is written to the client's
alternate boot logical volume (althd5).
9. All the migrated data is now copied Irom the NIM master's local cache Iile and synced to
the client's alternate rootvg via rsh.
10. The NIM master cleans up and removes the local cache Iile systems.
11. The altdiskinstall command is called again to make the Iinal adjustments and put
altinstrootvg to sleep. The bootlist is set to the target disk.
12. Cleanup is executed to end the migration.
16% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
II you are unable to meet the requirements Ior phases 1 to 10, then you should consider perIorming
a conventional migration.
BeIore we move onto a 0.:;2: example, I just want to add a Iew points Ior you to consider Iirst.
I recommended that you do not to make any changes to your system once the migration is
underway, such as adding users, changing passwords, adding print queues, and the like. II
possible, wait until the migration has Iinished and the system has been rebooted on the new
version oI AIX. II you must perIorm administration tasks prior to the reboot, you should
take note oI the changes and re-apply them to the system aIter it has been rebooted into AIX
6.1.
We developed, tested, and veriIied our migration procedures several times beIore
implementing them on our production systems. This allowed us time to veriIy that the steps
were correct and that the AIX migrations would complete as expected. I recommend you do
the same.
II you have a multibos image in rootvg, remove it. AIX migrations are not supported with
multibos enabled systems. Ensure all rootvg LVs are renamed to their legacy names. II
necessary, create a new instance oI rootvg and reboot the LPAR. For example:
# multibos -sXp
# multibos -sX
# shutdown -Fr
ConIirm the legacy LV names are now in use that is, 065 F61W.
# lsvg -l rootvg | grep hd | grep open
hd6 paging 80 160 2 open/syncd N/A
hd8 jfs2log 1 2 2 open/syncd N/A
hd4 jfs2 1 2 2 open/syncd /
hd2 jfs2 7 14 2 open/syncd /usr
hd3 jfs2 16 32 2 open/syncd /tmp
hd1 jfs2 1 2 2 open/syncd /home
hd9var jfs2 8 16 2 open/syncd /var
hd7 sysdump 8 8 1 open/syncd N/A
hd7a sysdump 8 8 1 open/syncd N/A
hd10opt jfs2 8 16 2 open/syncd /opt
Remove the old multibos instance.
# multibos -R
Back to top
Migrating to AIX 6.1 using nimadm
Let's use 0.:;2: now to migrate an AIX system. Ensure that you document the system and
perIorm a mksysb beIore perIorming any maintenance activity. You know this already, right? But I
have to say it!
1"0 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
We will migrate a system Irom AIX 5.3 to AIX 6.1. The NIM master in this environment is running
AIX 6.1 TL3 SP2. Our NIM client name is aix1 (running AIX 5.3 TL7 SP5 and migrating to AIX
6.1 TL3 SP1) and the NIM masters name is nim1.
Ensure that you read the AIX 6.1 release notes and review the documented requirements such as
the amount oI Iree disk space required.
Prior to a migration, it is always a good idea to run the premigration script on the system to catch
any issues that may prevent the migration Irom completing successIully. You can Iind this script on
the AIX 6.1 installation media.
Run this script, review the output (in /home/premigration), and correct any issues that it reports
beIore migrating.
#./pre_migration
All saved information can be found in: /home/pre_migration.090903105452
Checking size of boot logical volume (hd5).
Your rootvg has mirrored logical volumes (copies greater than 1)
Recommendation: Break existing mirrors before migrating.
Listing software that will be removed from the system.
Listing configuration files that will not be merged.
Listing configuration files that will be merged.
Saving configuration files that will be merged.
Running lppchk commands. This may take awhile.
Please check /home/pre_migration.090903105452/software_file_existence_check
for possible errors.
Please check /home/pre_migration.090903105452/software_checksum_verification
for possible errors.
Please check /home/pre_migration.090903105452/tcbck.output for possible errors.
All saved information can be found in: /home/pre_migration.090903105452
It is recommended that you create a bootable system backup of your system
before migrating.
I always take a copy oI the /etc/sendmail.cI and /etc/motd Iiles beIore an AIX migration. These
Iiles will be replaced during the migration and you will need to edit them again and add your
modiIications.
Commit any applied Iilesets. You should also consider removing any iIixes that may hinder the
migration.
1"1 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
II rootvg is mirrored, I break the mirror and reduce it to a single disk. This gives me a spare disk
that can be used Ior the migration.
To allow 0.:;2: to do its job, I must temporarily enable rshd on the client LPAR. I will disable it
again aIter the migration.
# chsubserver -a -v shell -p tcp6 -r inetd
# refresh -s inetd
# cd
# rm .rhosts
# vi .rhosts
+
# chmod 600 .rhosts
On the NIM master, I can now 'rsh' to the client and run a command as root.
# rsh aix1 whoami
root
At this point I'm ready to migrate. The process will take around 30-45 minutes; all the while the
applications on the LPAR will continue to Iunction as normal.
On the NIM master, I have created a new volume group (VG) named nimadmvg. This VG has
enough capacity to cater Ior a Iull copy oI the NIM clients root volume group (rootvg). This VG
will be empty until the migration is started.
Likewise, on the NIM client, I have a spare disk which has enough capacity Ior a Iull copy oI its
rootvg.
On the master (nim1):
# lsvg -l nimadmvg
nimadmvg:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
On the client (aix1):
# lspv
hdisk0 0000273ac30fdcfc rootvg active
hdisk1 000273ac30fdd6e None
The Iileset bos.altdiskinstall.rte Iileset is installed on the NIM master:
# lslpp -l bos.alt_disk_install.rte
Fileset Level State Description
----------------------------------------------------------------------------
Path: /usr/lib/objrepos
bos.alt_disk_install.rte 6.1.3.1 APPLIED Alternate Disk Installation
1"2 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Runtime
And it is also installed in the AIX 6.1 TL3 SP1 SPOT:
# nim -o showres 'spotaix61031' | grep bos.alt_disk_install.rte
bos.alt_disk_install.rte 6.1.3.1 C F Alternate Disk Installation
The 0.:;2: command is executed Irom the NIM master.
# nimadm -j nimadmvg -c aix1 -s spotaix61031 -l lppsourceaix61031 -d "hdisk1" -
Y
Where:
j Ilag speciIies the VG on the master which will be used Ior the migration
-c is the client name
s is the SPOT name
-l is the lppsource name
-d is the hdisk name Ior the alternate root volume group (altinstrootvg)
Y agrees to the soItware license agreements Ior soItware that will be installed during the
migration.
Now I can sit back and watch the migration take place. All migration activity is logged on the NIM
master in the /var/adm/ras/altmig directory. For this migration, the log Iile name is
aix1altmig.log. Here's a sample oI some oI the output you can expect to see Ior each phase:
MASTER DATE: Mon Nov 9 14:29:09 EETDT 2009
CLIENT DATE: Mon Nov 9 14:29:09 EETDT 2009
NIMADM PARAMETERS: -j nimadmvg -c aix1 -s spotaix61031 -l lppsourceaix61031 -d
hdisk1 -Y
Starting Alternate Disk Migration.
+----------------------------------------------------------------------+
Executing nimadm phase 1.
+----------------------------------------------------------------------+
Cloning altinst_rootvg on client, Phase 1.
Client alt_disk_install command: alt_disk_copy -j -i /ALT_MIG_IMD -M 6.1 -P1 -d
"hdisk1"
Checking disk sizes.
Creating cloned rootvg volume group and associated logical volumes.
Creating logical volume alt_hd5.
Creating logical volume alt_hd6.
Creating logical volume alt_hd8.
Creating logical volume alt_hd4.
Creating logical volume alt_hd2.
Creating logical volume alt_hd9var.
Creating logical volume alt_hd3.
Creating logical volume alt_hd1.
Creating logical volume alt_hd10opt.
Creating logical volume alt_hd7.
Creating logical volume alt_local_lv.
1"3 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Creating logical volume alt_varloglv.
Creating logical volume alt_nmonlv.
Creating logical volume alt_chksyslv.
Creating logical volume alt_hd71.
Creating logical volume alt_auditlv.
Creating logical volume alt_nsrlv.
Creating logical volume alt_hd11admin.
Creating /alt_inst/ file system.
Creating /alt_inst/admin file system.
Creating /alt_inst/home file system.
Creating /alt_inst/home/nmon file system.
Creating /alt_inst/nsr file system.
Creating /alt_inst/opt file system.
Creating /alt_inst/tmp file system.
Creating /alt_inst/usr file system.
Creating /alt_inst/usr/local file system.
Creating /alt_inst/usr/local/chksys file system.
Creating /alt_inst/var file system.
Creating /alt_inst/var/log file system.
Creating /alt_inst/var/log/audit file system.
Generating a list of files
for backup and restore into the alternate file system...
Phase 1 complete.
+----------------------------------------------------------------------+
Executing nimadm phase 2.
+----------------------------------------------------------------------+
Creating nimadm cache file systems on volume group nimadmvg.
Checking for initial required migration space.
Creating cache file system /aix1_alt/alt_inst
Creating cache file system /aix1_alt/alt_inst/admin
Creating cache file system /aix1_alt/alt_inst/home
Creating cache file system /aix1_alt/alt_inst/home/nmon
Creating cache file system /aix1_alt/alt_inst/nsr
Creating cache file system /aix1_alt/alt_inst/opt
Creating cache file system /aix1_alt/alt_inst/tmp
Creating cache file system /aix1_alt/alt_inst/usr
Creating cache file system /aix1_alt/alt_inst/usr/local
Creating cache file system /aix1_alt/alt_inst/usr/local/chksys
Creating cache file system /aix1_alt/alt_inst/var
Creating cache file system /aix1_alt/alt_inst/var/log
Creating cache file system /aix1_alt/alt_inst/var/log/audit
+----------------------------------------------------------------------+
Executing nimadm phase 3.
+----------------------------------------------------------------------+
Syncing client data to cache ...
+----------------------------------------------------------------------+
Executing nimadm phase 4.
+----------------------------------------------------------------------+
nimadm: There is no user customization script specified for this phase.
+----------------------------------------------------------------------+
Executing nimadm phase 5.
+----------------------------------------------------------------------+
Saving system configuration files.
Checking for initial required migration space.
Setting up for base operating system restore.
/aix1_alt/alt_inst
1"# // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Restoring base operating system.
Merging system configuration files.
Running migration merge method: ODM_merge Config_Rules.
Running migration merge method: ODM_merge SRCextmeth.
Running migration merge method: ODM_merge SRCsubsys.
Running migration merge method: ODM_merge SWservAt.
Running migration merge method: ODM_merge pse.conf.
Running migration merge method: ODM_merge vfs.
Running migration merge method: ODM_merge xtiso.conf.
Running migration merge method: ODM_merge PdAtXtd.
Running migration merge method: ODM_merge PdDv.
Running migration merge method: convert_errnotify.
Running migration merge method: passwd_mig.
Running migration merge method: login_mig.
Running migration merge method: user_mrg.
Running migration merge method: secur_mig.
Running migration merge method: RoleMerge.
Running migration merge method: methods_mig.
Running migration merge method: mkusr_mig.
Running migration merge method: group_mig.
Running migration merge method: ldapcfg_mig.
Running migration merge method: ldapmap_mig.
Running migration merge method: convert_errlog.
Running migration merge method: ODM_merge GAI.
Running migration merge method: ODM_merge PdAt.
Running migration merge method: merge_smit_db.
Running migration merge method: ODM_merge fix.
Running migration merge method: merge_swvpds.
Running migration merge method: SysckMerge.
+----------------------------------------------------------------------+
Executing nimadm phase 6.
+----------------------------------------------------------------------+
Installing and migrating software.
Updating install utilities.
+----------------------------------------------------------------------+
Pre-installation Verification...
+----------------------------------------------------------------------+
Verifying selections...done
Verifying requisites...done
Results...
.output truncated..
install_all_updates: Generating list of updatable rpm packages.
install_all_updates: No updatable rpm packages found.
install_all_updates: Checking for recommended maintenance level 6100-03.
install_all_updates: Executing /usr/bin/oslevel -rf, Result = 6100-03
install_all_updates: Verification completed.
install_all_updates: Log file is /var/adm/ras/install_all_updates.log
install_all_updates: Result = SUCCESS
Restoring device ODM database.
+----------------------------------------------------------------------+
Executing nimadm phase 7.
+----------------------------------------------------------------------+
nimadm: There is no user customization script specified for this phase.
1"$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
+----------------------------------------------------------------------+
Executing nimadm phase 8.
+----------------------------------------------------------------------+
Creating client boot image.
bosboot: Boot image is 40952 512 byte blocks.
Writing boot image to client's alternate boot disk hdisk1.
+----------------------------------------------------------------------+
Executing nimadm phase 9.
+----------------------------------------------------------------------+
Adjusting client file system sizes ...
Adjusting size for /
Adjusting size for /admin
Adjusting size for /home
Adjusting size for /home/nmon
Adjusting size for /nsr
Adjusting size for /opt
Adjusting size for /tmp
Adjusting size for /usr
Adjusting size for /usr/local
Adjusting size for /usr/local/chksys
Adjusting size for /var
Adjusting size for /var/log
Adjusting size for /var/log/audit
Syncing cache data to client ...
+----------------------------------------------------------------------+
Executing nimadm phase 10.
+----------------------------------------------------------------------+
Unmounting client mounts on the NIM master.
forced unmount of /aix1_alt/alt_inst/var/log/audit
forced unmount of /aix1_alt/alt_inst/var/log
forced unmount of /aix1_alt/alt_inst/var
forced unmount of /aix1_alt/alt_inst/usr/local/chksys
forced unmount of /aix1_alt/alt_inst/usr/local
forced unmount of /aix1_alt/alt_inst/usr
forced unmount of /aix1_alt/alt_inst/tmp
forced unmount of /aix1_alt/alt_inst/opt
forced unmount of /aix1_alt/alt_inst/nsr
forced unmount of /aix1_alt/alt_inst/home/nmon
forced unmount of /aix1_alt/alt_inst/home
forced unmount of /aix1_alt/alt_inst/admin
forced unmount of /aix1_alt/alt_inst
Removing nimadm cache file systems.
Removing cache file system /aix1_alt/alt_inst
Removing cache file system /aix1_alt/alt_inst/admin
Removing cache file system /aix1_alt/alt_inst/home
Removing cache file system /aix1_alt/alt_inst/home/nmon
Removing cache file system /aix1_alt/alt_inst/nsr
Removing cache file system /aix1_alt/alt_inst/opt
Removing cache file system /aix1_alt/alt_inst/tmp
Removing cache file system /aix1_alt/alt_inst/usr
Removing cache file system /aix1_alt/alt_inst/usr/local
Removing cache file system /aix1_alt/alt_inst/usr/local/chksys
Removing cache file system /aix1_alt/alt_inst/var
Removing cache file system /aix1_alt/alt_inst/var/log
Removing cache file system /aix1_alt/alt_inst/var/log/audit
+----------------------------------------------------------------------+
1"6 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Executing nimadm phase 11.
+----------------------------------------------------------------------+
Cloning altinst_rootvg on client, Phase 3.
Client alt_disk_install command: alt_disk_copy -j -i /ALT_MIG_IMD -M 6.1 -P3 -d
"hdisk1"
## Phase 3 ###################
Verifying altinst_rootvg...
Modifying ODM on cloned disk.
forced unmount of /alt_inst/var/log/audit
forced unmount of /alt_inst/var/log
forced unmount of /alt_inst/var
forced unmount of /alt_inst/usr/local/chksys
forced unmount of /alt_inst/usr/local
forced unmount of /alt_inst/usr
forced unmount of /alt_inst/tmp
forced unmount of /alt_inst/opt
forced unmount of /alt_inst/nsr
forced unmount of /alt_inst/home/nmon
forced unmount of /alt_inst/home
forced unmount of /alt_inst/admin
forced unmount of /alt_inst
Changing logical volume names in volume group descriptor area.
Fixing LV control blocks...
Fixing file system superblocks...
Bootlist is set to the boot disk: hdisk1 blv=hd5
+----------------------------------------------------------------------+
Executing nimadm phase 12.
+----------------------------------------------------------------------+
Cleaning up alt_disk_migration on the NIM master.
Cleaning up alt_disk_migration on client aix1.
AIter the migration is complete, I conIirm that the bootlist is set to the 015W46653M disk.
# lspv | grep rootvg
hdisk0 0000273ac30fdcfc rootvg active
hdisk1 000273ac30fdd6e altinst_rootvg active
# bootlist -m normal -o
hdisk1 blv=hd5
At an agreed time, I reboot the LPAR and conIirm that the system is now running AIX 6.1.
# shutdown -Fr
; system reboots here.
# oslevel -s
6100-03-01-0921
# instfix -i | grep AIX
All filesets for 6.1.0.0_AIX_ML were found.
All filesets for 6100-00_AIX_ML were found.
1"" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
All filesets for 6100-01_AIX_ML were found.
All filesets for 6100-02_AIX_ML were found.
All filesets for 6100-03_AIX_ML were found.
At this point, I would perIorm some general AIX system health checks to ensure that the system is
conIigured and running as I'd expect. There is also a postmigration script that you can run to
veriIy the migration. You can Iind this script in /usr/lpp/bos, aIter the migration.
You may want to consider upgrading other soItware such as openssl, openssh, lsoI, etc at this stage.
The rsh daemon can now be disabled aIter the migration.
# chsubserver -d -v shell -p tcp6 -r inetd
# refresh -s inetd
# cd /
# rm .rhosts
# ln -s /dev/null .rhosts
With the migration Iinished, the applications are started and the application support team veriIy that
everything is Iunctioning as expected. I also take a mksysb and document the system conIiguration
aIter the migration.
Once we are all satisIied that the migration has completed successIully, we then return rootvg to a
mirrored disk conIiguration.
# lspv | grep old_rootvg
hdisk0 000071da26fe3bd0 old_rootvg
# alt_rootvg_op -X old_rootvg
# extendvg -f rootvg hdisk0
# mirrorvg rootvg hdisk0
# bosboot -a -d /dev/hdisk0
# bosboot -a -d /dev/hdisk1
# bootlist -m normal hdisk0 hdisk1
# bootlist -m normal -o
hdisk0 blv=hd5
hdisk1 blv=hd5
II there was an issue with the migration, I could easily back out to the previous release oI AIX.
Instead oI re-mirroring rootvg (above), we would change the boot list to point at the previous
rootvg disk (oldrootvg) and reboot the LPAR.
# lspv | grep old_rootvg
hdisk0 000071da26fe3bd0 old_rootvg
# bootlist -m normal hdisk0
# bootlist -m normal -o
hdisk0 blv=hd5
# shutdown -Fr
This is much simpler and Iaster than restoring a mksysb image (via NIM, tape, or DVD), as you
would with a conventional migration method.
1"8 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
S;83/M;42/
NETBACKUP : Fichier d`exclude
# /usr/openv/netbackup/excIude_Iist
NETBACKUP : Logs
# /usr/openv/netbackup/Iogs/
TSM : Tivoli Storage Manager
http://pubIib.bouIder.ibm.com/tividd/td/TSMC/GC32-0788-03/fr_FR/HTML/ans60013.htm
http://www.uw-madison.Ikams.kerneI.org/pub/mirrors/tsm/maintenance/server/v5r3/WIN/
l existe un outils externe a BM qui permet d'administret TSM : TSM MANAGER
#/usr/tivoIi/tsm/
l existe plusieurs variables necessaire au bon fonctionnement de l'appliquation, a savoir :
DSMWDIR Pointe vers le Iichier executable 21:5=;, les Iichiers de ressources et le Iichier dsm.sys.
DSMWCONFI+ Contient le chemin qualiIie complet et le nom de Iichier du Iichier d`options de l`utilisateur
client pour les utilisateurs qui creent leur Iichier d`options personnalise.
DSMWLO+ Pointe vers le repertoire dans lequel vous voulez que dsmerror.log, dsmwebcl.log et
dsmsched.logIile resident.
Plusieurs possibilitees d`accees au binaire :
dsmc : Binaire pour exec de commande
dsmadmc : Accees en ligne de commande
dsmj -optIile/app/admin/TSM/dsmORAPRD.opt : Accees en X
http://Irlpbck1:8421/ibm/deIaultconsole/!ut/p/.scr/Login : Accees en web
O<5.601 '
1"% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
-PASSWORD= : Indique le password pour la connection
-ARCHMC= : indique la classe de gestion disponible pour le domaine de
rgles auquel vous souhaitez associer vos fichiers
d'archive.
-subdir=yes : copie le contenue des repertoires et sous repertoires
-tapeprompt=no : Pas de prompt, aucune action/validation demande
- pitdate : Indique la date de sauvegarde a util. pour la restauration
- pittime : Indique un moment prcis a utiliser pour la restauration
- replace=all : Ecrase si fichier/repertoire deja present
- quiet : limite le nr de messages affichs l'cran.
- verbose : Inversse de quiet
- preservepath : permet d'indiquer la partie du chemin source qui doit tre
reproduite dans le nom de chemin du rpertoire cible lorsque
vous restaurez ou rcuprez les fichiers un nouvel
emplacement.
E>;:<@/ 2/ C6::;02/1 '
F;=J8< I.0=4/:/05;@Q 2.99/4/05./@K / 4/1564/
;4=N.3/ / 4/54./3/
Restauration/Retrieve la derniere version du fichier demand :
# dsmc restore /home/util1/h1.doc -latest
# dsmc retrieve /home/util1/h1.doc
Restauration/Retrieve dans un autre repertoire :
# dsmc restore /home/util1/h1.doc /home/util1/h2.doc
# dsmc retrieve /home/util1/h1.doc /home/util1/h2.doc
Restauration dun repertoire et de son contenue :
# dsmc restore /home/ -subdir=yes
Pour aIIicher les versions de sauvegarde actives et inactives :
# dsmc query backup "/home/*" -inactive
Restauration d`un repertoire complet a une date et un moment precis.
# dsmc restore "/fs1/*" -sub=y -pitdate=08/01/2005 -pittime=06:00:00
Sauvegarde en mode incremental de plusieurs repertoires
# dsmc incre -subdir=yes /app/applprd/ /app/tsfprd/
dsmc selective : Sauvegarde les Iichiers que vous indiquez.
dsmc incremental : Sauvegarde des fichiers en mode incrmental
dsmc archive : Archiver un fichier un repertoire
dsmc incre : Sauvegarde incremental
dsmc retrieve : Restore une archives
dsmc restore : Restore un backup
dsmc rest : Restore un backup
180 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
# dsmadmc -id=sullivan -password=secret -consolemode -outfile=save.out
# dsmadmc -id=sullivan -password=secret QUERY LOG
Une 1;83/M;42/ 2.99B4/05./@@/ sauvegarde les Iichiers qui ont ete modiIies depuis la derniere sauvegarde
integrale.
Si un Iichier est modiIie apres la sauvegarde integrale, il est sauvegarde de nouveau dans chaque
sauvegarde diIIerentielle suivante.
Tous les Iichiers sont sauvegardes au moment de la sauvegarde integrale suivante.
Une 1;83/M;42/ .0=4B:/05;@/ permet de sauvegarder uniquement les Iichiers ayant ete modiIies depuis la
derniere sauvegarde, quel que soit son type.
Si un Iichier est modiIie apres la sauvegarde integrale, il est sauvegarde uniquement dans la
sauvegarde incrementale suivante, et non dans les sauvegardes incrementales ulterieures.
Si aucune modiIication n`a ete apportee a un Iichier, le Iichier n`est pas sauvegarde.
TSM : Changement de lecteur LTO
# dsmadmc : Connection en mode commande
# query actlog begindate=10/02/2007 search="*I/O error*" Rechercher dans la log
%3O error on drive &4%$,2 (3dev3.!1+ wi!h volu.e 56#777"1 (O#8"O95:,1 ,rror ;u.<er8=>1 55=&)+1 ?,@8AA1
5B98AA1 5B9C8AA1 B,;B,8DD;O;,DD1 &escrip!ion8B9B% adap!er *ailure+.
The CC=205 reports that the device driver has detected a SCSI adapter error.
# query mount Des bande monte ?
# dismount volume AXPxxxL1 Si oui, on les demonte
# query library on note la library
# query drive et le lecteur concern
# update drive LIBOVL DRIVE2 online=no Desactive du lecteur
u+'te 'ri3e T/ibr") T'ri3e) on/ine1no
# halt Arret de tsm
# lsdev -Cc tape : On affiche les lecteurs de bandes definis
rmt Available !-"--#$ %ther S&S' (ape )rive
rmt# Available !-"--*$ %ther S&S' (ape )rive
rmt* Available !-"--+$ %ther S&S' (ape )rive
# rmdev -Rdl rmt1 : On supprime le device concern
# rmdev -Rdl mt1 : On supprime le device concern
!! Remplacement physique du lecteur LTO dans le robot de saucegarde !!
# cfgmgr : On detecte le changament de priphrique
# lsdev -Cc tape : On verifie la dfinition du nouveau lecteur
rmt Available !-"--#$ %ther S&S' (ape )rive
rmt1 Available 04-08-00-2,0 Other SCSI Tape Drive
rmt* Available !-"--+$ %ther S&S' (ape )rive
181 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
# mkdev -c adsmtape -t 'ADSM-SCSI-MT' -s 'scsi' -p 'scsi0' -w '2,0'
: On cre le device associ pour TSM
# /usr/tivoli/tsm/server/bin/dsmserv quiet
: On relance le serveur TSM
# dsmadmc : re-connection en mode commande
# update drive libovl DRIVE2 serial = XXXXXXXX online = yes
: Mise a jour du lecteur sous tsm
!! Verifier le lecteur en l'utilisant afin de valider l'operation !!
TSM Err : unexpected error 2 Ietching row in table "Archive.Objects"
Afficheril existe une solution simple a partir de la version 5.2.3 de TSM
The archive descriptions table(s) of the failing node needs to be
repopulated again.
This can be done by unconverting and re-converting the node
1. To unconvert the node:
# undo archconversion <nodename>
2. To re-convert the node:
# convert archive <nodename>
TSM : Divers commandes
# q lic # Afficher les licenses en cours.
# q user f=d # Afficher avec details la liste des users
# q spacet db f=d # Affiche les spaces table de la db tsm
# q vol AXP801L1 f=d # Affiche en detail les info de la bande 801
# q association # Affiche des assiation node/schedule/domaineR
# q schedule # Affiche de la planification
# q session # Affiche des sessions ouvertessur tsm
# q volume # Affiche tous les volumes de la base tsm
# q auditoccupancy # Espace utilise par tous les nodes
# q occupancy # Espace utilise par tous les nodes en detail
# q mount # Les bandes montes
# q log # l'espace de log
# q stgpool # Les storage pool
Afficher les postes clients affect a un domaine de regle
# query node * domain=<Domaine de regle>
Modifier l'appartence d'un poste client a un domaine de regle
# update node <poste client> domain=<nouveau domain>
Modifier le password d'un node
# update node <poste client> newpassword forcepwreset=yes
Debloquer un node
# unlock {node,admin}
182 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Supprimer un domaine de regle
# delete domain standard
TSM : Fichier de conIiguration client et serveur
# /usr/tivoli/tsm/client/ba/bin/dms.sys # Fichier de conf client
SEr3ernme FRCOBCF
COMMMet6o' TCCi+
TCCCort 1500
TCCSer3er''ress 10.5.#.55
C>SSEORD>CCESS AE@ER>TE
@ODE@>ME FRCOBCF1
# /usr/tivoli/tsm/server/bin/dsmserv.opt # Fichier de conf server
# /usr/tivoli/tsm/server/bin/dsmserv.dsk # Contients les fichiers des logs et bases
# /tsmdb/devconf.dsm # Fichier des devices (emplacement bandes)
# /tsmdb/volhist.dsm # Sequential volume usage history
TSM : Ajout d`un node
# reg node example.hpc2n.umu.se somekindofpassword passexp=30 userid=none
contact="owner=HPC2N; admin=Sys admins,sysop@hpc2n.umu.se; notify=2" domain=HPC2N
forcepwreset=yes
# define association HPC2N SERVERSCHED example.hpc2n.umu.se
Ajout d'un node example.hpc2n.umu.se avec le password somekindofpassword
au domaine de policy HPC2N
Puis (necessaire), definir une association avec un `schedule'
TSM : Augmentation de la taille d`une base en manuel
q db
Available Assigned Maximum Maximum Page Total Used Pct Max.
Space Capacity Extension Reduction Size Usable Pages Util Pct
(MB) (MB) (MB) (MB) (bytes) Pages Util
--------- -------- --------- --------- ------- --------- --------- ----- -----
40,000 40,000 0,000 680 4,096 10,240,00 9,832,840 96.0 96.0
On peut voir la taille de la base est egal a : 40 Giga
Que la taille reserv pour la base au niveau File System est aussi de 40 Giga
Que l'on peut l'etendre de 0 Mega
def dbv /tsmdb/tsmdbvol9.dsm f=5000
q db
extend db 5000
q db
183 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Dans la premier commande on defini un dbvolume nomm /tsmdb/tsmdbvol9.dsm
d'une taille de 5000 Mega (soit 5 giga). Selon le serveur, la commande sera
plus ou moins longue, en effet tsm creera un fichier de 5 giga et le formatera
au format Tsm.
Une fois cre on peut utiliser la commande q db pour apercevoir que tsm a
Reserve un espace de 5000 Mega, cela apparaitra dans la case Maximum Extension
Grace la commande extend db 5000 on demande a tsm d'utiliser la reservation
effectu prealablement avec le fichier precedement cre.
Un q db en fin de manipulation permet d'apercevoir le changement.
TSM : ModiIication du nombre de montage maximum
Par deIaut il existe une valeur sur chaque node qui indique combien de montage*
Il peut maximum prendre, un montage equivaut a une utilisation d`1 lecteur.
# q node <mon_node> f=d # chercher Maximum Mount Points Allowed:
# update node <mon_node> MAXNUMMP=3 # On change la valeur par 3 du nud desir
TSM : Suppression d`un node
# delete association <domain> <schedule> <node> # supp des associations du node
# delete filespace <node> * # supp des filespaces du node
# remove node <node> # supp du node en question
TSM : Procedure de recuperation d`une base apres crash
``` ATTENTION ;=5.60 2/1548=5.3/ ```
(1) Ouvir le Iichier volhist.dsm et chercher de quand date le dernier BACKUPFULL
Noter le n de la bande ainsi que la date et bien s`assurer qu`elle est dans le robot de sauvegarde.
(2) Ouvir le Iichier dsmserv.dsk copier les Iichiers avec le path complet des logs et bases
Exemple :
Pour les log nous avons 3 Iichiers
/tsmlog/tsmlogvol1.dsm
/tsmlog/tsmlogvol2.dsm
/tsmlog/tsmlogvol3.dsm
Pour les db nous avons 4 Iichiers
/tsmdb/tsmdbvol1.dsm
/tsmdb/tsmdbvol2.dsm
/tsmdb/tsmdbvol3.dsm
/tsmdb/tsmdbvol4.dsm
On Iormat l`ensemble avec la commande suivante :
# dsmserv loadformat 3 /tsmlog/tsmlogvol1.dsm /tsmlog/tsmlogvol2.dsm
/tsmlog/tsmlogvol3.dsm 4 /tsmdb/tsmdbvol1.dsm /tsmdb/tsmdbvol2.dsm
/tsmdb/tsmdbvol3.dsm /tsmdb/tsmdbvol4.dsm
3 pour le nombre de fichier de log et on lui indique lesquel (chemin complet)
4 pour le nombre de fichier de db et on lui indique lesquel (chemin complet)
18# // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Il ne reste plus qu`a lui demander de restaurer a la date desiree (1)
D`abord en mode preview pour bien s`assurer que tout Ionctionne bien.
# dsmserv restore db todate=09/10/2007 preview=yes
Puis sans preview, la manipulation peut durer assez logntemps selon la taille de la base (30mn, 4H)
# dsmserv restore db todate=09/10/2007 preview=no
Il reste maintenant a auditer les bandes qui n`existe plus dans la base, on peut le Iaire bande par
bande ou par storagepool
Avec la commande suivante l`on va identiIier le nom des 1564;M/ P66@
# q vol * dev=disk
Puis a Iixer` grace a la commande suivante chaque storage pool (il check que toutes les
sauvegardes sont bien la, si on a perdu des sauvegardes, il les eIIacers de la base tsm)
# audit vol stgpool=<Storage Pool Name> fix=yes
Exemple :
audit vol stgpool=DSK_BCK fix=yes
audit vol stgpoolDSK_OFFSITE fix=yes
audit vol stgpoolDSK_ARCHLOG fix=yes
ReIaire cette derniere commande au temps de Iois que vous avec de storage pool
La manipulation est Iinit l`on peut relancer tsm en mode quiet
TSM : Synchronisation de la base tsm avec les bandes Reel
Il peut etre interressant de re-synchroniser la base TSM avec les volumes reels dans le robot
Pour cela, 2 commandes existent.
Si l`on utilise des etiquettes a code barres il Iaut juste demander au robot de re-lire toutes
les etiquettes des bandes disponibles dans le robot et de mettre a jour si necessaire la base TSM
Si par contre, on n`utilise pas de lecteur de code barre, il va charger une par une chaque bande,
cela prendra donc beaucoup plus de temps) de plus) sur cette derniere commande) une fois le label
v"rifi") le volume demeure en attente 1us*u/, ce *ue le d"lai de validit" du montage expire. 8ous
pouve; gagner du temps en ex"cutant la commande DISMOUNT VOLUME afin d/obliger le d"montage
des volumes inactifs.
L`on utilisera donc de preIerence la 1
er
commande :
# audit library <tapelib> checklabel=barcode # tapelib etant le nom de la librairie
Quand a la seconde commande, veriIication sans barre code :
# audit library <tapelib> # tapelib etant le nom de la librairie
18$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
TSM : Estimation de la reorganisation de base de donnees
# estimate dbreorgstats . necessire 'Y3oir 'es +ri3i/e7es
# query process . +our 3oir /Ye3o/ution 'e / reQuette
# cancel process . >nnu/tion 'u +rocess 2si necessire4
Une Iois le process termine (peut duree tres longtemps, 8h par exemple), il Iaut rechercher dans les
logs le resultat, exemple :
# query actlog begindate=11/27/2007 search="estimate"
11*#%*0! 00&0-&-0 >@R1!%-I > 'tbse reor7ni?tion ,ou/' re'uce t6e
'tbse uti/i?tion b" n estimte' 12298 @B.
D.178/1 /5 2/3.=/1
Major/Minor Number
droits d'acces
nombre de lien
sur le Iichier
Proprio Groupe
major
number
minor
number
date et heure
de derniere
modiIication
Nom du Iichier
special
# ls -l /dev
brw-rw---- 1 root system 10, 9 Feb 7 14:57 hd1
brw-rw---- 1 root system 10, 6 Feb 7 16:40 hd2
crw-rw---- 1 root system 10, 6 Feb 7 14:57 rhd2
brw-rw---- 1 root system 10, 8 Feb 7 14:57 hd3
brw-rw---- 1 root system 10, 5 Feb 7 14:57 hd4
brw-rw---- 1 root system 10, 1 Feb 7 16:40 hd5
brw-rw---- 1 root system 10, 2 Feb 7 14:57 hd6
brw-rw---- 1 root system 10, 4 Feb 7 14:57 hd8
.
..
Vous reconnaissez si un Iichier special est en mode bloc ou caractere par la lettre = ou b qui existe
devant les droits d'acces.
Un Iichier special est caracterise par un major et un :.064 / 08:F/4.
Le :;T64 08:F/4 pointe vers le driver du peripherique qui doit tre inclu dans le noyau systeme.
Le :.064 08:F/4 est la representation compacte de l'adresse du peripherique.
# lvlstmajor
Permet de lister le prochain major numer libre
186 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
InIormation sur un Iichier
istat <fichier>
Inode 365 on device 10/8 File
Protection: rw-r--r--
Owner: 120(cft) Group: 120(cft)
Link count: 1 Length 0 bytes
Last updated: Tue Dec 2 14:36:26 2008
Last modified: Tue Dec 2 14:36:26 2008
Last accessed: Tue Dec 2 14:36:26 2008
Creation d`un ramdisk sur Aix
This must be done each boot:
(ne Ionctionne PAS en jIs2)
/usr/sbin/mkramdisk 512M
/usr/sbin/mkfs -V jfs /dev/ramdisk0
/usr/sbin/mount -V jfs -o nointegrity /dev/ramdisk0 /mountpoint
/usr/bin/chown -R user.group /mountpoint
Use as long as you wish and umount it with:
/usr/sbin/umount (-f) /mountpoint
II you want to delete it use:
/usr/sbin/rmramdisk /dev/ramdisk0
Pour se passer du prompt
/usr/sbin/mkIs -V jIs /dev/ramdisk0 E
y
E
Restaurer un Iichier/repertoire supprime
l existe un outils 'v52fsIist' disponible sur 4.x, 5.1, 5.2 and 5.3 qui permet de rcuprer
des fichiers/rpertoires supprims.
AX 4.x AX 5.1 AX 5.2 AX 5.3
JFS supported supported supported supported
JFS2 N/A supported supported supported
Une version d'valuation est disponible ici : http://www.compunix.com/products.htmI
Prix : compter environ 700 EUR
l est aussi possible pour les moins fortuner de jouer avec la commande fsdb
Steps to recover a deleted file
-------------------------------
18" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
1) "ls -id {dir}"
(where dir is directory where file resided)
Record INODE number for next step.
2) Unmount the filesystem.
3) "fsdb /{Mountpoint}" or "fsdb /dev/{LVname}"
(where Mountpoint is the filesystem mount point, and LVname is
the logical volume name of the filesystem)
4) "{INODE}i"
(where INODE is the inode number recorded in step 1)
This will display the inode information for the directory. The
field a0 contains the block number of the directory.
The following steps assume only field a0 is used. If a value
appears in a1, etc, it may be necessary to repeat steps #5 and
#6 for each block until the file to be recovered is found.
5) "a0b"
(moves to block pointed to by field "a0" of this inode)
6) "p128c"
(prints 128 bytes of directory in character format)
Look for missing filename. If not seen, repeat this step until
filename is found. Record address where filename begins. Also
record address where PRIOR filename begins. If filename does
not appear, return to step #5, and selecting a1b, a2b, etc.
Note that the address of the first field is shown to the far left.
Increment the address by one for each position to the right,
counting in octal.
7) "a0b"
(moves to block pointed to by field "a0" of this inode)
If the filename was found in block 1, use a1b instead, etc.
8) "p128e"
(prints first 128 bytes in decimal word format)
Find the address of the file to recover (as recorded in step 6)
in the far left column. If address is not shown, repeat until found.
9) Record the address of the file which appeared immediately PRIOR to
the file you want to recover.
10) Find the ADDRESS of the record LENGTH field for the file in step
#9 assuming the following format:
{ADDRESS}: x x x x x x x x x x ...
| | | | |-------- filename ------|
inode # --+----+ | |
| +-- filename length
record LENGTH --+
Note that the inode number may begin at any position on the line.
Note also that each number represents two bytes, so the address
of the LENGTH field will be `{ADDRESS} + (#hops * 2) + 1'
11) Starting with the first word of the inode number, count in OCTAL
until you reach the inode number of the file to be restored,
assuming each word is 2 bytes.
188 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
12) "0{ADDRESS}B={BYTES}"
(where ADDRESS is the address of the record LENGTH field found
in step #10, and BYTES is the number of bytes [octal] counted
in step #11)
13) If the value found in the LENGTH field in step #10 is greater than
255, also type the following:
"0{ADDRESS-1}B=0"
(where ADDRESS-1 is one less than the ADDRESS recorded in step #10)
This is necessary to clear out the first byte of the word.
14) "q"
(quit fsdb)
15) "fsck {Mountpoint}" or "fsck /dev/{LVname}"
This command will return errors for each recovered file asking if
you wish to REMOVE the file. Answer "n" to all questions.
For each file that is listed, record the associated INODE number.
16) "fsdb /{Mountpoint}" or "fsdb /dev/{LVname}"
17) {BLOCK}i.ln=1
(where BLOCK is the block number recoded in step #15)
This will change the link count for the inode associated with
the recovered file. Repeat this step for each file listed in
step #15.
18) "q"
(quit fsdb)
19) "fsck {Mountpoint}" or "fsck /dev/{LVname}"
The REMOVE prompts should no longer appear. Answer "y" to
all questions pertaining to fixing the block map, inode map,
and/or superblock.
``` R/=8<B4;5.60 2&80 9.=N./4 /99;=/4 ;3/= :;0.<8@;5.60
2/ @; 5;F@/ 2/1 .062/1 <684 AIX /0 ,FS ```
Les .062/1 (contraction de index et node ; en Iranais, n@ud dAindex) sont des structures de
donnees contenant des inIormations concernant les Iichiers stockes dans certains systemes de
Iichiers (notamment de type Linux/Unix). A chaque Iichier correspond un numero d'inode (i"
number) dans le systeme de Iichiers dans lequel il reside, unique au peripherique sur lequel il est
situe. Les inodes peuvent, selon le systeme de Iichiers, contenir aussi des inIormations concernant
le Iichier, tel que son createur (ou proprietaire), son type d'acces (par exemple sous Unix : lecture,
ecriture et execution), etc.
:J@3 -5 T91 -D 5/15 46653M 1
test
=491 -3 T91 -: /5:</5/15 -2 /2/3/5/15
Based on the parameters chosen, the new /tmp/test JFS file system
18% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
is limited to a maximum size of 134217728 (512 byte blocks)
New File System size is 262144
:6805 /5:</5/15
568=N /5:</5/15//11;./.5>5
3. /5:<//11;./.5>5 |bla bla bla on sauve|
@1 -@1; /5:</5/15
total 16
4 drwxr-sr-x 3 sys sys 512 Feb 15 12:56 .
4 drwxrwxrwt 6 bin bin 4096 Feb 15 14:00 ..
4 -rw-r--r-- 1 root sys 29 Feb 15 12:56 essaie.txt
4 drwxrwx--- 2 root system 512 Feb 15 12:56 lost+found
4: /5:</5/15//11;./.5>5
@1 -@1; /5:</5/15
total 16
4 drwxr-sr-x 3 sys sys 512 Feb 15 12:56 .
4 drwxrwxrwt 6 bin bin 4096 Feb 15 14:00 ..
4 drwxrwx--- 2 root system 512 Feb 15 12:56 lost+found
IO0 ;99.=N/ @&.062/ 2/ 0654/ 2.4/=564DK
@1 -.2 /5:</5/15
2 /tmp/test
IO0 2B:605/ 0654/ 9.@/1D15/:/K
8:6805 /2/3/5/15
IO0 @;0=/ @/ 91-2BF8M 184 0654/ 9.@/1D15/:/K
912F /5:</5/15
File System: /tmp/test
File System Size: 262144 (512 byte blocks)
Disk Map Size: 4 (4K blocks)
Inode Map Size: 4 (4K blocks)
Fragment Size: 4096 (bytes)
Allocation Group Size: 2048 (fragments)
Inodes per Allocation Group: 2048
Total Inodes: 32768
Total Fragments: 32768
IO0 ;99.=N/ @/1 .0964:;5.601 2/ @&.062/ 28 2.4/=564DK
2.
i#: 2 md: d-g-rwxr-xr-x ln: 3 uid: 3 gid: 3
szh: 0 szl: 512 (actual size: 512)
a0: 0x0d a1: 0x00 a2: 0x00 a3: 0x00
a4: 0x00 a5: 0x00 a6: 0x00 a7: 0x00
at: Wed Feb 14 11:40:19 2007
mt: Wed Feb 14 11:40:19 2007
ct: Wed Feb 14 11:40:19 2007
IO0 <61.5.600/ @/ =841/84K
1%0 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
;0F
0x000000d000 : 0x00000000 (0)
IE5 60 ;99.=N/ @/1 128 FD5/1 28 2.4/=564D ;8 964:;5 =;4;=5E4/K
<128=
0x000000d000: \0 \0 \0 \? \0 \? \0 \? . \0 \0 \0 \0 \0 \0 \?
0x000000d010: \0 \? \0 \? . . \0 \0 \0 \0 \0 \? \0 \? \0 \n
0x000000d020: l o s t + f o u n d \0 \0 \0 \0 \0 \?
0x000000d030: \? \0 \? t a d e l a c h a n c e
0x000000d040: . t x t \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0x000000d050: \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0x000000d060: \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
0x000000d070: \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
On note l`adresse du Iichier juste au dessus de celui que l`on veut restaurer.
Le Iichier que je veux restaurer : 5;2/@;=N;0=/.5>5
Le Iichier au dessus : @615R96802
Il ne Iaut pas oublier les champs inodes et autres, le Iichier au dessus commence donc
quelque part en Iin d`adresse : 0x000000d010 (pour tre exact = 0xd01c)
IO0 <61.5.600/ @/ =841/84K
;0F
0x000000d000 : 0x00000000 (0)
IE5 60 ;99.=N/ @/1 128 FD5/1 ;8 964:;5 a?642& /0 2/=.:;@K
<128/
0x000000d000: 0 2 12 1 11776 0 0 2
0x000000d010: 12 2 11822 0 0 16 488 10
0x000000d020: 27759 29556 11110 28533 28260 0 0 17
0x000000d030: 468 16 29793 25701 27745 25448 24942 25445
0x000000d040: 11892 30836 0 0 0 0 0 0
0x000000d050: 0 0 0 0 0 0 0 0
Selon ce schema
{ADDRESS}: x x x x x x x x x x ...
| | | | |-------- filename ------|
inode # --+----+ | |
| +-- filename length
record LENGTH --+
R 2&.096
Adresse 0 1 2 3 4 5 6 7 8 9 A B C D E F
_______________________________________________________________________________
0x000000d030: 468 16 29793 25701 27745 25448 24942 25445
__ __ __ __ __ __ __ __
/ \ / \ / \ / \ / \ / \ / \ / \
En hexa 01 D4 00 10 64

61 64 65 6C 61 63 68 61 6E 63 65
En charact ? ? ? ? t a d e l a c h a n c e
| | | | | |
Inode --------+--+ | | +-------- filename ----------------|
| |
1%1 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Record LENGTH ------+ +-- filename length
D60= <684 0654/ =;1
0x000000d010: 12 2 11822 0 0 16 488 10

488 qui est en Iaite l`inode du Iichier lostIound)
Si on recherche le champ inode pour notre Iichier on tombe en 0x000000d030
Et en 0x000000d030 on a 468
468 qui est l`inode en decimal de notre Iichier 5;2/@;=N;0=/.5>5
Pour inIo, en hexa : 01 D#
Si on prend notre tableau
0x000000d000: 0 2 12 1 11776 0 0 2
0x000000d010: 12 2 11822 0 0 16 488 10
0x000000d020: 27759 29556 11110 28533 28260 0 0 17
0x000000d030: 468 16 29793 25701 27745 25448 24942 25445
0x000000d040: 11892 30836 0 0 0 0 0 0
0x000000d050: 0 0 0 0 0 0 0 0
Et on compte combien de saut intermediaire il Iaut pour aller du champ 488 au champ 468
On a 10 sauts que l`on multiplie par 2 car l'aIIichage est Iait de 2 'word'
Ou alors on Iait juste la soustraction des deux adresses de nos 2 inodes : d030 d01c 14
Soit 20 en decimal on retombe donc bien sur notre (10 * 2)
Nous allons donc devoir placer la valeur 20 au lieu du 488
0>201=P1310"30
>201= : etant l`adresse de notre 488
1310"30 : ((10*2) * 65536 10)
20 : la diIIerence entre les 2 inodes (voir juste au dessus)
6$$36 : pour la base de calcul, ce qui permet de decaler de 2 word (2 octets) donc 16bits
65536 : \10000 : g1 00000000 00000000
10 : Reprendre la valeur qu`il y avait avant (voir tableau au dessus)
IO0 <61.5.600/ @/ =841/84K
;0F
IE5 60 ;99.=N/ @/1 128 FD5/1 ;8 964:;5 a?642& /0 2/=.:;@K
<128/
0x000000d000: 0 2 12 1 11776 0 0 2
0x000000d010: 12 2 11822 0 0 16 20 10
0x000000d020: 27759 29556 11110 28533 28260 0 0 17
0x000000d030: 468 16 29793 25701 27745 25448 24942 25445
0x000000d040: 11892 30836 0 0 0 0 0 0
0x000000d050: 0 0 0 0 0 0 0 0
1%2 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
I60 78.5K
7
I60 4/@;0=/ 80 =N/=JK
91=J /2/3/5/15
** Checking /dev/rtest (/tmp/t)
** Phase 0 - Check Log
log redo processing for /dev/rtest
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
Unallocated I=17 owner=root mode=100644
size=29 mtime=Feb 15 12:56 2007
file=/essaie.txt; REMOVE? n [repondre NON a toutes les questions]
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Inode Map
** Phase 6 - Check Block Map
Filesystem integrity is not guaranteed
8 files 8312 blocks 253832 free
Noter l'inode non affect de notre fichier, Unallocated I=17
912F /2/3/5/15
IO0 @;0=/ @/ 91 2BF85 184 0654/ 9.@/1D15/:/K
File System: /dev/test
File System Size: 262144 (512 byte blocks)
Disk Map Size: 4 (4K blocks)
Inode Map Size: 4 (4K blocks)
Fragment Size: 4096 (bytes)
Allocation Group Size: 2048 (fragments)
Inodes per Allocation Group: 2048
Total Inodes: 32768
Total Fragments: 32768
1"..@0P1
IO0 4/=4B/4 @/ @./0 184 @&.062/ /0 78/15.60K
17i.ln=1
0x0000020888 : 0x00000001 (1)
I60 78.5K
7
I60 4/@;0=/ 80 =N/=JK
91=J /2/3/5/15
** Checking /dev/rtest (/tmp/t)
** Phase 0 - Check Log
log redo processing for /dev/rtest
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Inode Map
Bad Inode Map; SALVAGE? Y [repondre OUI a toutes les questions]
** Phase 5b - Salvage Inode Map
** Phase 6 - Check Block Map
1%3 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Bad Block Map; SALVAGE? y
** Phase 6b - Salvage Block Map
9 files 8320 blocks 253824 free
***** Filesystem was modified *****
I60 4/:605/ @/ 9.@/1D15/:/ /5 60 ;99.=N/ 1605 =605/08/K
:6805 /2/3/5/15 Y @1 -@1; /5:</5/15
total 16
4 drwxr-sr-x 3 sys sys 512 Feb 15 12:56 .
4 drwxrwxrwt 6 bin bin 4096 Feb 15 14:00 ..
4 -rw-r--r-- 1 root sys 29 Feb 15 12:56 essaie.txt
4 drwxrwx--- 2 root system 512 Feb 15 12:56 lost+found
Recuperation d`un Iichier eIIacer en JFS2
Il est OBLIGATOIRE de connatre l`inode du Iichier eIIace, exemple
#lsvg -l rootvg |grep TEST
TEST Zfs# 1 1 1 o+en*s"nc' *tm+*TEST
#cp /etc/passwd /tmp/TEST/
#cat /tmp/TEST/passwd
root&[&0&0&7eneric(root&*root&*usr*bin*Bs6
WW
W
#ls -li /tmp/TEST/passwd
=% (r,(r((r(( 1 root securit" 1!!#! $u/ #- 10&15 *tm+*TEST*+ss,'
#rm -rf /tmp/TEST/passwd
#umount /tmp/TEST
#fsdb /tmp/TEST
#i 68
#m
W
M5N 'i_n/inB
c6n7e_ino'e& MmNo'if"V MeNV MtNreeV or eM<Nit
#5 1
#quit
#fsck /tmp/TEST
T6e current 3o/ume is& *'e3*TEST
Crimr" su+erb/ocB is 3/i'.
DDD C6se 1 ( Initi/ ino'e scn
DDD C6se # ( Crocess reminin7 'irectories
DDD C6se 3 ( Crocess reminin7 fi/es
DDD C6se - ( C6ecB n' re+ir ino'e //oction m+
Fi/e s"stem ino'e m+ is corru+t; FII\ "
Su+erb/ocB mrBe' 'irt" becuse re+irs re bout to be ,ritten.
DDD C6se 5 ( C6ecB n' re+ir b/ocB //oction m+
Ino'es not connecte' to t6e root 'irector"
tree 63e been 'etecte'. Ei// reconnect.
Fi/e s"stem is c/en.
Su+erb/ocB is mrBe' 'irt"; FII\ "
>// obser3e' inconsistencies 63e been re+ire'.
#mount /tmp/TEST
#cd /tmp/TEST/lost+found
#ls -l
(r,(r((((( 1 root s"stem 0 >u7 11 1#&3= !!
#mv 77 ..
1%# // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Taille d`un disque
( M/5=609 DIS]WSIhE /2/3/N2.1J2
AIIicher les devices dans un class speciIique
( @.152M4< 2.1J
Mise a jour systeme sous redhat
( 4<: --.:<645 /814/1N;4//4N0/RPM-+P+-]E)
( 8<22;5/ O2
Il est necessaire d`avoir un compte sur redhat.com
Pour voir/modiIier la conIiguration
( 8<22;5/ --06> -@
Generation du MBR sur linux
Il Iaut avoir de monter le Is qui contient les binaires de grub ainsi que /
Puis :
( M48F
4665 IN2>Q>K
1/58< IN20K
78.5
AIIicher les enIants d'un device
(`/F.0/1N
2/3.=/P\1
@12/3 -CF [0;:/'<;4/05[ LM4/< -? \1 L;?J -F['[ [^<4.05 ZRZ \1_[L1645 -0
Clonage d`un disque disque alterne`
AIX$2' ;@5W2.1JW.015;@@ OO O OC N2.1J1
AIX$3' ;@5W2.1JW=6<D OM OO O OC N2.1J1
AIX61' ;@5W2.1JW.015;@@ -C N2.1J1
La destination etant hdisk1 dans notre exemple
-O ne copie pas la base ODM
1%$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
On peut ainsi Iaire plusieurs clonages de rootvg sur diIIerents disques.
Il Iaudra bien sur renommer le dernier altdiskinstall avec la commande
( ;@5W2.1JW=6<D O3 ;@51 N2.1J1
Superblock corrompu
Chaque systme de fichiers possde deux superblock, un dans le block logique 1
et une copie dans le block logique 31.
Pour copier le block 31 vers le block 1
# dd count=1 bs=4k skip=31 seek=1 if=/dev/hd4 of=/dev/hd4
AIIicher les cartes PCI Raid de la machine
( 1:.55D <2;:
Recreer le repertoire lostIound sur un Is
# mklost+found
AIIicher tous les disques d`une carte Raid et l`etat
1.14;.2:M4 -L OT1 -@ 1.1.6;1
1.14;.2:M4 -L OT1 -@ N2.1J2
AIIicher toutes les cartes PCI Hot Plug et l`etat
( @11@65 -= <=.
Version du Iirmware de la machine
( @1:=62/ O=
The current permanent system Iirmware image is SF240219
The current temporary system Iirmware image is SF240219
The system is currently booted Irom the temporary Iirmware image.
Version de Firmware de l`ensemble des peripheriques
( .031=685
1%6 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Mettre a jour le Iirmware de la machine
Il existe 2 cote d`ammorcage pour le process de service
Un cote </4:;0/05 appele 0.3/;8 2/ 1;83/M;42/
Un Cote 5/:<64;.4/ appele 0.3/;8 .015;@@B
( @1:=62/ -=
( 2.;M
(3eme menu) Task Selection (Diagnostics, Advanced Diagnostics, Service Aids, etc.)
(30eme menu) M.=46=62/ T;1J1
D.1<@;D M.=46=62/ L/3/@, choisir SYS0
!he current permanent system firmware image is SF273)2+*
!he current temporary system firmware image is SF273)2+*
?orsque vous t5l5charge9 et que vous installe9 une mise B <our de microprogramme8 celle"ci est
install5e de maniCre temporaire <usquAB ce que vous l5installie6 d7finitivement.
:ous souhaitere9 peut"Dtre utiliser le nouveau niveau du microprogramme de serveur pendant un
certain temps afin de v7rifier quAil fonctionne correctement.
&ne fois que vous aure9 eu confirmation du bon fonctionnement du nouveau niveau du
microprogramme8 vous pourre9 installer d7finitivement la mise B <our du microprogramme.
Sache9 que vous ne pourre6 pas revenir au niveau qui figurait sur le cEt5 permanent si vous
installe9 d5finitivement la mise B <our du microprogramme
Les serveurs doivents tre en mode : a=65B 5/:<64;.4/&
Utiliser la commande suivante sur la hmc pour connatre le mode :
# lssyscfg -r sys -F "name,curr_power_on_side"
Server-9131-52A-SN062BDFG,temp
Server-9133-55A-SN65D988G,temp
Si ce n'est pas le cas, il est necessaire d'arreter et de redemarrer les
serveurs dans ce mode :
Dans le menu M;.05/0;0=/ 28 :.=46=62/ 1681 @.=/01/
M.1/ ; T684 28 :.=46=62/ 1681 @.=/01/
S/@/=5.60 F@;1N S.2/ IS8<<645 80.78/:/05K
Microcode InIormations
01SFXXXW)))Whhh
1%" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
XXX is the release level
))) is the service pac= level
hhh is the last disruptive service pac= level
NOTE: Les valaues du S/43.=/ P;=J& et du @;15 2.148<5.3/ 1/43.=/ <;=J @/3/@` ())) and hhh)
sont seulement unique dans un meme 4/@/;1/ @/3/@` (XXX).
Par exemple :
01SF23$W2$0W120
01SF2#0W2$0W200
Sont des 1/43.=/ <;=J1.` DiIIerents
Une installation est 2.148<5.3/ ` si :
(6) Les release @/3/@1` (XXX) sont diIIerents.
Ex: La release actuelement installe est SF225.
La nouvelle release est SF230
(6) Le service pack @/3/@` ()))) et le last disruptive service pack @/3/@` (hhh) sont egal
Ex : SF230120120 est 2.148<5.3/&, peut importe qu`elle level de SF230 est
couramment installe sur le systeme.
(6) Le 1/43.=/ <;=J @/3/@` ()))) couramment installe surle systeme est plus bas que @;15
2.148<5.3/ 1/43.=/ <;=J @/3/@` (hhh) du 1/43.=/ <;=J installe.
(6) Ex : Ex : S/43.=/ P;=J installe est SF230W120W120 et le nouveau 1/43.=/ <;=J est
SF230152130
Une installation est concurrent` si :
(6) Le service pack @/3/@` ()))) est plus haut que le service pack @/3/@` couramment installe sur
le systeme.
Ex: Le service pack couramment installe est SF230W126W120, Le nouveau 1/43.=/ <;=J` est
SF230W1#3W120
1%8 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Il est possible de le Iaire aussi en ligne de commande (si pas de hmc par exemple)
Il Iaut downloader le rpm du microcode desiree sur le site d`IBM et le deposer dans
le repertoire /tmp/ fwupdate
( 4<: -U3N --.M064/61 /5:</9?8<2;5//01SF2#0W332W201.4<:
( /814/@<</2.;M0615.=1/F.0/8<2;5/W9@;1N -9 01SF2#0W332W201
On peut aussi le Iaire a travers la commande 2.;M (conseille)
Choisir dans les menu :
T;1J S/@/=5.60 ID.;M0615.=1Q A23;0=/2 D.;M0615.=1Q S/43.=/ A.21Q /5=.
U<2;5/ ;02 M;0;M/ SD15/: F@;1N
V;@.2;5/ ;02 U<2;5/ SD15/: F.4:?;4/
Suivre les inIormations a l`ecran !
Version du Iirmware d`une carte Iibre
( @1=9M O3@ 9=10
Part Number.................LP9002L-F2
Serial Number...............MS24139662
Network Address.............10000000C92F818D
ROS Level and ID............02C03891
Device SpeciIic.(Z0)........2002606D
Device SpeciIic.(Z1)........00000000
Device SpeciIic.(Z2)........00000000
Device SpeciIic.(Z3)........02000909
Device SpeciIic.(Z4)........FF401050
Device SpeciIic.(Z5)........02C03891
Device SpeciIic.(Z6)........06433891
Device SpeciIic.(Z7)........07433891
Device SpeciIic.(Z8)........20000000C92F818D
Device SpeciIic.(Z9)........CS3.82A1
Device SpeciIic.(ZA)........C1D3.82A1
Device SpeciIic.(ZB)........C2D3.82A1
Device SpeciIic.(YL)........P1-I3/Q1
V/41.60 3.82 A1 28 9.4:?;4/
O8
( 9=15;5 9=10
Peu etre utiliser pour voir les erreurs
O8
1%% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
( @1:=6=2/ -2 9=1X
Model d`une carte
( @1=9M -3<@ 91=1.0
fscsi0 J1.1(C#(I-*R1 FC SCSI I*O Contro//er Crotoco/ De3ice
C5>TFORM SCECIFIC
@me& fibre(c6nne/
Mo'e/& 5C!000
@o'e& fibre(c6nne/Lc
De3ice T"+e& fc+
C6"sic/ 5oction& J1.1(C#(I-*R1
AIIicher les attributs d`un device
( @1;554 -E -@ 4:50
b/ocB_si?e 10#- B5OCF si?e 2013rib/e /en7t64 True
com+ress "es Jse 't COMCRESSIO@ True
'ensit"_set_1 39 DE@SITG settin7 .1 True
'ensit"_set_# 1-0 DE@SITG settin7 .# True
e<tfm no Jse EITE@DED fi/e mrBs True
mo'e "es Jse DESICE BJFFERS 'urin7 ,rites True
ret_error no @*> True
et si on veut connatre les valeurs possibles pour une variables
( @1;554 O@ 4:50 O; F@6=JW1.X/ OR
3...27,/63 FG+H
Sysdump (LV pour sauvegarde de dump lors de crash)
# 1D128:<2/3
et pour le changer
# 1D128:<2/3 O< /2/3/N2.1J" -P
-< <684 <4.:;.4/
-1 <684 1/=602;.4/
-P <684 </4:;0/05
On aIIiche la taille du sysdump necessaire :
# 1D128:<2/3 -/
Estimated dump size in bytes: 516 318 822
On cherche les LV tagues 'sysdump'
@13M -@ 46653M LM4/< 1D128:<
rootvg:
(d4 sysdump -- -- - open/syncd %/!
(d4- sysdump -- -- - open/syncd %/!
200 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
On calcul la taille des LV au dessus
@13M 46653M
On note le PP size et on multiplie par la taille des LV tagues 'sysdump' (juste au dessus)
donc 11 * 32 352 Mo
donc on a 2 LV (hd7 et hd71) tague en 'sysdump' qui on une taille de 352 Mo
Le probleme c'est qu'il Iaut au moins 516 Mo (voir commande sysdumpdev juste au dessus)
donc il Iaut juste augmenter la taille du LV et comme ce n'est pas un FileSystem on ne
l'augmente PAS avec chIs mais avec la commande extendlv, la syntaxe est la suivante :
exemple : />5/02@3 5858LV 2 N2.1J0 N2.1J1
On calcul combien de PP on va rajouter au 2 LV pour qu'il soit de la taille desiree.
516Mo - 352Mo 164 Mo
164Mo / 32PP 5.125
On aIIiche les disques du vg RootVG
@13M -< 46653M
89_%!*E 89 S"!"E "$"!, 88s )REE 88s )REE #S"R#:U"#$%
(disk; active <=/ -/> ;/'';;'';;''.?''-;@
(disk- active <=/ -/@ ;='';;'';;''.?''-;@
On rajoute donc 6 PP au 2 LV (hdisk7 et hdisk71) sur les disques notes au dessus (lsvg -p rootvg)
/>5/02@3 N2" 6 N2.1J0
/>5/02@3 N2"1 6 N2.1J1
On peut ensuite veriIier que la taille des LV concernes a bien ete modiIie
@13M -@ 46653M LM4/< 1D128:<
On peut, selon la machine, lancer le script sans attendre 23h30 et veriIier que tout ce passe bien.
Ensuite on ira veriIier le log /var/adm/dodisk.log
On peut aussi valider la compression du core avec la commande :
1D128:<2/3 -C
Sauvegarder un core
1D128:<2/3 -L
1;3/=64/ -2 G3/41W:60W4/<H
Desactiver/activer TCB : Trusted Computing Base
# Desactiver (et utilisation de nimadm par exemple)
( 62:M/5 -7 ;554.F85/PTCWSTATE P2A5 L 1/2 [1/5=FW/0;F@/2/5=FW2.1;F@/2/[ L 62:=N;0M/ -6
P2A5 -7 ;554.F85/PTCWSTATE
# Et apres migration on re-active
201 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
( 62:M/5 -7 ;554.F85/PTCWSTATE P2A5 L 1/2 [1/5=FW2.1;F@/2/5=FW/0;F@/2/[ L 62:=N;0M/ -6
P2A5 -7 ;554.F85/PTCWSTATE
AIIiche les inIormations d`un FS (nbpi, big Iile.)
@191 O7 GN6:WD8WFSH
Deverouiller un VG
=N3M O8 46653M
EIIacer le boot reccord d`un disk
( =N<3 O= N2.1J1
ou
( :JF665 -= -2 /2/3/N2.1J0
Interroger la base ODM sur un Disque
62:M/5 O7 a0;:/PN2.1J1& C8D3
62:M/5 O7 a0;:/PN2.1J1& C8A5
R/</456.4/ 2/ @; F;1/ ODM //5=/6FT4/<61
On peut aussi interroger la base ODM sur d`autre chose que des disks, exemple des LV
Avoir des inIormations sur un peripherique
lscfg -vp -l <periph>
exemple :
lscfg -vp -l hdisk0
DEVICE LOCATION DESCRIPTION
hdisk0 11-08-00-8,0 16 Bit LVD SCSI Disk Drive (18200
MB) // disque Interne
Manufacturer................IBM
Machine Type and Model......IC35L018UCDY10-0
FRU Number..................55P4114
ROS Level and ID............53323547
Serial Number...............E2VG01EC
EC Level....................H32224
Part Number.................07N8839
Device Specific.(Z0)........000003029F00013A
....
DEVICE LOCATION DESCRIPTION
hdisk81 21-08-3T-0,1 HITACHI disk Open LUSE // disque Externe
202 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Manufacturer................HP
Machine Type and Model......OPEN-E*2
ROS Level and ID............2109
Serial Number...............0450F6630129
Device Specific.(Z0)........2F
Pour augmenter la taille d`une partition Dynamiquement
Il faut dj connatre la taille du ppsize du LV, donc on fait un lslv <LV>
Si mon LV un ppsize de 64 megabytes, si je lui entre 409600, il va me crer un
fileSystem de 409600 * 0,64 = 2621440 Ko soit un FileSystem de 256Mo.
on peut sur aix 5.2 `ajouter' au fs dj existant, exemple
-a size=+200M /usr
il rajoutera 200 mega a /usr
on peut aussi parler en PP, en rajouter 1 par exemple.
-a size=+1 /usr
on peut aussi diminuer la taille du fs
chfs -a size=-512M /usr
chfs -a size=-$((3*32*2048)) /tutu
`la taille des PP etant de 32Mega', on enleve 3pp au fs tutu
chfs -a size='409600' /usr
il va porter le fs /usr a `409600' block de 512k de PP size
donc si on veut rajouter 1 PP sur un LV
chfs -a size=+$((6x64x2048))) /usr
6 = nbr de LP que l'on veux rajouter
64 = taille d'un PP du VG
On verifie en tapant un simple lslv <LV>
Et on regarde a gauche le nombre de LPs
Le chiffre de droite PP correspond au nbr de PP pris au total
Donc si le LV est en mirror et qu'on rajoute 2 LP, on aura un rajout de 2 LP a
gauche et un rajout de 4 PP a droite.
!! Il existe 2 variables qui peuvent empcher l'augmentation d'un File system !!
!! le nbr de PP restant sur le VG du LV
!! et le nbr de LP du LV
On peut les voir en tapant
lsvg tutuvg
lslv tutulv
Pour augmenter le nbr de PP sur un VG il faut rajouter des Disques
Pour augmenter le nbr de LP sur un LV il faut utiliser la commande :
chlv -x 1024 tutulv

Exemple, on veux augmenter un FS a 12Giga donc 12000 mega
Donc : 12000 x 2 x 1024 = `taille_a_entrer_avec_chfs'
203 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Donc : chfs -a size='2457600' /tutu
AIIicher les unitees Scsi
lsdev -Cs scsi -H
Changer un point de montage d`un FS
chfs -m /nouveau /ancien
(ca evite de modifier /etc/filesystems)
Comment cloner rootvg
alt_disk_install -C hdisk1
Il va copier le rootvg actuel sur hdisk1
-C = clone de rootVG
Les points de montage sur AIX
Se trouvent dans :
/etc/exports
/etc/filesystem
On peut les voir en tapant tout simplement mount
AIIicher tous les Iile Systemes avec leurs tailles
lsfs
affiche tous les file systmes
lsfs -q <nomDuFileSystem>
affiche toutes les infos du FS
Fichier montage de FileSysteme
Pas de fichier /etc/vfstab sur Aix
Le fichier est remplac par /etc/filesystems
Reparation d`un FS
fsck -y /dev/hd4
A effectuer normalement sur le raw et une fois le filesystem dmont
Mais cela fonctionne aussi directement sur le point de montage sous AIX
Et aussi a fonctionne a chaud, sans dmontage.
DeIragmentation d`un FS
defragfs /tutu
Affiche l'tat en cours de la defragmentation
20# // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
defrags -q /tutu
AIIichage des cartes controllers
lsdev -Cc adapt* |grep Controller
AIIichage des cartes controllers
cfgmgr -vl <name>
Specifies the named device to configure along with its children
lance un diag Dagnostic Programs` sur le device scdisk0
diag -d scdisk0 -c
Savoir si un Disque est utiliser par quelqu`un d`autre
dd if=/dev/hdisk1 of=/dev/null count=34
34+0 records in
34+0 records out
Indiquera que le disque est libre
dd: /dev/hdisk9: Device busy
Indiquera que le disque est utilise
AIIichage inIormations Disques Dur
lscfg -vp |grep hdisk
Creation de device sur linux
Exemple de creation des device sda
cd /Dev
MKDEV sda
Recreer un initrd
mkinitrd -o /boot/initrd-2.6.7 /lib/modules/votre_nouveau_noyau
http://www.trustonme.net/didactels/285.html
Re-synchroniser le VG
syncvg -v rootvg
resynchro complete du VG
syncvg -l tutulv
resynchro du VG sur un LV
20$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
AIIicher la taille de tout les reps du Fs en cours
# find ./ -xdev -type d ! -inum 2 -exec du -sk * {} \;
Rechercher tous les Iichier en 666
# find / -perm 666 ! -type l -exec ls -al {} \;
# find / -type f -user 600 -print
-name recherche sur le nom du fichier,
-perm recherche sur les droits d'accs du fichier,
-links recherche sur le nombre de liens du fichier,
-user recherche sur le propritaire du fichier,
-group recherche sur le groupe auquel appartient le fichier,
-type recherche sur le type (d=rpertoire, c=caractre, f=fichier normal),
-size recherche sur la taille du fichier en nombre de blocs (1
bloc=512octets),
-atime recherche par date de dernier accs en lecture du fichier,
-mtime recherche par date de dernire modification du fichier,
-ctime recherche par date de cration du fichier.
On peut combiner les criteres avec des operateurs logiques :
Formatage disquette Linux
# fdformat /dev/fd0
# mkfs -t ext2 -c /dev/fd0
On peut aussi changer la geometrie et donc le format, ici
on passe de 1.44Mega a 1.72Mega (donc 82 tracks, 21sec/track)
# setfdprm /dev/fd0 1722/1440
# fdformat -n /dev/fd0
AIIicher le WWN World Wide Number
Iscfg vI fcs0
Equivalent TRACEROUTE (Solaris 2.6)
ping -sRv hostname
Erreur LogicalVolume LV
Erreur lors de la creation du LV "minor number already in use"
Et ensuite impossible de detruire le LV ni de faire quoi que ce soit avec
Il faut re-synchroniser la base odm sur ce periph
s/nclvod# D?-E D2?E
Formatage d`un journal de transaction
logform /dev/hd8
206 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
S/=84.5B
AIIicher/editer les limits systems d`un user
ulimit -a
et pour les changer, diter le fichier
/etc/security/limits
Sup des limits d`un User sur la machine
Supprime tous les Ilags en Iaite.
pwdadm -c <user>
ou
chpasswd -c<user>
Changement d`un password en dur
echo ingdire:toto | chpasswd
VeriIiIcation de la coherence systemes
V/4.9.=;5.60 <;11?642 ' <?2=J OD ALL
V/4.9.=;5.60 M468< ' M4<=J -D ALL
V/4.9.=;5.60 81/4 ' 814=J -D ALL
814=JQ<?2=JQM4<=J ^ -nL -pL -tL -y_ ^ALL LUser''._
-n Reports errors but does not Iix them.
-p Fixes errors but does not report them.
-t Reports errors and asks iI they should be Iixed.
-y Fixes errors and reports them.
Creation de groupe
mkgroup -A id=3820 csa
Lister les groupes
dispgid
Creation de user
mkuser id=3821 pgrp=csa home=/home/csa shell=/bin/ksh csa
authoriser le su d`un user
rajouter juste le user dans le groupe system car juste le groupe system est
autoriser a faire des su.
20" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Fichier /etc/groups
Empecher le login en sur Aix
Crer Ie fichier /etc/noIogin
ModiIier le gecos` d`un utilisateur
chfn <user>
le Gecos est juste utiliser comme extra info pour un user.
AIIicher les users en ligne avec identiIication
finger
Sudo
http://www.sudo.ws/sudo/download.html
Si probleme de password, bien vrifier dans le fichier sudoers du hostname
Visudo
Host_Alias SERV_LOCAL = cldhcp1
[[[ c/'6c+1 1 Corres+on' u 6ostnme 'e / mc6ine [[[
e<em+/e 'e conf +our uti/isteur s37s"s
User_Alias SVGSYS = svgsys
Cmnd_Alias CMD_SVGSYS = /home/svgsys/bin/CreaMksysbNim.ksh
SVGSYS SERV_LOCAL=NOPASSWD: CMD_SVGSYS
/!\ ATTENTION, KEY SENSITIVE
Qui est dans ce repertoire actuellement ?
fuser <tutu>
N.I.M
VeriIication de ressource (spot, lpp, Iileset dans un spot, niveau spot.)
Verification d'un niveau 'oslevel' d'un spot
# nim -o fix_query aix615_spot| grep ML
Vrification des filesets manquant dans un spot
208 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
#nim -o fix_query -a fix_query_flags="cq" aix615_spot | grep ":-:"
verification d'un lpp
# nim -o lppchk -a lppchk_flags="-c -m3" aix615_lpp
Rajout d`un Iileset dans un spot
# smitty nim_res_op
choisir ~ cust perIorm soItware customization
choisir le lpp qui contiens le(s) Iilesets (ou le cd)
dans Iileset name : entre le(s) Iileset a installer, exemple : F61.;@5W2.1JW.015;@@
ne pas oublier de [ACCEPT new license agreements'
ou en ligne de commande :
# nim -o cust -a lpp_source=aix539_lpp -a installp_flags=-agY -a filesets=bos.alt_disk_install
aix539_spot
Utiliser SSL avec nim
Le master et client Nim doivent etre en 5.3 minimum et utilis le proto nimsh
Sur le Master
# smitty nim_ssl
Enb/e Cr"+to7r+6ic >ut6entiction ena7le
Inst// Securit" SocBet 5"er Soft,re 2SS5334 \ /es
F F
F
# cd /ssl_nimsh/configs
# vi /client.cnf
encr"+t_Be" 1 "es
out+ut_+ss,or' 1 T+ss,or'))
# make -f /usr/samples/nim/ssl/SSL_Makefile.mk <client>
Sur le(s) client(s)
# smitty nim_config_services
Communiction Crotoco/ use' b" c/ient Mnims6N
Enb/e Cr"+to7r+6ic >ut6entiction Menb/eN
Inst// Secure SocBet 5"er Soft,re 2SS5334\ M"esN
W
W W
Sur le Master
# /usr/samples/nim/ssl/certpasswd
/!\ Il est plus que conseiller de crer un nouveau certificat tout les mois
20% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Sur le master
# make -f /usr/samples/nim/ssl/SSL_Makefile.mk <client>
Sur chaques clients
# nimclient -c
Recherche d`un Iix dans un spot
nim -o fix_query -a fixes="IY94368" SPOT_AIX5_1_ML9_bytelv1
Lister les ressources NIM
lsnim -t spot
choix possible :
nim_script boot dump lpp_source
installp_bundle fix_bundle bosinst_data image_data
mksysb script spot
..
...
AIIicher toutes les vlans deIinis dans nim
lsnim -t ent
tok
ent
fddi
generic
atm
Supprimer une machine des ressources NIM
nim -o remove <Ma_Machine>
si probleme lors de la suppression
/usr/sbin/nim -o remove -a rm_image=yes <la ressource>
Redeclarer le serveur sur le Master NIM
niminit -a name=<hostname_du_serveur> -a master=clay2nim
Distribuer une ressource du master nim sur un client
nimclient -o cust -a lpp_source=LPP_DOMINO -a filesets='Scan.Mail.rte
26.54.0000.0000' -a installp_flags=-acNgX
si cela ne fonctionne pas, changer le protocole du client
passer de nimsh a shell
210 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Desalouer des ressources NIM
nim -o reset -F nom_du_serveur
ou
nim -o reset force=yes nom_du_serveur
nim -o deallocate -a subclass=all nom_du_serveur
Execution d`une commande via nimsh
Execution d'une commande via protocole nim sur une des ressources serveur.
nim -o lslpp <mon serveur>
nim -o lslpp tutu53
Creation d`un mksysb
MJ1D1F 2/T; =4B/ /5 <4B1/05 /0 @6=;@Q =4B;5.60 2/ @; 4/11684=/ 0.:.
nim -o define -t mksysb -a server=master -a
location=<chemin_et_nom_du_fichier_mksysb> <NOM_de_la_ressource>
C4B;5.60 28 :J1D1F /0 2D0;:.78/.
nim -o define -t mksysb -a source=<Serveur__cloner> -a server=master -a
location=<chemin_et_nom_du_fichier_mksysb> <NOM_ressource>
Creation d`un mksysb distant a partir du Nim
nim -o define -t mksysb -aserver=master \
-alocation=${Chemin_Nom_du_mksysb} \
-asource=${nom_du_client} \
-amk_image=yes \
-acomments="${comment}" >> ${log} 2>> ${log_errer}
On peut aussi sauver un autre vg que rootvg
nim -o define -t savevg -aserver=master \
-alocation==${Chemin_Nom_du_mksysb} \
-asource=${nom_du-client} \
-amk_image=yes \
-avolume_group=${nom_du_VG} \
-acomments="${comment}" >> ${log} 2>> ${log_errer}
Awk_image = CREATE volume group backup image
Specify whether the system backup image should be created when the
savevg resource is being defined. The default is "no".
211 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Select "yes" if the the system backup image to be associated with
this savevg resource should be created as part of this operation.
Select "no" if the system backup image to be associated with this
savevg resource already exists.
Il n'est pas necessaire d'avoir un montage NFS de dispo car tous pass par le
protocole de nim.
Creation d`un mksysb bootable
Sur bande bootable :
#/usr/bin/mksysb -eivX /dev/rmt0 > /var/adm/mksysb.log 2>&1
Ou sur disque :
# /usr/bin/mksysb '-m' '-v' '-i' '-X' /MKSYSB/mksysb_breha53 >
/MKSYSB/mksysb_breha53.log 2>&1
On peut aussi utilise l'option -p pour ne pas compresser l'image gener.*
* des problemes peuvent ainsi etre evits, exemple :
UnpacG+ internal unpacGing error+ decode failure
,estore+ 0ut of 3paceHH
Le fichier /etc/exclude.rootvg contiens les repertoires a ne pas
Sauver dans rootvg.
Taille max d'un bosboot pour (secteur de boot) :
Aix 5.2 : 12Mo
Aix 5.3 : 30Mo
Creation du image.data
Creation du fichier /image.data qui contiens l'ensemble des informations
systemes y compris le mapping des LV en vue d'etre utilis via bosinstall pour
recreer les informations des LV sur des data existant
# mkszfiIe -X -m
VeriIication ressource mksysb
# restore Tqvf <ressourceMksysB>
Creation d`un Iichier listant tous les Iichiers de rootvg
# restore Tqvf <ressourceMksysB> > /tmp/Iiste.txt
ou
# mksysb -v -m -p -I /dev/nuII > /tmp/Iiste.txt
ou
# find / -exec Is Id {} /; > /tmp/`hostname`_IisteFiIe.txt
212 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Sauvegarde sur bande rmt
# cd /home/giants
# mt -f /dev/rmt1 rewind # Rembobine rmt0
# tar cvf /dev/rmt0 . # Sauve Ie contenue de mon repertoire en cours
# mt -f /dev/rmt1 rewind # Rembobine rmt0
# tar -tvf /dev/rmt0 # On affiche Ies fichiers sauvs sur rmt
# tar -xvf /dev/rmt0 . # On restaure ici si necessaire
Restauration d'un mksysb
On part du principe que le mksysb est present sur un disque qui ne vas pas tre touch,
exemple sur un DATAVG.
Lors de la prise du mksysb, un fichier image.data est cre, il est incorpor au mksysb a la racine.
l contiens une image precise de rootvg (qu'elle disques, miror ou pas, taille des LP, des PP...)
l peut arriver qu'on est besoin de modifi ce fichier pour restorer l'image.
restore -qxf mksysb ./image.data
alt_disk_install -d '/exportlg/sauvegarde_systeme/mksysb' -i
'/exportlg/sauvegarde_systeme/image.data' -P 'all' hdisk0
On restore le fichier image.data de l'image mksysb
on le modifie en fonction...
VG_SOURCE_DISK_LIST=
CONNECTION=
PVID=
HDISKNAME=
LPs=
PP=
MIRROR_WRITE_CONSISTENCY=
...
on lance la restauration avec la commande alt_disk_install
option -d (pour lui donner le nom de l'image mksysb)
option -i (pour lui donner le nom du fichier image.data)
option -P (pour lui indiquer les phases a effectuer)
et en dernier le(s) disque(s) sur lequel on veut restaurer l'image,
Enlever une sauvegarde mksysb
sur le serveur nim, faire un crontab -l |grep mksysb, relever les groupes
faire un lsnim -l <du_groupe> pour chercher la machine a enlever
Taper ensuite nim_grp puis change/show characteristics of a group
Choisir le groupe puis choisir dans member to remove les machines a supprimer
Probleme lors de restauration de mksysb
Lors de la creation de ressource mksysb avec smitty
On peut avoir une erreur de type : mksysb as a file type of 0000xxxx
Il faut verifier que le mksysb est coherent, ne pas utiliser de PATH en NFS
previlegier le montage en local
213 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
AIIicher l`etat d`une install nim
lsnim -a info <ma_machine>
lsnim -a comments <ma_machine>
lsnim -l mksysb_pcyy2pro
etc.
Creer le Iichier /etc/niminIo
Sur le client, excuter la commande suivante !
niminit -a name=pcyzz03d -a master=pcyy1nim
ou pcyzz03d est le client
et pcyy1nim est le serveur nim
Reset et boot sur reseau pour boot sur serveur NIM
F665@.15 -: 064:;@ /050 M;5/?;DP12%.3$.21.1 F1/43/4P12%.12.2.10 =@./05P12%.3$.%.23 1<//2P100 28<@/>P98@@
21# // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
TIPS
Raid and co
RAID 0 ' stripig
Dans cette configuration, les donnes sont rparties par bandes
(stripes en anglais) d'une taille fixe.
Cette taille est appele granularit
Exemple : avec un RAD 0 ayant une bande de 64 ko et compos
de quatre disques, si l'on veut crire un fichier de 384 ko, le
fichier sera dcoup en 6 bandes (A, B, C, D, E et F) de 64 ko qui
seront rparties sur l'ensemble des disques de la faon
suivante disque 1 : AE disque 2 : BF disque 3 : C disque 4 : D
Ainsi l'criture du fichier pourra tre effectue simultanment sur
chacun des disques et un cot quivalent l'criture de 128ko
Ce type de RAD est parfait pour des applications requrant un
traitement rapide d'une grande quantit de donnes. Mais cette
architecture n'assure en rien la scurit des donnes ; en effet, si
l'un des disques tombe en panne, la totalit des donnes du
RAD est perdue. Cela fait du RAD 0 une solution moins fiable
que l'utilisation d'un seul disque de stockage, puisque la
probabilit de dfaillance d'un des disques du RAD est largement
suprieure la probabilit de dfaillance d'un disque unique.
RAID 1 ' mirrorig
Le RAD 1 consiste en l'utilisation n de disques redondants (avec
). Chaque disque de la grappe contenant tout moment
exactement les mmes donnes, d'o l'utilisation du mot
Mirroring
Capacit :
La capacit totale est gale celle du plus petit lment de la
grappe. L'espace excdentaire des autres lments de la grappe
restera inutilis. l est donc conseill d'utiliser des lments
identiques.
FiabiIit :
Cette solution offre un excellent niveau de protection des
donnes. Elle accepte une dfaillance de n ~ 1lments.
Cot :
Les cots de stockage sont levs et directement proportionnels
au nombre de miroirs utiliss alors que capacit totale reste
inchange. Plus le nombre de miroirs est lev, et plus la scurit
augmente, mais plus son cot devient prohibitif.
Les accs en lecture du systme d'exploitation se font sur le
disque le plus facilement accessible ce que n'importe quel
disque soit interchangeable tout moment. Lors de la dfaillance
de l'un des disques, le contrleur RAD dsactive, de manire
transparente pour l'accs aux donnes, le disque incrimin.
Une fois le disque dfectueux remplac, le contrleur RAD
reconstitue, soit automatiquement, soit sur intervention manuelle,
le miroir.
Une fois la synchronisation effectue, le RAD retrouve son
niveau initial de redondance. Mathmatiquement, l'esprance de
vie d'un systme RAD 1 est 1,5 suprieure celle d'un systme
sans RAD.
21$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
RAID $ ' stripig / p#rity
Proxy sous MSDOS
( 1/5 N55<W<46>DPN55<'//<46>DW69WD6841.5/'<645/
( 1/5 N55<W<46>DW81/4PD684W81/4W0;:/
( 1/5 N55<W<46>DW<;11PD684W<;11?642
EIIace le code backspace
EIIacer le code backspace du shell
( 155D /4;1/ GF;=J1<;=/H
Extraire les Iichier d`un RPM sans les installer
( 4<:2=<.6 :60W4<:.4<: L =<.6 --/>54;=5 --:;J/-2.4/=564./1
RPM
# AIIicher les rpm installe
( 4<: -7;
Copie de MBR pour boot linux depuis windows
Il est necessaire de booter sur un linux, soit un live CD, soit en mode rescue
216 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
On identiIie le disque Windows et le disque Linux*
*ou les OS sont installes.
On cree une image des boot secteur des 2 OS
( 22 .9P/2/3/N2;1 69P./F6651/=5.?.0 F1P$12 =6805P1
( 22 .9P/2/3/N2;2 69P./F6651/=5.@0> F1P$12 =6805P1
Il suIIit ensuite de copier ces Iichier sur la partition windows
Et de modiIier le boot.ini ne consequence :
IJbootsect.lnx=K$5marrage sous ?inuxK
Translate characteres
( :64/ 5858 L 54 [;-X] [A-h]
Change tous les caracteres minuscule par des majuscule
Probleme avec tty
Connexion sur tty impossible (reviens tout le temps a LOGIN)
Ou probleme divers sur tty, il est necessaire de le recreer correctement ou le modiIier*
*Dans ce cas, passer par smitty et demander le changement uniquement dans la base, les
modiIication seront ainsi eIIectivent apres le reboot.
( :J2/3 -= 55D -5 [55D[ -1 [41232[ -< [1;0[ -? [0[ -; @6M.0P[/0;F@/[ -;
480:62/1P[N8<=@Q=4/;2QF4J.05Q.=40@Q6<615Q5;F3Q60@=4Q.1.MQ.=;060Q/=N6Q/=N6/Q/=N6JQ/=N6=5@Q/=N
6J/Q.:;>F/@Q./>5/0Q=@6=;@[ -; @6M:62/1P[N8<=@Q=4/;2Q/=N6/Q=18Q=@6=;@[
Systeme a jour ?
Il est necessaire de telecharger le Data Iile de reIerence pour la release desire
Ex pour Aix 5.3 : N55<'//???-%12..F:.=6://1/43/4/18<<645/9.>/1/9.>=/054;@/=6:<;4/4/<645V4/@/;1/P$3
De comparer ensuite ce Iichier avec le systeme via la commande suivante :
(/usr/sbin/compare_report -s -r /tmp/LatestFixData53 -l
Le script genere 2 Iichiers :
/5:</@6?/45N;0:;.05.4<5
(list oI Iilesets on the system that are at a lower level than the latest maintenance level)
/5:</@6?/45N;0@;5/151.4<5
(list oI Iilesets on the system that are at a lower level than the latest level)
Il est aussi necessaire de Iaire un backup des packages disponiblent sur le systeme
21" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
( @1@<< -L= H @1@<<.5>5
D`uploader le tout et de telecharger les Iix necessaires.
http://www-912.ibm.com/eserver/support/Iixes/Iixcentral/pseriespkgoptions
version de Tomcat
Il Iaut rechercher sur le serveur un script qui s`appel version.sh
Il est necessaire d`avoir les variables sete pour JAVA
version de linux
( =;5 //5=/.118/
Uniq
Cette commande permet d'aIIicher une et une seul variable
exemple on grep sur un Iichier le resultat nous donnes plusieurs Iois la mme reponse,
avec la commande unique, les doublons ne seront pas aIIiche,
Errpt par mail
( 3. /5:</:;.@4665
errnotif"&
en_nme 1 Hmi/rootH
en_+ersistencef/7 1 1
en_met6o' 1 H*usr*bin*err+t ( (/ 81 ] mi/ (s OHerr+t& 89OH cescurtLmec+/st.comH
( 62:;22 /5:</:;.@4665 ( O0 ;T685/ @; 0683/@@/ /054B 2;01 @&ODM
( 62:M/5 -7 [/0W0;:/P:;.@4665[ /44065.9D ( O0 =N/=J 78/ =&/15 F./0 ; T684
( /44@6MM/4 [5N.1 .1 ; 5/15[ ( U0 =N&5.5 5/15
( 62:2/@/5/ -7 [/0W0;:/P:;.@4665[ -6 /44065.9D ( S. =&/15 <;1 F60Q 60 /99;=/
O8 80 /036./ 80 </85 <@81 a2/1.M0& <684 L6581

( 3. /5:</:;.@4665
errnotif"&
en_nme 1 Hmi/rootH
en_+ersistencef/7 1 1
en_met6o' 1 H*usr*bin*err+t ( (/ 81 ) *tm+*M"err+t.t<t ] *usr*bin*s/ee+ # ]
*M"sen'mi/ ss"stemeLmec+/st.com OHERRCT & 8= & 8- & 89 OH ]
*usr*sbin*sen'mi/ (t ss"stemeLmec+/st.comH
( 3. /MD1/02:;.@
218 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
.[*usr*bin*Bs6
. 5e 6e'er +our 5otus 3ec un t7 0TM5 et CRE
ct TTEOF
From& ^*usr*bin*6ostnme ] *usr*bin*tr M(?N M>(XN^
To& 81
MIME(Sersion& 1.0
Content(T"+e& mu/ti+rt*mi<e';
boun'r"1HC>>0%=!3.101%#!!=##*ser3er.'omin.comH
SubZect& 8#
T6is is MIME(enc+su/te' mess7e
((C>>0%=!3.101%#!!=##*ser3er.'omin.com
Content(T"+e& te<t*6tm/
((C>>0%=!3.101%#!!=##*ser3er.'omin.com
T0TM5)TCRE)
EOF
s/ee+ 1
ct *tm+*M"err+t.t<t
s/ee+ 1
Lire un core
154.0M1 G9.=N./4H
Permet d'aIIicher les lignes aIIichables dans un Iichier binaire,
Montage NFS aix sur server LINUX
Un message d`erreur peut apparatre 3:6805' O</4;5.60 065 </4:.55/2.
S84 @/ 1/43/84 @.08> .@ 9;85 .01/4/X @&6<5.60 .01/=84/ 2;01 @/ 9.=N./4 //5=//><6451
E>/:<@/ '
/DATA eI.01/=84/Q4?Q1D0=K
Montage NFS sur aix
( /814/1F.0/:J091/>< -2 [/1;3//1/432/=6@2F=J[ -; [0[ [-[ -S [1D1Q060/[ -5 [4?[
-d : Directory
-a : UID, Utilise cette uid pour les utilisateurs inconnues (note : root est tjs considere comme user inconnue en nIs)
-B : Ajoute une entree dans /etc/exports
-S : Options de securitees
-t : Permissions
Supprime le partage.
( /814/1F.0/4:091/>< -2 [/1;3//1/432/=6@2F=J[ [-[
-d : Directory
21% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
-t : Supprime l`entree dans /etc/exports
Lire les x premiers lignes d`un Iichier
( N/;2 ^-0_ 9.=N./4
Lire les x dernieres lignes d`un Iichier
( 5;.@ ^-0_ 9.=N./4
Open Boot sur Aix
Au prompt ' ~ '
1/5/03 4/;@-F;1/ 1000000
4/1/5-;@@
Your system will reboot and aIter waiting a while (about 10 mn)
<4.05/03
2/3;@.;1
<4.05/03 F665-2/3.=/
M6
2/3 / @1
<46F/-;@@
ouvir l`explorateur de Iichier sur sun
259.@/
Variable d'environement sur Aix
//5=//03.460:/05
/>/:<@/ PPH
LAN+PC
(LAN+P94WFR.88$%-1$i/846
ThPCET-1CESTQM3.$.0QM10.$.0
[[ std offset dst offset , rule ]]
Exemple :
Std offset=CET Standard Time Zone
Dst offset=1CEST Summer Time Zone
CUT0GDT Coordinated Universal Time CUT
GMT0BST United Kingdom CUT
220 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
WET0WEST Western Europe CUT
AZOREST1AZOREDT Azores, Cape Verde CUT -1
FALKST2FALKDT Falkland Islands CUT -2
GRNLNDST3GRNLNDDT Greenland, East Brazil CUT -3
AST4ADT Central Brazil CUT -4
EST5EDT Eastern United States, Colombia CUT -5
CST6CDT Central United States, Honduras CUT -6
MST7MDT Mountain United States CUT -7
PST8PDT Pacific United States, Yukon CUT -8
AST9ADT Alaska CUT -9
HST10HDT Hawaii, Aleutian Islands CUT -10
BST11BDT Bering Strait CUT -11
NZST-12NZDT New Zealand CUT +12
MET-11METDT Solomon Islands CUT +11
EET-10EETDT Eastern Australia CUT +10
JST-9JSTDT Japan CUT +9
KORST-9KORDT Korea CUT +9
WAUST-8WAUDT Western Australia CUT +8
TAIST-8TAIDT Taiwan CUT +8
THAIST-7THAIDT Thailand CUT +7
TASHST-6TASHDT Central Asia CUT +6
PAKST-5PAKDT Pakistan CUT +5
WST-4WDT Gorki, Central Asia, Oman CUT +4
MEST-3MEDT Turkey CUT +3
SAUST-3SAUDT Saudi Arabia CUT +3
EET-2EEST Eastern Europe CUT +2
USAST-2USADT South Africa CUT +2
CET-1CEST Central Europe
( =N@;0M
( =N5X
ConIiguration du clavier
( @1JF2 # List les claviers disponiblent
( =NJF2 # Change le clavier par deIaut utiliser par LFT au demmarage
Convertir tout un Iichier de majuscule en minuscule
( =;5 @.15/.5>5 L54 Z[A-h]Z Z[;-X]Z H @.15/2.5>5
EIIacer un Iichier avec nom non-standard
( 4: -- -48585.5>5
on eIIace un Iichier qui se nomme : -rutu.txt
221 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
grep et egrep
Pour Iiltrer le resultat d`une commande on peut utiliser ces 2 commandes
Exemple :
netstat an ,grep 50005 On aIIiche si le port 50005 est a l`ecoute
netstat an ,egrep "50005, 2001" On aIIiche si le port 50005 est a l`ecoute
Passer un process en background
Control Z puis taper bg
Sortir d`une console
Control $
quit
Menu SMS de l`ere glaciaire
show-dev va nous permettre de rcuprer pas mal d'information, ex: config rseau
Ensuite un peut booter dessus, exemple :
boot /pci@fef0090/ethernet@:163.106.10.177,\tftboot\sang.sti.emc.edfgdf.fr,192.168.121.11,10.15.25.8
boot <carte_ethernet>:<adresse_ip_serveur_nim>,<nom_du_spot>,<IP_serveur>,<Gateway>
.BII sur Aix et extraction d`un Iichier dans un mksysb
Pour voir le contenue d'un fichier .bff
restore -qTvf 01.bff
Pour en extraire un fichier
restore -qxf 01.bff <le chemin prcdement vue>
ou pour tout extraire dans le repertoire courant
restore -qxf 01.bff
Supprimer l`inverse caractere d`un shell
tput sgr0
Copie en raIale via un Tunnel le tout en compresse (cpio, tar, pax)
Depuis le rpertoire source :
tar cvfp - . | (cd /destination ; tar xvfp -)
le problme de cette commande est qu'elle est limite au fichier de 2Giga
On peut aussi passer par un CPIO mais selon l'OS elle est aussi limit a 2G.
cd /appli/crm/
find . -xdev |cpio -pdmu /migration/appli/crm
le problme de cette commande est elle aussi limite au fichier de 2Giga sur Aix
4.3
222 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
le mieux est d'utiliser la commande pax
cd appli/crm
find . -xdev |pax -rw -X -v -p e /migration/appli/crm
et pour avoir des logs
(find . -xdev | pax -rw -X -v -p e /migration/appli/crm >/var/tutu.log 2>&1)
si export par Nfs alors bien exporter correctement les FS (/etc/exports)
/var/MEP -ro,root=pcy03iae.pcy.edfgdf.fr:,access=pcy03iae.pcy.edfgdf.fr:
Commande piper
# ssh 10.75.66.191 "(tar -cf - /ibsprod/zrtns /ibsprod/srtns /ibsprod/crtns
/ibsprod/prtns | ssh 10.75.79.39 'cd / ; tar -xf -')"
Demande d'un tar via ssh sur le serveur 10.75.66.191 des repertoires suivants (voir ci-dessus)
Puis envoyer le resultat et le decompresser via ssh sur le serveur 10.75.79.39
Comparer 2 Iichiers
Pour un fichier faire un diff et pour un rpertoire faire un dircmp
La commande diff signale les diIIerences qu'elle trouve a l'aide des codes suivants :
a : ligne en ajout dans File2 par rapport a File1
d : ligne en suppression dans File2 par rapport a File1
c : lignes changees entre File2 et File1
< : diIIerence constatee dans File1
> : diIIerence constatee dans File2
Il est aussi possible d'utiliser la commande sdiff qui a un formatage plus
utilisable.
Est affich en 1 tableau de 2 colones
Celle de gauche pour le premier fichier
Celle de doite pour le second fichier
Est indiqu au milieu la comparaison
Si rien alors ligne identique
Si | alots ligne diffrente
Si < alors ligne manquante dans la colone de gauche
Si > alors ligne manquante dans la colone de droite
223 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
EIIectuer un Log Repair Action en ligne de commande
diag -c -d Resource -L pending | complete
</02.0M indicates the part has been replaced, but it is not yet known iI this part will remain
in the system.
=6:<@/5/ indicates the part has been replaced and it is known that this part will remain in
the system.
Ouvir une console en ligne de commande
Seter le display de ca machine puis :
xterm -C &
Commande AT
Exemple, programmation d'un mksysb a 8h00 du matin le 22 fevrier.
echo '/exploit/sun/NIM/do_mksysb pcyywib2' | at 0800 Feb 22
at -l (pour voir la table)
at -r <N> (pour supprimer une commande)
AIIicher l`history des commandes
fc -l
Sortir d`une console
Appuyer sur [Ctrl] [Alt Gr] [=] pour sortir de la console
Ou
Appuyer sur [Ctrl] [$] pour sortir d'une console
Erreur NTP sur solaris
Faire un grep Iog /etc/init.d/xntp
Aller dans le fichier de log affich, faire taiI f dans ce fichier pour savoir l'erreur
Vrifier la date et l'heure, verifier la presence du process : ps -edf |grep ntp
Si pas la le relancer en root : /etc/init.d/xntpd start
greper dans le history une commande
fc -l 0 |grep chsfs
AIIicher la liste des process et leurs enIants des users connectes
whodo
Passer root avec un sudo
sudo su -
Changer le proprietaire du process unamed
_Crocess Qui sert u reQu`te D@SV ns/ooBu+Y
22# // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
odmget -q"subsysname=named" SRCsubsys
chssys -s named -u 203
odmget -q"subsysname=named" SRCsubsys
stopsrc -s named; startsrc -s named
_5e #03 corres+on' /YJID 'u nou3eu uti/isteurY
AIIicher les numeros sous VI
set number
set nu
AIIicher les characters speciaux sous VI
set list
Pas a pas sur un scrit shell
ksh -x ./<monscript>
Erreur apres un Diag
FRU: 0000009P3865 U1.1-P1-M1.6
C'est le FRU qui compte, cela en l'occurrence ressemble a un problme Mmoire
Envoyer un message sur la console
# echo "coucou" > dev/console
Vider un Iichier
cat /dev/null > tutu
EIIacer ligne vide et commentaire dans un Iichier
# sed '/^$/d;/^#/d'
Creer un Iichier vide d`une taille Iixe
dd if=/dev/null of=/tmp/mon_fichier bs=1024k count=1024
Loguer dans le log des erreur errpt`une correction.
:smitty diag
Current Shell diagnostick
Task Selection
Log Repair Action
22$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Passer la protection des "arg list too long"
find tutu*.log |grep xargs rm
ou
ls -l |awk '$5 == '0' {print "rm -rf " $9}' | sh
exemple pour copier tout les fichiers appartenant au user cft vers un autre rep.
ls -l |awk '$3 == "cft" {print "cp "$9 " /CFT_errors"}' | sh
ou
find . -name "*" -print | xargs rm
Recuperer le password root d`une AIX
se connecter sur le serveur Nim correspondant et faire un
rsh `Nom du Serveur' xterm -display `l'adresse ip de votre machine' :0.0
Compter le nbr de Iichier dans un rep
find <mon Rep> |wc -l
Machine Up depuis ?
uptime
AIIicher les dernieres commandes executer
history
Editeur Hexadecimal
# lquerypv -h toto.log 6b0 64 # d'un fichier
# lquerypv -h /dev/sysdump 0 100 # d'un device
ModiIier les programmes qui ce lance au demarrage
Editer le fichier inittab dans /etc/
Mettre un :
Au dbut d'une ligne pour commenter celle-ci.
Autocompletion en csh
Csh
Set fiIec
VeriIier la presence d'un Iix
instfix -ivqk <IY89080>
226 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Lister tous les Iix presents (APARS) et leurs inIormations
instfix -ic |awk -F':' '{print $1 " :==: " $6}'
AIIicher tous les Iilesets manquant necessaire a un TL
instfix -ciqk 6100-06_AIX_ML | grep ":-:"
Remplacement d`une valeur sous vi
I5scJ
1,K s;ceLue2&on,ec"erc"e;a,e#placer.ar;g
e +
1,K s;#acao;#aco.product.7usinesso7(ects.co#;g
control v + control M pour avoir le control M sous VI
e +
1,K s;I)ontrol vJI)ontrol #J;;g
Compression TAR
Tar cvI compress tar cvI /output .
Tar xvI decompress tar xvI titi.tar
Le Gnu tar apporte beaucoup de nouvelles Iunctions comme par exemple
la possibilite d`ajouter un Iichier a une archive tar append`
de supprimer une Iichier dans une archive tar delete`
etc.
/>/:<@/ '
# tar -tvf mine.tar
drwxr-x--- root/system 0 2008-12-12 11:23:01 tmp/TEMPO/ab/
-rw-r----- root/system 6 2008-12-12 11:23:06 tmp/TEMPO/ab/test1
-rw-r----- root/system 6 2008-12-12 11:23:14 tmp/TEMPO/ab/test2
-rw-r----- root/system 6 2008-12-12 11:23:17 tmp/TEMPO/ab/test3
% &n supprime le 'ichier test "e l(archi$e)
% tar **"elete **'ile+mine)tar tmp,-.M/&,a0,test
# tar -tvf mine.tar
drwxr-x--- root/system 0 2008-12-12 11:23:01 tmp/TEMPO/ab/
-rw-r----- root/system 6 2008-12-12 11:23:14 tmp/TEMPO/ab/test2
-rw-r----- root/system 6 2008-12-12 11:23:17 tmp/TEMPO/ab/test3
% &n a1oute un 'ichiersupprime le 'ichier test "e l(archi$e)
22" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
( 5;4 --;<</02 --9.@/P:.0/.5;4 5:</TEMPO/;F/0/?W5/151
# tar -tvf mine.tar
drwxr-x--- root/system 0 2008-12-12 11:23:01 tmp/TEMPO/ab/
-rw-r----- root/system 6 2008-12-12 11:23:14 tmp/TEMPO/ab/test2
-rw-r----- root/system 6 2008-12-12 11:23:17 tmp/TEMPO/ab/test3
-rw-r----- root/system 10 2008-12-12 11:47:23
tmp/TEMPO/ab/newtest1
Vi
R/:<@;=/:/05 2&80/ =N;.0/ 2/ =N;4;=5/4/
[ESC] '1Q\ 1/j/F8MjZ/jjjj=644/=5.60/M
Cet exemple remplace dans tout le texte l'expression /bug" par \\correction
S8<<4/11.60 2/ 5685/1 @/1 @.M0/1 ;3/= 5/15
[ESC] '1Q\ 1/5/15/`2
S8<<4/11.60 28 =N;4;=5/4/ =684;05 T8178[U @; 9.0 28 9.=N./4
[ESC] 2+
V6.4 80 M461 9.=N./4 1681 VI
Vi d'origine se sert de /var/tmp comme FS de tampo pour vi
Sous vi pour voir le directory
:set directory
Il suffit juste de le seter vers un autre FS plus gros
Ou si vous n'avez pas de fs plus gros il faut :
:set directory=/bighonkingfilesystem
puis
:r <votre gros fichier>
tous sur le chmod
Tableau des droits pour les groupes [U1/4[, [+468<[ et [O5N/4[
Read Write Execute
- - - 0 ---
- - 1 --x +x
- - 2 -w- +w
- 3 -wx +wx
- - 4 r-- +r
- 5 r-x +rx
228 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
- 6 rw- +rw
7 rwx +rwx
8 pour User
M pour Group
6 pour Other
; pour tous
Si on veut rajouter le droit de lecture pour 'Other'
=N:62 6R4
Si on veut rajouter le droit de lecture pour 'Other' et pour 'User'
=N:62 86R4
Si on veut rajouter le droit de lecture pour 'Other' et pour 'User' l'ecriture pour le 'group'
=N:62 86R4QMR?
On peut bien sur utiliser la mme syntaxe pour supprimer des droits, on change juste le '' en '-'
=N:62 6-4
A ces droits viennent ce rajouter :
22% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
SUID I#000K chmod us // chmod 4xxx
Fichier Executable : Possede les droits du proprietaire du Iichier
Le SUID s'ecrit S a la place du x du proprietaire) si le proprietaire n'a pas le droit d'executer le Iichier,
Le SUID s'ecrit 1 Dans le cas contraire.
S+ID I2000K chmod gs // chmod 2xxx
Fichier Executable : Possede les droits du groupe du proprietaire du Iichier.
Repertoire : Les Iichiers crees dans le repertoires ont pour groupe du
proprietaire le groupe du proprietaire du repertoire.
Le S+ID s'ecrit S a la place du x du groupe proprietaire ) si le groupe proprietaire n'a pas le droit d'executer
le Iichier, s dans le cas contraire.
Le S+ID s'ecrit 1 Dans le cas contraire
S5.=JD F.5 I1000K chmod gt // chmod 1xxx
F.=N./4 E>B=85;F@/ : Le processus resultant d'un Iichier executable Sticky bit (1000)
reste en memoire et son chargement est rapide.
RB</456.4/ : Les Iichiers crees dans les repertoires ont pour groupe du
proprietaire le groupe du proprietaire du repertoire.
: Limitation du droit de suppression d'un Iichier du repertoire a
son seul utilisateur proprietaire mme si les autorisations sont en
rwx pour le groupe et les autres utilisateurs.
le S5.=JD F.5 s'ecrit T a la place du x du droit "des autres utilisateurs" ) si les autres n'ont pas le droit d'executer
le Iichier.
le S5.=JD F.5 s'ecrit 5 dans le cas contraire.
230 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Acl Permission non standards
Il est possible de speciIier dans certains systemes UNIX comme par exemple AIX (IBM) des droits
d'acces supplementaires. Ces droits d'acces consistent en une Liste de Contrle d'Acces (Access
Control List ACL), dans laquelle on indique explicitement quels acces sont donnes a une (ou
plusieurs) personne en particulier, ou a un (ou plusieurs) groupe precis, sur un Iichier precis.
Ces acces viennent modiIier les acces de base. On peut ainsi ne donner aucun acces de base sur un
Iichier pour Group et Other (seul l'utilisateur possede alors des droits de base), et mettre une
permission etendue pour qu'un utilisateur speciIique puisse quand mme lire ce Iichier.
Les ACL's peuvent tre manipules par trois commandes:
;=@/2.5 - edition pleine page des ACL
;=@M/5 visualisation des ACL existants
;=@<85 positionnement des ACL en mode ligne de commande
La commande li -e permet de savoir si des ACL's sont positionnes ou non sur un (ou plusieurs)
Iichier.
\ @. -;/@ /11;.e
-rwx------ - 1 dupont cicrp 5367 Dec 16 15:23 essai
-rw------- 1 dupont cicrp 318 Jan 07 14:49 essai.I
-rw------- - 1 dupont cicrp 1430 Dec 16 13:42 essai.o
-rw------- - 1 dupont cicrp 124 Dec 15 19:19 essai1.pas
,
, ACL positionne
- ACL non positionne
/ `j ATTENTION IMPORTANT / `j
I1K Apres avoir positionne des ACL's il est recommande de ne plus utilise la commande chmod
avec les droits indiques en octal. Cette syntaxe est alors interdite sous peine de desactiver
les ACL's du Iichier.
I2K Pour qu'un utilisateur accede a un Iichier sur lequel on lui a mis des droits ACL, il doit quand
mme tre autorise en execution (x) sur tous les repertoires de la hierarchie permettant d'atteindre
ce Iichier.
Acl Format des ACL
?es '?As on le format g5n5ral suivantI
extended permissionsI
enabled L disabled
231 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
permit Mode &ser#nfo ...I
deny Mode &ser#nfo ...I
specify Mode &ser#nfo ...I
Interpretation des diIIerents champs :
/0;F@/2 L 2.1;F@/2
Ce premier champ indique si les ACL's sont actives (enabled) ou desactives (disabled).
On doit y trouver une de ces deux valeurs.
</4:.5
Ajoute a un utilisateur, (ou groupe) particulier les acces speciIies (Mode) en plus de ceux existant
2/0D
Enleve les permissions speciIiees a un utilisateur ou groupe aux permissions existantes
1</=.9D
DeIinit precisement les acces au Iichier pour un utilisateur ou un groupe, independamment des
acces existants
M62/
Ce sont les acces sous Iorme rwx appliques a permit, deny ou speciIy.
U1/4I096
C'est la liste des utilisateurs et groupes sur lesquels s'appliquent les acces.
Ce parametre est de la Iorme
uI&ser%ame ou
gI>roup%ame ou bien
uI&sername8gI>roup%ame
E>/:<@/'
'ccess control ?ists
base permissionsI M" permissions positionn5es
ownerFdupontHI rwx par chmod ou umas=
groupFcicrpHI r""
othersI """
extended permissionsI
enabled M" '?As positionn5s
permit rw" uImartin M" a<out de rw pour martin
deny "wx uIdurand8gIstaff M" enlCve wx pour durand et staff
specify r"" uI<ean8gIens M" pr5cis5ment r pour <ean et ens
permit rwx gIaccount8gIfinance M" a<out rwx groups account8finance
Acl AIIicher les ACL, la commande aclget
La commande aclget aIIiche sur la sortie standard ou dans un Iichier les ACL's du Iichier desire.
232 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
\ ;=@M/5
usageI aclget N"o outfileO filename
\ @. -/ /11;.e
"rwx"""""" " + dupont cicrp ,.6/ $ec +6 +,I2. essai
"rw""""""" " + dupont cicrp +22 $ec +6 +.I72 essai.f
"rw""""""" " + dupont cicrp +7.3 $ec +6 +.I72 essai.o
"rw""""""" " + dupont cicrp +27 $ec +, +*I+* essai+.pas
L
LWWWWW ACL 060 <61.5.600B
\ ;=@M/5 /11;.e
usageI aclget N"o outfileO filename
\ ;=@M/5 /11;..9
attributesI
base permissions
ownerFdupontHI rw-
groupFcicrpHI """
othersI """
extended permissions
disabled - Aucune permission etendue
Acl edition des ACL, la commande acledit
La commande acledit permet de positionner les acces sous l'editeur pleine page de votre choix.
Pour cela il Iaut speciIier dans la variable EDITOR le chemin de l'editeur (pour savoir ou se trouve
votre editeur Iaites par exemple which vi).
\ ;=@/2.5 - Erreur, pas d'argument
Usage: acledit Iilename
\ ;=@/2.5 /11;..9 - Erreur, pas de variable EDITOR
3002-100 acledit: EDITOR environment variable not set
\ EDITORP/814/F.0/3 - positionnement variable EDITOR
\ /><645 EDITOR
\ ;=@/2.5 /11;..9
attributesI
base permissions
ownerFdupontHI rw"
groupFcicrpHI """
othersI """
extended permissions
disabled - changer par enabled
- inserer permit r-- u:laurent
- sauvegarder (:wq pour vi) --
L
233 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Should the modified '? be appliedP FyH y -
\ ;=@M/5 /11;..9
attributesI
base permissions
ownerFdupontHI rw"
groupFcicrpHI """
othersI """
extended permissions
enabled
permit r"" uIlaurent
Acl positionnement des ACL's, la commande aclput
La commande aclput positionne les acces en mode ligne. Elle prend les valeurs sur l'entree standard
ou a partir d'un Iichier de valeurs.
\ ;=@<85
usageI aclput N"i infileO filename
\ ;=@<85 /11;..9
enabled - entree au clavier des valeurs
permit rw" gIcicrp
Q$ - Iin de saisie
REMARQUE les valeurs entrees au clavier ne precisaient pas
les permissions de base ~ ces permissions sont ANNULEES.
~ avec aclput il Iaut egalement rappeler les permissions de base --

\ @. -;/@
drwx"""""" " . dupont cicrp ,+2 Ran 3* ++I72 .
drwx""x""" " ++ dupont cicrp +,.6 Ran +3 +/I33 ..
"rwx"""""" " + dupont cicrp ,.6/ $ec +6 +,I2. essai
"""""""""" G + dupont cicrp .+- Ran 3/ +7I7* essai.f M"""""G
"rw""""""" " + dupont cicrp +7.3 $ec +6 +.I72 essai.o
"rw""""""" " + dupont cicrp +6. Ran 3- +6I72 essai+.pas

\ ;=@M/5 /11;..9
attributesI
base permissions
ownerFdupontHI """ M"""""""""""""""""G
groupFcicrpHI """
othersI """
extended permissions
enabled
permit rw" gIcicrp
\ =N:62 8R4? /11;..9
\ @. -;/@ /11;..9
"rwx"""""" " + dupont cicrp ,.6/ $ec +6 +,I2. essai
23# // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
"rw""""""" G + dupont cicrp .+- Ran 3/ +7I7* essai.f
"rw""""""" " + dupont cicrp +7.3 $ec +6 +.I72 essai.o
"rw""""""" " + dupont cicrp +6. Ran 3- +6I72 essai+.pas
"""""""""""""""""""""""""""""""""
&n utilisateur martin appartenant au groupe cicrp se FsurHconnecte
pour voir sAil a les accCs.
"""""""""""""""""""""""""""""""""
\ 18 :;45.0
martinAs PasswordI xxxxxxxx
\ =;5 /N6://=.=4</28<605/4/<1//11;..9
catI 36,2"3,3 annot open /home/cicrp/dupont/rep+/essai.f. M""G

\ />.5 G- 2B=600/>.60
---------------------------------
retour au login de dupont
---------------------------------
Les problemes d'acces proviennent de ce que martin n'a pas
acces en execution sur toute la hierarchie de dupont

\ @1 -;/@
total +,6
drwx""""""" . dupont cicrp ,+2 Ran 3* ++I72 . -----
drwx""x"""" ++ dupont cicrp +,.6 Ran +3 +/I33 ..
"rwx""""""" + dupont cicrp ,.6/ $ec +6 +,I2. essai
"rw"""""""G + dupont cicrp .+- Ran 3/ +7I7* essai.f
"rw"""""""" + dupont cicrp +7.3 $ec +6 +.I72 essai.o
"rw"""""""" + dupont cicrp +6. Ran 3- +6I72 essai+.pas
\ =N:62 MR> . -- positionnement acces x sur
/home/cicrp/dupont/rep1 par dupont
---------------------------------
Nouvelle tentative de consultation de essai.I par martin
---------------------------------
\ 18 :;45.0
martinAs PasswordI xxxxxxxx
\ =;5 /N6://=.=4</28<605/4/<1//11;..9 - consultation OK
program essai
call subessai+
call subessai2
writeFS8SH Afin programme principalA
end
\ =;5 HH /N6://=.=4</28<605/4/<1//11;..9 - modiIication OK
c %T&:1??1 ?#>%1
23$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Q$
\ =;5 /N6://=.=4</28<605/4/<1//11;..9
program essai
call subessai+
call subessai2
writeFS8SH Afin programme principalA
end
c %T&:1??1 ?#>%1
\ />.5
---------------------------------
retour au login de dupont
---------------------------------
On peut sauvegarder les ACL's d'un Iichier par la commande aclget dans un Iichier, modiIier le
texte de ce Iichier, et remettre les nouveaux acces en place par aclput.
\ ;=@M/5 -6 ;=@;==/11 /11;..9
\ =;5 ;=@;==/11
attributesI
base permissions
ownerFdupontHI rw"
groupFcicrpHI """
othersI """
extended permissions
enabled
permit rw" gIcicrp
\ =;5 HH ;=@;==/11
specify r"" uImartin - ajout (restriction) pour martin
Q$
\ =;5 ;=@;==/11 - veriIication
attributesI
base permissions
ownerFdupontHI rw"
groupFcicrpHI """
othersI """
extended permissions
enabled
permit rw" gIcicrp
specify r"" uImartin
\ ;=@<85 -. ;=@;==/11 /11;..9 - aIIectation, mise en place
nouveaux accCs
"""""""""""""""""""""""""""""""""
%ouvelle sur"connexion de martin
"""""""""""""""""""""""""""""""""
\ 18 :;45.0
martinAs PasswordI xxxxxxxx
236 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
\ =;5 /N6://=.=4</28<605/4/<1//11;..9 - lecture OK
program essai
call subessai+
call subessai2
writeFS8SH Afin programme principalA
end
c %T&:1??1 ?#>%1
\ =;5 UU /home/cicrp/dupont/rep+/essai.f - restriction OK
=shI /home/cicrp/dupont/rep+/essai.fI 373."33, annot create the specified file.
\ />.5
23" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
L6M 1D15/:/ A.>
AIIiche tous les logs disponibles sur la machine
( ;@6M OL
boot
bos!nst
n!m
"onso#e
"$%
#&m"$%
#&mt
d'mpsymp
.
# AIIiche un log speciIique.
( ;@6M -6 -5 F665
# On peut aussi lire un Iichier de log.
( =2 /3;4/;2:/4;1
( ;@6M -9 0.:.096
# Demmarer le daemon errloger
( /814/@.F//442/:60
# Voir sa conIiguration
( /814/@.F//442/:60 -@
Lire les logs Systemes
errpt -a |more
erppt -a -j <NIdentifier>
IDENTIFIER TIMESTAMP T C RESOURCE_NAME DESCRIPTION
C6ACA566 0610175705 U S syslog MESSAGE REDIRECTED FROM SYSLOG
C6ACA566 0610174005 U S syslog MESSAGE REDIRECTED FROM SYSLOG
C6ACA566 0610143705 U S syslog MESSAGE REDIRECTED FROM SYSLOG
C6ACA566 0610143405 U S syslog MESSAGE REDIRECTED FROM SYSLOG
C6ACA566 0610102605 U S syslog MESSAGE REDIRECTED FROM SYSLOG
TimeStamp = 0610175705
06 mois
10 jour du mois
238 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
1757 heure
05 2005
EIIacer des erreurs de l`errpt
# errclear -j A6D1BD62 0
Va effacer les erreurs A6D1BD62
Le 0 indique le nbr de jour que l'on veut garder
# errclear 0 # Efface la totalit des logs
# errclear -d H 0 # Efface les erreurs `Hardware'
Rajout d`un Iichier de log global pour syslog
echo *.emerg;*.alert;*.crit;*.err;*.warning;*.notice;*.info /var/adm/messages >> /etc/syslog.conf
ou
#*.emerg;*.alert;*.crit;*.err;*.warning;*.notice;*.info;*.debug /var/adm/messages
# touch /var/adm/messages ; chmod 777 /var/adm/messages
# refresh -s syslogd
23% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
SD15/:1
Update automatique avec SUMA
Service Update Management Assistant
http://www.ibm.com/developerworks/aix/library/au-updateaix.html
http://www14.soItware.ibm.com/webapp/set2/sas/I/suma/home.html
Plein d`exemple :
http://publib.boulder.ibm.com/inIocenter/pseries/v5r3/index.jsp?
topic/com.ibm.aix.cmds/doc/aixcmds5/suma.htm
( :J11D1 -1 11N2 -< /814/@6=;@/1F.0/11N2 -8 4665
Crc d`un Iichier
( 18: G:60 9.=N./4H
( =J18: G:60 9.=N./4H
( =18: G:60 9.=N./4H
nohup
( 06N8< G=6::;02/H
Nohup est une commande Unix permettant de lancer un processus qui restera actiI mme apres la
deconnexion de l'utilisateur l'ayant initiee.
Creation d`un service par rapport a un binaire
( :J11D1 -1 11N2 -< /814/@6=;@/1F.0/11N2 -8 4665
Creation du service sshd par rapport au binaire presend dans /usr/local/sbin/sshd
Statistique et inIormation du LPAR courant
( @<;415;5 -.
@o'e @me & u1-eb1
Crtition @me & B>SE_EDIT_11%_!1#_u1-eb1
Crtition @umber & 13
T"+e & S6re'(SMT
Mo'e & Jnc++e'
Entit/e' C+cit" & 0.10
Crtition Arou+(ID & 3#!%1
S6re' Coo/ ID & 0
On/ine Sirtu/ CCJs & 1
M<imum Sirtu/ CCJs & %
Minimum Sirtu/ CCJs & 1
On/ine Memor" & -09= MB
M<imum Memor" & %19# MB
Minimum Memor" & 10#- MB
2#0 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Srib/e C+cit" Eei76t & 3#
Minimum C+cit" & 0.10
M<imum C+cit" & -.00
C+cit" Increment & 0.01
M<imum C6"sic/ CCJs in s"stem & =-
>cti3e C6"sic/ CCJs in s"stem & =0
>cti3e CCJs in Coo/ & =0
Jn//octe' C+cit" & 0.00
C6"sic/ CCJ Cercent7e & 10.00U
Jn//octe' Eei76t & 0
Desactivation/activation du SMT Multithread`
( 1:5=5@ # multithreade ou pas ? multithread
( 1:5=5@ -: 60 # Activation du multithread
( 1:5=5@ -: 699 # Desactivation du multithread
WLM Gestion des ressources
( @1=@;11 # permet de voir la liste des class
( @1=@;11 -C SD15/: # aIIiche la conIiguration des ressouces demandee
( ?@:=N/=J ( =N/=J 2/ @; =609.M /5 /5;5 2/ ?@:
ice // Renice : Prioritee des process
Par deIault un process est execute en priorite 20 (valeur de 0 a 40)
Il est possible de choisir le degre de priorite pour l`execution d`un process :
( 0.=/ -010 56<;1
On peut aussi redeIinir le degre de priorite d`un process par son PID
( 4/0.=/ -010 1$"8$
Les champs NI et PRI de la commande ps -l donnent la ponderation demandee (NI=/) et la valeur
reelle (PRI64.5D) donnee par le systeme. La ponderation est demandee (sa valeur sera Iixe en cours
d'execution) alors que la valeur reelle sera recalculee en permanence par le systeme suivant sa
charge
log Systeme sous Linux
( F.02<46=/1164
( F.02<46=/1164 223$8 2 ( binds the threads in process 22358 to processor 2.
log Systeme sous Linux
( 2:/1M
Toutes les inIormations aIIichees se retrouvent dans le Iichier /3;4/@6M/:/11;M/1
2#1 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
AIIiche les process deIunct Iantomes`
(`/814/F.0/1N
( A99.=N/ @/1 <46=/11 2/980=5
=@/;4
?N.@/ k<1 -/29 L M4/< 2/980=5 L M4/< -3 M4/< H /2/3/08@@k
26
<1 -/29 L M4/< 2/980=5 L M4/< -3 M4/<
1@//< 2 Y =@/;4
260/
Little Endian & Big Endian
Quand certains ordinateurs enregistrent un entier sur 32 bits en mmoire.
par exemple 0xA0B70708, ils l'enregistrent dans des octets dans l'ordre qui
suit : A0 B7 07 08 pour une structure de mmoire base sur une unit atomique de
1 octet et un incrment d'adresse de 1 octet. Ainsi, l'octet de poids le plus
fort (ici A0) est enregistr l'adresse mmoire la plus petite, l'octet de
poids infrieur (ici B7) est enregistr l'adresse mmoire suivante et ainsi de
suite
Big Endian
0 1 2 3
... A0 B7 07 08 ...
Little Endian
0 1 2 3
... 08 07 B7 A0 ...
Un autre Exemple :
32 bits 00000000 00000000 00000100 00000001
A224/11
.M-E02.;0
4/<4/1/05;5.60 69
102$
L.55@/-E02.;0
4/<4/1/05;5.60 69
102$
00
01
02
03
00000000
00000000
00000100
00000001
00000001
00000100
00000000
00000000
Big Endian : Motorola 68000 // SPARC (Sun Microsystems) // System/370 (IBM)
Little Endian : X86 (PC)
2#2 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
ModiIier le nbr de login` simultate autre que root
# chlicense -u
AIIicher les licenses disponiblent sur le serveur
# inulag -l
Passer en mode Asynchone AIO
Symbol resolution failed for /usr/lib/libc.a(aio.o) because:
Symbol kaio_rdwr (number 0) is not exported from dependent
.
!!! On peut voir cette erreur quand I'AIO n'est pas active sur Aix !!
# lsdev -Cc aio
# mkdev -l aio0 # service Aio0 cre et demarr
# chdev -l aio0 -a autoconfig='available' # on change l'autoconfig
Ou
# mkdev -l aio0 # service Aio0 cre et demarr
# smit aio
Change/Show Characteristics of Asynchronous I/O"
Change the field "STATE to be configured at system restart" from DEFINED to AVAILABLE.
Il n'est pas ncssaire de redemarrer.

Date
# !/usr/bin/sh
# Date To Timestamp
# (c) Christophe Escurat 2007
#
# mktime(sec, min, hour, mday, mon, year, wday = 0, yday = 0, isdst = 0)
#
# The month (mon), weekday (wday), and yearday (yday) begin at zero.
# The year (year) is given in years since 1900.
# Sunday is 0, not 1;
# January 1st is 0, not 1.
#
# I.e. January is 0, not 1;
# I.e. The year 1995 is 95; the year 2001 is 101.
# I.e. Calendar time for December 12, 1995, at 10:30 am : mktime( 0, 30, 10, 12, 11, 95 );
#
# Greenwich Mean Time (GMT)
# Daylight saving Time (DST)
# Coordinated Universal Time (CUT)
##################################
# Quelques variables
####################
2#3 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
# Secondes
seconde=`date +%S`
# Heures
hour=10
#minutes
minute=`date +%M`
# jours
day=30
# mois - 1, car janvier = 0
month=04
# Anne depuis 1900
year=107
printf "\n\n"
echo "heure de Greenwich : `date -u` __`date -u +%s`"
echo "heure de local : `date` __`date +%s`"
printf "heure avec mktime : $((${month}+1)) ${day} ${hour}:${minute}:${seconde} $(($
{year}+1900)) __"
perl -e "use POSIX; print (mktime(${seconde},${minute},${hour},${day},${month},${year},?,?,?));"
echo " "
TimeStamp to Date
# perl -e "print scalar(localtime(1173279767))"
Date to TimeStamp
# perl -e "use POSIX ; print (mktime(0,0,0,0,0,0));"
Voir les modules perl d`installes
#! /usr/bin/perl -w
use strict;
use DBI;
print "Modules DBD disponibles:\n";
my @available_drivers = DBI->available_drivers('quiet');
my $driver;
foreach $driver (@available_drivers)
{
print "$driver\n";
}
Pour installer des modules perl ont peux soit utiliser l`outil prevu a cet eIIet :
# cpan
Ou les telecharger depuis le site http://www.cpan.org/ et les compiler a l`aide des commandes
suivantes.
# perl Makefile.PL
# make
# make install
Perl essayera de compiler le module avec le compilateur avec lequel il a ete lui-mme compile
2## // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
# perl -V
!! ATTENTION, cc et cc_r n'est pas gratuit sur Aix !!
!! On ne peu utiliser le compilateur gcc a la place du cc pour les modules perl
Si cc_r est utilis, il faut qu'il soit dans le path
Desactivation de la license
Pour dsactiver le licence manager , il faut faire ainsi :
Dans le fichier /etc/vac.cfg, reprer le paragraphe DEFLT :
et la fin de la ligne options ajouter : ,-qnolm .
o+tions 1 ...ot6er o+tions...V(Qno/m
The vac type compilers need to be added to the command path:
export PATH=/usr/vac/bin:$PATH
Les process
# ps -T <PID>
Les inter-process
Les mecanismes d'IPC permettent de Iaire communiquer et/ou de synchroniser n'importe quel
couple de processus locaux (de la mme machine).
Les trois mecanismes d'IPC : Iiles de messages, segments de memoire partagee, semaphores, sont
purement memoire. Ils n'ont pas de liens avec le systeme de Iichiers, ce qui les sort de la
philosophie UNIX
# ipcs -a => Affiche
# ipcrm -s <id> => Sup d'un semaphore
# ipcrm -m <id> => Sup d'une mmoire partag
Impression Unix - Imprimante
Le fichier de configuration est : /etc/qconfig
# qadm -U (imprimanteName) : Reinitialisation imprimante
# qcan -X -P (imprimanteName) : Supp de tous les jobs d'impression
# lprm -P (imprimanteName) (Job) : Supp d'un job
# lptstat -p (imprimanteName) : Etat des jobs d'impression
# lpr -P <queuye> <fichier a imprimer>
READY
La Iile d`attente est dans l`etat de base, elle attend un ordre.
C`est l`etat initial lors de la creation d`une Iile d`attente.
RUNNING L`imprimante est en train d`imprimer
2#$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
INITING
Le programme de 'backend est en train de se connecter au serveur
d`impression (carte reseau de l`imprimante ou autre RISC RS/6000).
CONNECT Le programme de 'backend s`est connecte au serveur d`impression.
SENDING Le RS/6000 est en train d`envoyer le travail au serveur d`impression.
HOLD
Cet etat speciIie que le job est retenu et ne pourra pas tre mis en Iile d`attente
Vous pouvez passer par smit pour liberer le job
smit spooler / manage print job / hold/release job, etc
DEVWUS)
Plusieurs Iiles d`attente sont deIinies sur la mme unite et l`une d`entre-elles est
en train de l`utiliser. Attendre la Iin de l`impression ou 'tuer le process qui
utilise le port d`impression
DEV_WAIT
La Iile d`attente attend que l`imprimante soit prte car celle-ci est 'en arrt
(plus de papier, bourrage...). VeriIier l`imprimante et les connexions. S`il s`agit
d`une imprimante serie, veriIier le contrle de Ilux.
A la Iin du 'time out, la Iile d`attente passe a l`etat DOWN
DOWN
Il n`y a plus de communication entre l`imprimante et le RS/6000 apres un 'time
out.Le 'time out permet, par exemple, de remettre du papier dans
l`imprimante, lorsque celle-ci le demande, sans que la Iile d`attente passe a l`etat
'DOWN. Le 'time out doit tre ajuste lors d`impressions sur des reseaux
'charges. Par convention, on essaye de lui appliquer une duree au moins egale
au temps maximum d`impression d`un job. Le 'time out peut tre ajuste, en
Ionction du type d`attachement de l`imprimante, de la Iaon suivante
OPR_WAIT Le programme de backend attend une action de l`operateur
UNKNOWN
On peut rencontrer cet etat lorsque le Iichier suivant a ete eIIace :
/var/spool/lpd/stat/s.queue.devicename
Pour restaurer ce Iichier, arrter et relancer qdaemon
# lsallq -c|grep ":@" : Lists the names of all configured queues
# /usr/lib/lpd/pio/etc/piolsvp -p : List virtual printers on a system
# enable (imprimante) : Enables printer queue device
# disable (imprimante) : Enables printer queue device
# enq -D -P (imprimanteName) : Turn OFF the device associated with the queue
# enq -U -P (imprimanteName) : Bring ON the device associated with the queue*
# lp -d48IZNPHLZR09 /tmp/essaie.txt : Lancer l'impression du doc essaie.txt sur
l'imprimante 48IZNPHLZR09
Fichier de configuration : /etc/qconfig

XU007488: nom de la file d'attente


device = @XU007488
up = TRUE file d'attente active (FALSE pour dsactive)
host = XU007488 systme ou l'imprimante est physiquement connecte
s_statfilter = /usr/lib/lpd/aixshort filtre de la dfinition de la file d'attente
l_statfilter = /usr/lib/lpd/aixlong " " " " "
rq = lpt1 nom de la file d'attente du systme xu007488
@XU007488:
backend = /usr/lib/lpd/rembak post-processeur de l'impression distance
Dans cet exemple, les rqutes de la file d'attente XU007DC4 sont envoyes vers la file
d'attente lpt1 du systme XU007DC4. La requte part donc de la XU vers le serveur pour
2#6 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
revenir sur l'imprimante locale, connecte la XU ; en ce sens, c'est une impression
distante.
L/1 24.3/41 2/1 .:<4.:;05/1 ' /usr/lib/lpd/pio/predef
[ Linux ] Lister les modules charges par le systeme
( @1:62
[ Linux ] Avoir des inIormations sur un module
( :62.096 [:628@/W0;:/]
[ Linux ] Charger un module
( :62<46F@/ [:628@/W0;:/] ( =N;4M/ ;811. @/1 :628@/1 2605 .@ 2/</02
( .01:62 [:628@/W0;:/] ( 0/ 1/ <4B6=8</ <;1 2/1 2/</02;0=/1
[ Linux ] Parametrage dynamique du noyau
( 1D1=5@ -; ( L.15/ 5685 @/1 <;4;:/54/1 <611.F@/1
[ Linux ] Parametrage Carte reseau
( /5N566@ -1 /5N0 1<//2 100 28<@/> 98@@ ;8560/M 699
68
( :..-566@ -F 100F;1/T>-FD /5N0
Secteur de boot present ?
# ipl_varyon -i |grep YES
# bootinfo -k hdisk0
Connatre le niveau de patch d`une machine
# showrev
Installation de pakage pour Solaris
De prfrence booter en single mode
Puis taper :
pkgadd -d . Nomdurepertoirequicontiendslespackages
Si a ne fonctionne pas
2#" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
diter le fichier `packadge' et retenez les deux nom encadres en rouge.
Et taper :
pkgadd -d /repertoire_Ou_Ce_Trouve_Le_Fichier/nondufichier SMCtop
EXIT STATUS // R/5840 C62/
0 Successful execution.
1 Fatal error.
2 Warning.
3 Interruption.
4 Administration.
5 Administration. Interaction is required. Do not use
pkgadd -n.
10 Reboot after removal of all packages.
20 Reboot after removal of this package.
pkgadd of +B7nme package failed return code co'e.
See /var/sadm/patch/+tc6_i'/log for reason for failure.
Re-examiner le Iichier /etc/inittab
.0.5 7
2#8 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Probleme de Umask
8:;1J
3; 0681 2600/4 @/ :;1J 85.@.1/4 <684 @; =4B;5.60 2/ 9.=N./4/4/<456.4/ 184 @/ 1D15E:/
/>/:<@/ 80 :;1J 2/ 02" 3; 0681 2600/4 @/1 246.51 18.3;051 @641 2/ @; =4B;5.60 2/ 9.=N./4
"$0
"$0 =;4
" O 0 P "
" O 2 P $
" O " P 0
I@ 1/ </85 ;811. 78/ @/1 246.51 <61.5.600/4 184 80 4/</456.4/ AVANT 160 :605;M/ <61/ 80
<46F@/:/ 2&/>/=85.60 I2/ 246.5 <@81 />;=5/:/05KQ .@ 9;824; 2;01 =/ =;1Q 2/:605/4 @/ FS /5
P61.5.600/4 /0 =601B78/0=/ @/1 246.51 184 @/ <6.05 2/ :605;M/ <8.1 4/:605/4 @&/01/:F@/
E5 <61.5.600/4 ;811. @/1 F60 246.51 184 @/ <6.05 2/ :605;M/ :605B.

Supprimer l`emrpreinte Iaite par diskalterne
;.> $.2 ' ;@5W2.1JW.015;@@ -X ;@5.015W46653M
;.> $.3 ' ;@5W2.1JW=6<D -X ;@5.015W46653M
;.> 6.1 ' ;@5W46653MW6< -X ;@5.015W46653M
Recreer le Iichier /etc/Iilesystems
.:91 G46653MH
Potentielement dangereux car ne remet pas specialement les attributs corrects au Is
/
/tmp
/usr
Qui doivent avoir un montage automatique
Et tous les auters FS doivent avoir un montage a YES
Il Iaut les changer avec la commande chIs A yes /var
Et pour /, /tmp et /usr, le changement doit etre Iait dans le Iichier /etc/Iilesystems avec vi
PUIS
Une maj de la VGDA avec la commande bosboot sur le disque de boot
AIIicher l`architecture de la machine|Chrp-rs6k| Type de plateIorme
# bootinfo -p
chrp
# mach
powerpc
2#% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Type de noyau
bootinfo -z
AIIicher les Fix installe sur la machine
emgr -l
Reparation d`un BLV Recreation de l`ipl (secteur de boot)
# bosboot -ad /dev/hdisk0
Attention plusieurs choses doivent etre OK
La commande bosboot utilise le device /dev/ipldevice
La major et minor number de ce device doivent pointer
Vers le disk de boot.
Recreation de : boot image, the boot record, and the service record.
# mkboot -d /dev/hdisk0 -k /usr/lib/boot/unix -f /tmp/bootfs -b -i -s >
/tmp/boot.image
# ls -l | egrep -e 'hdisk0|hdisk2|ipldevice'
brw------- 1 root system 17, 0 Feb 15 14:44 hdisk0
brw------- 1 root system 17, 3 Feb 15 15:33 hdisk2
crw------- 1 root system 17, 0 Feb 15 18:44 ipldevice
# rm /dev/ipldevice
# mknod /dev/ipldevice c 17 3
Il est possible que malgr cela la commande bosboot ne fonctionne pas :
# bosboot -qad /dev/ipldevice
Il faut dans ce cas crer un lien au lieu d'utiliser mknod
# ln /dev/hdisk0 /dev/ipldevice
hdisk0 etant le disk de boot
L'ordre de boot aussi doit pointer vers les bons disques.
# bootlist -m both hdisk2 hdisk0
# bootlist -om normal
Apres ces modifications il est necessaire de rebooter pour que ce soit pris en
compte.
Et ensuite on peut lancer la commande bosboot.
2$0 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Suppr esion d`un device dans la base ODM
DEVICE=et2
odmdelete -q "name = $DEVICE" -o CuAt
odmdelete -q "parent = $DEVICE" -o CuDv
odmdelete -q "name = $DEVICE" -o CuDv
odmdelete -q "name = $DEVICE" -o CuDep
odmdelete -q "dependency = $DEVICE" -o CuDep
odmdelete -q "value1 = $DEVICE" -o CuDvDr
odmdelete -q "value3 = $DEVICE" -o CuDvDr
Sauvegarde ODM
Pour restaurer un odm tout propre, booter sur le serveur incremin avec le cd
d'Ibm puis monter Rootvg et ensuite sauver la base en mmoire vers le disk.
Il est prfrable de monter a la main le rootvg car si on lui demande de le
faire en mode automatique, il va monter automatiquement la base ODM en mmoire.
Donc, si on lance des commandes de `savebase' la source sera la destination.
Il faut donc monter a la main hd4, comme a, la base ODM en mmoire sera celle
qu'il a gnr par rapport la machine lorsqu'il a boot sur le cd.
savebase -dv /dev/hdisk0 2i/ / met uto 'ns /e bon en'roit *etc*obZre+os4
ou
savebase -ov /dev/hdisk0/tutu.base
2&option 'd& nous per#et de definir la destination (fic"ier ou device)
2i/ co+ier 'ns notre e<em+/e ce//e en mamoire4
2&option 'o& nous per#et de definir la source
2i/ co+ier /es fic6ier 'e / source in'iQua4
2&option 'v& nous per#et de definir la source.
Restauration ODM
/ `j N/ <;1 9;.4/ =/55/ :;0.<8@;5.60 2;01 80 /03.460/:/05 /0 <462Q F665/4 184 @/ =2 68 :62/
1.0M@/
restbase -o /tmp/babase_file
2on +ren's /e fic6ier contennt / bse +rece'ement su3a _'tbse_fi/eY
on /e resture 'ns *etc*obZre+os4
ou
restbase -o /tmp/babase_file -d /tmp/mabase/etc/objrepos
2on +ren's /e fic6ier contennt / bse +rece'ement su3a _'tbse_fi/eY
et on /e resture 'ns *tm+*mbse*etc*obZre+os4
2&option 'd& nous per#et de definir le pat" de destination.
2&option 'o& nous per#et de definir le fic"ier source.
2&option 'v& nous per#et de definir la source.
2$1 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
AIIicher les Iichiers qui date de 3 jours
find ./ -mtime -3 -ls
AIIicher les Iichiers plus gros que 10 Mega
find / -type f -xdev -ls | awk '$7 > 10000000 {print $0}' | sort -n -k7
ou 2 giga
find / -type f -ls | awk '$7 > 2000000000 {print $0}' | sort -n -k7
L'option -xdev limite la recherch au FS courant
AIIicher les Iichiers du plus petit au plus gros
# ls -l | sort -nbk 5
Chercher des Iichiers core et creer des liens
# find ./ -name 'core*'
# find / -name core -exec ls -i {} \;
# rm -rf ./ct/3351194700/run/mc/IBM.CSMAgentRM/core.0
# rm -rf ./ct/3351194700/run/mc/IBM.ServiceRM/core.0
# rm -rf ./ct/3351194700/run/mc/core.last
# cd /var/ct/3351194700/run/mc/IBM.CSMAgentRM
# ln -s /dev/null core.0
# cd /var/ct/3351194700/run/mc/IBM.ServiceRM
# ln -s /dev/null core.0
# cd /var/ct/3351194700/run/mc/
# ln -s /dev/null core.last
Passer en mode Single.
Modifier le /etc/inittab, mettre le level a S
EIIacer Beaucoup de Iichiers quand la commande Rm ne Ionctionne pas
find ./ -exec rm {} \;
Passer en mode debug sous un sheel
reb
Admin sous HP
sam
stm
2$2 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Dump sous Aix
sysdumpstart
5 mc6ine 3 rebooter et 'amrrer /e 'um+
Cour 3oir /es info 'u 'ernier 'um+
sysdumpdev -L
Voir les log d`erreur Solaris
dmseg |grep tutu
Gerer la swap sur Aix
mkps -t lv -s 15 rootvg hdisk0 Creation d'un LV de swap
Pour des meilleurs perf, il est conseill de ne pas agrandir le PS de rootvg
mais de creer un nouveau PS sur un autre VG
lsps -a Afficher la swap
chps -a n hd6 Dsactive au montage d'une PS
chps -a y hd6 Activation au montage d'une PS
swapon /dev/hd6 Activation d'une PS
swapoff /dev/hd6 Dsactivation d'une PS
chps -s 10 hd6 Augmentation de 10LP
il existe un fichier qui positionne la swap : /etc/swapspaces
AIIicher la taille de la swap sous solaris

prtconf | grep "Memory size"
swap -s
swap -l
AIIicher le type du Iicher (ascci, image, texte)
file <tutu>
SNAP sous Aix
snap -r # On efface l'ancien snap
snap -gc # on cre un snap compress
ou
snap -gcd <MonRepertoire de sauvegarde>
-c Cration d'une image tar compress (snap.tar.z) de tous les fichiers
-f Informations sur le systemes de fichiers
-g Informations generales
-k Information sur le noyau
-D Clich system et /unix
AIIichage les inIormations sur le modele, type de proc, vitesse,
memoire.
prtconf
2$3 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
AIIichage les statistiques d`activite des kernel thread, memoire virtuel,
disks, erreur, activite cpu
# vmstat
# lsattr -El mem0
# getconf REAL_MEMORY
Donne le taux d`occupation du cpu et des disk
iostat 5 5
(Affiche 5 fois le rsultat et rafrachit toutes les 2secondes)
AIIichage de l`espace de pagination
lsps -a
Lister les packages installes
lslpp -L all
Les LPP se trouvent /usr/lpp
lslpp -f <fileset>
Liste les fichiers dans le fileset
lslpp -w <binaire>
Liste les packages du binaire
AIIichage des patchs installes
insfix -i
VeriIication des Iichiers de packages
lppchk -v
VeriIication des patches installes
instfix -i |grep ML
Savoir si la plateIorme est 32 ou 64 Bits
[Aix 5.x] # getconf HARDWARE_BITMODE
[AIX] # bootinfo -y (ncssite d'etre root)
Savoir si le kernel est bien en 64b
[Aix 5.x] # getconf KERNEL_BITMODE
[Aix] # bootinfo -K (ncssite d'etre root)
# ls - /unix
2$# // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
/unix -> /usr/lib/boot/unix_up # 32 bit uniprocessor kernel
/unix -> /usr/lib/boot/unix_mp # 32 bit multiprocessor kernel
/unix -> /usr/lib/boot/unix_64 # 64 bit multiprocessor kernel
[SUN] isainfo -v
Charger le mode 64bits
# smitty load64bit
Particularit sur Aix, si la plateforme est 64 Bits on peut, meme si l'os est en
32 bits, execut du code 64 bits grace au binaire load64bit dans l'inittab
Ram Total
# bootinfo -r
Nbr de Proc
# lsdev -C -c processor
InIo machine, serial.
Modle de la machine : lsattr -El sys0 -a modelname -F value
Type de serveur : lsattr -El proc0 -a type -F value
Travailler avec la crontab
crontab -l
affiche le fichier cron de l'utilisateur courant.
crontab -e
Edit le fichier cron de l'utilisateur courant.
Les logs de la crontab sont dans /var/adm/cron/log
|Aix| Probleme avec la cron
Un message peut apparaitre dans le log de la cron c queue maximum run limit
Ce qui signife que le nbr max de process a t atteinds
L'on peut bien sur kill certain process ou augmenter les valeurs par default
Que ce soit le Nbr de process par utilisateur
# lsattr -El sys0|grep maxuproc
Ou augmenter ceux de la cron (100 max d'origine)
# vi /var/adm/cron/queuedefs
Ex = c.200j20n60w
2$$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Desactivation d`un proc sur AIX
psradm -f 2 3
(on dsactive les proc 2 et 3)
psradm -a -n
(on remet tout les procs Online)
Installation de SoIt (.bII et autres)
Terme, Sigle,
abrviation
Dsignation
Fileset Plus petit lment qui peut tre install. Un fileset est un terme de packaging AX dsignant un ensemble
de fichiers ddis une fonction prcise.
Un fileset est caractris par un VRMF (Version Release, Modification, Fix : exemple bos.adt.rte 5.1.0.10).
Package Un package regroupe un ensemble de filesets (minimum 1) ddis une ou plusieurs fonctions cohrentes.
Un package est concrtis par un fichier Unix (exemple bos.adt).
Un package contient l'ensemble des fichiers ncessaire l'excution des fonctions. l est rfrenc par un
VRMF qui peut tre diffrent de ceux des filesets qu'il contient.
PTF/APAR Un PTF est un sous-ensemble de fichiers d'un fileset corrigeant un ou plusieurs problmes prcis.
Un PTF est un fichier Unix. Son nom commence habituellement par U suivi de 6 chiffres.
l est caractris par son VRMF dont F est diffrent de 0.
Un PTF est cumulatif c'est dire que le Fix n+1 contient toutes les corrections du Fix n.
Un PTF peut contenir plusieurs correctifs (rfrenc par l'APAR Y.), chaque correctif corrigeant un
problme ou la partie d'un problme qui concerne le fileset sachant que la correction d'un problme peut
ncessiter la correction de plusieurs filesets.
Un APAR (dnomination support AX BM) est un ensemble cohrent mais virtuel de PTF corrigeant un
problme prcis. l'APAR se caractrise par son appellation commenant par Y suivi d'une lettre et de 5
chiffres (exemple : Y23456).
Un fileset peut avoir plusieurs tat :
C Commit : Les packages ont ts mis a jour, pas de trace des anciens packages.
A Apply : Garde une trace des anciens packages, permet de revenir en arrire.
R Reject : Reviens an arrire (sup. des Apply et MAJ avec les anciens Apply)
On ne peut pas mettre un jour en APPLY un fileset qui est dj en APPLY, il
faut le passer d'abord en COMMITE.
installp -C permet de nettoyer les anciennes traces
cd /tmp
inutoc . va crer un .toc contenant des informations sur les packages
installp -acd /net/joyeuse/UNIX/httpservers/AIX/IHS-1.3.19.3 all
ou
installp -acd /tmp all
ou
smit install_latest
-a Apply
-A Display the APAR number
2$6 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
-b Prevent for performing a bosboot if necessary
-C Clean Up after
-c Commit
-D Delete the installation image file after the installation
-d Specify where the installation media can be found
-e logfile enable
-E Display the license
-F Force installation
-g Automatique install or commits any software that are requisites
-L Display the content of media
-N Overrides saving of existing files that are replaced
-p Perform a preview
-q Quiet mode
-r Reject all specified software that are currently applied but not committed.
-u Remove the specified software from the system
-v Verified that all installed files in the fileset have the correct checksum
-w Does not wildcard filesetName. Only installs the filesets choosen.
-X Attenpts to expand any file systems where it necessary
-Y Agree with the license
Cree un package LPP / BFF pour Aix
La commande mklpp est necessaire, elle est disponible par exemple a ce lien :
http://www.bullIreeware.com/download/aix43/bull.mklpp-1.2.9.0.exe
Il Iaut l`installer
# chmod +x bull.mklpp-1.2.9.0.exe
# ./bull.mklpp-1.2.9.0.exe
# inutoc .
# smitty install_all
Creer un LV du nom de @3@<< ainsi qu`un Iilesystem sur celui-ci, monter le sur /@<<2.4
Ceer les repertoires suivant dedans : F99, .0, @<<, 685, F8.@2
# cd /lppdir
# mkdir bff in lpp out build
E>/:<@/ 2/ =4B;5.60 2/ <;=J;M/ <684 X@.F
# mkdir /lppdir/lpp/zlib
# mkdir /lppdir/build/zlib
Download the source oI zlib and place it in /lppdir/build/zlib
# cd /lppdir/build/zlib
# wget http://www.zlib.net/zlib-1.2.2.tar.gz
# gunzip zlib-1.2.2.tar.gz
# tar -xvf zlib-1.2.2.tar
# ln -s zlib-1.2.2 zlib
Soyez sur de changer le mask a 022,
2$" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Adapter le path en y ajoutant /usr/local/bin. (export PATH=$PATH:/usr/local/bin)
# cd /lppdir/build/zlib/zlib
#./configure
# make
# make install prefix=/lppdir/lpp/zlib/usr/local
# mkdir /lppdir/lpp/zlib/usr/lpp
# mkdir /lppdir/lpp/zlib/usr/lpp/freeware.zlib
Aller dans ce repertoire et creer le Iichier : @<<W0;:/
4 R I freeware.zlib {
freeware.zlib.rte 1.2.1.1 01 N U en_US Zlib, Data compression library
[
*prereq bos.net.tcp.client v=4 r>1
%
INSTWORK 70 70
%
%
%
%
]
}
4 pour release type4 (il existe 3 types de format pour ce fichier,1 ,3 et 4)
* 1 - AIX 3.1
* 3 - AIX 3.2
* 4 - AIX 4.1 and later
Note the "4" is 'AIX 4.1 and later'. There is no '5' for that field.
R pour ????
I pour spcifier le nom du produit
Mprere% 7os.net.tcp.client vN! rE1
fileset bos.net.tc+.c/ient 3- necessaries au minimum dans sa release 1
Vous devez positionner la version ici (1.2.1.1), le nom du package (Ireeware.zlib /
Ireewaee.zlib.rte) et une explication (Zlib, Data compression library).
Si besoin, vous pouvez positionner ici des pre requis. (ligne prereq)
Tous les autres champs seront automatiquement generes.
Creer le reperoire ..096 et creer le Iichier de copyright dedans
# mkdir /lppdir/lpp/zlib/.info
# touch /lppdir/lpp/zlib/.info/freeware.zlib.rte.copyright
(vous pouvez ajouter ce que vous voulez dans ce Iichier)
Maintenant on peut construire notre package.
# cd /lppdir/lpp/zlib
# mklpp
[root@sys /lppdir/v/zlib] mklpp
rm -f .info/freeware.zlib.rte.al
rm -f .info/freeware.zlib.rte.size
rm -f .info/freeware.zlib.rte.inventory
rm -f .info/backup_files
2$8 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
rm -f usr/lpp/freeware.zlib/liblpp.a
rm -f usr/lpp/freeware.zlib/inst_root/liblpp.a
rm -f .info/liblpp.a
rm -f //lppdir/out/zlib-1.2.1.1.bff //lppdir/out/zlib-1.2.1.1.bff.asc \
//lppdir/zip/zlib-1.2.1.1.exe //lppdir/bff/zlib-1.2.1.1.bff \
//lppdir/bff/zlib-1.2.1.1.bff.asc
No freeware.zlib.rte.al, applying logic to the problem...
No size file, try this for size...
No inventory file, inventing it...
No cfgfiles script, no pre-configured option, forget it
Making .info/liblpp.a archive
No root part to make
Making list of files to backup
Updating lpp_name
Making installp format distribution on //lppdir/out/zlib-1.2.1.1.bff
Target "all" is up to date.
Noter que le script cree automatiquement le script de post et pre install et desinstall dans le .inIo/.
Vous pouvez ajouter des commandes supplementaires dans ces scripts pour votre propre but.
VeriIications des Iileset installes
lppchk -v
Renommer un ensemble de bII
# bffcreate -c -d /usr/sys/inst.images
To check the Iirmware levels
Enter:
lscfg -vp | grep -p alterable
This command will produce a system configuration report containing
sections similar to the following.
SP_CARD_:
ROM Level.(non-alterable)...ss010219 <== SvP FW level
Version.....................RS6K
System Info Specific.(YL)...P2
System Firmware:
ROM Level.(alterable).......01096SST <== System FW level
Version.....................RS6K
System Info Specific.(YL)...P2
Rebooter en choisissant l`OS en ligne de commande
# bootinfo -d (affiche le disque sur lequel il a booter.
ATTENTION pas Fiable DU TOUT)
2$% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
==>hdisk
# bootlist -m prevboot
# bootlist -m normal -o (affiche le disque il devrait booter.)
==>hdisk0 hdisk1
# bootlist -m both hdisk0 hdisk1(modifie le prochain boot en hdisk0 et si a
ne fonctionne pas, hdisk1)
Creer un alias
alias info '/net/libreville/tools/shells/hardware/hwr'
AIIicher les inIormations des dernieres connections
# last
# last boot
# last shutdown
Synchro des tables d`inode et du buIIer de Iichier
# sync ; sync
Monter/demonter un cd rom
# mount -rv cdrfs /dev/cd0 /cdrom # si dvd standard
# mount -v udfs /dev/cd0 /cdrom # si dvdram
# umount /cdrom
ou pour un montage distant
mount -o ro tutu:/cdrom /cdrom
Oslevel Iaux
Il Iaut mettre a jour le Iileset bos.rte.install dans une version superieur
Exemple, si on devrait etre en Aix 6.1.3 et ca aIIiche 6.1.2,
il Iaut installer le Iileset bos.rte.install 6.1.4 avec les options suivantes
ne pas commited et sauver la version precedent
Appliquer, reIaire un oslevel, veriIier que l`on est passe e, versop, 6.1.3 (ou 4)
L`odm a ete mis a jour
Re-utiliser smitty pour revenir en arriere sur cette version de Iileset
L`oslevel est maintenant OK
Connaitre le Niveau du maintenance Level
oslevel -r
Niveau de l`OS (aix 5.3)
oslevel -s
260 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
6100-00-02-0750
VeriIication de la coherence des packages
61@/3/@ -1@ G61 @/3/@ .2H
# oslevel -sl 6100-00-02-075
Error: Service Pack 6100-00-02 is invalid or unknown.
AIIicher tous les SP/TL/ML connue par le systeme
61@/3/@ -17
AIIiche tous les Iilesets qui ne sont pas dans la bonne version par
rapport a l`OS
61@/3/@ O4@ $300-00
Installation de Maintenance Level sur Aix
Installe de Patchs si ncessaires au bundle
installp -a -d /net/gargantua/gargantua/UNIX/system/AIX_4.3.3/usr/sys/mvCD
bos.iconv.Zh_TW bos.iconv.ko_KR bos.iconv.zh_TW
Sur la machine a installer le ML, taper la ligne de commande si dessous :
installp -a -d -F /net/joyeuse/UNIX/patches/AIX/5.1.0_ML03/volume1 all
installp -a -d -F /net/joyeuse/UNIX/patches/AIX/5.1.0_ML03/volume2 all
Puis reboot et
installp -C
Pour nettoyer les traces des anciens packages
On vrifie ensuite que tous est bon
instfix -iac | grep ":-:"
instfix -i | grep ML
si une ligne est marqu ==> Not all FileSets alors c'est pas bon
on installe le Bundle en ligne de commande ou Via Smit.
installp -a -d /usr/patches all
on excute
instfix -iac | grep ":-:"
si c'est bon on vrifie la deuxime passe
instfix -i |grep ML
261 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
si une ligne est marqu, il faut installer les prerequis, dans notre cas les
localisations
installp -a -d . bos.loc.iso.Zh_TW bos.loc.iso.ko_KR bos.loc.iso.zh_TW
bos.loc.utf.KO_KR bos.loc.utf.ZH_TW
Normalement, si le Ml10 es installer on doit avoir la ligne :
(All fileset for 4330-10_AIX_ML were found)
aprs on redmarre la machine et on efface le rpertoire que l'on a cree.
/var/adm/wtmpx remplie a 100
Purger le fichier, il contient les commandes de `LAST'
wtmpx
262 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
S=4.<51
Les expressions
# ls -al *!(.[cho])
liste tous les Iichiers sauI ceux se terminant par .c, .o ou .h.
ls [a-c]r?toto[!b]*
liste les Iichiers commanant par a b ou c suivie de r suivie de n'importe quel caractere suivie de la
chaine toto suivie de tous sauI b et se terminant par n'importe quel chaine (y comprie rien).
Les attributs de variables
La commande 5D</1/5 positionne, reinitialise ou aIIecte les variables selon diIIerentes options :
-L =;24;M/ U M;8=N/
V var=M'ST#W!WXprint Vvar
M'ST#W!W
V typeset "?. var Xprint Vvar
M'S
-R =;24;M/ U 246.5/
V var=M'ST#W!W Xprint Vvar
M'ST#W!W
V typeset "Y7 var Xprint Vvar
#W!W
-h =;24;M/ U 246.5/ /5 4/:<@.11;M/ <;4 2/1 0 U M;8=N/
V typeset "Z- var=VFwho L wc "lH
3333333,
-=603/41.60 /0 :;T81=8@/ -8 68 /0 :.081=8@/ -@
V var=masoci5t5 X print Vvar
masoci5t5
V typeset "u var X print Vvar
M'ST#W!W
V typeset "l var X print Vvar
masoci5t5
263 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
-<465/=5.60 2[80/ 3;4.;F@/ /0 @/=584/ 80.78/:/05 -4
V typeset "r var
V var=bon<our
=shI var is read only
V 4 autre m5thode
V readonly a
V a=bon<our
=shI a is read only
Si un acces en ecriture est tente dans un shell script, il est interrompu
- 18<<4.:/4 80 ;554.F85 R
V typeset "r var
V var=bon<our
=shI var is read only
V typeset Gr var
V var=bon<ourXprint Vvar
bon<our
Les tableaux
4simple
V tableauN+O=toto
V aN7O=+3
V
4multiple
V set "' tab + 2 . 7
45quivaut B
V tabN3O=+
V tabN+O=2
V tabN2O=.
V tabN.O=7
V
affichage I
V
V print V[tableauN+O\
toto
V print V[aN+2O\
+3
V print V[tabN3O\
+ V print V[aNSO\ 4 affiche tout le tableau en mDme temps
+ 2 . 7
V print V[4aNSO\ 4 affiche la taille dAun tableau
+6
V print V[4aN+2O\
7
26# // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Conversions
Il est possible d'utiliser les diIIerentes bases (decimale, octale, hexadecimale ou binaire) pour
deIinir une variable arithmetique.
Pour cela on utilise la commande typeset de la Iaon suivante :
typeset "i- y=7
4on d5finit y B 7 en octal.
typeset "i2 x=6
4on d5finit x B 6 en binaire.
1xemple de script de conversion dAun nombre d5cimal en h5xad5cimal I
4 script conversion Fdu type Iconvertion nombreH
4 ]/bin/=sh
var=V+ 4var correspond au premier et donc au seul
print ^ Vvar _ 4paramCtre pass5 dans le script
typeset "i+6 hexadecimal=Vvar
print ^ Vhexadecimal _
La commande let ou (( ))
4affecter des variables num5riques.
V let x=+
V FF x=7 HH
4faire des calculs
V let x=`xG+
V FF i G=+ HH
45valuer les tests num5riques
V FF Fx=x"+H a3 HH
La modiIication du deroulement d'une boucle
while condition+
do
while condition2
do
if FF condition HH
then
brea= 2
fi
done
done
Interception de signal
# trap
26$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
trap "echo le signal 3 a ete recu" 3
La commande "echo le signal 3 a ete recu" sera executee si le signal 3 arrive,
Kill
kill l
1)HUP
2)INT
3)QUIT
4)ILL1
5)TRAP
6)ABRT
7)EMT
7)STOP
8)FPE
9)KILL
10)BUS
11)SEGV
12)SYS
13)PIPE
14)ALRM
15)TERM
16)URG
18)TSTP
19)CONT
20)CHLD
21)TTIN
22)TTOU
23)IO
24)XCPU
25)XFSZ
26)badtrap
27)MSG
28)WINCH
29)PWR
30)USR1
31)USR2
32)PROF
33)DANGER
34)VTALRM
35)MIGRATE
36)PRE
37)VIRT
38)ALRM1
39)WAITING
40)badtrap
41)badtrap
42)badtrap
43)badtrap
44)badtrap
45)badtrap
46)badtrap
47)badtrap
48)badtrap
49)badtrap
50)badtrap
51)badtrap
52)badtrap
53)badtrap
54)badtrap
55)badtrap
56)badtrap
57)badtrap
58)RECONFIG
59)CPUFAIL
266 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
60)GRANT
61)RETRACT
62)SOUND
63)SAK
CTRL C signal 2 (INT)
CTRL D signal 3 (QUIT)
CTRL Z signal 17 (STOP)
C54@C The interrupt signal, sends SIGINT to the job running in the Ioreground.
C54@) The delayed suspend character. Causes a running process to be stopped when it
attempts to read input Irom the terminal. Control is returned to the shell, the user can
Ioreground, background or kill the process. Delayed suspend is only available on
operating systems supporting this Ieature.
C54@h The suspend signal, sends a S#>!S!P to a running program, thus stopping it and
returning control to the shell.
S.M0;@ 0;:/ S.M0;@ 3;@8/ E99/=5
SIGHUP 1 Hangup
SIGINT 2 Interrupt Irom keyboard
SIGKILL 9 Kill signal
SIGTERM 15 Termination signal
SIGSTOP 17,19,23 Stop the process
signal)number signal)name
0
0
1
SIGHUP
2
SIGINT
3
SIGQUIT
6
SIGABRT
9
SIGKILL
14
SIGALRM
15
SIGTERM
Decalage
# shift
$2 devient $1
$3 devient $2
$4 devient $3
.
..
26" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Arguments
A chaque execution d`un script Shell, les variables $1 $2. sont aIIectees aux arguments qui
suivent le nom d`un script. EN outre, il existe :
$1... $9 Arguments 1 a 9
$* Chaine Iormee de tous les arguments.
$ Designe la suite des arguments (utiles pour rappeler un autre script).
$# Designe le nombre d`arguments.
$0 Designe le nom du script.
$? Code retour de la derniere commande
$$ Pid du shell
$! Pid de la derniere commande execute en background
Debugging d`un script
Introduire dans le script l'instruction
1/5 O> a partir de l'endroit ou l'on veut "tracer" le script a l'execution
1/5 R> a partir de l'endroit ou l'on veut cesser de "tracer" le script
Conditional - Statements
format "true" if:
---------------------------------------------------
(( _num1_ == _num2_ )) numbers equal
(( _num1_ != _num2_ )) numbers not equal
(( _num1_ < _num2_ )) num1 < num2
(( _num1_ > _num2_ )) num1 > num2
(( _num1_ <= _num2_ )) num1 <= num2
(( _num1_ >= _num2_ )) num1 >= num2
[[ _str1_ == _str2_ ]] strings equal
[[ _str1_ != _str2_ ]] strings not equal
[[ _str1_ < _str2_ ]] str1 precedes str2
[[ _str1_ > _str2_ ]] str1 follow str2
[[ _str1_ = _pattern_ ]] str1 = pattern
[[ _str1_ != _pattern_ ]] str1 != pattern
[[ -z _str_ ]] str is null
[[ -n _str_ ]] str is not null
[ x=y -o k=j ] or in expression
[ x=y -a k=j ] and in expression
if [[ "$strip" != "0" && "$strip" != "" ]]
Conditional Operateurs de test de Iichier
Renvoie "vrai" si :
-e le Iichier existe
268 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
-I le Iichier est un Iichier ordinaire (ni un repertoire ni un Iichier peripherique)
-s le Iichier a une taille superieure a zero
-d le Iichier est un repertoire
-b Le Iichier est un peripherique de type bloc (lecteur de disquettes, lecteur de cdroms,)
-c le Iichier est un peripherique de type caractere (clavier, modem, carte son, etc...)
-p Le Iichier est un tube nomme
-h le Iichier est un lien symbolique
-L le Iichier est un lien symbolique
-S le Iichier est une socket
-t le Iichier (descripteur) est associe avec un terminal
Cette option permet de tester dans un script si stdin ([ -t 0 ])
ou stdout ([ -t 1 ]) est un terminal.
-r le Iichier dispose du droit de lecture (pour lAutilisateur ayant lanc5 la commande)
-w le Iichier dispose du droit d'ecriture (pour lAutilisateur ayant lanc5 la commande)
-x le Iichier dispose du droit d'execution (pour lAutilisateur ayant lanc5 la commande)
-g le Iichier dispose du droit set-group-id (sgid) sur ce Iichier ou repertoire
SI un repertoire dispose du droit sgid, alors un Iichier cree dans ce repertoire
appartient au groupe du repertoire, et pas
-u le fichier dispose du droit set"user"id FsuidH
-k stic=y bit mis
-O vous tes le proprietaire du Iichier
-G vous Iaites partie du groupe proprietaire du Iichier
-N le Iichier a ete modiIie depuis sa derniere lecture
I1 -nt I2 le Iichier f+ est plus recent que le Iichier f2
I1 -ot I2 le Iichier f+ est plus ancien que le Iichier f2
I1 -eI I2 le Iichier f+ et le Iichier f2 sont des liens symboliques vers le mme Iichier
! not ~~ -- inverse le sens des tests precedents.
Conditional Operateurs de comparaison binaire
Comparaison d'entier
-eq est egal a if [ "$a" -eq "$b" ]
-ne n'est pas egal a if [ "$a" -ne "$b" ]
-gt est plus grand que if ["$a" -gt "$b" ]
-ge est plus grand ou egal a if [ "$a" -ge "$b" ]
-lt est plus petit que if [ "$a" -lt "$b" ]
-le est plus petit ou egal a if [ "$a" -le "$b" ]
est plus petit que (a l'interieur de parentheses doubles)
(("$a" < "$b"))
est plus petit ou egal a (a l'interieur de parentheses doubles)
(("$a" <= "$b"))
~ est plus grand que (a l'interieur de parentheses doubles)
(("$a" > "$b"))
~ est plus grand ou egal a (a l'interieur de parentheses doubles)
26% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
(("$a" >= "$b"))
est egal a if [ "$a" = "$b" ]
est egal a if [ "$a" == "$b" ]
! n'est pas egal a
if [ "$a" != "$b" ]
est plus petit que, d'apres l'ordre alphabtique ASCII
if [[ "$a" < "$b" ]]
if [ "$a" \< "$b" ]
~ est plus grand que, d'apres l'ordre alphabtique ASCII
if [[ "$a" > "$b" ]]
if [ "$a" \> "$b" ]
-z la chane de caracteres est vide ~~, c'est-a-dire qu'elle a une taille nulle
-n la chane de caracteres n`est pas vide ~~.
Conditional - Format oI Ilow control Iunctions
"if-then" if _expr_ then
_cmd(s)_
elif _expr_
_cmd(s)_
else
_cmd(s)_
fi
"case" case _word_ in
_pattern1_) _cmd(s)_
_pattern2_) _cmd(s)_
*) break ;;
esac
"while" while _expr_ do
_cmd(s)_
done
"for" for _variable_ in _list_
_cmd(s)_
done
"until" until _expr_
do
_cmd(s)_
done
Formatage avec printI
( <4.059 Zg221g221g221j0Z Z1Z Z2Z Z3Z
Creation de 3 colonnes d'une largeur de 22 charactere avec centrage d'origine (droite)
Si on desire avoir un centrage a gauche il faut rajouter un -
Exemple
( <4.059 Zg-221g-221g-221j0Z Z1Z Z2Z Z3Z
2"0 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
EIIacer le retour charactere a l`ecran
( 155D -/=N6 ( O0 @&/0@/3/
( 15D /=N6 ( O0 @/ 4/:/5
Couleur and co
#!/bin/sh
# Show colors available in shell scripts
# olafur@tviund.is
if [ "$1" = -s ]
then
cat $0 | less
exit
fi
clear
echo ""
echo "Available colors in TTY"
echo -e "Usage: $0 -s to see the source"
echo ""
echo "Attributes"
echo ""
echo -e "\033[40m\033[001mbold \033[0m\
\033[40m\033[004m underscore \033[0m\
\033[40m\033[005m blink \033[0m\
\033[40m\033[007m reverse \033[0m \
\033[40m\033[008m concealed \033[0m"
echo ""
echo "Text Colors"
echo ""
echo -e "\033[40m\033[030m black \033[0m \
\033[40m\033[031m red \033[0m \
\033[40m\033[032m green \033[0m \
\033[40m\033[033m yellow \033[0m \
\033[40m\033[034m blue \033[0m \
\033[40m\033[035m magenta \033[0m \
\033[40m\033[036m cyan \033[0m \
\033[40m\033[037m white \033[0m"
echo ""
echo "Text Colors BOLD"
echo ""
echo -e "\033[40m\033[001;030m black \033[0m \
\033[40m\033[001;031m red \033[0m \
\033[40m\033[001;032m green \033[0m \
\033[40m\033[001;033m yellow \033[0m \
\033[40m\033[001;034m blue \033[0m \
\033[40m\033[001;035m magenta \033[0m \
\033[40m\033[001;036m cyan \033[0m \
\033[40m\033[001;037m white \033[0m"
echo ""
echo "Background Colors"
echo ""
echo -e "\33[40m\033[040m black \033[0m \
\033[40m\033[041m red \033[0m \
\033[40m\033[042m green \033[0m \
\033[40m\033[043m yellow \033[0m \
\033[40m\033[044m blue \033[0m \
\033[40m\033[045m magenta \033[0m \
\033[40m\033[046m cyan \033[0m \
\033[40m\033[047m white \033[0m"
echo ""
2"1 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
echo ""
echo -e "\t\033[40m\033[005;041m And \033[0m\
\033[40m\033[001;044m you \033[0m\
\033[40m\033[007;032m can \033[0m\
\033[40m\033[001;033;047m ofcause \033[0m\
\033[40m\033[030;046m mix \033[0m\
\033[40m\033[001;045m it \033[0m\
\033[40m\033[005;034m as \033[0m\
\033[40m\033[001;037m you \033[0m\
\033[40m\033[001;035;043m like \033[0m"
echo ""
On peut utiliser l`option -/ d`/=N6 pour aIIicher les characteres speciaux
Ex :
( /=N6 "\ncoucou"
On +sse b / /i7ne
Or ren3oie /e curseur en 'abut 'e /i7ne
Ot tbu/tion
O3 tbu/tion 3ertic/e
Ob Retour en rricre
O TT /erte )) 2sonore ou 3isue//e4
O0<< /e crctcre 'ont /e co'e >SCII en oct/ est 0<<
Sort
Le programme sort permet de trier les lignes d'un fichier.
Les caractres ``+'' et ``-'' permettent de spcifier de quelle colonne quelle colonne
le tri doit s'effectuer (1ere colonne pour 0, 2eme colonne pour 1...) :
# sort +1 -2 /etc/passwd
Si on spcifie plusieurs critres, le tri se fera d'abord sur le premier champ, puis sur
le second si le tri sur le premier champ n'a pas suffit dpartager certaines lignes,
et ainsi de suite...Il existe diverses options :

T;F@/;8 1.$' O<5.601 2/ @; =6::;02/ 1645.
O<5.60 S.M0.9.=;5.60
-F Saute les colonnes constituees de blancs.
-2 Trie de type dictionnaire.
-0 Trie par ordre numerique.
-9
Aucune diIIerentiation n'est Iaite entre minuscules et
majuscules.
-F Ignore les espaces places en debut de champ.
-4 Trie inverse.
-M Trie chronologiquement les mois.
-5' Trie suivants les champs separes par les caracteres
2"2 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
deux points (`` ''').
On peut spcifier la recherche sur un caractre situ une position particulire, par
exemple la 2eme position du 6eme champ :
# sort -t: +5.1 /etc/passwd
Pour plusieurs critres de recherche, il faut spcifier derrire c6Que champ le type de
tri mettre en oeuvre pour ce critre. Par exemple :
# sort -t: +0d -1 +2nr -3
triera le 1er champ par ordre 'ictionnire, et le 3eme champ par ordre numariQue
in3erse, et
# sort -t: +4.3n -4.5 +4.0n -4.2
triera du 4eme au 6eme caractre du 5eme champ par ordre numariQue, et du 1er au 3eme
caractre du 5eme champ par ordre numariQue, si le premier tri s'est avr insuffisant.
Bien sur, on peut combiner les commandes cut et sort. Par exemple :
# cut -d: -f3 /etc/passwd | sort -n > Nombres
Sed et Awk
# printf "abcdefgh"| awk '{printf substr($0,1,5)}'
prend juste les 5 premiers characteres.
# ls| awk -v bol=cucu '{printf bol $0}'
Affiche les fichiers du repertoire courant avec la variable bol
ATTENTION, pas de $ sur bol pour l'affichage
# awk `/root/ {print $1}`
Affiche la ligne
qui contient root, equivalent a un grep en faite
# sed -e 's/\>//g;s/\<//g;s/)//g' /tmp/all_dev.log
remplacement de chaine de charactere
# lsvg rootvg | awk `{print $1}'
Affichage du champs 1
# lsvg rootvg | awk -K'; `{print $1}'
Affichage du champ 1, separateur de colone=;
# lsvg rootvg | awk -K'; `{print $NF}'
Affichage du dernier champ
# lsvg rootvg | awk -K'; `{print $(NF-1)}'
Affichage de l'avant dernier champ
2"3 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
# sed "s/cucu/OoO/g" /tmp/test
Va remplacer cucu par OoO dans le Iichier /tmp/test (remplacement TOUTES les occurrences)
G pour traiter toutes occurrences de chaque lignes
# sed "s/cucu/OoO/" /tmp/test
Va remplacer cucu par OoO dans le Iichier /tmp/test (remplacement 28 1
/4
=8=8 2/ =N;78/ @.M0/)
# sed "1,2 s/cucu/OoO/g" /tmp/test
# Va remplacer cucu par OoO dans le Iichier /tmp/test (il va traiter uniquement les lignes de 1 a 2)
# awk '/^nuucp/{print NR;}' /etc/passwd
# AIIicher le numero de ligne qui du Iichier /etc/passwd qui contiend nuucp EN DEBUT de ligne
# awk '/^nuucp/{print NR+4;}' /etc/passwd
# AIIicher le numero de ligne 4 qui du Iichier /etc/passwd qui contiend nuup`
# echo "1" "2" "3" | awk '{print $1, int($2*5), $3}'
# Calcul sur une variable en direct
# echo "1" "2" "3" | cut -c0-3
# AIIichage de charactere precis (comme substr)
Boucle
for i in `lsvg -o`
do
echo $i
done
*******************************************************************************
{ while read Line
do
Count=`echo $Line | awk '{printf $'${Num}'}' | wc -c`
if [ $Count -gt $Max ]
then
Max=$Count
fi
done } < /tmp/rootvg.log
*******************************************************************************
cat /etc/passwd | while read a b c d e f g
do
echo $a $b $c $d $e $f $g
done
*******************************************************************************
i=-5
while [ $i -le 5 ] ; do
echo $i
i=`expr $i + 1`
done
Redirection
2"# // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
0 = entre standard
1 = sortie standard
2 = erreur standard
(Commande unix) > /dev/null 2>&1
exec > nouveau_fichier # ds maintenant, la sortie standard des commandes
# # qui suivent est redirige vers fichier spcifi
ls
date
who
exec > /dev/tty # rtablissement de la sortie standard sur cran
AIIiche une variable sans les composants complet de directory
# pwd # /data/ora/P56NVTE/u05
# echo `basename $(pwd)` # u05
AIIiche uniquement
AIIiche une variable d`une variable en sh
tutu=tata
tata=160
eval t=$`echo $tutu`
echo $t
Fonction couleur
Message() {
printf '\033[%s;%s;%sm' 1 30 40
printf $1 '\n\033[0m'
printf '\n\033[0m'
}
Ou
printf '\033[1;34;40m'
echo Bonjour
printf '\033[0m'
C68@/84 T/>5/ F602
Noir 30 40
Rouge 31 41
Vert 32 42
Jaune 33 43
Bleu 34 44
Magenta 35 45
E99/5 C62/
normal 0
gras 1
non gras 21
souligne 4
non souligne 24
clignotant 5
2"$ // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Cyan 36 46
Blanc 37 47
non clignotant 25
inverse 7
non inverse 27
Traitement de chane
$chane1$chane2
Concatnation de chane1 et chane2
`expr length "$chane"`
Retourne la longueur de chane
`expr substr "$chane" position longueur`
Retourne sous-chane de longueur spcifie commenant position

`expr index "$chane" liste_car`
Retourne position de liste_car dans chane
Arithmetique entiere
result`expr "$operande1 $operande2"`
Addition de 2 oprandes.
Les espaces de part et d'autre de l'oprateur sont obligatoires.
Les autres oprateurs disponibles sont - * /
Commande Sed
Recuperer les N de ligne d`une occurance :
# netstat -vn | grep -n "ETHERNET STATISTICS"
# sed -n 1,5p /tmp/nett
sed -n 96,98p /tmp/nett
-41
Code de sortie
2 : en erreur
1 : sortie standard
Exemple on veut passer la commande .9=609.M /018
Si l`interIace existe et la commande Ionctionne on aura le resultat aIIiche a l`ecran
2"6 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
Si ce n`est pas le cas, on a redirige la sortie erreur vers /dev/null donc on ne verra
pas de message d`errreur.
Commande Grep
-w : Grep uniquement le 'word'
grep est un filtre. l peut trouver un mot dans un fichier, par exemple :
grep malloc *.c
cherche la chaine de caractres .alloc dans tous les fichiers dont le nom se termine par
.c (*.c).
On peut insrer une variable dans le critre de recherche (utile pour les scripts shells) :
grep "^[^:]*:[^:]*:$1:" /etc/passwd
grep "^$utilisateur
grep "^$utilisateur" > /dev/null 2>&1
ou utiliser un tube pour filtrer la sortie d'une commande :
locate Quick | grep dosemu
Pour laborer un modle de recherche, on dispose d'un certain nombre de caractres
spciaux (tableau 1.1).

TabIeau 1.1: Caractres spciaux servant de modle pour grep.
C;4;=5E4/
S.M0.9.=;5.60
[...]
Plage de caracteres permis.
[^...]
Plage de caracteres interdits.
^
Debut de ligne.
.
Un caractere quelconque, y compris un espace.
e
Caractere de repetition, agit sur le caractere place
avant l'etoile. Accepte egalement l'absence du
caractere place devant lui.
\
Fin de ligne.
\{...\}
Repetition.
\{Nombre\}
Repetition de %ombre exactement.
2"" // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
\{Nombre,\}
Repetition de %ombre au minimum.
\{Nombre1 Nombre2\}
Repetition de %ombre+ a %ombre2.

Le tableau 7.1 page prsente d'autres modles pouvant tre utiliss.
Par ailleurs, plusieurs options peuvent tre utilises. Voici quelque options utiles de la
commande grep (tableau 1.2) :

TabIeau 1.2: Options courantes de la commande grep.
O<5.60
S.M0.9.=;5.60
-=
Nombre de ligne trouvees (sans les aIIicher).
-.
Ne Iait pas la diIIerence entre majuscule et
minuscule.
-0
AIIiche le numero de la ligne.
-@
AIIiche le nom du Iichier contenant la ligne
(et pas la ligne).
-3
AIIiche toutes les lignes qui
0/ =605./00/05 <;1 le mot en question.

l existent deux autres commandes qui largissent les possibilites de la commande
grep : egrep et fgrep.

La commande egrep permet d'utiliser un fichier contenant un ou des critres de
recherche avec l'option E*. Si plusieurs critres sont spcifis, egrep cherchera pour
chacun de ces critres (OU logique). l existe par ailleurs plusieurs options qui peuvent
simplifier les critres de recherche (tableau 1.3).

TabIeau 1.3: Caractres spciaux servant de modle pour fgrep.
2"8 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
C;4;=5E4/
S.M0.9.=;5.60
R
Caractere de repetition. Le caractere place devant ce
signe doit exister au minimum une Iois.
V
Caractere de repetition. Le caractere place devant
peut apparatre une Iois ou pas du tout.
I;| FK
L'une ou l'autre des expressions sont autorisees.
I...K
Permettent de grouper des criteres partiels.

Voici quelque exemples d'utilisation :
[a-z]+
cherche toutes les lignes contenant au minimum une lettre en minuscule. Le critre avec
grep aurait t [a-z][a-z]*.
^[0-9]\{3\}$
cherche toutes les lignes contenant uniquement un nombre 3 chiffres.
:[0-9]\{2,\}:
cherche toutes les lignes contenant des nombres de minimum 2 chiffres avant les deux
points (``:'').
^[0-9]\{1,5\}:
cherche toutes les lignes commencant par des nombres de minimum 1 5 chiffres suivits
par deux points (``:'').
(une|deux) fois
cherche toutes les lignes contenant la chane ``une fois'' ou ``deux fois''.
La commande fgrep effectue une recherche plus rapide, mais ne reconnat pas les
caractres spciaux. Comme pour egrep, on peut spcifier un fichier contenant un ou
des critres de recherche avec l'option E*. Un tel fichier pourra par exemple contenir :
une fois
deux fois
et les lignes contenant l'un ou l'autre de ces textes seront recherches.
2"% // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
280 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
S=4.<5 PND560
#!/home/oracle/oracle/opt/ActivePython-2.6/bin/python
# -*- coding:Utf-8 -*-
# exemple d'une boucle
count=1
while count<20:
count = count+1
print "ici"
print "ici2"
print "fini : count=",count
# Affiche une sequence spcifique d'une variable
test="abcdefghijklm"
jour = ['lundi', 'mardi', 'mercredi', 1800, 20.357, 'jeudi', 'vendredi']
print test[1],test[6]
print jour
print jour[2]
jour[3] = 'Juillet'
print jour[3]
# Suppression d'une sequence dans une chaine
del(jour[4])
print jour
# Ajount d'une sequence dans une chaine
jour.append('samedi')
print jour
# Affiche la longueur d'une chaine
tt='juste un exemple'
print len(tt)
# Converti une chaine de charactere en nombre
nombre=18
nombreB='19'
nombreC= int(nombreB)
print nombre+nombreC
# Converti un nombre en chaine de charactere
nombreD=20
print float(nombreD)
# Exemple d'input
prenom = input('Entrez votre prnom (entre guillemets) : '
print 'Bonjour,', prenom
,;3;-1=4.<5 ;02 C6
Affiche d'une popup avec une methode POST
<script language="javascript" type="text/javascript">
function pop_it(the_form) {
my_form = eval(the_form)
281 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
window.open("./wait.php", "popup", "height=440,width=640,menubar='no',toolbar='no',lo
cation='no',status='no',scrollbars='no'");
my_form.target = "popup";
my_form.submit();
}
</script>
T[(( 0TM5 (()
<form name="chatform" action="./guests.php" method="post">
<p>
Nickname : <input type="text" name="nick" maxlength="32" size="12" value="" /><br />
Password : <input type="password" name="pass" size="12" /><br />
<input type="button" onclick="pop_it(chatform);" value="Tchatter" /></p>
</form>
Autre methode
html>
<head>
<script language="JavaScript" src="popup.js"
type="text/javascript"></script>
</head>
<body>
<a href="#" onclick = 'openPopupW("about.html", 300, 300, 200,
200)'>about</a>
</body>
</html>
et le code ,;3;S=4.<5 (Iichier externe: openPopupW )
urlpopup='"about:blank"';
popupHeight = (screen.height/2);
popupWidth = (screen.width/2);
popupTop = 0;
popupLeft = 0;
function openPopupW (urlpopup, popupHeight, popupWidth, popupTop, popupLeft){
w = open (urlpopup , "about",
"height=" + popupHeight + "," +
"width=" + popupWidth + "," +
"top=" + popupTop + "," +
"left=" + popupLeft + "," +
"menubar='no',toolbar='no',location='no',status='no',scrollbars='no'"
);
}
function closeOpenPopupW (){
if (w)
w.close ();
}
282 // 283
UNIX ALL TIPS
V4.6 Gi@nts 2002
L/>.78/
Dlpar Dynamic Logical Partitioning
Ext2 Systeme de Iichier sous linux
Ext3 Idem que Ext2 mais journalise
FailOver Technique qui permet de passer au dessus d`une panne sans en tenir compte
Gnu GNU is Not Unix
Gpl General Public License
Hba Hosts Bus Adapter (carte d`interIace)
Ipc Inter Process Communication
JIs Journal File System IBM
Lpar Logical Partitioning
ReiserIs Systeme de Iichier le plus adapte au petits Iichiers
Rpc Remote Procedure Call
RsI Remote support system hmc` connection support IBM
SrdI/A Symmetrix Remote Data Facility Asynchronous
SrdI/D Symmetrix Remote Data Facility Data Mobility
SrdI/S Symmetrix Remote Data Facility Synchronous
Wlm Workload Manager (gestion des ressources)
Wpar Workload Partition (a partir d`Aix 6.1)
XIs Journal File System SGI
Filer Serveur de Iichier
Moe Maitrise d`oeuvre
Moa Maitrise d`ouvrage
Link Polling Fonction qui pilote le driver pour donner le status d`une carte
(valeur entre 100 et 1000 milliseconde)
Spot Shared Product Object Tree
(image d`un systeme minimal necessaire par type hardware de machine)
Lpp Licensed Program Product
IPL Initial Program Load Read-Only Memory
283 // 283

Anda mungkin juga menyukai