FreeBSD 中如何取得 ATA 裝置資訊

(For English version, please read previous post.)

最近替工作單位的 SVN Server 新加了兩顆 SATA 1TB 的硬碟,
但後來為了財產登記,必須取得硬體型號 (Model Number) 及序號 (Serial Number)。

身為一個 IT 人,秉持著說多懶就有多懶的原則,
當然不肯多花時間拆機殼、拔硬碟、看序號,
於是便試圖找尋以軟體指令查詢硬碟資訊的方法…

簡介
Linux 有 hdparm 可用,FreeBSD 也不惶多讓,
SCSI 的部分有 camcontrol (8),但這不在本次討論範圍;
這次用到的是 atacontrol (8)

作法
若直接在命令列鍵入指令而不加參數,將可得到簡易的使用說明,內容在此略過不提。
直接使用 list 參數,列出現有 ATA 裝置,節錄範例如下:

netsec-svn# atacontrol list
ATA channel 3:
    Master:  ad6 < WDC WD5002ABYS-01B1B0/02.03B02> SATA revision 2.x
    Slave:       no device present
ATA channel 4:
    Master: acd0 < ASUS DRW-22B1ST/1.00> SATA revision 1.x
    Slave:       no device present
ATA channel 5:
    Master: ad10 < ST31000528AS/CC35> SATA revision 2.x
    Slave:       no device present
ATA channel 6:
    Master: ad12 < ST31000528AS/CC35> SATA revision 2.x
    Slave:       no device present
netsec-svn#

由此可知新增的兩顆 1TB 硬碟分別位於 ATA channel 5 & 6,且裝置代碼為 ad10 及 ad12,
接著便可使用 cap 參數讀取詳細裝置資訊:

netsec-svn# atacontrol cap ad10

Protocol              SATA revision 2.x
device model          ST31000528AS
serial number         5VP1XXXX
firmware revision     CC35
cylinders             16383
heads                 16
sectors/track         63
lba supported         268435455 sectors
lba48 supported       1953525168 sectors
dma supported
overlap not supported

Feature                      Support  Enable    Value           Vendor
write cache                    yes      yes
read ahead                     yes      yes
Native Command Queuing (NCQ)   yes       -      31/0x1F
Tagged Command Queuing (TCQ)   no       no      31/0x1F
SMART                          yes      yes
microcode download             yes      yes
security                       yes      no
power management               yes      yes
advanced power management      no       no      0/0x00
automatic acoustic management  yes      yes     0/0x00  254/0xFE
netsec-svn#

如此一來,不僅裝置型號序號,就連 CHS 及 DMA 等 ATA 相關資訊都可以查到。

參考資料
FreeBSD Man Page: atacontrol (8)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *