ホスト防護領域(HPA)の設定と参照

目的

検証環境

ada0 at ahcich1 bus 0 scbus1 target 0 lun 0
ada0: <TS512GMTS400S P1225CH1> ACS-2 ATA SATA 3.x device
ada0: Serial Number 002021B4E50963200045
ada0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 1024bytes)
ada0: Command Queueing enabled
ada0: 488386MB (1000215216 512 byte sectors)

実際にHPAしてみる

使用可能領域を400GB(400GB×1024MB/GB×1024KB/MB×1024B/KB÷512B/セクター=838,860,800セクター)に制限してみる。

下記の通り実行するだけで良い。

# camcontrol hpa ada0 -s 838860800 -y

この時 -P (persist)オプションの指定が必要かもしれません。 本製品では -P オプションの指定は不要でした。

下記に実行例を示す。

# camcontrol hpa ada0
pass0: <TS512GMTS400S P1225CH1> ACS-2 ATA SATA 3.x device
pass0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 1024bytes)

Feature                      Support  Enabled   Value
Host Protected Area (HPA)      yes      no      1000215216/1000215216
HPA - Security                 no

# geom disk list ada0
Geom name: ada0
Providers:
1. Name: ada0
   Mediasize: 512110190592 (477G)
   Sectorsize: 512
   Mode: r0w0e0
   descr: TS512GMTS400S
   ident: 002021B4E50963200045
   rotationrate: 0
   fwsectors: 63
   fwheads: 16

# camcontrol hpa ada0 -s 838860800 -y
pass0: <TS512GMTS400S P1225CH1> ACS-2 ATA SATA 3.x device
pass0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 1024bytes)

Feature                      Support  Enabled   Value
Host Protected Area (HPA)      yes      yes     838860800/1000215216
HPA - Security                 no

# camcontrol hpa ada0
pass0: <TS512GMTS400S P1225CH1> ACS-2 ATA SATA 3.x device
pass0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 1024bytes)

Feature                      Support  Enabled   Value
Host Protected Area (HPA)      yes      yes     838860800/1000215216
HPA - Security                 no

# geom disk list ada0
Geom name: ada0
Providers:
1. Name: ada0
   Mediasize: 512110190592 (477G)
   Sectorsize: 512
   Mode: r0w0e0
   descr: TS512GMTS400S
   ident: 002021B4E50963200045
   rotationrate: 0
   fwsectors: 63
   fwheads: 16

見ての通りHPAが「有効」(Enabled=yes)となり、最大容量(1,000,215,216セクター)に対して、使用可能容量(838,860,800セクター)が制限されたことが確認できる。 また、変更後のディスクサイズはOS(GEOMサブシステム)から認識されないことから再起動すること。

再起動時のカーネルメッセージは下記の通りである。

ada0 at ahcich1 bus 0 scbus1 target 0 lun 0
ada0: <TS512GMTS400S P1225CH1> ACS-2 ATA SATA 3.x device
ada0: Serial Number 002021B4E50963200045
ada0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 1024bytes)
ada0: Command Queueing enabled
ada0: 409600MB (838860800 512 byte sectors)

HPAの解放

制限するのと違い、最大サイズを指定することで解除される。またこの時「Enabled」が「no」に変わる。

# camcontrol hpa ada0 -s 1000215216 -y
pass0: <TS512GMTS400S P1225CH1> ACS-2 ATA SATA 3.x device
pass0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 1024bytes)

Feature                      Support  Enabled   Value
Host Protected Area (HPA)      yes      no      1000215216/1000215216
HPA - Security                 no

付録

検証したドライブに対して camcontrol identifycamcontrol security および camcontrol hpa を実行した結果についての記録。

参考文献

FreeBSD/camcontrol hpa (最終更新日時 2019-05-22 23:17:03 更新者 NorikatsuShigemura)