mke2fsでのフォーマットが『/dev/sdb1 is apparently in use by the system』で失敗する

2TBのHDDをサーバからぶっこ抜いて別サーバに接続、fdiskでパーティションを作成後に mke2fs でフォーマットをかけようとしたら下記のようなエラーが表示されてフォーマットできませんでした。

# mke2fs -j /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
/dev/sdb1 is apparently in use by the system; will not make a filesystem here!

原因は、元々別サーバでRAID構成にて利用してたので、RAID情報が残ってしまい消えていなかったからのようです。 というわけでHDDに残ったRAID情報を削除して再利用できるようにします。

まずは dmraid で削除できるか試してみます。

# dmraid -r -E /dev/sdb
no raid disks and with names: "/dev/sdb"

ダメでした orz….
そこで今度はRAID情報の残っているブロックを上書きで消しこんでやります。

ddコマンドで書き込み。

# dd if=/dev/zero of=/dev/sdb bs=512 count=2
2+0 records in
2+0 records out
1024 bytes (1.0 kB) copied, 5.0923e-05 s, 20.1 MB/s

続いてパーティションのサイズを (ブロック単位で) 標準出力に表示します。出力された値をメモっておきます。

# fdisk -s /dev/sdb
1953514584

改めてddコマンドで書き込みします。先ほどメモった値から20引いた値をseek値に指定してください。

# dd if=/dev/zero of=/dev/sdb seek=1953514564 bs=1k
dd: writing `/dev/sdb': デバイスに空き領域がありません
21+0 records in
20+0 records out
20480 bytes (20 kB) copied, 0.00256153 s, 8.0 MB/s

これで完了です。
改めてfdiskでパーティションを作成し、mke2fsでフォーマットするとできるようになっているはずです。 ちなみにmke2fsをする前にサーバの再起動をお忘れなく‥。(外付けHDDの場合は取り外し、取り付けでもOK)

コメントを残す

メールアドレスが公開されることはありません。