Como encontrar HDs associados a um ponto de montagem

8

Estou executando no sistema Sun Solaris.

Eu gostaria de saber o seguinte

  1. Como encontrar os HDs associados a um ponto de montagem?
  2. Como encontrar todos os HDs disponíveis (aqueles que são usados ​​e não utilizados para o ponto de montagem)?
  3. Como posso encontrar o uso dos controladores de E / S para os HDs associados a um ponto de montagem? Estou tentando descobrir se os controladores de E / S para os HDs associados aos pontos de montagem estão lidando com muitos pedidos, forçando outros pedidos a aguardar.
  4. Como posso encontrar o espaço livre disponível em cada disco disponível?
Abhinav
fonte
Abhinav, é Solaris9 ou Solaris10 ?. Você está usando o ZFS ou o MD para gerenciar os discos rígidos? se ZFS, o comando zpool deve mostrar o status e o espaço disponível no pool. pool = coleção de discos gerenciados sob um único exaustor para mostrar um espaço lógico total.
Nikhil Mulley

Respostas:

10

para encontrar uma lista dos pontos de montagem e quais discos são usados ​​em cada um:

look at /etc/vfstab- esse arquivo mostra quais sistemas de arquivos estão configurados no sistema, incluindo quais discos são usados ​​em quais pontos de montagem. Este arquivo não é usado para sistemas de arquivos 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

execute o comando zpool status- este comando imprimirá uma lista de todos os zpools configurados e importados no sistema e lista quais discos são usados ​​em cada pool e qual é a configuração do pool, tanto quanto espelhado ou raidz, etc.

# 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

execute o comando mount -p- isso mostrará uma lista no estilo vfstab de qualquer sistema de arquivos montado no servidor. A importância disso é que ele pode identificar sistemas de arquivos que foram montados, mas nunca foram adicionados ao / etc / vfstab, ou alterações em montagens que não foram feitas persistentes.

# 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

execute o comando cfgadm -al- isso fornecerá uma lista de todos os controladores no sistema, juntamente com todos os dispositivos conectados a esses controladores.

# 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

execute o comando format- para ver detalhes de todos os discos instalados em um sistema, que não são fornecidos por cfgadm -al. Em particular, você deve observar os subcomandos verifye 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): 

Por exemplo, selecione disco 0no menu acima e execute 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

agora você tem a marca e o modelo e a tabela de partição. com isso, combinado com as informações reunidas nos comandos anteriores, é possível montar um mapa de discos / partições disponíveis (chamados de fatias no solaris) e o sistema de arquivos correspondente (se houver). Você também saberá quais fatias não são usadas (espaço livre).

Quanto a quais discos estão ocupados, é para isso que iostatserve o 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

Onde:

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

Depois de saber o que vive em quais discos, você pode começar a identificar qual aplicativo está causando a E / S e, a partir daí, descobrir os motivos.

Pesquise no Google o solaris iostat brendan gregg e encontrará boas informações sobre a investigação de problemas de E / S, incluindo links para o K9Toolkit e o DTraceToolkit , que são para Solaris <10 e Solaris 10+, respectivamente, e que podem realmente simplificar a investigação Problemas de E / S.

Tim Kennedy
fonte
0

Dá a iostat -Envocê quais são os discos rígidos disponíveis e sendo usados ​​para você?

df -h /path/to/mountpoint/. normalmente imprime tudo o que você procura, imprime o disco rígido / dispositivo que está sendo usado sob o ponto de montagem e também fornece a quantidade de espaço livre / blocos livres disponíveis sob o capô.

Nikhil Mulley
fonte
df no ponto de montagem daria a quantidade de espaço livre disponível no ponto de montagem / sistema de arquivos, mas não no disco rígido total. Use ferramentas como o fdisk para descobrir o espaço total em disco disponível no disco único.
Nikhil Mulley