|
RedHat ESにてSATAハードディスクの増設
RedHat ESにてSATAハードディスクの増設
0.改訂履歴
1.はじめに
このドキュメントでは,EPSON Endeavor 3200に,SATAハードディスクを増設したあと,認識させるまでの手順を説明する.
なお,使用しているOSは,RedHat Linux ES上で稼働している.
2.HDDの認識状況を確認する.
- dmesgコマンドで,ハードウェアの認識状態を確認する.
ata1: dev 0 cfg 49:2f00 82:746b 83:7f01 84:4023 85:7468 86:3e01 87:4023 88:20ff
ata1: dev 0 ATA, max UDMA7, 156301488 sectors: lba48
ata1: dev 0 configured for UDMA/133
ata2: dev 0 cfg 49:2f00 82:346b 83:7d01 84:4023 85:3468 86:3c01 87:4023 88:207f
ata2: dev 0 ATA, max UDMA/133, 625142448 sectors: lba48
ata2: dev 0 configured for UDMA/133
ata3: no device found (phy stat 00000000)
ata4: no device found (phy stat 00000000)
scsi0 : ahci
scsi1 : ahci
scsi2 : ahci
scsi3 : ahci
Vendor: ATA Model: SAMSUNG HD080HJ Rev: WT10
Type: Direct-Access ANSI SCSI revision: 05
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
SCSI device sda: 156301488 512-byte hdwr sectors (80026 MB)
Partition check:
sda: sda1 sda2 sda3
Vendor: ATA Model: ST3320620AS Rev: 3.AA
Type: Direct-Access ANSI SCSI revision: 05
Attached scsi disk sdb at scsi1, channel 0, id 0, lun 0
SCSI device sdb: 625142448 512-byte hdwr sectors (320073 MB)
sdb: unknown partition table
Journalled Block Device driver loaded
EXT3-fs: INFO: recovery required on readonly filesystem.
EXT3-fs: write access will be enabled during recovery.
kjournald starting. Commit interval 5 seconds
EXT3-fs: sd(8,2): orphan cleanup on readonly fs
|
- 320GBのドライブが,sdbとして認識されていることが分かる.
3.パーティションを作成する
- fdiskコマンドを使って,パーティションを作成する.
[root@mars2 proc]# /sbin/fdisk /dev/sdb
デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
新たに DOS ディスクラベルを作成します。あなたが書き込みを決定するまで、変更は
メモリ内だけに残します。その後はもちろん以前の内容は修復不可能になります。
このディスクのシリンダ数は 38913 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
(例. DOS FDISK, OS/2 FDISK)
警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
正常になります
コマンド (m でヘルプ):
|
コマンド (m でヘルプ): m
コマンドの動作
a ブート可能フラグをつける
b bsd ディスクラベルを編集する
c dos 互換フラグをつける
d 領域を削除する
l 既知の領域タイプをリスト表示する
m このメニューを表示する
n 新たに領域を作成する
o 新たに空の DOS 領域テーブルを作成する
p 領域テーブルを表示する
q 変更を保存せずに終了する
s 空の Sun ディスクラベルを作成する
t 領域のシステム ID を変更する
u 表示/項目ユニットを変更する
v 領域テーブルを照合する
w テーブルをディスクに書き込み、終了する
x 特別な機能 (エキスパート専用)
コマンド (m でヘルプ):
|
コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
|
コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4):
|
領域番号 (1-4): 1
最初 シリンダ (1-38913, 初期値 1):
|
- ここから区画を作成するシリンダの開始と終了番号を入力するが,デフォルトを選択する.(空リターン)
最初 シリンダ (1-38913, 初期値 1): 空リターン
初期値 1 を使います
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-38913, 初期値 38913): 空リターン
初期値 38913 を使います
コマンド (m でヘルプ):
|
コマンド (m でヘルプ): p
Disk /dev/sdb: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス ブート 始点 終点 ブロック ID システム
/dev/sdb1 1 38913 312568641 83 Linux
コマンド (m でヘルプ):
|
- これで問題なければ,wコマンドで書き込んで終了させる.
コマンド (m でヘルプ): w
領域テーブルは交換されました!
ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。
[root@mars2 proc]#
|
4.ファイルシステムの作成
- パーティションが作成されたら.ファイルシステムを作成する.
- 作成する前に,不良ブロックがあるか,確認する.
- mkfsコマンドで,-cオプションを付けることで,デバイスのチェックが行われる.
[root@mars2 proc]# /sbin/mkfs -c /dev/sdb
mke2fs 1.32 (09-Nov-2002)
/dev/sdb is entire device, not just one partition!
Proceed anyway? (y,n)
|
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
39075840 inodes, 78142806 blocks
3907140 blocks (5.00%) reserved for the super user
First data block=0
2385 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
Checking for bad blocks (read-only test): 2370616 / 78142806
|
Checking for bad blocks (read-only test): done
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 37 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@mars2 proc]#
|
- iノードテーブルとスーパーブロックが書き込まれたと書かれている.
5.マウントする
- ファイルシステムが作成されているので,マウントしてみる
- マウントするために,マウントポイントを作成する.
[root@mars2 proc]# mkdir /data
[root@mars2 proc]#
|
[root@mars2 proc]# mount /dev/sdb /data
[root@mars2 proc]#
|
[root@mars2 proc]# df -h
Filesystem サイズ 使用 残り 使用% マウント位置
/dev/sda2 72G 49G 20G 72% /
/dev/sda1 99M 15M 79M 16% /boot
none 1004M 0 1004M 0% /dev/shm
/dev/sdb 294G 20K 279G 1% /data
[root@mars2 proc]# e
|
- 15GBくらい無くなっているが,そんなもんか.
- ファイルシステムを確認する.
[root@mars2 proc]# df -T
Filesystem タイプ 1K-ブロック 使用 使用可 使用% マウント位置
/dev/sda2 ext3 74810720 50862752 20147796 72% /
/dev/sda1 ext3 101089 15035 80835 16% /boot
none tmpfs 1027528 0 1027528 0% /dev/shm
/dev/sdb ext2 307666384 20 292037804 1% /data
[root@mars2 proc]#
|
6.ext3で作り直す
- ext2となっているので,ファイルシステムを作り直す.
- まずはアンマウントする.
[root@mars2 proc]# umount /data
[root@mars2 proc]#
|
[root@mars2 proc]# /sbin/mkfs -t ext3 /dev/sdb
mke2fs 1.32 (09-Nov-2002)
/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)
39075840 inodes, 78142806 blocks
3907140 blocks (5.00%) reserved for the super user
First data block=0
2385 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
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.
[root@mars2 proc]#
|
- 今回はジャーナル部分を追加しただけなので,速くできた.
- マウントしてファイルシステムを確認する.
[root@mars2 proc]# mount /dev/sdb /data
[root@mars2 proc]# df -Th
Filesystem タイプ サイズ 使用 残り 使用% マウント位置
/dev/sda2 ext3 72G 49G 20G 72% /
/dev/sda1 ext3 99M 15M 79M 16% /boot
none tmpfs 1004M 0 1004M 0% /dev/shm
/dev/sdb ext3 294G 33M 279G 1% /data
[root@mars2 proc]#
|
7.fstabに記述する
- OSが再起動しても自動的にマウントされるように,fstabに記述する.
変更前 |
[root@mars2 proc]# cat /etc/fstab
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/sda3 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0
[root@mars2 proc]#
|
変更後 |
[root@mars2 proc]# cat /etc/fstab
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/sda3 swap swap defaults 0 0
/dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0
/dev/sdb /data ext3 defaults 0 0
[root@mars2 proc]#
|
|
|