2012年5月12日土曜日

Over2TB - Wiki@nothing


 

2TBの壁。 †

現在HDDには2つの原因の2TBの壁があります。(厳密には2.19TBの壁、または2TiBの壁)
2TBより大きいパーティションを扱えないMBR形式のパーティションテーブルと、
2TBより大きいハードディスクドライブの2TBまでしか扱えない10バイトCDB(32ビットLBA)です。
2TB以下の複数のパーティションに分ける、という解決方法を考えている人がよくいますが
後者の制限を持つ場合、正しい容量を認識しません

MBRの制限 †

MBR形式のパーティションテーブルでは開始位置、総セクタ数にそれぞれ4バイト(32ビット)が割り当てられています。
この値で表せる最大セクタ数は4294967296セクタ、今現在のHDDは512バイト/セクタですから
パーティションは2つを掛け合わせた2TB(4294967296セクタ * 512バイト = 2199023255552バイト)までとなります。

CDB/LBAの制限 †

10バイトCDB(32ビットLBA)ではHDDのセクタの指定に32ビットで位置を指定しています。
なのでHDDの先頭セクタから4294967296セクタ目までしか読み書き出来ません。
これも同様に4294967296セクタ * 512バイト = 2TBとなります。

Command Descriptor Blockとは
ストレージに対する汎用コマンドです。
読みなのか書きなのか照会なのか、何番目のセクタから読み書きするのか、扱うデータ長はいくらなのか等をまとめたものです。
このデータ構造のサイズが10バイトのものを10バイトCDBと呼ばれます。
他に6バイト、12バイト、16バイトのものが存在し10バイトCDBと12バイトCDBでは位置指定に32ビットLBAを使用します。(12バイトCDBは一度に扱えるデータ量を増やしただけです。)
SCSI CDB
SCSI command
SCSI Read Capacity Command
SCSI Read Commands
SCSI Write Commands

ネットワークアクセス †

ファイル単位のネットワーク共有(SMB/CIFS/NFS等)でのアクセスでは(上記2つの原因による)2TBの壁はありません。(iSCSIやAoEなどでは起こります。)
実ディスク、実セクタ数が見えないからです。(パーティションテーブルも当然見えない)
サーバー側のメディアが何であるかに関わらないので、プロトコルが2TB超をサポートし
渡されたボリュームサイズを解釈できるかだけです。

説明に入る前に †

このページの説明ではSi接頭辞表記を使いますが計算は1024です。
このページは特定ベンダーに属する公式資料ではありません。
このページ内の情報が正しいという保証は一切しません。営利非営利個人団体を問わずこのページ内の情報を使う際はあなたの責任において使用してください。

16バイトCDB(64ビットLBA)とGPT(GUIDパーティションテーブル)ディスクで使用する。 †

IA-64プラットフォームやIntel Macではお馴染みのGPTです。(IA-64とIntel MacではMBRディスクからは起動できません)
GPT形式ではパーティションのアドレス指定に64ビットを割り当てられているため最大セクタ数18446744073709551616セクタなので、
512バイト/セクタのディスクでは8ZB(8589934592TB)のパーティションを作ることが出来ます。
16バイトCDBも同様にアドレス指定に64ビットLBAを使いますので8ZBのディスクを扱うことが出来ます。

MBRの2TBの壁と、10バイトCDB(32ビットLBA)の2TBの壁を両方越えるその場しのぎではない方法となります。

メリット。 †

OS間でパーティションテーブルの互換性がある。 †

GPTは公開仕様ですのでGPTを扱えるOS間では(バグが無い限り)パーティションテーブルを壊してしまうなどの問題が起きません。
GPTを扱えないOSでもPMBRがありますので余計なことをしない限りパーティションテーブルを壊しません。
当然ファイルシステムは別の問題です。

ハードウェアに依存しない。 †

2TB超を扱える環境であればコントローラーチップ等にも依存しません。


何GHzのは、AMD Athlon 64 4000プロセッサです。

デメリット。 †

GPTと16バイトCDB(64ビットLBA)を使用可能なOSが限られる。 †

データボリュームでの使用(EFI不要)システム/ブートボリューム
Windows 95/98/98SE/Me
Windows NT 3.1/3.5/3.51/4.0
Windows 2000
Windows XP Home/Pro(32bit)/MCE/TPE
Windows Server 2003 32bit No-SP
非サポート非サポート
Windows XP Professional x64 Edition
Windows Vista 32bit
Windows Vista 64bit No-SP
Windows 7 32bit
Windows Home Server*1
Windows Home Server 2011
Windows Server 2003 32bit SP1以降
Windows Server 2003 x64
Windows Server 2008 32bit
サポート非サポート
Windows XP Professional for Itanium-based Systems
Windows Server 2003 for Itanium-based Systems
Windows Server 2008 for Itanium-based Systems
Windows Server 2008 R2 for Itanium-based Systems
サポートサポート
Windows Vista 64bit SP1以降
Windows 7 x64
Windows Server 2008 x64
Windows Server 2008 R2 x64
サポートサポート
(EFI必要)
Linux 2.6以降
(2.4でもGPTは扱えますが、2TBを超えるブロックデバイスを扱えません。)
サポートサポート
(カーネルがGPTをサポートした状態にされているか、インストーラーはGPTディスクへのインストールをサポートしているかなどはディストリビューションにより異なる。)
FreeBSD 5.2.1以降サポートサポート
(x86上では6.4/7.1からです。)
Intel Mac OS Xサポートサポート
Solarisサポートサポート

Windowsのインストール先にする場合にはUEFIが必須。 †

2011年からUEFI搭載PCがだいぶ増えてきました。インストールメディアをUEFIで起動すれば新しいハードウェアで困ることはないでしょう。
LinuxではGRUBでBIOS Boot Partitionを使い、*BSDではgptbootでBIOSでGPTからのブートが可能なためそれらのOSではEFIは必須ではありません。

ソフトウェア。 †

Paragon Migrate to 3TB
32ビット版を含むVista以降のWindowsをUEFI無しでGPTディスクから起動可能にする。

Paragon GPT Loader
XPにおいて2TB超を単一のGPTデータディスクとして使用することが可能。
Paragon Partition Manager 11 Professionalにも付属。

Hitachi GPT Disk Manager
Paragon GPT LoaderのOEM。HGST製HDDが接続されていないと使用不可。

備考。 †

WindowsはハイブリッドMBR(GPTディスクかつMBRにProtective MBRではなく通常のパーティションテーブルが書きこまれている状態)においてはGPTよりMBRを優先認識します。

開始終了4バイトずつなら2TB+2TB*2の2パーティションは?と思うかもしれませんが、それでは10バイトCDB(32ビットLBA)の壁は越えることが出来ません。
16バイトCDB(64ビットLBA)対応でGPT未対応のOSは皆無なのでそこでMBRを使う必要性はEFI無しのブートパーティションぐらいです。

ですが少なくともWindowsではそのような操作をサポートしません。
今後出来るようになる必要性も少ないのでサポートされることはないでしょう。

partedではそのようなパーティションテーブルを作ることが可能ですが、パーティションテーブルが桁あふれを起こさないように数値を指定する必要があります。
このようなディスクを16バイトCDB(64ビットLBA)未対応のOSとの互換に使うことは出来ません。
2TBより後ろのパーティションへのアクセスが桁あふれを起こし最悪データ破壊を生みます。
(少なくともWindowsではディスクの末端を越えるパーティションテーブルであっても盲信するためBigDriveの時にもデータを破壊されるケースが存在しました。)

非Windows OSならパーティション無しにmkfs /dev/sdaとかやってmount /dev/sda出来ますけどね。
16バイトCDB(64ビットLBA)は必要ですが。


グラフィックス·テーブルには何のために使用されている

512バイトを超えるセクタサイズを使用する。 †

