星期日, 5月 16, 2010

Linux 研讀小記 SCSI

SCSI ID
  • 一般如果是8個裝置的SCSI 控制器, ID由 0-7
  • 數字越大優先性越高, 所以一般來說 SCSI controller 都設定為7
  • 如果是支援 16個裝置優先順序如下 7,6,5,4,3,2,1,0,15,14,13,12,11,10,9,8
  • 每一個裝置在SCSI Bus上面也會指定一個LUN ( Logical Unit Number)
  • Each SCSI ID number can be further subdivided into LUNs 0 though 15
  • 觀察SCSI 的方式 #cat /proc/scsi/scsi
    • max@linux-xen:~> cat /proc/scsi/scsi
      Attached devices:
      Host: scsi0 Channel: 00 Id: 01 Lun: 00
        Vendor: HL-DT-ST Model: DVD-RAM GH22NP20 Rev: 1.02
        Type:   CD-ROM                           ANSI  SCSI revision: 05
      Host: scsi2 Channel: 00 Id: 00 Lun: 00
        Vendor: ATA      Model: WDC WD5000AAKS-2 Rev: 12.0
        Type:   Direct-Access                    ANSI  SCSI revision: 05
    • 觀察SCSI or SATA 光碟機方式 cat /proc/sys/dev/cdrom/info 
  • 常見的 SCSI 指令
    •  #time dd if=/dev/sda of=/dev/null bs=512 count=1953126    (測試硬碟寫入 1GB 的時間)
    • lsscsi  列出SCSI 裝置 資訊分別為 Host, Bus, Target,LUN
      • # lsscsi
        [0:0:1:0]    cd/dvd  HL-DT-ST DVD-RAM GH22NP20 1.02  /dev/sr0
        [2:0:0:0]    disk    ATA      WDC WD5000AAKS-2 12.0  /dev/sda
    • # sg_scan        可以加上 -i 或是 -x 看其他的資訊
      /dev/sg0: scsi0 channel=0 id=1 lun=0 [em]
      /dev/sg1: scsi2 channel=0 id=0 lun=0 [em]
    • #sg_map           可以加上 -i 或是 -x 看其他的資訊
      /dev/sg0  /dev/scd0
      /dev/sg1  /dev/sda
    • sg_rbuf
      • time  sg_rbuf   /dev/sg0
      • 必須針對硬碟所在的 位置
    • # sg_inq /dev/sg1
      standard INQUIRY:
        PQual=0  Device_type=0  RMB=0  version=0x05  [SPC-3]
        [AERC=0]  [TrmTsk=0]  NormACA=0  HiSUP=0  Resp_data_format=2
        SCCS=0  ACC=0  TPGS=0  3PC=0  Protect=0  BQue=0
        EncServ=0  MultiP=0  [MChngr=0]  [ACKREQQ=0]  Addr16=0
        [RelAdr=0]  WBus16=0  Sync=0  Linked=0  [TranDis=0]  CmdQue=0
        [SPI: Clocking=0x0  QAS=0  IUS=0]
          length=96 (0x60)   Peripheral device type: disk
       Vendor identification: ATA    
       Product identification: WDC WD5000AAKS-2
       Product revision level: 12.0
       Unit serial number:      WD-WCAS82407904
    • sginfo 可以搭配 -i 或是 -a 來觀察訊息
      • #sginfo  -i   /dev/sg0
    • rescan-scsi-bus.sh  在不重開機情形下重新掃描SCSI裝置

    沒有留言: