Tips記事
» 2000年11月15日 00時00分 UPDATE

ハードディスクを増設したい

[木田佳克,ITmedia]

 Linuxをファイルサーバとして利用していると,「/home」などのディレクトリを別のハードディスクに移動したいことがある。そんな時は,新たにハードディスクを増設して任意のマウントポイントを作成すればよい。

 ここでは,増設してLinuxで利用できるまでを解説していこう。

1. ドライブをケーブルで接続してBIOSで認識することを確認する

2. マシンを起動してログインをする。「dmesg」コマンドを実行して,増設したHDDのモデル名があることを確認しよう

VP_IDE: IDE controller on PCI bus 00 dev a1
VP_IDE: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0x10b0-0x10b7, BIOS settings: hda:DMA, hdb:DMA
ide1: BM-DMA at 0x10b8-0x10bf, BIOS settings: hdc:pio, hdd:pio
hda: QUANTUM FIREBALLlct08 13, ATA DISK drive
hdb: IBM-DPTA-372050, ATA DISK drive
hdc: CD-ROM CDU571-Q, ATAPI CDROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: QUANTUM FIREBALLlct08 13, 12416MB w/418kB Cache, CHS=1681/240/63
hdb: IBM-DPTA-372050, 19574MB w/1961kB Cache, CHS=2651/240/63
hdc: ATAPI 8X CD-ROM drive, 128kB Cache
Uniform CD-ROM driver Revision: 3.10

※ここでは,hdbを増設した例である。

3. fdiskコマンドでLinuxファイルシステム(ext2)を作成する

 例として,プライマリのスレーブに接続した場合は次のようなコマンド指定になる。

# fdisk /dev/hdb

■HDDの接続方法によってデバイス名が変わる
ドライブの接続個所 デバイス名
プライマリマスター /dev/hda
プライマリスレーブ /dev/hdb
セカンダリマスター /dev/hdc
セカンダリスレーブ /dev/hdd

 fdiskの操作は,増設することに限れば「p」,「n」だけを理解しておけば問題ない。ここでは,前述の通りプライマリスレーブに接続した例を挙げている。

# fdisk /dev/hdb
The number of cylinders for this disk is set to 2495.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p ←現在の状態を確認する

Disk /dev/hdb: 255 heads, 63 sectors, 2495 cylinders
Units = cylinders of 16065 * 512 bytes

 Device Boot  Start  End  Blocks Id System   ← 何も確保されていないことが分かる

Command (m for help): n  ← 新しいパーティションを作成する
Command action
 e  extended
 p  primary partition (1-4)
p             ← 「p」プライマリパーティションを選択する
Partition number (1-4):1  ← 新規増設であれば「1」番目のパーティション
Command (m for help): p  ← 確認するとLinux(ext2)ファイルシステムができている

Disk /dev/hdb: 255 heads, 63 sectors, 2495 cylinders
Units = cylinders of 16065 * 512 bytes

Device Boot  Start  End    Blocks   Id System
/dev/hdb1 1  2495  20041056  83 Linux

■ほかのfdiskコマンド
コマンド
説       明
a
指定パーティションをブート可能にする
b
bsdのディスクラベルを編集する
c
dos互換のフラグをつける
d
パーティション削除
l
パーティションのシステムIDリスト表示
m
メニュー表示をする
n
新たにパーティション作成をする
o
DOSパーティションテーブルを作る
p
パーティション状態の確認
q
設定を保存せずに終了
s
Sunディスクラベルを作成する
t
パーティションのシステムIDを変更
u
表示/項目ユニットを変更する
v
パーティションテーブルを照合する
w
設定内容を書き込んで終了する
x
拡張機能(通常は利用しない)

4. パーティションをフォーマットする

# mkfs -t ext2 /dev/hdb1

 上記のように「mkfs」コマンドを使い,fdiskで作成したパーティションをフォーマットする。オプションとして,「-t ext2」(Linuxファイルシステム),「/dev/hdb1」(hdbの1番目のパーティション)を付加する。

5. マウントするディレクトリを作成する

 次にどのディレクトリに,/dev/hdb1の最上位階層を関連付けるかを設定しよう。ここでは,例として「/mnt/hdb」ディレクトリを作成してマウントをしてみた。

# mkdir /mnt/hdb
# mount /dev/hdb1 /mnt/hdb
# ls /mnt/hdb

 以降は,/mnt/hdb/下が増設したハードディスクとして利用可能だ。しかし,再起動後にはマウント設定がクリアされてしまうので,この場合には「/etc/fstab」を編集して起動直後から使用可能な状態にしておこう。

6. 再起動後も自動マウントできるようにする

 /etc/fstabファイルを編集して,マシン起動時からパーティションを自動マウントするようにしよう。

# vi /etc/fstab
/dev/hda1 /      ext2   defaults   1 1
/dev/hdb1 /mnt/hdb  ext2   defaults   1 2
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0
/dev/fd0 /mnt/floppy  auto noauto,owner 0 0
none  /proc     proc   defaults   0 0
none  /dev/pts   devpts  gid=5,mode=620 0 0
/dev/hda2 swap    swap   defaults  0 0

※ここでは,2行目の/dev/hdb1行を追加している

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