第2章 高度なディスクセットアップ

目次

2.1. LVMの設定
2.2. ソフトウェアRAID設定

高性能のシステムを設定するには、特定のディスクセットアップが必要となります。SCSIデバイスに永続的なデバイス名をつけるには、固有のスタートアップスクリプトまたはudevを使用します。LVM (Logical Volume Management)は、ディスクパーティショニング用のスキーマで、標準的なセットアップで使用される物理パーティショニングよりもずっと柔軟性が高くなるように設計されています。そのスナップショット機能を使えば、簡単にデータのバックアップを作成できます。RAID (Redundant Array of Independent Disks)を使えば、データの完全性、パフォーマンス、フォールトトレランスの機能が高くなります。


2.1 LVMの設定

このセクションでは、LVMの基本原則と様々な状況で役立つ基本的な機能を簡単に説明します。2.1.2項 「YaSTによるLVMの設定」では、YaSTを使用したLVMのセットアップ方法を学びます。

[Warning]警告

LVMを使用することでデータ損失などの危険性が増加する恐れがあります。この危険性にはアプリケーションのクラッシュ、電源障害、誤ったコマンドなども含まれます。LVMまたはボリュームの再設定を実施する前にデータを保存してください。バックアップなしでは作業を実行しないでください。

2.1.1 論理ボリュームマネージャ(LVM)

論理ボリュームマネージャ(LVM)は、複数のファイルシステム上でハードディスクスペースを柔軟に割り振ることができます。これは、インストール中の初期パーティショニングを終了した後になってハードディスクスペースの区分を変更する必要が時として発生するために開発されました。稼動中のシステムでパーティションを変更することは困難なため、LVMは必要に応じて論理ボリューム(LV)を作成できるメモリスペースの仮想プール(ボリュームグループ(VG))を提供します。オペレーティングシステムは物理パーティションの代わりにこれらのLVにアクセスします。ボリュームグループは2つ以上のディスクを使用することができます。また、複数のディスクまたはその一部が連続した1つのVGを形成することも可能です。この方法でLVMは物理ディスクスペースから一種の抽象層を提供します。この抽象層により、物理的にパーティショニングを再度行うよりもより簡単かつ安全な方法で区分に変更を加えられるようになります。物理パーティショニングに関連する背景情報については1.7.1.1項 「パーティションのタイプ」 (↑起動)および2.9.5項 「パーティション分割ツール」 (↑起動)を参照してください。

図 2.1 物理パーティショニング対LVM

物理パーティショニング対LVM

図 2.1. 「物理パーティショニング対LVM」では物理パーティショニング(左)とLVM区分(右)を比較しています。左側は、1つのディスクが割り当てられたマウントポイント(MP)をもつ3つの物理パーティション(PART)に分かれています。これによりオペレーティングシステムはそれぞれのパーティションにアクセスできます。右側では2つのディスクがそれぞれ3つの物理パーティションに分かれています。2つのLVMボリュームグループ(VG 1およびVG 2)が定義されています。VG 1にはDISK 1とDISK 2の2つのパーティションが含まれます。VG 2はDISK 2の2つのパーティションを除いた残り部分になります。LVMではボリュームグループに組み込まれた物理ディスクパーティションは物理ボリューム(PV)と呼ばれます。ボリュームグループ内に4つの論理ボリューム(LV 1からLV 4)が定義されています。これらのボリュームは、それぞれに関連づけられたマウントポイントを介してオペレーティングシステムに使用されます。別の論理ボリュームとの境界とパーティションの境界を並べることはできません。この例ではLV 1およびLV 2の間に境界があります。

LVMの機能:

  • 複数のハードディスクまたはパーティションを大きな論理ボリュームにまとめることができます。

  • 提供された設定が適切であれば、LV(/usrなど)は空きスペースがなくなったときに拡張することができます。

  • LVMを使用することで、実行中のシステムにハードディスクまたはLVが追加されます。ただし、こうしたディスクやLVを追加するには、ホットスワップ可能なハードウェアが必要になります。

  • 複数の物理ボリューム上に論理ボリュームのデータストリームを割り当てる「ストライピングモード」を有効にすることもできます。これらの物理ボリュームが別のディスクに存在する場合、RAID 0と同様に読み込みおよび書き込みのパフォーマンスを向上できます。

  • スナップショット機能は稼動中のシステムで一貫性のある(特にサーバ)バックアップを取得できます。

これらの機能とともにLVMを使用することは、頻繁に使用されるホームPCや小規模サーバではそれだけでも意義があります。データベース、音楽アーカイブ、ユーザディレクトリなどの増え続けるデータストックがある場合は、LVMが最適と言えます。LVMは物理ハードディスクより大きなファイルシステムを利用できます。LVMのもう1つの利点は最大256個のLVを追加できることです。ただし、LVMでの作業は従来のパーティションでの作業とは異なることに留意してください。LVMの設定についての指示および詳しい情報はhttp://tldp.org/HOWTO/LVM-HOWTO/の公式LVM HOWTOからご利用いただけます。

カーネルバージョン2.6から開始して、LVMバージョン2を利用することができます。これはLVMの前バージョンとの下方互換になり、これまでのボリュームグループを管理できるようにします。新しいボリュームグループを作成する場合は、新しいフォーマットまたは下方互換バージョンのどちらを使用するか決定します。LVM 2にはいずれのカーネルパッチも必要ありません。LVM 2によりデバイスマッパーがカーネル2.6に統合されます。このカーネルはLVMバージョン2のみをサポートします。そのため、このセクションでLVMについて記述している場合は常にLVMバージョン2を参照します。

2.1.2 YaSTによるLVMの設定

