手持ちの180GのSSD(Intel 520)と組み合わせてソフトウェアRAID(md or ZFS or Btrfs)で利用しようと考えたのですが、今回ゲットしたのは200Gなので、少々余ります。そこで思い出したのがオーバープロビジョニング。興味本位もあり、180GのSSDと同じサイズに揃えてみようと思いました。
おぼろげに、HPA(Host Protected Area)を設定すればいいはずだとは知ってましたが、根拠になる情報をネット検索してみたところ、Intel から次のドキュメントが公開されているのを見つけました。
Intel®: Solid-State Drives in Server Storage Applications White Paper February 2014
このPDFの「3.1 Adjusting User Capacity - Over-Provisioning」に記述があり、HPA を設定すれば良いという理解で合っているようです(注: HPA を設定しなくても、パーティションを切るときに、末尾領域を余らせるという方法でも良いようで、最もお手軽な、その手法が Intel のお勧めである と記述されています)。
てなわけで、CentOS 7 の hdparm コマンドで、次のような手順で HPA を設定しました。
[root@hoge ~]# cat /sys/block/sdb/device/model ※まず、対象を間違えないように、確認。これ超重要です。 INTEL SSDSA2BZ20 [root@hoge ~]# hdparm -Np351651888 --yes-i-know-what-i-am-doing /dev/sdb /dev/sdb: setting max visible sectors to 351651888 (permanent) max sectors = 351651888/390721968, HPA is enabled ※このあと、いったんシャットダウン&電源OFF して再起動する。ここで、351651888 は、予め確認しておいた Intel SSD 520 180G の総セクタ数です。
次は、HPA 設定後の dmesg から抜粋です。どうやら、成功した様子が読み取れます。
[root@hoge ~]# dmesg | egrep "ata2|sdb" [ 1.384635] ata2: SATA max UDMA/133 abar m2048@0xf2427000 port 0xf2427180 irq 27 [ 1.999869] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300) [ 2.000849] ata2.00: ACPI cmd ef/02:00:00:00:00:a0 (SET FEATURES) succeeded [ 2.000856] ata2.00: ACPI cmd f5/00:00:00:00:00:a0 (SECURITY FREEZE LOCK) filtered out [ 2.001170] ata2.00: HPA detected: current 351651888, native 390721968 [ 2.001181] ata2.00: ATA-8: INTEL SSDSA2BZ200G3, 6PB10362, max UDMA/133 [ 2.001187] ata2.00: 351651888 sectors, multi 16: LBA48 NCQ (depth 31/32) [ 2.002169] ata2.00: ACPI cmd ef/02:00:00:00:00:a0 (SET FEATURES) succeeded [ 2.002177] ata2.00: ACPI cmd f5/00:00:00:00:00:a0 (SECURITY FREEZE LOCK) filtered out [ 2.002510] ata2.00: configured for UDMA/133 [ 2.662193] ata2.00: Enabling discard_zeroes_data [ 2.662205] sd 1:0:0:0: [sdb] 351651888 512-byte logical blocks: (180 GB/167 GiB) [ 2.662419] sd 1:0:0:0: [sdb] Write Protect is off [ 2.662423] sd 1:0:0:0: [sdb] Mode Sense: 00 3a 00 00 [ 2.662446] sd 1:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [ 2.662556] ata2.00: Enabling discard_zeroes_data [ 2.663234] sdb: unknown partition table [ 2.663378] ata2.00: Enabling discard_zeroes_data [ 2.663486] sd 1:0:0:0: [sdb] Attached SCSI disk
0 件のコメント:
コメントを投稿