実験 

中古PC活用講座パート2【RAID構築編】

3. パーティション構成を検討する

澤谷琢磨 
2002/03/30

ハードディスクとパーティションの構成を考える

 サーバとしてのLinuxの環境構築は簡単ではないし、Drive Imageといったセクタ単位でバックアップ可能なユーティリティがLinuxに対応しておらず、やっと構築した環境をバックアップするのは容易ではない。つまり、ハードディスク上のLinuxシステム領域は、Windowsほど簡単に復元できないということだ。この点を考慮に入れると、LinuxにおいてRAID 1を導入するなら、データ領域はもちろんシステム領域も保護対象に含めた方がよいという結論になる。そこで、「特集:IDE RAID実践導入術【低価格IDE RAIDカード編】」で紹介したOS(システム領域)を別ディスクで運用する方法ではなく、今回はRAID 1ボリュームにシステム領域も格納して運用することにした。

 ソフトウェアRAIDを用いてシステム領域もRAID 1による保護対象とするならば、Red Hat Linux 7.2のインストール時に設定する方法が容易である。ハードウェアRAIDの場合はどちらともいえないが、FastTrak TX2000に限っていえば、やはりRed Hat Linux 7.2のインストールと同時に導入する方法が手間が少ない。本稿ではこの方針でRed Hat Linux 7.2のセットアップを行うことにする。

 ソフトウェアRAIDでは、まずパーティション構成を決める必要がある。特にソフトウェアRAIDはパーティション単位でRAIDを構築するため、その構成は十分考慮した後に決定すべきだ。

 RAID 1において障害、すなわち片方のハードディスクに故障が発生した場合に、もう一方のハードディスク単独でシステムの運用を継続させるためには、両方のハードディスクが同じ記録内容を保っていなければならない。ハードウェアRAIDでは、そもそもハードディスク単位でRAIDボリュームを構築するため、2台のハードディスク間で異なる内容にはならない。しかし、ソフトウェアRAIDの場合はパーティション単位でRAID 1ボリュームを構築するため、その気になれば双方のハードディスクのパーティション構成が一致しない状態にもできてしまう。

 ただ、これでは片方のハードディスクに障害が発生した場合、運用を継続できない(どちらのハードディスクが壊れたかで状態が変化してしまうため)。そこで、ここでは2台のハードディスクをまったく同一のパーティション構成に設定する必要がある。また、データ保護という観点からすると、本来は保護する必要のないswapパーティションも、この方針に基づきRAIDボリューム上に作成したい。

 ところがLinuxの備えるソフトウェアRAIDドライバ(md)には、扱えるRAIDボリュームの総数は4つまでという制限がある。つまり、今回のRAIDの構成では、最終的に利用できるパーティション数(=RAIDボリューム)が最大4つに限定されるということだ。前述の方針に従えば「swap」のためにすでに1つパーティション(ここではRAIDボリュームと同義)を確保しているし、「/(ルート)」にも別のパーティションを割り当てる必要がある。そのため、割り当て可能なRAIDボリュームは残り2つということになる(「swap」や「/」などLinuxの各ディレクトリの持つ意味については、コラム「Linuxの各ディレクトリの持つ意味」を参照していただきたい)。

 またLinuxのカーネルは、ディスクのアドレス上の先頭にある方が望ましい。現時点では問題にはならないが、古いブート・ローダーでは、ディスクの先頭にあるカーネルからしか起動ができなかったためだ。いまとなっては慣習的なことだが、ここではそれに倣ってカーネル本体を格納する/bootディレクトリを、ディスクの先頭のパーティションによる単独のRAIDボリュームに割り当てることとする。

 残るRAIDボリュームは1つだが、ここには/homeディレクトリを割り当てることとする。データ領域の無制限な拡大が、システムの動作を圧迫することを避けるためだ。ファイル・サーバでは、システム領域と、データ領域は分離されている方が望ましい。結果、表「ソフトウェアRAID 1において採用したディスク分割」のようなディレクトリ構成となった。

