表記が同容量のHDDでも微妙に容量違いが存在する

結論

大量のHDDを使っていて気が付いたのだが、容量2,000,000,000,000Byteぴったりの2TB HDDと、微妙にそれより多い2TB HDDが存在するらしい(他の容量でも同様)。

これはGBとGiBの換算の問題ではない。GBとGiBの問題であれば2TB≒1.83TiBで100GB(GiB?)以上の差が出るが、今回言っている差は2TBのHDDで400MB程度。

以下、表記容量ぴったりのものをぴったりタイプ、表記容量よりちょっと多いものをちょい多めタイプと書く。

実は今更な情報じゃないかと心配なのだが、こういった情報が見つけられなかったので、書こうと思った。

実際の例

自宅では250GBの容量違いのものしか用意できなかったので、250GBの容量違いのHDDの例となる。自宅のサーバーのHDDをfdisk -lで詳細な容量を確認した。

root@gateway1:~# fdisk -l | grep “Disk /dev”
Disk /dev/sda: 232.9 GiB, 250059350016 bytes, 488397168 sectors
Disk /dev/sdc: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Disk /dev/sdd: 298.1 GiB, 320072933376 bytes, 625142448 sectors
Disk /dev/sdb: 232.9 GiB, 250000000000 bytes, 488281250 sectors
Disk /dev/md0: 698.1 GiB, 749589233664 bytes, 1464041472 sectors

なお、機種は上から順に、Seagate Barracuda、Seagate Barracuda, WD Caviar SE、東芝MQ, ソフトウェアRAIDボリュームである。

/dev/sdbのWD Caviar SEはぴったりタイプ、/dev/sdaのSeagate Barracudaはちょい多めタイプである。そのほかのHDDもちょい多めタイプのようだ。

これにより起きる問題

ddでHDDを完全コピーする際に、表記容量同じでもちょい多めタイプからぴったりタイプのHDDへのコピーでは容量不足でエラーが発生する。

また、ちょい多めタイプのHDDのみでRAIDを組んでいる場合、HDD交換時に表記容量同じでもぴったりタイプのHDDを使うことはできない。もちろん、容量少ないほうに合わせてRAIDを組むことは可能だが。

考察

ぴったりタイプのHDDはどれ?

確認した限りでは、HGST Ultrastarの一部、WD re、WD Caviar SEにぴったりタイプのHDDが存在した。なお、SeagateではぴったりタイプのHDDを確認できなかった。

ぴったりタイプのHDDはかなり古いHDD?もしくはサーバー用で現在一般に出回らないHDDが多いらしく、普段出くわすことはないだろう。

ちょい多めな容量の正体は?

わからん。ちょい多めな方の容量は1024×1024などの数字で割ったりすることはできず、中途半端な値である。

サーバー向けHDDにぴったりタイプが多いので、予備容量などとして使われている可能性がある。

その他

ちょい多めタイプも容量が1パターンではなく、1TBのHDDではさらに容量違いの2種類のちょい多めタイプを見つけた。しかし確認できたのはその一例だけで、ちょい多めタイプの容量はだいたい統一されているのではないかと思う。

また、HDDに貼ってあるラベルとfdisk -lで表示される容量が異なる場合があった気がするので、ラベルのセクタ数などで確認できるとは限らない。