3TBのドライブはfdiskじゃだめらしい

webminからパーティションをつくって待ってても全然終わらないのでおかしい気がしてきました。
19時間経過しても終わらないなんて絶対におかしい。

で、コマンドラインからfdisk -lしてみたら・・・。

# fdisk -l /dev/sdb

Disk /dev/sdb: 3000.5 GB, 3000592982016 bytes
255 heads, 63 sectors/track, 364801 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

ディスク /dev/sdb は正常な領域テーブルを含んでいません

なんだかよくわからないですがエラーっぽいメッセージ。

で、ググッてみると3TBのパーティション作成はfdiskではなくpartedというのを使うらしいです。

Linux Creating a Partition Size Larger Than 2TB

しかし、こっちのページでは、単一パーティションでいいならそんなんしなくてイイだろ的なことが書かれてました。
ページ最下部。

3TB HDDのパーティション -Linux-

というわけで /dev/sdb をそのままフォーマットしてみます。

# mkfs.ext3 /dev/sdb
mke2fs 1.39 (29-May-2006)
/dev/sdb is entire device, not just one partition!
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
366297088 inodes, 732566646 blocks
36628332 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
22357 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544

Writing inode tables: 2304/22357

こんな感じで始まりました。

そして終わりました。

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 23 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

マウントしてみます。

# mount -t ext3 /dev/sdb /var/storage/00/main

そしてdfしてみます。

# df -i
Filesystem Iノード I使用 I残り I使用% マウント位置
/dev/sda3 822016 41533 780483 6% /
/dev/sda1 26104 35 26069 1% /boot
tmpfs 255211 1 255210 1% /dev/shm
/dev/sdc1 183156736 239360 182917376 1% /var/storage/00/mirror
/dev/sdb 366297088 11 366297077 1% /var/storage/00/main

バッチリです!!!
そしてfstabを編集します。

# vi /etc/fstab

今までは

/dev/sdb1 /var/storage/00/main ext3 defaults 0 0

となってたのを

/dev/sdb /var/storage/00/main ext3 defaults 0 0

に変更します。パーティションを切ってないので1が要らないのです。

そしてfsckで確認もしておいてみます。

# fsck /dev/sdb
fsck 1.39 (29-May-2006)
e2fsck 1.39 (29-May-2006)
/dev/sdb is mounted.

WARNING!!! Running e2fsck on a mounted filesystem may cause
SEVERE filesystem damage.

Do you really want to continue (y/n)? yes

/dev/sdb: recovering journal
/dev/sdb: clean, 11/366297088 files, 11546856/732566646 blocks

ちゃんとcleanとでてきました。

変に読み取り専用になってないか確認してみます。

# touch /var/storage/00/main/aaa
# ls /var/storage/00/main/
aaa lost+found

これで大丈夫!
ではファイルをコピーしておきます。
今回は今ミラーで使っているドライブも交換になるのでログやtmpのディレクトリもコピーしておきます。

# cp -a /var/storage/00/mirror/svn /var/storage/00/main/
# cp -a /var/storage/00/mirror/tmp /var/storage/00/main/
# cp -a /var/storage/00/mirror/var.log /var/storage/00/main/

この3つはすぐ終わります。
次はデータ。

# cp -a /var/storage/00/mirror/var.log /var/storage/00/main/

これは時間がかかります。
そして放置したまま仕事へ。

コメント