SSブログ

partedコマンドで2TB超パーティション作成 [しごと]

Linux (Red Hat) でディスク上にパーティションとファイルシステムをつくるとき 当たり前のようにfdiskコマンドを使っておりました('-') OS用のシステムディスクじゃなくてデータ用にくっつけるディスクなら テキトーにPrimaryディスクにして容量全部割り当てたパーティションつくっちゃえば すぐext3あたりでフォーマットしてマウントできちゃいます
# fdisk /dev/sda
  1. n (パーティション作成)
  2. p (Primary指定)
  3. 1 (パーティション1番目指定)
  4. Enter (ディスクの先頭指定=デフォルトのまま)
  5. Enter (ディスクの末尾指定=デフォルトのまま)
  6. w (inode情報書き込み)

単純な読み書きとかの検証なら 次から次へディスクをくっつけてると ここらへんの入力は連打です

…ここで本題なのですがfdiskコマンドだと2TBを超えるディスクにうまいことパーティションを作ってくれないんです… SUSEとRed Hatで試したところ ディスクとしての容量は2TB超で表示されるのに いざパーティションつくってみると 800MBくらいのだったり1TBくらいのだったりができあがるんです(;゜ロ゜) ブロックサイズとブロック数の関係かとも思ったけど どうも深追いするのがおっくうなのでまた今度 (というか勉強不足)
これまでは「SCSIプロトコルかLinux kernelの制限」と勝手に思い込んで2TB未満のディスク複数に分けて 後からLVMでくっつけたりしておりました(~´з`)~ ところが仮想化製品の検証で2TB超のディスク使いたい! と言われていざホストに割り当ててみたら「2TB超ってどうやって使うんだっけ?」とご質問((((゚Д゚;)))) LVMとか使えそうもなく「知らねっす」とも答えられないので ほかに方法がないかGoogle先生に相談してみました
結果的にはpartedコマンドでディスクの属性を変えてあげれば難なく2TB超パーティションをつくれましたヽ(´▽`)/ partedコマンドでつくった後 fdiskコマンドで見てみると fdiskコマンド曰く「GPTは取り扱っておりませんのでpartedをお使いください」と
# fdisk -l

Disk /dev/cciss/c0d0: 72.8 GB, 72833679360 bytes ◆ ローカルのハードディスク
255 heads, 32 sectors/track, 17433 cylinders Units = シリンダ数 of 8160 * 512 = 4177920 bytes

デバイス Boot Start End Blocks Id System
/dev/cciss/c0d0p1 * 1 6316 25769264 7 HPFS/NTFS
/dev/cciss/c0d0p2 6317 6341 102000 83 Linux
/dev/cciss/c0d0p3 6840 17433 43223520 83 Linux
/dev/cciss/c0d0p4 6342 6839 2031840 5 拡張領域
/dev/cciss/c0d0p5 6342 6839 2031824 82 Linux スワップ

領域テーブル項目がディスクの順序と一致しません

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.

Disk /dev/sda: 3221.2 GB, 3221264007168 bytes ◆ こっちはSANのLUN
255 heads, 63 sectors/track, 391629 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot Start End Blocks Id System
/dev/sda1 1 267350 2147483647+ ee EFI GPT ◆ なんか大きそうな雰囲気



実際にpartedコマンドは↓な流れでパーティションをつくっていきます

# parted /dev/sdb
GNU Parted 1.6.19
Copyright (C) 1998 - 2004 Free Software Foundation, Inc.
This program is free software, covered by the GNU General Public License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

/dev/sdb を使用
(parted) mklabel gpt ◆ ラベルをつけるのだそうです
(parted) mkpart ◆ いきなりパーティションです
パーティションの種類? primary/プライマリ? primary
ファイルシステムの種類? [ext2]? ext3 ◆ なぜかファイルシステムも指定
開始? 0 ◆ ディスクの先頭から
終了? 3072036.750 ◆ 末尾まで
(parted) quit ◆ 抜けます
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。

ディスクの末尾が分からん! ってときはラベル貼った後にprintと入力すると パーティション構成とディスクのサイズが表示されるので そこからコピペです
mkpartじゃなくてmkpartfsといれるとファイルシステムも一緒につくってくれるらしいです

とりあえずパーティションだけにして ファイルシステムはいつものように↓
# mkfs.ext3 /dev/sdb1
mke2fs 1.35 (28-Feb-2004)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
393232384 inodes, 786441399 blocks
39322069 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=788529152
24001 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: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

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


あとはまたいつもと同じようにマウントです
# mount /dev/sdb1 /mnt/dummy
# df -hP /mnt/dummy
Filesystem サイズ 使用 残り 使用% マウント位置
/dev/sdb1 2.9T 121M 2.8T 1% /mnt/dummy ◆ 3TBバンザイ



大きいディスクを扱うときはLVMでもいいんだけど ディスクそのままつかえるならpartedコマンドでパーティションつくるのがよいかも知れません
SATAのハードディスクが750GBとか1TBとかになってきてるので (RAID組んだりして)もしかすると個人でも2TB超のディスクを扱うこともあるかも知れないので メモとして残しておきましょ

「Linux パーティション 2TB」でGoogle検索してみたら
2TBを越えるディスク領域の使用方法
こんなのもあったのでちゃんとした方法なんですね

ってことで「Linux parted」でGoogle検索したら フツーに解説記事がどっさりひっかかった… いままでfdiskコマンドしか使ってなかったのがアフォみたい…(´Д⊂
nice!(1)  コメント(0)  トラックバック(1) 
共通テーマ:仕事

nice! 1

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 1

↑So-netユーザーの
↓ ふつうの

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。