per trovare un elenco dei punti di montaggio e quali dischi vengono utilizzati da ciascuno:
guarda /etc/vfstab
: questo file mostra quali file system sono configurati sul sistema, inclusi i dischi utilizzati in quali punti di montaggio. Questo file non è utilizzato per i filesystem ZFS.
# cat /etc/vfstab
#device device mount FS fsck mount mount
#to mount to fsck point type pass at boot options
#
fd - /dev/fd fd - no -
/proc - /proc proc - no -
/dev/dsk/c1t0d0s1 - - swap - no -
/dev/dsk/c1t0d0s0 /dev/rdsk/c1t0d0s0 / ufs 1 no -
/dev/dsk/c1t1d0s0 /dev/rdsk/c1t1d0s0 /jumpserver ufs 1 yes -
/devices - /devices devfs - no -
ctfs - /system/contract ctfs - no -
objfs - /system/object objfs - no -
swap - /tmp tmpfs - yes -
#/jumpserver/install/SunOS/5.10/i386/u4/boot - /tftpboot/I86PC.Solaris_10-4 lofs - yes ro
#/jumpserver/install/SunOS/5.10/i386/u7/boot - /tftpboot/I86PC.Solaris_10-7 lofs - yes ro
/jumpserver/install/SunOS/5.10/i386/u9/boot - /tftpboot/I86PC.Solaris_10-9 lofs - yes ro
/jumpserver/install/SunOS/5.10/i386/u7/boot - /tftpboot/I86PC.Solaris_10-10 lofs - yes ro
esegui il comando zpool status
- questo comando stamperà un elenco di tutti gli zpool configurati e importati sul sistema, ed elenca quali dischi sono usati in ogni pool e quale sia la configurazione del pool, per quanto riguarda il mirroring, o raidz, ecc.
# zpool status
pool: rpool
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
c0t0d0s0 ONLINE 0 0 0
c0t1d0s0 ONLINE 0 0 0
errors: No known data errors
esegui il comando mount -p
: questo mostrerà un tuo elenco in stile vfstab di tutti i filesystem che sono montati sul server. L'importanza di questo, è che può identificare i filesystem che sono stati montati, ma non sono mai stati aggiunti a / etc / vfstab, o modifiche ai montaggi che non sono stati resi persistenti.
# mount -p
/dev/dsk/c1t0d0s0 - / ufs - no rw,intr,largefiles,logging,xattr,onerror=panic
/devices - /devices devfs - no
ctfs - /system/contract ctfs - no
proc - /proc proc - no
mnttab - /etc/mnttab mntfs - no
swap - /etc/svc/volatile tmpfs - no xattr
objfs - /system/object objfs - no
/usr/lib/libc/libc_hwcap1.so.1 - /lib/libc.so.1 lofs - no
fd - /dev/fd fd - no rw
swap - /tmp tmpfs - no xattr
swap - /var/run tmpfs - no xattr
/dev/dsk/c1t1d0s0 - /jumpserver ufs - no rw,intr,largefiles,logging,xattr,onerror=panic
/hgfs - /hgfs vmhgfs - no
/dev/lofi/1 - /mnt/s10u9x86 hsfs - no ro,noglobal,maplcase,rr,traildot
/dev/lofi/2 - /mnt/s10u9x86ccd hsfs - no ro,noglobal,maplcase,rr,traildot
/dev/lofi/3 - /mnt/s10u9 hsfs - no ro,noglobal,maplcase,rr,traildot
/jumpserver/install/SunOS/5.10/i386/u7/boot - /tftpboot/I86PC.Solaris_10-10 lofs - no ro
esegui il comando cfgadm -al
: questo ti fornirà un elenco di tutti i controller sul sistema, insieme a tutti i dispositivi collegati a quei controller.
# cfgadm -al
Ap_Id Type Receptacle Occupant Condition
c1 scsi-bus connected configured unknown
c1::dsk/c1t0d0 disk connected configured unknown
c1::dsk/c1t1d0 disk connected configured unknown
eseguire il comando format
- per visualizzare i dettagli di tutti i dischi installati in un sistema, che non sono forniti da cfgadm -al
. In particolare, ti consigliamo di annotare i sotto-comandi verify
e inquiry
.
# format
Searching for disks...done
AVAILABLE DISK SELECTIONS:
0. c0t0d0 <DEFAULT cyl 60797 alt 2 hd 255 sec 252>
/pci@0,0/pci8086,340b@4/pci1028,1f10@0/sd@0,0
1. c0t1d0 <DEFAULT cyl 60797 alt 2 hd 255 sec 252>
/pci@0,0/pci8086,340b@4/pci1028,1f10@0/sd@1,0
2. c0t2d0 <DEFAULT cyl 60797 alt 2 hd 255 sec 252>
/pci@0,0/pci8086,340b@4/pci1028,1f10@0/sd@2,0
3. c0t3d0 <DEFAULT cyl 60478 alt 2 hd 255 sec 252>
/pci@0,0/pci8086,340b@4/pci1028,1f10@0/sd@3,0
Specify disk (enter its number):
Ad esempio, selezionare il disco 0
nel menu in alto ed eseguire inquiry
:
format> inquiry
Vendor: ATA
Product: Hitachi HUA72202
Revision: A3HA
e verify
:
format> verify
Primary label contents:
Volume name = < >
ascii name = <DEFAULT cyl 60797 alt 2 hd 255 sec 252>
pcyl = 60799
ncyl = 60797
acyl = 2
bcyl = 0
nhead = 255
nsect = 252
Part Tag Flag Cylinders Size Blocks
0 root wm 1 - 60796 1.82TB (60796/0/0) 3906750960
1 unassigned wm 0 0 (0/0/0) 0
2 backup wm 0 - 60796 1.82TB (60797/0/0) 3906815220
3 unassigned wm 0 0 (0/0/0) 0
4 unassigned wm 0 0 (0/0/0) 0
5 unassigned wm 0 0 (0/0/0) 0
6 unassigned wm 0 0 (0/0/0) 0
7 unassigned wm 0 0 (0/0/0) 0
8 boot wu 0 - 0 31.38MB (1/0/0) 64260
9 unassigned wm 0 0 (0/0/0) 0
ora hai la marca e il modello e la tabella delle partizioni. da questo, combinato con le informazioni raccolte nei comandi precedenti, è possibile mettere insieme una mappa di dischi / partizioni disponibili (chiamati slice in solaris) e il loro corrispondente filesystem (se presente). Saprai anche quali sezioni non sono utilizzate (spazio libero).
Per quanto riguarda quali dischi sono occupati, ecco a cosa iostat
serve il comando :
# iostat -zxnM 5
extended device statistics
r/s w/s Mr/s Mw/s wait actv wsvc_t asvc_t %w %b device
0.0 29.3 0.0 0.5 0.0 2.2 0.0 76.7 0 33 c8t0d0
0.0 29.3 0.0 0.5 0.0 2.2 0.0 73.9 0 32 c8t1d0
Dove:
r/s - Reads per second
w/s - Writes per second
Mr/s - Mbytes read per second
Mw/s - Mbytes written per second
wait - Average number of transactions that are waiting for service (queue length)
actv - Average number of transactions that are actively being serviced
svc_t - Average service time, in milliseconds
%w - Percentage of time that the queue is not empty
Una volta che sai cosa vive su quali dischi, puoi iniziare a inchiodare quale applicazione sta causando l'I / O e da lì, scavare nei motivi.
Cerca su Google Solaris iostat Brendan Gregg e troverai alcune buone informazioni sull'indagine dei problemi di I / O, inclusi i collegamenti a K9Toolkit e DTraceToolkit , che sono rispettivamente per Solaris <10 e Solaris 10+ e che possono davvero semplificare le indagini Problemi di I / O.