4294967296セクタ * 512バイト   = 2TB で、セクタ数は増やせないならセクタサイズの方を大きくすればいいのではないか?
4294967296セクタ * 1024バイト = 4TB
4294967296セクタ * 2048バイト = 8TB
という考え方。

ハードウェア方面ではAreca、HighPoint、CalDigitのRAIDカード、Seagate FreeAgent GoFlex Deskなどがこの方法をサポートしています。

Advanced Format Technology †

HDDメーカー各社からAdvanced Format Technologyと称した物理セクタサイズ4KBのHDDが発売されていますが、
これらの製品はホスト側に対し論理セクタサイズ512バイトであると返すエミュレーションデバイスです。
OSから認識されるセクタ数が減らないためエミュレーションデバイスでは壁があるOSで2TBを超えて認識することは出来ません。

メリット。 †

GPT、16バイトCDB(64ビットLBA)を扱えないOSでも2TBを超えるディスクを扱うことが出来ます。 †

ただし2TBの壁が最初に上げた2つのみが原因の場合。

例えばGPTの項で言ったとおりLinux 2.4以前ではブロックデバイスではブロックサイズを問わず2TBの制限があります。

既存のパーティション操作ソフトが使用できます。 †

ただしセクタサイズが512バイトでないディスクを考慮されているソフトの場合。

デメリット。 †

環境に依存する。 †

OSに対してセクタサイズを大きく見せる必要があるため、ハードウェア、ドライバ側の支援が必須です。
更にそれぞれの実装が互換性があるとも限りません。
また現在Areca製、HighPoint製共にWindows向けのドライバでのみこの機能をサポートになっています。

セクタサイズ512バイト決め打ちのソフトは問題が出る。 †

パーティション操作ソフト等ローレベルでのユーティリティーにはその可能性があります。

古いWindowsではダイナミックディスクは使用できない。 †

上のことに当てはまりますが、512バイトでないセクタサイズのダイナミックディスクサポートはVistaからです。

ソフトウェア †

DiskFormatterLite
Buffalo製対応HDDをネイティブビッグセクタに偽装することが可能。

Hitachi XL3000 3TB Drive Format Utility For Windows XP
HGST製対応HDDをネイティブビッグセクタに偽装することが可能。

MimicXLS
任意のデータディスクをネイティブビッグセクタに偽装することが可能。

備考。 †

16バイトCDB(64ビットLBA)対応のWindowsのディスクの管理とdiskpartはMBR形式ではセクタサイズが考慮されずに2TBのパーティション作成制限がかかっています。
他OSで作ってあるMBRパーティションを使うことには問題はないようです。
作成済みパーティションにボリュームの圧縮/ボリュームの縮小を行った場合も2TB以降が使えなくなります。

分割して使用する。 †

2TBを超えるディスクを2TB以下の複数のディスクとして扱う方法です。
多くのRAIDカードではアレイの容量を指定できるので2TB以下でアレイを作り複数のディスクとしてOSに認識させます。

メリット。 †

GPT、16バイトCDB(64ビットLBA)を扱えないOSでも2TBを超えるディスクを扱うことが出来ます。 †

ただし2TBの壁が最初に上げた2つのみが原因の場合。

デメリット。 †

環境に依存する。 †

OSに2TB以下の複数のディスクとして見せる必要があるため、ハードウェア、ドライバ側の支援が必須です。
更にそれぞれの実装が互換性があるとも限りません。

複数のディスクになる。 †

分割したんだから当たり前のことですが、必然的に複数のパーティションを作ることになります。

ソフトウェア †

Acronis Disk Director 11 Home
任意のディスクを2TB分割可能。

Acronis True Image Home 2012 Plus
任意のディスクを2TB分割可能。

Seagate DiscWizard
Acronis Disk DirectorのOEM。Seagate製HDDが必要。

ASUS Motherboard Disk Unlocker
ASUSマザーボードにおいて2TB分割を行うことが可能。

GIGABYTE 3TB+ Unlocker ユーティリティ
GIGABYTEマザーボードにおいて2TB分割を行うことが可能。

