kilin> how to> コマンドメモ> CentOS HDD増設

CentOS HDD増設

(2014.4.7, 2015.10.21)

CentOSにハードディスクを増設する方法。
(環境) CentOS 5.2, 6.5, 7.1

ディスク取り付け

ハードディスクを取り付けて(内蔵,USB外付け),CentOSを起動する。

領域確保

2TB超の場合

partedでラベルをつけて,領域を確保する。
# parted
GNU Parted 2.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print all ←取り付けたディスクのデバイス名を確認
ディスクを初期化しない場合はここで quit

(parted) select デバイス名(/dev/sdbなど)
(parted) mklabel gpt ←ラベルをつける
(parted) mkpart p 1M -1 ←ディスク全体を1つのパーテーションにする(1はイチ)
(parted) print ←領域番号を確認

(parted) quit

2TBまでの場合

fdiskで領域を全て削除してからHDD全体に1つの領域を確保する。
# fdisk -l ←取り付けたディスクのデバイス名を確認

ディスクを初期化する場合は以下の領域確保をおこなう
# fdisk /dev/sdb1 

コマンド (m でヘルプ): d ←領域を削除
領域番号 (1-4): 1
警告: 領域 1 は空のタイプです。

コマンド (m でヘルプ): d
領域番号 (1-4): 2

コマンド (m でヘルプ): d
領域番号 (1-4): 3

コマンド (m でヘルプ): d
Selected partition 4

コマンド (m でヘルプ): n ←領域を作成
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-243200, default 1): 
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-243200, default 243200):
Using default value 243200

コマンド (m でヘルプ): w ←変更を書き込み
パーティションテーブルは変更されました!

ioctl() を呼び出してパーティションテーブルを再読込みします。

フォーマット

# yum install e4fsprogs <- CentOS5の場合のみ
# mkfs.ext4 /dev/sdb1 <-1はparted print等で確認した領域番号

手動でマウント,アンマウント

マウントするディレクトリを作っておいて,マウントすればUSB HDDをそのディレクトリで使える。アンマウントすれば切り離せる。
# mkdir /hdd
# mount /dev/sdb1 /hdd
# umount /hdd

起動時自動マウント

/etc/fstabに次の一行を追記しておけば,起動時に自動的にマウントできる。
/dev/sdb1 /hdd ext4 defaults 0 0
あるいは,UUIDを調べて
# blkid /dev/sdb1
/dev/sdb1: UUID="9abf4e25-79b7-4991-bdc9-9a4a7b59d8fb" TYPE="ext4"
デバイス名ではなくUUIDで記述してもよい。デバイス名は変わってしまう可能性があるがUUIDは変わらないので,こちらがベター。
UUID=9abf4e25-79b7-4991-bdc9-9a4a7b59d8fb /hdd ext4 defaults 0 0

起動時自動マウントに失敗するとき

起動時自動マウントには失敗するが,起動後に mount -a コマンドでうまくマウントできる時は,起動時スクリプトファイル /etc/rc.local に
sleep 300; mount -a
(300秒待ってからfstab通りにマウント)と書いておけばOK。

確認

再起動してdfで確認。
# reboot
# df

参考

How to mount a partition on a disk that has an EFI GPT partition table ... (http://www.pjc.me.uk/efi-gpt/) 2014.4
2TBより大きいパーティション扱う(Linux)+HDDのアラインメントについて (http://d.hatena.ne.jp/ktomoya/20100912/1284256525) 2014.4