Difference between revisions of "Devices and storage"

From Alessandro's Wiki
Line 170: Line 170:
  /dev/sdc: WDC WD3200KS-00PFB0: 41 C
  /dev/sdc: WDC WD3200KS-00PFB0: 41 C
  /dev/sdd: ST3750330AS: 41 C
  /dev/sdd: ST3750330AS: 41 C
=== NCQ ===
* http://en.wikipedia.org/wiki/Native_Command_Queuing

Revision as of 13:53, 16 December 2012

devices in Linux

dmidecode

  • gives you a lot of information about bus and bios

I/O analisys

  • vmstat
  • iostat
  • vopstat
  • sysstat (package)
  • iotop
    • kernel "unusual" options needed
    • CONFIG_TASK_IO_ACCOUNTING: is not set when it should be.
    • CONFIG_TASK_DELAY_ACCT: is not set when it should be.
    • CONFIG_TASKSTATS: is not set when it should be.

udev

  • udev manages the /dev filesystem interacting with the kernel and its modules
  • disk conncted through udev
ls -lR /dev/disk
  • udev information dump
udevinfo -a -p /sys/block/sdb/

lshal

  • commang to list the whole Hardware Abstraction Layer
 Processor DRAM Controller'  (string)
  pci.product_id = 64  (0x40)  (int)
  pci.subsys_product_id = 64  (0x40)  (int)
  pci.subsys_vendor = 'Intel Corporation'  (string)
  pci.subsys_vendor_id = 32902  (0x8086)  (int)
  pci.vendor = 'Intel Corporation'  (string)
  pci.vendor_id = 32902  (0x8086)  (int)

Dumped 165 device(s) from the Global Device List.

hdparm

  • sets and gets information from a block device
  1. hdparm -I /dev/hda

/dev/hda:

ATA device, with non-removable media
       Model Number:       WDC WD2500JB-00FUA0
       Serial Number:      WD-WCAEP1091941
        Firmware Revision:  15.05R15
Standards:
        Supported: 6 5 4
        Likely used: 6
Configuration:
       Logical         max     current
       cylinders       16383   65535
       heads           16      1
       sectors/track   63      63
        --
       CHS current addressable sectors:    4128705
       LBA    user addressable sectors:  268435455
       LBA48  user addressable sectors:  488397168
       device size with M = 1024*1024:      238475 MBytes
       device size with M = 1000*1000:      250059 MBytes (250 GB)
Capabilities:
       LBA, IORDY(can be disabled)
       Standby timer values: spec'd by Standard, with device specific minimum
       R/W multiple sector transfer: Max = 16  Current = 16
       Recommended acoustic management value: 128, current value: 128
       DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
            Cycle time: min=120ns recommended=120ns
       PIO: pio0 pio1 pio2 pio3 pio4
            Cycle time: no flow control=120ns  IORDY flow control=120ns
Commands/features:
       Enabled Supported:
          *    SMART feature set
               Security Mode feature set
          *    Power Management feature set
          *    Write cache
          *    Look-ahead
          *    Host Protected Area feature set
          *    WRITE_BUFFER command
          *    READ_BUFFER command
          *    DOWNLOAD_MICROCODE
               SET_MAX security extension
          *    Automatic Acoustic Management feature set
          *    48-bit Address feature set
          *    Device Configuration Overlay feature set
          *    Mandatory FLUSH_CACHE
          *    FLUSH_CACHE_EXT
          *    SMART error logging
          *    SMART self-test
Security:
               supported
       not     enabled
       not     locked
       not     frozen
       not     expired: security count
       not     supported: enhanced erase
HW reset results:
       CBLID- above Vih
       Device num = 0 determined by the jumper
Checksum: correct

Hard disk naming

  • behind the hard disks naming, as WD3200JD, there's lot of info about the device:
http://forums.storagereview.net/index.php?showtopic=22131
Sample: WD3200JD-00KLB0
Formula: AAbbbbCD-eeFGHi
AA = WesternDigital
bbbb = Capacity in 100MB units (GBx10)
C = Cache(buffer) size and drive's purpose:
* Desktop drives: B=2MB, J=8MB, K=16MB
* Enterprise drives 7200rpm: S=8MB, Y=16MB
* Enterprise drives 10000rpm: G=8MB, A=16MB
D = Interface and some other specs:
* B=ATA, D=SATA150, S=SATA300, R=SATA150(RaidEdition2), H=SATA150(Window)
ee = Vendor code (probably):
* 00=general consumers, 01=general enterprise, 22=promotional(?),
* 07/08/11/14/23/32/40/41/50/55/56/57/58/60/75/88/98=unknown (of them 55 is pretty much used)
F = May be related to platters (needs more research)
G = ??? (needs more research)
H = Related to interface/firmware and something more (needs more research):
* A=ATA(Caviar over 100GB)/ATAandSATA(Caviar below 100GB), B=SATA(Caviar over 100GB), C=ATAandSATA(Caviar,    newer updates), A/C/R=Generation(RaptorSATA), T=LaptopDrive
i = Firmware version (probably):
* 0/1/2=larger is newer (if the preceeding letter is same).

Disktype

disktype /dev/sda
--- /dev/hda
Block device, size 372.6 GiB (400088457216 bytes)
DOS/MBR partition map
Partition 1: 372.6 GiB (400085812224 bytes, 781417602 sectors from 63, bootable)
 Type 0x83 (Linux)
 ReiserFS file system (new 3.6 format, standard journal, starts at 64 KiB)
   Volume name "scratch"
   UUID E217E2D5-0410-479E-B4C7-60116C56761E (DCE, v4)
   Volume size 372.6 GiB (400085811200 bytes, 97677200 blocks of 4 KiB)
[...]

Hddtemp

# hddtemp /dev/sd[abcd]
WARNING: Drive /dev/sda doesn't appear in the database of supported drives
WARNING: But using a common value, it reports something.
WARNING: Note that the temperature shown could be wrong.
WARNING: See --help, --debug and --drivebase options.
WARNING: And don't forget you can add your drive to hddtemp.db
/dev/sda: WDC WD3200KS-00PFB0:  42 C or  F

extend hddtemp database

* file /usr/share/hddtemp/hddtemp.db
"ST3320620AS"                                                           194 C "Seagate ST3320620AS"
"WDC WD3200KS-00PFB0"                                           194 C "Western Digital WD3200KS-00PFB0" 
  • risultato
# hddtemp /dev/sd[abcd]
/dev/sda: WDC WD3200KS-00PFB0: 42 C
/dev/sdb: ST3750330AS: 36 C
/dev/sdc: WDC WD3200KS-00PFB0: 41 C
/dev/sdd: ST3750330AS: 41 C


NCQ