ASRock 3TB+ Unlocker
ASRockマザーボードにおいて2TB分割を行うことが可能。

備考。 †

単一のボリュームとして扱うにはダイナミックディスクなどを使います。

デバイスドライバー †

OS内部が2TB超に対応していてもOSから使われるドライバーが対応していない場合があります。


どのように私はRAMの最大値を見つけることができます私は自分のコンピュータをputintoできます。
2TB超対応対象デバイスバージョン備考
対応Microsoft IDE ドライバー
(Windowsインボックスドライバー)
PATAデバイス
IDE互換モードSATAデバイス
対応Microsoft AHCI ドライバー
(Windowsインボックスドライバー)
AHCIモードSATAデバイス
対応Intel® Rapid Storage TechnologyIntelチップセットSATA AHCI/RAID10.1.0.1008RAIDモード不可
AHCIモード可
対応Intel® Rapid Storage TechnologyIntelチップセットSATA AHCI/RAID10.5.0.1027RAIDモード時ブートドライブ指定不可
AHCIモード可
非対応IEEE1394 SBP2
(Windowsインボックスドライバー)
IEEE1394ストレージWindows Server 2003
Windows XP Professional x64 Edition
Vista以降のドライバーは対応している

ファイルシステム †

以上はRAWデバイスとしてみた2TB超ボリュームの利用であり、通常その上にファイルシステムを作って利用するためファイルシステム側の制限が加わる場合があります。

FAT32 †

FAT32のBPBには2バイト(通常未使用)、4バイトの総セクタ数を表すフィールドが存在するため通常セクタサイズは512バイトですから2TBが事実上の上限になります。
これを超えるためには512バイトより大きいセクタサイズを使用する必要があります。(画面はWindows XP。セクタサイズ2KBを用いて8TBまで確保。フォーマッタはfat32formatを使用。)

とんでもない事が書いてあったりします。

Maximum Volume Sizes
Windows 2000 can format new FAT32 volumes up to 32 GB in size but can mount larger volumes (for example, up to 127.53 GB and 4,177,918 clusters from a volume formatted with the limits of Windows 98).
It is possible to mount volumes that exceed these limits, but doing so has not been tested and is not recommended.

EXT2/3 †

x86、x86-64ではページサイズが4KBのため最大ボリュームサイズは16TBです。
JF: Linux Kernel 2.6 Documentation: ext2.txt
ext2 - Wikipedia, the free encyclopedia

8TBを超えるExt2/3にはkernel 2.6.18以降とe2fsprogs 1.39以降を使ってください。
これより前のバージョンでは設計よりも小さい8TBまでしか扱えません。



ページサイズが4KBより大きいアーキテクチャで16TB以上のExt3ボリュームを使う場合はkernel 2.6.24以降を使ってください。
これより前のバージョンではページサイズに関わらずExt3ブロックサイズが4KBに制限されていました。

Ext4 †

現時点ではe2fsprogsもkernelも16TB超(ページサイズ4KB)をサポートしていません。
Linuxでは扱えるブロックデバイスサイズはULONG_MAX * ページサイズまでなのでx86ではファイルシステムに関わらず最大16TBです。

XFS †

xfs_repair/xfs_checkは1TBにつき1GBのメモリが必要。
32ビット環境上では1プロセスで使えるメモリが比較的限られているため、気づいたときにはもう手遅れ。
尚、スワップやメモリの増設も、1プロセスが確保できるメモリ量が増えるわけではないので解決にはならない。
XFS repair problem.
xfs_check problems on 3.6TB fs
/**ファイルシステム総合スレ その3**/
xfs_repair on large fs: out of memory

減った?
Re: what is the FS size limit for xfs_repair ?

減りました
The biggest changes in xfsprogs 3.1.0 were optimizations in xfs_repair that lead to a much lower memory usage, and optional use of the blkid library for filesystem detection and retrieving storage topology information.

NTFS †