ディレクトリ 割り当てディスク容量
/boot 20Mbytes
/ 3000Mbytes
/home 35000Mbytes
swap あまり
ソフトウェアRAID 1において採用したディスク分割

 一方、ハードウェアRAIDの場合、RAIDボリュームはLinux側から1台のSCSIハードディスクに見えるので、パーティションの総数の制限はRAIDなしの環境と同じで、もっと緩い。本稿ではソフトウェアRAIDとの比較の都合上、ハードウェアRAIDでもソフトウェアRAIDの場合と同じ容量で分割した。ただ、実際にファイル・サーバを構築する場合は、/varには独立したパーティションを割り当てた方が安全だろう。

Linuxの各ディレクトリの持つ意味
 
「Red Hat Linux 7.2の/ディレクトリのリスト表示」に示すとおり、/ディレクトリにおいてlsコマンドをオプションなしで実行すると、/ディレクトリ以下に配置されているディレクトリが表示される。Linuxディストリビューションのほとんどが、このトップレベルのディレクトリについてはほとんど同じ構成を採用している。

bin  dev home   lib        misc opt  root tmp var
boot etc initrd lost+found mnt  proc sbin usr
Red Hat Linux 7.2の/ディレクトリのリスト表示

 Linuxのファイルシステムの構造が持つ意味については、Filesystem Hierarchy Standard(FHS)によって標準化されている(FHSのドキュメント入手先)。Red Hat Linuxも大筋ではFHSに従ったディレクトリ構成を採用している。下表に、別個にパーティションを設けてそこに配置することの多いディレクトリと、その役割をまとめてみた。

ディレクトリ 役割
/boot Linuxカーネルなどの起動時に読み込まれるファイル
/var ログファイル、メールなどのスプール・ファイルなど、システムによって逐次更新されるファイル
/usr 全体で共有するファイル
/home 個人別のファイル(主にデータ・ファイル)
Linuxのディレクトリとその役割
 
 
  関連記事
IDE RAID実践導入術【低価格IDE RAIDカード編】

  関連リンク 
FHS 2.2のドキュメント
Red Hat Linux 7.2: オフィシャル Red Hat Linuxリファレンスガイド
Filesystem Hierarchy Standard(FHS)の概要
 


 INDEX
  [実験]中古PC活用講座パート2【RAID構築編】
    1.Linuxのディストリビューションを選択する
    2.RAID構築の機材を揃える
  3.パーティション構成を検討する
    4.ソフトウェアRAIDの構築−−パーティションの構築
    5.ソフトウェアRAIDの構築−−RAIDボリュームの作成
    6.ソフトウェアRAIDの構築−−動作確認
    7.ハードウェアRAIDの構築−−デバイス・ドライバを準備する
    8.ハードウェアRAIDの構築−−デバイス・ドライバをインストールする
    9.RAIDの再構築を確認しておこう
    10.ソフトウェアRAIDの再構築の実際−−パーティションの構築
    11.ソフトウェアRAIDの再構築の実際−−デバイスごとの再構築
    12.ソフトウェアRAIDかハードウェアRAIDか
 
「PC Insiderの実験」


System Insider フォーラム 新着記事
  • Intelと互換プロセッサとの戦いの歴史を振り返る (2017/6/28)
     Intelのx86が誕生して約40年たつという。x86プロセッサは、互換プロセッサとの戦いでもあった。その歴史を簡単に振り返ってみよう
  • 第204回 人工知能がFPGAに恋する理由 (2017/5/25)
     最近、人工知能(AI)のアクセラレータとしてFPGAを活用する動きがある。なぜCPUやGPUに加えて、FPGAが人工知能に活用されるのだろうか。その理由は?
  • IoT実用化への号砲は鳴った (2017/4/27)
     スタートの号砲が鳴ったようだ。多くのベンダーからIoTを使った実証実験の発表が相次いでいる。あと半年もすれば、実用化へのゴールも見えてくるのだろうか?
  • スパコンの新しい潮流は人工知能にあり? (2017/3/29)
     スパコン関連の発表が続いている。多くが「人工知能」をターゲットにしているようだ。人工知能向けのスパコンとはどのようなものなのか、最近の発表から見ていこう
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

System Insider 記事ランキング

本日 月間