YaSTのLVM設定には、YaSTのパーティションモジュールのエキスパートページ(2.9.5項 「パーティション分割ツール」 (↑起動)を参照)からアクセスできます。このパーティショニングツールにより、既存のパーティションを編集、および削除できます。また、LVMで使用する新規パーティションを作成することもできます。次に[作成]+[Do not format(フォーマットしない)]を最初にクリックし、続いて[0x8E Linux LVM]をパーティションIDとして選択します。LVMで使用するすべてのパーティションを作成した後に、[LVM]をクリックして、LVMの設定を開始します。

2.1.2.1 ボリュームグループの作成

システムにまだボリュームグループが存在しない場合、ボリュームグループを追加するようにプロンプトされます(図 2.2. 「ボリュームグループの作成」を参照)。[Add group(グループを追加)]で追加グループを作成することができますが、通常はボリュームグループは1つで十分です。システムファイルがあるボリュームグループの名前としてはsystemが推奨されます。物理エクステントサイズではボリュームグループの物理ブロックサイズを定義します。ボリュームグループにある全ディスクスペースはこの物理ブロックサイズ内で使用されます。この値は通常4MBに設定され、物理ボリュームおよび論理ボリュームには最大サイズとして256GB使用できます。物理エクステントは論理ボリュームとして256GB以上必要な場合のみ、8、16、32MBのように増やしてください。

図 2.2 ボリュームグループの作成

ボリュームグループの作成

2.1.2.2 物理ボリュームの設定

いったんボリュームグループが作成されると、続くダイアログで「Linux LVM」または「Linux Native」のすべてのパーティションがリストされます。スワップパーティションまたはDOSパーティションは表示されません。パーティションがボリュームグループにすでに割り振られている場合、ボリュームグループの名前がリストに表示されます。割り当てられていないパーティションは、「--」で示されます。

複数のボリュームグループが存在する場合は、選択ボックスで現在のボリュームグループを左上に設定します。右上にあるボタンは追加ボリュームグループの作成および既存ボリュームグループの削除を実行します。ボリュームグループのパーティションが未割り当ての場合のみ、そのボリュームグループを削除できます。ボリュームグループに割り当てられたすべてのパーティションも、同様に物理ボリューム(PV)として参照されます。

図 2.3 物理ボリュームの設定

物理ボリュームの設定

これまで未割り当てだったパーティションを選択したボリュームグループに追加するには、そのパーティションをクリックしてから[ボリュームの追加]をクリックします。この時点で、そのボリュームグループの名前が選択したパーティションの隣に入力されます。LVM用に予約されているパーティションをすべて1つのボリュームグループに割り当ててください。すべてのパーティションを割り当てないと、パーティションのスペースが未使用のまま残ります。ダイアログを終了する前に、すべてのボリュームグループを少なくとも1つの物理ボリュームに割り当てる必要があります。すべての物理ボリュームを割り当て終えた後、[次へ]をクリックして論理ボリュームの設定に進みます。

2.1.2.3 物理ボリュームの設定

物理ボリュームにボリュームグループを設定し終えた後、次のダイアログでオペレーティングシステムが使用する論理ボリュームを定義します。現在のボリュームグループを選択ボックスで左上に設定します。設定したボリュームグループの隣に現在の空き領域が表示されます。下のリストにはボリュームグループの全論理ボリュームが表示されます。マウントポイントが割り当てられている通常の全Linuxパーティション、全スワップパーティション、既存の全論理ボリュームがここにリストされています。ボリュームグループのすべての領域がなくなるまで、必要に応じて論理ボリュームの[追加][編集][削除]を実行します。各ボリュームグループに少なくとも1つの論理ボリュームを割り当ててください。

図 2.4 論理ボリューム管理

論理ボリューム管理

新しい論理ボリュームを作成するには[追加]をクリックし、開いたポップアップの内容を埋めます。パーティショニングの場合、サイズ、ファイルシステム、およびマウントポイントを入力します。通常、ReiserFSまたはExt2などのファイルシステムは論理ボリューム上に作成され、マウントポイントを指定します。この論理ボリューム上に格納されたファイルは、インストールしたシステム上の該当するマウントポイントで検出することができます。さらに、複数の物理ボリューム上(ストライピング)に存在する論理ボリュームにデータストリームを分配することも可能です。これらの物理ボリュームが別のハードディスクに存在する場合、この性質により、読み込みおよび書込みのパフォーマンスが向上します(RAID 0など)。ただし、nストライブでLVをストライピングする場合、LVが必要とするハードディスクスペースが物理ボリュームn個に等しく配分されている場合にのみ、ストライプが正しく作成されます。たとえば、使用可能な物理ボリュームが2個だけの場合、3個の論理ボリュームを持つことはできません。

[Warning]ストライピング

には、現時点でストライピングの観点からエントリの正確性を確認する機会はありません。何か間違いがあった場合、それが明らかになるのはLVMがディスクに実装された後です。

図 2.5 論理ボリュームの作成

論理ボリュームの作成

すでにシステム上にLVMを設定した場合、ここで既存の論理ボリュームを指定することができます。続行する前に、これらの論理ボリュームを適切なマウントポイントに割り当てます。[次へ]でのパーティションモジュールのエキスパートページに戻り、ここでの設定作業を完了します。

2.1.2.4 LVMの直接管理

LVMをすでに設定し、一部に変更を加えるのみの場合は、別の方法でLVMにアクセスすることができます。YaSTコントロールセンターで[システム]+[LVM]の順に選択します。このダイアログでは基本的に、先に説明したアクションと同じことを実行できます。ただし物理パーティショニングは除きます。2つのリストに既存の物理ボリュームと論理ボリュームが表示されます。これにより、先に説明した方法を使用して、LVMシステムを管理できます。