現行実装ではクラスタ数が32ビット以下に制限されており(インサイドMicrosoft Windows第4版下巻 P.251やMicrosoftのサイト参照)、Vista/2008までは16TBを超えるボリュームは4KBより大きいクラスタサイズ(=アロケーションユニットサイズ)を明示的に指定しないとフォーマットに失敗します。(画面はWindows2000)

同上(画面はWindows Server 2003 English)

16TBを超えるボリュームであれば4KB(=4096バイト)より大きいクラスタサイズ(=アロケーションユニットサイズ)を明示的に指定する。(画面はWindows Vista)


7/2008 R2では16TB以上でのデフォルトクラスタサイズがフォーマット可能なように変更されました。

256TBを超えるボリュームは無条件で(指定可能な最大クラスタサイズ64KBでも)フォーマットに失敗します。(画面はWindows2000)

XPではハングしました。
Vista x64でも256TB超はサポートされません。

2008 R2 x64 RCでもまだ256TB超はサポートされません。

32bitファイルサーバーでのシャドウコピーはボリュームサイズによっては利用できません。
Scalability Factors for Shadow Copies
Tera Bytes 時代の file server 設計
64bit 2003/2008でも64TBを超えると利用できません
Error message when you try to enable the Volume Shadow Copy Service for a shared folder on a Windows Server 2003-based or Windows Server 2008-based computer: "STOP: 0x0000007E"

ちなみにNTFSのBPBにも総セクタ数フィールドはありますが8バイト(64ビット)ありますので問題ありません。

exFAT †

XP用exFAT実装では2TBを超えるボリュームはサポートしないようです。
クラスタサイズ32MBまで試行しましたが、クラスタ数やクラスタサイズに制限されるものではないようです。
あくまでもSDXC用ということでしょうか。(画面はWindows XP)

MicrosoftはexFATをNTFSの代替にする気は無いようです。(画面はWindows Vista)

(画面はWindows Server 2008)

HFS Plus †

Mac OS X 10.2以降であれば2TBの壁は無いようです。

Appleパーティションマップ †

AppleパーティションマップもMBRと同じく開始4バイト、総セクタ数4バイトで2TBの壁を持つようです。


リンク。 †

大規模な論理装置のサポートと Windows Server 2003 SP1
パーティション スタイル
GPT ドライブを使用する
Using GPT Drives
Itanium ベース システム用 MBR システム ディスクの変換
MBR System Disk Conversion for Itanium-Based Systems
Windows and GPT FAQ
Frequently asked questions about the GUID Partitioning Table disk architecture
Windows Storage Server 2003 : よく寄せられる質問
Microsoft Storage: Fact and Fiction
How NTFS Works
Troubleshooting Disks and File Systems
How Dynamic Disks and Volumes Work

Unified Extended Firmware Interface support in Windows Vista
1 ボリュームのサイズが 2 TB 以上のシステム パーティションから Windows Vista を起動できない
UEFI と Windows
Windows オペレーティング システムでの UEFI のサポートと要件
UEFI システムへの Windows Server 2008 および Windows Vista SP1 のインストール
Windows NT ブート処理とハード ディスクの制限
Error code 0x8004240f occurs when you use a volume that is larger than 2 TB as backup storage in Windows Server 2008
concerns about breaking the 2TiB MBR
GUIDパーティションテーブル

Greater than 2TB support on different Operation System

Is it possible to boot from an array larger than (>) 2 Terabytes (TB) with 3ware controllers?
Q13513 - Software Configuration: Hi, I am using Windows 2003 with Service Pack 1. It is supposed to have support for arrays larger than 2 TeraBytes in capacity. I have a 9500S with the 9.2 code set, with a 2.5 TByte array. But Windows only sees 2 TeraBytes. What is going on?



eSATA リムーバブルケース(外付け5ベイ) SA-DK5ES(FAQ)
Large data storage in FreeBSD
1TB issue
Devices/Partitions over 2TB
RE: [t13] capacity barriers - 2TiB @ 0.5KiB/block
Successfully boot from a floppy on a GPT partitioned 2.18TB system
Red Hat Enterprise Linux AS 4 Update 1 Release Notes
Red Hat Enterprise Linux AS 4 Update 1 リリースノート
Debian インストーラ etch β2 リリース

