การระบุ HDD ตามหมายเลขพอร์ต SATA


15

ฉันจะค้นหาหมายเลขพอร์ต SATA ของเมนบอร์ดใดที่เชื่อมต่อกับ HDD

เราต้องการสร้างซอฟต์แวร์การทำสำเนาฮาร์ดดิสก์ตามการระบุทางกายภาพของ SATA

คำตอบ:


10

lsscsi - verbose จะให้ผลลัพธ์คล้ายกับสิ่งนี้:

[0:0:0:0]    disk    ATA      TOSHIBA THNSNH12 HTRA  /dev/sda 
  dir: /sys/bus/scsi/devices/0:0:0:0  [/sys/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:0/0:0:0:0]
[1:0:0:0]    disk    ATA      WDC WD2003FZEX-0 01.0  /dev/sdb 
  dir: /sys/bus/scsi/devices/1:0:0:0  [/sys/devices/pci0000:00/0000:00:1f.2/ata2/host1/target1:0:0/1:0:0:0]
[2:0:0:0]    disk    ATA      WDC WD3001FAEX-0 01.0  /dev/sdc 
  dir: /sys/bus/scsi/devices/2:0:0:0  [/sys/devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0]
[3:0:0:0]    cd/dvd  Optiarc  DVD RW AD-7280S  1.01  /dev/sr0 
  dir: /sys/bus/scsi/devices/3:0:0:0  [/sys/devices/pci0000:00/0000:00:1f.2/ata4/host3/target3:0:0/3:0:0:0]

ซึ่งให้ataNพอร์ตซึ่งสามารถจับคู่กับข้อมูลที่พบใน syslog มีประโยชน์ถ้าคุณพยายามที่จะหาข้อผิดพลาดมาจากไหน

แก้ไข: หากwhich lsscsiไม่มีเอาต์พุตคุณจำเป็นต้องติดตั้ง:

sudo apt-get install lsscsi

แก้ไขเพิ่มเติม:

สิ่งนี้อาจไปโดยไม่บอก แต่แน่นอนคุณสามารถกรองผลลัพธ์ด้วยgrepเพื่อค้นหาสิ่งที่คุณสนใจตัวอย่างเช่นหากคุณพบข้อผิดพลาดอย่างที่ata4: status: { DRDY ERR }คุณสามารถออกคำสั่งง่ายๆ

lsscsi - verbose | grep -P1 -A1 ata4 ซึ่งจะให้ผลลัพธ์เช่นนี้:

[3:0:0:0]    cd/dvd  Optiarc  DVD RW AD-7280S  1.01  /dev/sr0 
  dir: /sys/bus/scsi/devices/3:0:0:0  [/sys/devices/pci0000:00/0000:00:1f.2/ata4/host3/target3:0:0/3:0:0:0]

ซึ่งจะระบุว่าอุปกรณ์ (Optiarc DVD RW AD-7280S ใน ata4) ยังไม่พร้อมเมื่อถูกเรียกใช้

ข้อมูลนี้ควรมีเพียงพอเพื่อให้คุณสามารถค้นหาอุปกรณ์ที่มีปัญหา


8

sudo lshw -c storage -c diskให้ข้อมูลมากมายเกี่ยวกับฮาร์ดไดรฟ์ของคุณ เช่น:

 *-scsi:1
      physical id: 2
      logical name: scsi2
      capabilities: emulated
    *-disk
         description: ATA Disk
         product: ST31000524AS
         vendor: Seagate
         physical id: 0.0.0
         bus info: scsi@2:0.0.0
         logical name: /dev/sdb
         version: JC4B
         serial: 5VPDESM5
         size: 931GiB (1TB)
         capabilities: gpt-1.00 partitioned partitioned:gpt
         configuration: ansiversion=5 guid=d6e747d2-3e9c-47c2-865b-44f8d7cc5808 sectorsize=512
       *-volume
            description: EXT4 volume
            vendor: Linux
            physical id: 1
            bus info: scsi@2:0.0.0,1
            logical name: /dev/sdb1
            logical name: /mnt/hdd0
            version: 1.0
            serial: 2de34713-f0ee-4a12-9214-21a5431a7b7b
            size: 931GiB
            capabilities: journaled extended_attributes large_files huge_files dir_nlink recover extents ext4 ext2 initialized
            configuration: created=2013-07-20 14:14:09 filesystem=ext4 lastmountpoint=/mnt/hdd0 modified=2013-08-29 21:29:24 mount.fstype=ext4 mount.options=rw,relatime,errors=remount-ro,data=ordered mounted=2013-08-29 21:29:24 state=mounted

