ディスクユーティリティ
まず、ディスクをフォーマットする。パーティションテーブルの作成で、デフォ
ルトでは MBR になってしまうが、MBR だと2TB以上のディスクの扱いに問題が
あるそうなので、GPT にしなければならない。
次に、ファイルシステムを ext4 として作成する。
GParted
起動すると、デバイスの検索(スキャン)が始まり、これが異様に時間がかかる。
最初は律義に10分くらい待っていたが、調べたところ BIOS の設定でFDを探さな
いようにすればすぐ終るということが判明。BIOS でAドライブを無し、に設定した
ところ確かに速くなった。
GParted でも、パーティションテーブルを GPT で作成し、ext4 でファイル
システム作成すればよい。なぜか44GBほど使用済と出るが、これは表示が間違っ
ているみたいな感じである。
これで、ファイルシステムも出来た、と思いきや、Ubuntu でプロパティを見たら、 150GBも使用済領域になっている。df コマンドで見た場合は、使用済領域と使用 可能領域の和が全領域より 5% 小さい値になる。 調べたところ、Linux は全容量の 5% を、スーパーユーザーや syslogd が使える予約領域として確保してしまうとのこと(man tune2fs の -m オプション の説明を参照)。 この領域はディスクの断片化防止にも使われるらしいが、今どき総容量の 5% は多過ぎだろう、ということで(よせばいいのに)予約領域を小さくしてみる ことにした。これが泥沼化の始まり。
tune2fs による予約領域の変更
tune2fs -m 数字 デバイス名 とすると、予約領域を 数字(%) にすることが
できるはず。ということで tune2fs -m 1 /dev/sdc1 とすると、確かに使用済
が30GBに縮小した。
オプション -m の代りに -r でブロック単位で大きさを指定することもできるが、
あまり小さくしても大丈夫か心配なので、1% くらいでよいでしょう。
ところが、、、
Ubuntu 10.04 の入ったサーバーに接続したところ、I/Oでエラーが発生し、
動作が不安定になった。mount や sync などの応答がなく、kill しても
プロセスが止らないほか、新しいUSBデバイスを認識しないわローカルのモニタ
もキーボードも使えないわ、で再起動する羽目になった。いろいろ変更して
みても正常に認識してくれないまま。初期設定の 5% のままだと大丈夫なよう
だが。
1. dmesg、fdisk 等でデバイスの確認
まずデバイス名が分らないと困るので、接続後の dmesg の出力を見るか、
sudo fdisk -l で対象ディスクのデバイス名をチェックする。
例えば /dev/sdc と分かる。
2. parted でパーティション作成
fdisk は古いので GPT を作成できないんだか、ext4 を作成できないだかで
使えないので、parted を使う。
parted デバイス名(/dev/sdcなど) help rm 1 (既存のパーティションを削除する場合) mklabel gpt (GPTでパーティションテーブル作成) mkpart primary start end (単位MB;パーティション作成) name 1 パーティション名 (必要なら名前を付ける) print (確認) quitmkpart でのサイズ指定をいくつにすれば良いのか分かりにくいが、unit % で単位を % にしてから mkpart primary 0 100 と指定しても良いかも。
3. mke2fs でファイルシステム作成
mke2fs -t ext4 -m 1 /dev/sdc1 などとすれば、ext4 ファイルシステムを
予約ブロックサイズ指定で作成できる。既にパーティションを作成している
ので、デバイス名に1などの数字が付くことに注意。
sudo tune2fs -l /dev/sdc1 などでファイルシステムの superblock 情報が
参照できる。Reserved block count: の値が全体の 1% になっていることが確認
できる。
4. マウント
マシンに接続して dmesg 等でデバイス名を確認し、
mount -t ext4 /dev/sde1 /mnt/diskA
という感じでマウントして動作を確認する。もちろんマウントポイントは
先に作っておく。df -H で容量を見ると、Used と Available の和が Size
の値に近くなっているのが分かる。だいたい差が 1% 程度になっているはず。
使用後は umount /mnt/diskA とかでアンマウントしてから取り外す。