2011-08-25

Linux (Ubuntu 11.04)で2TB超のHDをソフトウェアRAID化する (2)

(承前)

パーティション分け

2TBを超えるHDでは従前のいわゆるDOSパーティションテーブルは利用できず、GUIDパーティションテーブル(GPT)を使わなくてはならない。今回のHDは2Tなので必ずしもGPTを使う必要はないが、新しく触れる技術なので使ってみたところはまり込んだ次第。

GPTによるパーティション分けはGNU partedというコマンドで行う。Ubuntu デスクトップインストーラで起動し、[Try Ubuntu] を選んでターミナルを開き、parted を実行すればよい。まずはパーティションテーブルの初期化だ(以下を実行するとHDの内容が全部読めなくなるので注意してほしい)。

$ sudo parted /dev/sda
(parted) mktable gpt

さて、説明は省くがGPTを起動ディスクに用いた場合、先頭にbiosgrub属性を持つ1Mのパーティションが必要である。また、Advanced Format Technology (Big Sector) 対応のため、パーティション境界を2048セクタにアラインした方がよいらしい。このためにはセクタ境界の指定にmibまたはgibを用いればいい。以下でbiosgrubパーティションを作成する。

(parted) mkpart _ 1mib 2mib
(parted) toggle 1 bios_grub

partedのhelpコマンドによるとmkpartコマンドの第一引数はprimaryとかextendedを指定しろと書いてあるのだが、これはおそらくDOSパーティション用で、GPTの場合第一引数は単なる名前になるようだ。この名前がどのように使われるかは私は知らない。この記事では名前は全部 _ で済ますことにする。

次にboot, swap, root用の各パーティションを作成する。

(parted) mkpart _ 2mib 1gib
(parted) mkpart _ 1gib 3gib
(parted) mkpart _ 32gib 48gib

DOSパーティションと違い、パーティションのタイプを指定する必要はない。また、3gib と 32gib の間の「穴」は、後々簡単に swap パーティションを拡大できるようにするための余地である。

(最後のパーティションをディスクいっぱいまで使いたい場合はmkpart _ 32gib -0gibとすればよい; ただし同期に長大な時間がかかる)

ここまでの作業でパーティションは以下のようになる。

(parted) unit mib
(parted) print free
Number  Start     End         Size         File system  Name  Flags
        0.02MiB   1.00MiB     0.98MiB      Free Space
 1      1.00MiB   2.00MiB     1.00MiB                   _     bios_grub
 2      2.00MiB   1024MiB     1022MiB                   _
 3      1024MiB   3072MiB     2048MiB                   _
        3072MiB   32768MiB    29696MiB     Free Space
 4      32768MiB  49152MiB    16384MiB                  _
        49152MiB  1907729MiB  11858577MiB  Free Space

確認してリブートする。

(parted) quit
$ sudo reboot

インストール

Ubuntuデスクトップインストーラで起動しインストールを開始する。[ディスク領域の割り当て] の場面では [それ以外] を選んで、手動で ext4 ファイルシステムや swap を設定し、マウントポイントも設定する。

(つづく)

0 件のコメント:

コメントを投稿