====== En vrac ====== Le sticky sur un répertoire permet la suppression d'un fichier uniquement par son propriétaire. Sur un fichier il permettait de le conserver en mémoire afin d'obtenir de meilleures performances. Symmetrix = Technique de transfers (SRDF) # Sed excluant sed -n '1,6!p' n'affichera pas les 6 premières lignes # Liste les zones présentes sur un Solaris zoneadm list -cv # Liste les groupes de disques présents dans un pool (commande lié à ZFS) zpool list # Liste les DisksGroups (Volume Groupe) présent sur un serveur (commande Véritas) sudo vxdg list # Liste les disques physiques présents dans un DisksGroup (commande Véritas) # ttgintdmp06 est un DiskGroup sudo vxprint -g ttgintdmp06 -dq # Liste les informations sur un disque physique (commande Véritas) sudo vxdisk list Disk_256 # Liste les informations liées au SAN (commande Solaris) luxadm # Afficher la version d'un serveur Solaris cat /etc/release # Connaître les informations sur une partition (commande Solaris) prtvtoc /dev/XXXXXXXX Le service "fmadm" gère les erreurs sous Solaris. Le système Solaris utilise des "slices" comme partition Les slices 0 et 2 sont réservées au système Solaris, la slice 7 est une "copie totale" du disque La commande "prstat -a" sous Solaris est un équivalent de la commande "top" sous Linux. # Lister les interfaces réseaux (commande Solaris) sudo dladm show-link # Afficher le status des interfaces réseaux ifconfig -a # Partage NFS (commandes Solaris) share -F nfs /tools/ccm/ccm_data/baserisdevtt -> Partager unshare /tools/ccm/ccm_data/baserisdevtt -> Dé-partager STONITH = Shoot The Other Node In The Head # Lister les LUN attachées à un système sudo /usr/symcli/bin/syminq -wwn --- où --- sudo /usr/symcli/bin/syminq -wwn | egrep '1B9F|1BA3' -> (1B9F et 1BA3 sont des LUNs) # Effectuer un mirroir de "SuperVolumeGroupe/SuperVolumeLogique" sur les disques "/dev/dm-01 /dev/dm-02 /dev/dm-03" sudo lvconvert -m1 --corelog SuperVolumeGroupe/SuperVolumeLogique /dev/dm-01 /dev/dm-02 /dev/dm-03 # Lister toutes les informations d'un volume Logique sudo lvs --all -o +devices ctmprddb05/oradata01_mimage_0 # Gestion des services sous Solaris svcadm {enable|disable|restart} httpd # Afficher des informations au sujet du système showrev # Afficher les informations au sujet des processeurs (commande Solaris) psrinfo # Appliquer un patch au système Solaris sudo patchadd 121428-13 -> 121428-13 = Nom/Numéro du patch à appliquer # Lister les paquets présents sur le système (commande Solaris) pkginfo SDS (Solaris Disk Suite) est le nom du volume manager sous Solaris # Arrêter un processus zombie avec un code statut 0 (commande Solaris) preap 810 -> 810 = PID # Savoir si son système est 32Bits ou 64Bits (commande Solaris) isainfo -b # Liste les informations SRDF (R1 et R2) (commande Veritas) sudo /usr/symcli/bin/symrdf -g stfprddb01 query -> stfprddb01 est un service # Liste tous les DG (commande Veritas) sudo vxdisk -o alldgs list # Vérifie que des LUNs soient bien attachées à un serveur (stfprddb01-lun contient des ID de LUNs) sudo lun_discover -c -f /tmp/stfprddb01-lun # Obtenir l'espace libre d'un service. sudo vxdg -g stfprddb01 free # Liste tous les disques d'un service ainsi que leur mode (concat ou stripe) (commande Veritas) vxprint -thg stfprddb01 # Connaître la vitesse d'une interface réseau (commande Solaris) ndd -get /dev/nxge \? kstat -i 0 -m nxge -s link_speed # Afficher l'état d'une LUN (commande Solaris) sudo luxadm disp /dev/rdsk/c6t600601608E381700A059A6A50315DC11d0s2 # Afficher toutes les LUNs attachées à un serveur (commande Solaris) sudo luxadm probe | more # Afficher l'état des cartes fibres (commande Solaris) sudo luxadm -e port # Affiche la configuration des ressources matérielle (commande Solaris) sudo cfgadm -la # Reconfigurer le contrôleur C2 (obtenu à l'aide de la commande ci-dessus) (commande Solaris) sudo cfgadm -c configure c2 # Afficher le diagnostic du serveur (commande Solaris) prtdiag # Déplumber une interface (commande Solaris) sudo ifconfig ipge0:10 down unplumb # Supprimer une volume d'un DG (commande Veritas) sudo vxedit -g stfprdap90 -f -r rm wapprdap80_projects # Indique l'espace restant dans un DG avec les contraintes spécifiées. sudo vxassist -g stfprddb01 maxsize layout=stripe cols=3 alloc="stfprddb01-01 stfprddb01-02 stfprddb01-03" # OU (taille en bloc (à diviser par 2), taille en octets (à diviser par 1024)). sudo vxdg -g bdrprddb06 free sudo /usr/lib/vxvm/bin/vxdisksetup -i EMC0_95 format=sliced sudo /usr/lib/vxvm/bin/vxresize -F ufs -g stfprddb01 oradata02 +34g alloc="stfprddb01-18 stfprddb01-19 stfprddb01-20" vxprint -dg stfprddb01 # Connaître l'adresse MAC d'une carte Solaris en "SC". {3} ok cd /pci@1f,700000/pci@0/pci@2/pci@0/network@4 {3} ok .properties # Lister les disques d'un mirroir AIX lsvg -p rootvg rootvg: PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION hdisk0 active 546 344 109..17..00..109..109 # Suppression du disque "hdisk1" du mirror "rootvg" (commande AIX) unmirrorvg -c 1 rootvg hdisk1 sudo reducevg rootvg hdisk # Affiche les informations pour les cartes réseau sudo dladm show-dev # Modifier des paramètre réseau. ndd -set /dev/ce adv_autoneg_cap 1 # Permet d'obtenir des informations depuis la commande hpacucli sudo /opt/compaq/hpacucli/bld/hpacucli ctrl all show config # Activer l'auto-négociation sur l'interface ce1 sudo ndd -set /dev/ce instance 1 sudo ndd -set /dev/ce adv_autoneg_cap 1. # Passer un disque en status "online" s'il est en status "online failing" sudo vxedit -g syndevap set failing=off syndevap-01 # Supprimer la réservation sur une LUN. sg_persist -n --out --register-ignore --param-sark=0x3834343738396236 /dev/rdsk/c2t60060160E65C1C000C53793DC078DC11d0s2 sg_persist -n --out --clear --param-rk=0x3834343738396236 /dev/rdsk/c2t60060160E65C1C000C53793DC078DC11d0s2 # Afficher les performances CPU mpstat 3 # Supprimer un volume d'un DG (commande Veritas) vxassist -g sdsuatap01 remove volume grdlog # Liste les PATHs SAN (commande Solaris) sudo mpathadm list lu # Scanner les bus SCSI (commande Linux) (voir le paquet sg3_tuils) sudo rescan-scsi-bus.sh # Activer les volumes d'un DG importé (commande Veritas). sudo vxvol -g bdrintdb01 startall # Donne des informations sur les disques. sudo cat /sys/block/cciss\!c0d0/device/{model,vendor} # Affiche les informations d'un disque via l'outil HPACUCLI. sudo /opt/compaq/hpacucli/bld/hpacucli ctrl slot=0 pd all show sudo /opt/compaq/hpacucli/bld/hpacucli ctrl slot=0 pd 1:0 show # Augmenter la taille du buffer UDP (commande Solaris). ndd -set /dev/udp udp_max_buf 8388608 # Connaître la valeur de la taille du buffer UDP (commande Solaris) sudo ndd -get /dev/udp udp_max_buf # Supprimer une interface du bonding (bond0) (commande Linux). sudo ifenslave -d bond0 eth4 # Tips Vim. :%s/[A-Z]/\L&/ # UPPER vers lower # Connaître le WWN d'une carte HBA (commande Solaris) sudo prtpicl -v -c scsi-fcp # Gestion de SYMCLI sudo /usr/symcli/bin/stordaemon shutdown all sudo /usr/symcli/bin/stordaemon start storapid sudo /usr/symcli/bin/stordaemon list # Base de données SYMCLI corrompue ------- sudo symdev list The SYMAPI database file is invalid or corrupted ------- Supprimer la base de données dans /var/symapi/db/* # Debugging ps -eo zone,pid,user,pcpu,pmem,rss,vsz,args | sort -nk 4 | tail ps -o zone,pid,user,pcpu,pmem,rss,vsz,args -p 12130,3730 prstat -mL # Voir les alertes FM sudo fmadm faulty # Résultat :1 --------------- ------------------------------------ -------------- --------- TIME EVENT-ID MSG-ID SEVERITY --------------- ------------------------------------ -------------- --------- Dec 07 22:21:18 e19bd625-aca1-4b47-d682-8ddd39213c29 FMD-8000-2K Minor # Obtenir plus d'informations au sujet d'un alter en utilisant son ID "e19bd625-aca1-4b47-d682-8ddd39213c29" sudo fmdump -v -u e19bd625-aca1-4b47-d682-8ddd39213c29 # Acknowledger une erreur FM sudo fmadm repair e19bd625-aca1-4b47-d682-8ddd39213c29 # Ajouter une nouvelle interface réseau Renseigner les fichiers : /etc/hostname.bge1 /etc/hosts /etc/netmask sudo ifconfig bge1 plumb sudo ifconfig bge1 184.7.41.185 netmask + broadcast + up # Liste les devices via DevMapper sudo dmsetup ls --target multipath # Informations au sujets des interfaces réseau sous Linux /sys/class/net/ethX # Afficher la licence Véritas vxlicrep -e # Affiche tous les processus qui utilisent "/devices/scsi_vhci:devctl" (commande Solaris) for I in $(ps -ef -o pid); do [ $(sudo pfiles $I | grep -c "/devices/scsi_vhci:devctl") -ne 0 ] && echo $I; done # Désactivation d'une LUN (commande Solaris) luxadm -e offline /dev/rdsk/c4t60060160E65C1C004B1030B7B622DE11d0s2 # Remplacer un disque dans un pool ZFS (commande Solaris) sudo prtvtoc /dev/dsk/c0t0d0s2 | sudo fmthard -s - /dev/rdsk/c1t0d0s2 sudo zpool replace -f rpool c0t1d0s0 c1t0d0s0 # Rendre le disque bootable sudo installboot -F zfs /usr/platform/`uname -i`/lib/fs/zfs/bootblk /dev/rdsk/c1t0d0s0 # Activer un device de swap (commande Solaris) sudo swap -a /dev/zvol/dsk/spool/swap # Initialiser un DG sans le CDS (commande Veritas) sudo vxdg init bdrprddb10 bdrprddb10-01=EMC0_78 cds=off # Ajouter un disque à un DG (commande Veritas) sudo vxdg -g bdrprddb09 adddisk bdrprddb09-02=EMC0_75 # Créer un volume strippé (commande Veritas) sudo vxassist -g bdrprddb09 make oracle 10g layout=stripe # Formater une partition Oracle avec des blocs de 8K (commande Solaris) (on peut rajouter l'option -T pour un FS avec de gros fichiers et la gestion du multiterabyte) sudo newfs -f 8192 -b 8192 -i 131072 -o time -m 1 /dev/vx/rdsk/bdrprddb09/oradata01 # Renommer un disque dans un groupe (commande Veritas) sudo vxedit -g b2tprddb01redo rename b2tprddb01redo-07 b2tprddb01redo-06 # Obtenir les informations mémoire (commande Solaris) sudo mdb -k > ::memstat ########### # Disque non partitionné (commande Solaris) sudo prtvtoc /dev/rdsk/c3t60060480000290101986533031333844d0s2: Unable to read Disk geometry errno = 0x16 # Slice 2 du disque désactivée en écriture (commande Solaris) $ sudo vxdisk list EMC1_222 Device: EMC1_222 devicetag: EMC1_222 type: auto flags: online error private autoconfig errno: Device path not valid Multipathing information: numpaths: 1 c3t60060480000290101986533031333844d0s2 state=disabled for I in $(awk '{print $7}' lunlibres); do sudo format -f formatFileInput -e ${I}s2 ; done $ cat formatFileInput p p 2 backup wm 0 $ lab 0 # Ajout de route sur linux : se connecter sur le reseau 193.178.207.0 via la gateway 184.34.62.254 par le device eth0 vi /etc/sysconfig/network-scripts/route-eth0 193.178.207.0/24 via 184.34.62.254 dev eth0 ip route add 193.178.205.0/24 via 184.34.62.254 dev eth0 # Ajout de route d'un réseau sous solaris : (pour que ca soit pris en compte au boot, il faut le mettre dans un script /etc/rc3.d/S56static-routes [[http://www.sunsolarisadmin.com/solaris-7/how-to-add-a-static-route-persistent-in-sun-solaris/]] route add -net 193.178.207.0/24 184.34.62.254 # Supprimer la route route del -net 193.178.207.0/24 184.34.62.254 # Terminal too wide stty columns 120 # connaitre son runlevel sous solaris who -r # Activation instance autosys # demander quelle instance editer /etc/xinetd.d/auto_remote_PE1 /etc/init.d/xinetd reload netstat -ltpe # supprimer un device proprement echo 1 > /sys/block/sdhj/device/delete # rescanner un device proprement echo 1 > /sys/block/sdhj/device/rescan # rescanner device sous linux echo "- - -" > /sys/class/scsi_host/host2/scan # vérification etat du lien san cd /sys/class/scsi_host cat host?/state Link Down Link Up - Ready Fabric # obtenir les infos emulex : /usr/sbin/hbanyware/hbacmd listhbas # finddeleted function finddeleted { [ -f /bin/nawk ] && { OPT="";AWK=nawk; } || { OPT="-maxdepth 1 -follow";AWK=awk; } sudo find /proc/*/fd $OPT -name "[0-9]*" -links 0 -type f -ls 2>/dev/null |$AWK ' BEGIN{ format="%-17s %12s %10s %-20s\t %-9s %s\n"; printf(format,"FileDescriptor","Size","Inum","FileSystem","User"," Process"); } { file=$NF; inum=$1; size=$(NF-4); split(file,f,"/"); pid=f[3]; cmd="df -k "file" 2>/dev/null"; cmd |getline; cmd |getline; close(cmd); fs=$NF; cmd="ps -p "pid" -o user,args"; cmd |getline; cmd |getline; close(cmd); user=$1;$1=""; if(user=="PID") next; process=$0; printf(format,file,size,inum,fs,user,process); if(inums[fs,inum]=="") { totalsize[fs]+=size; inums[fs,inum]=1; } } END{ print "-----------------"; for (fs in totalsize) printf(format,"TOTAL",totalsize[fs],"",fs,"",""); } ' } # lister les fichiers qu'on une taille supérieur à 20M sur le fs sudo find / -mount -type f -size +20000k -print | xargs -i du -sk {} | sort -n # Afficher les 3 caractères qui suivent après les 3 premiers caractères. sed 's/...//;s/\(...\).*/\1/' # Supprimer les lignes qui contiennent la ligne ENV dans tous les fichiers *.sh sed -i '/ENV/ d' files/*.sh # Voir les fichiers utilisé par les process sous solaris for I in $(ps -ef -o pid); do [ $(sudo pfiles $I | grep -c "/devices/scsi_vhci:devctl") -ne 0 ] && echo $I; done # Voir les process qui utilise export ls -al /proc/*/fd/* | grep export # récupérer les infos fc_host # systool -av -c fc_host Class = "fc_host" Class Device = "host2" Class Device path = "/sys/class/fc_host/host2" fabric_name = "0x100000051e35a3fe" issue_lip = node_name = "0x50014380063406e3" port_id = "0x160e00" port_name = "0x50014380063406e2" port_state = "Online" port_type = "NPort (fabric via point-to-point)" speed = "2 Gbit" supported_classes = "Class 3" supported_speeds = "1 Gbit, 2 Gbit, 4 Gbit" symbolic_name = "HPAE311A FW:v5.03.01 DVR:v8.03.01.12.10.3-k4" system_hostname = "" tgtid_bind_type = "wwpn (World Wide Port Name)" uevent = #cat /sys/class/fc_host/host3/port_name 0x500143800632b8de # afficher toutes les colonnes, depuis la seconde du fichier toto awk '{ for (i=2; i<=NF; i++) printf "%s ", $i; printf "\n"; }' /toto # récupérer le wwn d'un disque depuis linux # /lib/udev/scsi_id --page=0x83 --whitelisted --device=/dev/emcpowerb 360000970000292602678533032343239 Screen too large for internal buffer # stty columns 132 How to disable password aging for an user account To turn off the password expiration for an user account, set the following: * -m 0 will set the minimum number of days between password change to 0 * -M 99999 will set the maximum number of days between password change to 99999 * -I -1 (number minus one) will set the “Password inactive” to never * -E -1 (number minus one) will set “Account expires” to never. # chage -m 0 -M 99999 -I -1 -E -1 dhinesh # chage --list dhinesh Last password change : Apr 23, 2009 Password expires : never Password inactive : never Account expires : never Minimum number of days between password change : 0 Maximum number of days between password change : 99999 Number of days of warning before password expires : 7