第 10 章 ディスクの管理 (概要)

SmartArrayでの 1TB超えについて StorageWorks MSA20
SmartArrayでの 2TB超えについて
LeftHand Networks - 256 TB LUN
EFI - osdev-j (MMA)
2TB 以上のボリュームの対応について
IDE RAID カードあれこれ RAID 14
6TB on FreeBSD: uyota 匠の一手
大容量ファイルサーバの構築と管理
Over 2TBのファイルサーバを製品化
Over 2TBのファイルシステムテストとNFSの性能/技術レポート
テラボックスシリーズ2TB設定ユーティリティ
Mini-HOWTO: Disks and Partitions larger than 2TB under LINUX using an Adaptec 2820SE RAID card
2TBを越えるディスク領域の使用方法
NVIDIA Forums > unable to create array over 2TB
[GUID] GPT howto [Archive] - The FreeBSD Forums
CalDigit - HDPro 2TBを超える容量を単一ボリュームとしてWindowsで扱う方法
導入、アレイ作成時の問題に関するFAQ
Does WHS support a GPT disk?
大容量ハードディスクのRAIDは2TBの壁に注意
Microsoftオペレーティングシステムは2TB以上のRAIDアレイをサポートするか?
fdisk コマンドでは 2TB以上のパーティション作成はできないのですか?
How to Break the 2TB (2 TeraByte) File System Limit


Linux and 4K disk sectors
BigSector.org
3月版 2TBを超えろ! ATAディスクの4Kセクタ問題とは?
4KB セクター・ディスクで Linux を使用する: 実用的なアドバイス

玄人志向 3TBハードディスク対応製品一覧
Above 2TB
Drives larger than 2.2 TB may appear incorrectly when attached to an eSATA port
VIPで自作PC @ Wiki - 2TiB
Windows XPで2TBを超えるハードディスクを利用する



These are our most popular posts:

従来のドライブ製品

外付ハードディスク・ドライブを使用して2つのシステム間でデータを移行する方法 について説明します。 詳細 ... たとえば、[ファイル]メニューから[コピー/貼り付け]を選択 する方法、メニューを右クリックして[コピー/貼り付け]を選択する方法、キーボード・ コマンドに ... read more

特定のソフトウェアを使用せずに外付ドライブを使用する方法

特定のソフトウェアを使用せずに外付ドライブを使用する方法 [206419] ... Windows 7 およびVista用外付ハードディスク・ドライブのトラブルシューティング(ガイド付き). 検出 され ... ダブルクリックして、コピーするファイルを移動させる場所を開きます。 ... Mac用 FreeAgent Go(このドライブはMac Time Machineと使用するように設計されています。 ) ... read more

FreeAgent GoFlex Frequently Asked Questions

A: FreeAgent® GoFlex™ ストレージ ファミリーは、使いやすいプラグアンドプレイ タイプの外付けハードドライブです。移動範囲 .... Q: バックアップソフトウェアをいつも 稼動状態にしておきたくないので、それを無効にする方法を教えてください。 ... これで バックアップのファイルコピー作業が停止され、他の作業用にリソースを解放することが できます。 read more

シーゲイト、これまでの容量の上限を超えた3TB外付デスクトップ・ドライブ ...

現在発売中の3TB FreeAgent® GoFlex™ Desk外付ハードディスク・ドライブは、世界 で急速に高まっている家庭および企業におけるデジタル・ ... シーゲイトは、顧客のニーズ を満たすためにストレージ関連の新しい分野を開拓するための製品を長年設計してきて おり、現在発売中の ... て、USB 3.0またはFireWire® 800にアップグレードできるため、 ファイル転送性能が最高10倍向上し、簡単にファイルをコピー・共有できます。⁴. read more

0 件のコメント:

コメントを投稿

登録 コメントの投稿 [Atom]

<< ホーム