ฉันสงสัยว่าphysical idจะให้พอร์ตทางกายภาพที่ HDD เชื่อมต่อกับ (2 ในกรณีนี้)


2
ฉันมีหมายเลขพอร์ต SATA: 0,1,2,3 lshw รายงานรหัสทางกายภาพของ: 5,6,7,8 คำตอบนี้ดูเหมือนจะไม่ถูกต้อง
user14654

1
ฉันคิดว่า "* -scsi: 1" ของรายงาน lshw อ้างถึงพอร์ต SATA 1
user14654

ไม่ได้ผลสำหรับฉัน พอร์ต SATA คือ 7, ฟิสิคัล lshw คือ 9 ใช้ด้วยความระมัดระวัง!
Preexo

2
@Preexo ลองlsscsi --verbose
Elder Geek

bus infoข้อมูลที่คุณกำลังมองหาอยู่ เนื่องจากการแก้ไข anwer มากมายนั้นไม่ได้รับการสนับสนุนฉันจึงแยกมันออกเป็นคำตอบแยกต่างหากพร้อมกับตัวอย่างเชิงลึกเพิ่มเติม
n.st

5

sudo apt-get install lsscsi

tech@tech:~$ lsscsi
[2:0:0:0]    disk    ATA      SAMSUNG HD040GJ/ ZG10  /dev/sda
[3:0:1:0]    disk    ATA      WDC WD3200AAJS-0 03.0  /dev/sdb
[4:0:0:0]    disk    Generic- Compact Flash    1.00  /dev/sdc
[4:0:0:1]    disk    Generic- SM/xD-Picture    1.00  /dev/sdd
[4:0:0:2]    disk    Generic- SD/MMC           1.00  /dev/sde
[4:0:0:3]    disk    Generic- MS/MS-Pro/HG     1.00  /dev/sdf

ยูทิลิตี้นี้จะให้พอร์ต ATA 0 ถึง 3 แก่คุณ


ฉันจะรู้ได้อย่างไรว่าฉันมีเมนบอร์ด Gigabyte หากฉันใช้คำสั่งนั้นจะทำให้ฮาร์ดแวร์เสียหายหรือไม่ เพราะวิธีการที่คุณเขียนเสียงคำตอบของคุณเป็นถ้าฉันจะเกิดความเสียหายฮาร์ดแวร์ของฉันถ้าฉันลองตอนนี้;)
แดน

มันทำงานได้ดีอย่างน่าอัศจรรย์บนเมนบอร์ด intel
Geek

ทำงานบนกระดาน Supermicro ด้วย
Tim Kennedy

1
@Rahim อยู่ที่ 0-3 ในผลลัพธ์ตัวอย่างของคุณ? ฉันเห็น 2,3,4
เรียบง่าย

0

sudo lshw -c storage -c disk ให้ข้อมูลมากมายเกี่ยวกับฮาร์ดไดรฟ์ของคุณ

bus infoสาขาให้คุณพอร์ตทางกายภาพแต่ละ HDD / SSD มีการเชื่อมต่อ (พอร์ต 0 คนและ 2 ในกรณีนี้)
โปรดทราบว่าจำนวนอาจแตกต่างกันหากระบบของคุณมีคอนโทรลเลอร์ SATA หลายตัว (ออนบอร์ดหรือผ่านการ์ดส่วนขยาย)

ตัวอย่างเช่น:

  *-scsi:0
       physical id: 1
       logical name: scsi0
       capabilities: emulated
     *-disk
          description: ATA Disk
          product: Samsung SSD 840
          physical id: 0.0.0
          bus info: scsi@0:0.0.0
          logical name: /dev/sda
          version: BB6Q
          serial: S1DBNSAF791657P
          size: 232GiB (250GB)
          capabilities: partitioned partitioned:dos
          configuration: ansiversion=5 sectorsize=512 signature=d6cfe005
  *-scsi:1
       physical id: 2
       logical name: scsi2
       capabilities: emulated
     *-disk
          description: ATA Disk
          product: CT500MX500SSD1
          physical id: 0.0.0
          bus info: scsi@2:0.0.0
          logical name: /dev/sdb
          version: 010
          serial: 1810E132AC1E
          size: 465GiB (500GB)
          capabilities: partitioned partitioned:dos
          configuration: ansiversion=5 sectorsize=4096 signature=0007569c

(การขยายคำตอบของ @ Cubiqเกินขอบเขตการแก้ไขดังนั้นจึงเป็นคำตอบแยกต่างหาก)
n.st
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.