CentOSにハードディスクドライブを増設する
Linuxについての記事です。
CentOS6.2をファイルサーバとして運用するために2TBのハードディスクを用意したので増設します。運用しているIBMのサーバには最大4台までハードディスクを積む事ができます。一台はOSがインストールされているハードディスクで今回追加するハードディスクは2TB丸ごとファイルを保存する事ができます。
用意したディスクはこちらです。
Linuxハードディスク
SANWA SUPPLY シリアルATA3ケーブル 0.5m TK-SATA3-05
参考にさせてもらったサイト
IBM公式”Windows から Linux へのロードマップ: 第 6 回 パーティションとファイルシステムを扱う”
物理的なハードディスクの増設を終えてCentOSのファイルシステムをチェックしてシステムで増設したハードディスクを認識しているか確認していきます。ハードディスクを認識しているかの確認は”fdisk”コマンドを使用します。”fdisk -l”にしてパーティションを確認します。
# fdisk -l
ディスク /dev/sda: 250.1 GB, 250059350016 バイト
ヘッド 255, セクタ 63, シリンダ 30401
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0xe17a12db
デバイス ブート 始点 終点 ブロック Id システム
/dev/sda1 * 1 9091 73016320 7 HPFS/NTFS
/dev/sda2 9091 9154 512000 83 Linux
/dev/sda3 9154 9285 1048576 82 Linux スワップ / Solaris
/dev/sda4 9285 30402 169620664 5 拡張領域
/dev/sda5 9285 30402 169619456 83 Linux
ディスク /dev/sdb: 2000.4 GB, 2000398934016 バイト
ヘッド 255, セクタ 63, シリンダ 243201
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x000d398d
デバイス ブート 始点 終点 ブロック Id システム
/dev/sdb1 1 66 530125 83 Linux
/dev/sdb2 67 132 530142 83 Linux
/dev/sdb3 133 243138 1951945693 83 Linux
/dev/sdb4 243139 243200 498012 83 Linux
”/dev/sda”はSATA接続されているハードディスクドライブの事になります。
接続しているハードディスクドライブがIDE接続の場合は”/dev/hda”というような表示でIDE接続かSATA接続か識別できるようになっています。
二台目のハードディスクドライブがSATAで認識されている場合は”/dev/sdb”、三台目のハードディスクドライブは”/dev/sdc”‥というようにハードディスクの台数に比例してアルファベット順に表示が変化します。
/dev/sdb: 2000.4GBが表示されているのでシステム側では増設したハードディスクが認識されている様子です。しかし、パーティションが4つ作成されていて分割
されてしまっています。fdiskコマンドを使ってパーティションを一つに統合します。
# fdisk /dev/sdb
警告: DOS互換モードは廃止予定です。このモード (コマンド 'c') を止めることを
強く推奨します。 and change display units to
sectors (command 'u').
コマンド (m でヘルプ): m
コマンドの動作
a ブート可能フラグをつける
b bsd ディスクラベルを編集する
c dos 互換フラグをつける
d 領域を削除する
l 既知の領域タイプをリスト表示する
m このメニューを表示する
n 新たに領域を作成する
o 新たに空の DOS 領域テーブルを作成する
p 領域テーブルを表示する
q 変更を保存せずに終了する
s 空の Sun ディスクラベルを作成する
t 領域のシステム ID を変更する
u 表示/項目ユニットを変更する
v 領域テーブルを照合する
w テーブルをディスクに書き込み、終了する
x 特別な機能 (エキスパート専用)
コマンド (m でヘルプ): d
パーティション番号 (1-4): 1
警告: 領域 1 は空のタイプです。
コマンド (m でヘルプ): d
パーティション番号 (1-4): 2
コマンド (m でヘルプ): d
パーティション番号 (1-4): 3
コマンド (m でヘルプ): d
選択した領域 4
コマンド (m でヘルプ):n
コマンドアクション
e 拡張
p 基本パーティション (1-4)
p
パーティション番号 (1-4): 1
最初 シリンダ (1-243201, 初期値 1):
初期値 1 を使います
Last シリンダ, +シリンダ数 or +size{K,M,G} (1-243201, 初期値 243201):
初期値 243201 を使います
コマンド (m でヘルプ): p
ディスク /dev/sdb: 2000.4 GB, 2000398934016 バイト
ヘッド 255, セクタ 63, シリンダ 243201
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x000d398d
デバイス ブート 始点 終点 ブロック Id システム
/dev/sdb1 1 243201 1953512001 83 Linux
コマンド (m でヘルプ): w
パーティションテーブルは変更されました!
ioctl() を呼び出してパーティションテーブルを再読込みします。
警告: パーティションテーブルの再読込みがエラー 16 で失敗しました: デバイスもしくはリソースがビジー状態です。
カーネルはまだ古いテーブルを使っています。新しいテーブルは
次回リブート時か、partprobe(8)またはkpartx(8)を実行した後に
使えるようになるでしょう
ディスクを同期しています。
” /dev/sdb”の分割されてしまっていたパーティションが一つに統合されたか確認します。
# fdisk -l
ディスク /dev/sda: 250.1 GB, 250059350016 バイト
ヘッド 255, セクタ 63, シリンダ 30401
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0xe17a12db
デバイス ブート 始点 終点 ブロック Id システム
/dev/sda1 * 1 9091 73016320 7 HPFS/NTFS
/dev/sda2 9091 9154 512000 83 Linux
/dev/sda3 9154 9285 1048576 82 Linux スワップ / Solaris
/dev/sda4 9285 30402 169620664 5 拡張領域
/dev/sda5 9285 30402 169619456 83 Linux
ディスク /dev/sdb: 2000.4 GB, 2000398934016 バイト
ヘッド 255, セクタ 63, シリンダ 243201
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x000d398d
デバイス ブート 始点 終点 ブロック Id システム
/dev/sdb1 1 243201 1953512001 83 Linux
うまくいったようです。
” /dev/sdb”のファイルシステムを設定します。設定するファイルシステムは”ext4”にします。ファイルシステムを設定するコマンド”mkfs”を使います。このコマンドでパーティションがフォーマットされます。
# mkfs -t ext4 /dev/sdb1
mke2fs 1.41.12 (17-May-2010)
/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)
Stride=0 blocks, Stripe width=0 blocks
122101760 inodes, 488378000 blocks
24418900 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
14905 block groups
32768 blocks per group, 32768 fragments per group
8192 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
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
ハードディスクドライブがマウントされるとシステムによってファイルシステムのチェックが行われるようになっています。ファイルシステムのチェックは容量が大きいのでかなりの時間を要します。そこでファイルシステムのチェックは自動で行われないようにします。
@IT “ファイルシステムチェックのタイミングを表示・変更するには”
@IT “ファイルシステムのチェック間隔を変更するには”
# tune2fs -l /dev/sdb1
Maximum mount count: 34
Last checked: Fri Jun 15 21:47:29 2012
Check interval: 15552000 (6 months)
Next check after: Wed Dec 12 21:47:29 2012
Maximum mount countが34に設定されています。これは”/dev/sdb1″を34回マウントしたらファイルシステムのチェックを行うように設定している状態です。
Check intervalが15552000 (6 months)と表示されています。これは”/dev/sdb1″が6ヶ月経過するとファイルシステムチェックが行われる設定になっています。
“tune2fs -c”コマンドでマウントした回数を無効にします。
”tune2fs -i”コマンドでインターバルも無効にします。
それぞれの設定をして自動でファイルシステムのチェックが始まらないようにします。
# tune2fs -c0 -i0 /dev/sdb1
tune2fs 1.41.12 (17-May-2010)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds
確認
# tune2fs -l /dev/sdb1
Maximum mount count: -1
Last checked: Fri Jun 15 21:47:29 2012
Check interval: 0 ()
e2labelを使って/dev/sdb1にラベル付けをしていきます。ラベル付けする目的としてデバイスの名前がもし変わってしまったとしても、ラベルを付けておく事でデバイス名が変化しても影響を受けなくて済むようになります。
# e2label /dev/sdb1 home2
rootディレクトリに移動してディレクトリを作成します。必要に応じて作成したディレクトリのパーミッションも変更します。
# cd /
# mkdir home2
# chown -R username:groupname home2
/etc/fstabを編集してラベル付けしたハードディスクドライブを/home2にマウントされるように設定します。
# gedit /etc/fstab
LABEL=home2 /home2 ext4 defaults 0 0
設定が終わったらディスクをマウントします。
df -hコマンドを使ってマウントしたディスクの容量を確認します。
# mount -a
# df -h
/dev/sdb1 1.8T 196M 1.7T 1% /home2
以上でCentOSのハードディスクドライブの増設が完了です。