Mise en correspondance des noms de périphériques logiques et physiques
par
popularité : 2%
Mise en correspondance des noms de périphériques logiques et physiques
Cela est très utiles avec la commande sar ou iostat :
Exemple de sar :
# sar -d 2 3
SunOS su560tos 5.10 Generic_141444-09 sun4v 10/17/2011
14:01:28 device %busy avque r+w/s blks/s avwait avserv
14:01:30 lofi1 0 0.0 0 0 0.0 0.0
nfs1 0 0.0 0 5 0.0 0.8
nfs2 0 0.0 0 0 0.0 0.0
sd0 5 0.0 14 311 0.0 3.4
sd0,a 5 0.0 14 311 0.0 3.4
sd0,c 0 0.0 0 0 0.0 0.0
sd1 6 0.1 14 311 0.0 4.2
sd1,a 6 0.1 14 311 0.0 4.2
sd1,c 0 0.0 0 0 0.0 0.0
sd2 0 0.0 0 0 0.0 0.0
sd3 0 0.0 0 0 0.0 0.0
sd3,a 0 0.0 0 0 0.0 0.0
sd3,h 0 0.0 0 0 0.0 0.0
sd4 0 0.0 0 0 0.0 0.0
sd4,a 0 0.0 0 0 0.0 0.0
sd4,h 0 0.0 0 0 0.0 0.0
ohci0,bu 0 0.0 0 0 0.0 0.0
ohci0,ct 0 0.0 0 0 0.0 0.0
A première vu, par évidant de dire qui est "sd4" ... c0t3d0 est plus parlant (ou devrait être) pour l’administrateur Unix.
Autre exemple avec iostat :
# iostat
tty lofi1 sd0 sd1 sd2 cpu
tin tout kps tps serv kps tps serv kps tps serv kps tps serv us sy wt id
11 3366 0 0 0 64 7 10 64 7 11 0 0 6 2 1 0 97
Il y a plusieurs possibilité pour obtenir la mise en correspondance des nom logiques et physique.
* utilisation du fichier /etc/path_to_inst
# ./NomDiskLogPhy_info.ksh
c0t0d0s2 = sd0
c0t1d0s2 = sd1
c0t2d0s2 = sd3
c0t3d0s2 = sd4
c1t0d0s2 = sd2
Cette méthode est plus fiable. Elle s’appuie sur les fichiers de /dev/dsk et /etc/path_to_inst .
* utilisation de la commande iostat
# paste -d= <(iostat -x | awk ’print $1’) <(iostat -xn | awk ’print $NF’) | tail +3 | egrep -v "nfs|lofi*"
sd0=c0t0d0
sd1=c0t1d0
sd2=c1t0d0
sd3=c0t2d0
sd4=c0t3d0
#
Méthode un peu moins fiable, car elle ne montre que les disques encours d’utilisation sur le serveur
Voici contenu du script NomDiskLogPhy_info.ksh
# more NomDiskLogPhy_info.ksh
#! /usr/bin/ksh
for device in /dev/dsk/*s2
do
dpath="$(ls -l $device | nawk '{print $11}')"
dpath="${dpath#*devices/}"
dpath="${dpath%:*}"
iname="$(nawk -v dpath=$dpath '{
if ($0 ~ dpath) {
gsub("\"", "", $3)
print $3 $2
}
}' /etc/path_to_inst)"
echo "$(basename ${device}) = ${iname}"
done
source du script : stackoverflow.com/questions/555427/map-sd-sdd-names-to-solaris-disk-names