カテゴリー:システム管理

質問

ハード・ディスクの追加方法が分からない

回答

新しいハード・ディスクにLinuxのパーティションを作成し,/etc/fstabファイルに設定を追記します。


難易度:★★★ 対象ディストリビューション:すべて

 新しいハード・ディスク(HDD)を追加する手順は次の通りです*2

(1)HDDにパーティションを作成
(2)パーティションをフォーマット
(3)HDDに既存データをコピー
(4)HDDをマウント

 ここでは,新しいHDDをIDEインタフェースのプライマリのスレーブに接続するものとします。ハード・ディスクは通常,Linux上からデバイス・ファイルとして認識されます。プライマリのマスターに接続されている場合には/dev/hda,プライマリのスレーブに接続した場合には/dev/hdbとして認識されます。よって,今回のケースは/dev/hdbになります。

(1)HDDにパーティションを作成
 まず,HDDにパーティションを作成します。パーティションを作成するためには,fdiskコマンドを用います。

 Part1のトラブル2で紹介したように対話型のコマンドライン・ツールが起動します。「n」を入力して新しいパーティションを作成します。

 1つのパーティションにすべての容量を割り当てるため,「p」の「1」を入力します。

 次にパーティションのサイズを決めます。ただしデフォルトのままで最大サイズが割り当てられるため,〔Enter〕キーを押すだけで構いません。念のため,「p」を入力して適切に作成されているかを確認します。

 問題なければ「w」を入力してパーティション・テーブルを保存します。保存後,再起動後に有効になる旨が表示されることがあります。その時にはシステムを再起動します。これで,パーティション/dev/hdb1が利用できるようになります。

(2)パーティションをフォーマット
 作成したパーティションをフォーマットします。例えば,Ext3形式でフォーマットするには,「mkfs.ext3 /dev/hdb1 」を入力します。ほかにも,Ext2やXFS,JFSなどの形式があります。mkfs.ext2やmkfs.xfs,mkfs.jfsコマンドなどでフォーマットできますから,元からあるHDDのパーティションとフォーマットの形式を合わせておくとよいでしょう。

(3)HDDに既存データをコピー
 フォーマットしたら,一時的に/mntディレクトリにマウントし,新しいHDDに既存のデータをすべてコピーします。コピーする際,コピー元のファイルに書き換えが発生しないようにデーモンを止めたり,ユーザーがアクセスしないように気を付ける必要があります。また,所有者やファイルの属性が変わっては困ります。-pオプションを付けてcpコマンドを発行します。

 この例ではユーザーのホーム・ディレクトリ(/homeディレクトリ)以下をすべてコピーしました。

(4)HDDをマウント
 あとは,/dev/hdb1を/homeディレクトリとしてマウントします。安全性を考えて,現在の/homeディレクトリを/home_backupディレクトリなどの名称でバックアップとして残しておき,作業が完了してから削除します。

 再起動後に自動的に新しいHDDが/homeディレクトリにマウントされるように/etc/fstabファイルに「/dev/hdb1 /home ext3 defaults 1 2」を追記します。