2016年2月13日土曜日

parted の使い方メモ ( 2TB 以上は fdisk ではなく parted で )

8TB の RAID HDD を 1 つのパーティションにしようと思って fdisk 使おうとしたら、2TB までしかいけませんでした。
2TB 以上は parted でやる必要があります。

今回の例は /dev/sdc の HDD にパーティションを切ります。
とりあえず、ヘルプを表示。

# parted /dev/sdc
GNU Parted 2.3
/dev/sdc を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。

(parted) help
  align-check TYPE N            パーティション N のアライメント(TYPE: min|opt)をチェックする
  check NUMBER                  ファイルシステムの簡単なチェックする
  cp [転送元デバイス] 転送元NUMBER 転送先NUMBER
                    ファイルシステムを他のパーティションにコピーする
  help [コマンド]               ヘルプ表示。コマンド指定でそのヘルプを表示
  mklabel,mktable ラベルの種類  新しいラベル(パーティションテーブル)を作る
  mkfs NUMBER ファイルシステムの種類
                    指定した種類のファイルシステムを作る
  mkpart パーティションの種類 [ファイルシステムの種類] 開始 終了
                    パーティションを作る
  mkpartfs パーティションの種類 ファイルシステムの種類 開始 終了
                    パーティションとファイルシステムを作る
  move NUMBER 開始 終了         パーティションを移動する
  name NUMBER 名前              パーティションに名前をつける
  print [devices|free|list,all|NUMBER]
                     パーティションテーブルや、利用可能なデバイス、空き領域、
                     見つかった全てのパーティション、あるいは特定のパーティションについて表示する
  quit                          プログラムを終了する
  rescue 開始 終了              開始、終了で指定した範囲付近にあるパーティションを復活させる
  resize NUMBER 開始 終了       パーティションとその中のファイルシステムをリサイズする
  rm NUMBER                     パーティションを削除する
  select デバイス               操作するデバイスを選択
  set NUMBER フラグ 状態        ファイルシステムのフラグと状態を設定する
  toggle [NUMBER [FLAG]]        パーティションのフラグの状態を反転する
  unit UNIT                     デフォルトの単位を UNIT にする
  version                       GNU Parted のバージョンと著作権情報を表示

現在の状況を確認。fdisk と同じ感じで p。

(parted) p
モデル: ATA H/W RAID10 (scsi)
ディスク /dev/sdc: 8001GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos

番号  開始  終了  サイズ  タイプ  ファイルシステム  フラグ

ラベルを gpt ( GPT: GUID partition table ) に設定。

(parted) mklabel gpt
警告: いま存在している /dev/sdc のディスクラベルは破壊され、このディスクの全データが失われます。続行しますか?
はい(Y)/Yes/いいえ(N)/No? y

ラベルが設定されていることを確認。

(parted) p
モデル: ATA H/W RAID10 (scsi)
ディスク /dev/sdc: 8001GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt

番号  開始  終了  サイズ  ファイルシステム  名前  フラグ

8TB を 1 パーティションで、ext4 FS に設定。

(parted) mkpart primary ext4 0% 100%

(parted) p
モデル: ATA H/W RAID10 (scsi)
ディスク /dev/sdc: 8001GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt

番号  開始    終了    サイズ  ファイルシステム  名前     フラグ
 1    1049kB  8001GB  8001GB                    primary

最初、0, -0 でパーティションを切ってたら、アライメントが正しくないとエラーになってしまいました。
開始が 17.4kB になってました。パフォーマンス的に良くないらしいので、0% 100% で指定したほうがよいです。

(parted) mkpart primary ext4 0 -0
警告: 操作の結果できるパーティションはアライメントが正しくないためにパフォーマンスがでません。
無視(I)/Ignore/取消(C)/Cancel? I
(parted) p
モデル: ATA H/W RAID10 (scsi)
ディスク /dev/sdc: 8001GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt

番号  開始    終了    サイズ  ファイルシステム  名前     フラグ
 1    17.4kB  8001GB  8001GB                    primary

q で終了。

(parted) q
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。

mkfs.ext4 コマンドで /dev/sdc1 をフォーマット。
time コマンドで実行時間を計測したところ、57 秒かかりました。

# time mkfs.ext4 /dev/sdc1
mke2fs 1.42 (29-Nov-2011)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
244187136 inodes, 1953480695 blocks
97674034 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
59616 block groups
32768 blocks per group, 32768 fragments per group
4096 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, 1934917632

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


real    0m57.858s
user    0m2.288s
sys     0m0.736s

マウントしてみる。よしよし。

# mount /dev/sdc1 /mnt/

# df
Filesystem      1K-blocks      Used  Available Use% Mounted on
/dev/sda1        95989516  31844624   59245772  35% /
udev             16434540         4   16434536   1% /dev
tmpfs             3288768       832    3287936   1% /run
none                 5120         8       5112   1% /run/lock
none             16443832       152   16443680   1% /run/shm
/dev/sdb1        61407392   6674084   51590840  12% /ssd
/dev/sda4       761367048 640958904   81709856  89% /home
/dev/sdc1      7752225032     51360 7361461152   1% /mnt

● fdisk, parted, 2TB, HDD, パーティション, partition, フォーマット, format, gparted, アライメント, 正しくない, パフォーマンス