gpt Howto
gpt(8)を使って2TB以上の容量のディスクパーティションを利用するための方法です。試験環境は以下の通りです。
pci5: <PCI bus> on pcib5 3ware device driver for 9000 series storage controllers, version: 3.60.02.012 twa0: <3ware 9000 series Storage Controller> port 0x3000-0x303f mem 0xde000000-dfffffff,0xda300000-0xda300fff irq 16 at device 12.0 on pci5 twa0: [FAST] twa0: INFO: (0x15: 0x1300): Controller details:: Model 9590SE-16ML, 16 ports, Firmware FE9X 3.04.00.005, BIOS BE9X 3.04.00.002 : da1 at twa0 bus 0 target 1 lun 0 da1: <AMCC 9590SE-16M DISK 3.04> Fixed Direct Access SCSI-3 device da1: 100.000MB/s transfers da1: 2860920MB (5859164160 512 byte sectors: 255H 63S/T 364716C)
FreeBSDのbsdlabel(disklabel)コマンドでは、セクター数が2^32 - 1 個以上のディスクを扱えません。通常は512バイト/セクターですので、2TBが上限ということになります。
# disklabel da1 disklabel: disks with more than 2^32-1 sectors are not supported
このようなディスクもあつかえる規格としてGPTというものがあり、FreeBSDでもサポートしています(ちょっとマニュアルには怖い記述がありますが)。このGPTの管理ツールであるgpt(8)を使ってパーティションを作成し、実際に利用できるようになるまでの手順について説明します。
GPTの作成
GPTを作成していない状態で gpt show コマンドを実行すると、以下のような感じで表示されます。
# gpt show da1 start size index contents 0 5859164160
全容量が表示されるだけで、何もありません。 この状態で gpt create コマンドを使って新しい空のGPTテーブルを作成します。
# gpt create da1
もう一度gpt showで確認すると、テーブルが作成されているのが分かります。
- gpt show da1
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 5859164093
5859164127 32 Sec GPT table
5859164159 1 Sec GPT header
パーティションの作成
gpt add コマンドを利用して、パーティションを作成します。今回はディスク全体を1パーティションとして使うので、オプションは特に指定しません。
# gpt add da1 da1p1 added
これで、ディスク全体がid:1の1つのパーティションとして登録されます。
# gpt show da1 start size index contents 0 1 PMBR 1 1 Pri GPT header 2 32 Pri GPT table 34 5859164093 1 GPT part - FreeBSD UFS/UFS2 5859164127 32 Sec GPT table 5859164159 1 Sec GPT header
ファイルシステムの初期化
パーティションは出来ましたので、次にnewfsコマンドでファイルシステムを初期化します。
# newfs da1p1
進捗状況がずらずらと表示されるので、完了するまでしばらく待ちます。
マウント
以上で準備は完了したので、マウント先のディレクトリを作成してマウントします。
# mkdir /mnt/da1p1 # mount /dev/da1p1 /mnt/da1p1 # df /mnt/da1p1 Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/da1p1 2837413242 4 2610420180 0% /mnt/da1p1
fstabへの登録
起動時に自動的にマウントするように、/etc/fstabに以下の行を追加します。
/dev/da1p1 /mnt/da1p1 ufs rw 2 2
Keyword(s):
References:[雑記録] [SideMenu]