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

目次

7.1. LVMの設定
7.2. ソフトウェアRAID設定

高性能のシステム設定を行うには、特定のディスクセットアップが必要となります。すべての一般的なパーティション関連作業は、YaSTを使って行えます。ブロックデバイスで固定的なデバイス名を取得するには、/dev/disk/by-id/下のブロックデバイス名を使用します。LVM (Logical Volume Management)は、ディスクパーティショニング用のスキーマで、標準的なセットアップで使用される物理パーティショニングよりもずっと柔軟性が高くなるように設計されています。 そのスナップショット機能を利用すれば、簡単にデータバックアップを作成できます。RAID(Redundant Array of Independent Disks)を使用すれば、データの整合性、パフォーマンス、および耐障害性が向上します。 SUSEŽ Linux Enterprise Serverは、マルチパスI/Oもサポートしています。詳細は、『Storage Administration Guide』のマルチパスI/Oに関する章を参照してください。SUSE Linux Enterprise 10からは、iSCSIをネットワークディスクとして使用するためのオプションも用意されています。iSCSIの詳細については、第12章 IPネットワークの大容量記憶デバイス—iSCSI を参照してください。

LVMの設定

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

[Warning]

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

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

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

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

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

図 7.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にはいずれのカーネルパッチも必要ありません。これは、カーネル2.6に統合されているデバイスマッパーを活用しています。このカーネルはLVMバージョン2のみをサポートしています。そのため、このセクションでLVMと書かれている場合、それはLVMバージョン2を指しています。

LVM 2のかわりにEVMS (Enterprise Volume Management System)を使用できます。EVMSは論理ボリュームとRAIDボリュームに一様なインタフェースを提供します。LVM 2と同様、EVMSはカーネル2.6でデバイスマッパーを使用できるようにします。

YaSTによるLVMの設定

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

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

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

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

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

物理ボリュームの設定

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

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

図 7.3. 物理ボリュームの設定

物理ボリュームの設定

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

物理ボリュームの設定

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

図 7.4. 論理ボリューム管理

論理ボリューム管理

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

[Warning]ストライピング

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

図 7.5. 論理ボリュームの作成

論理ボリュームの作成

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

LVMの直接管理

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

EVMSを使ったストレージ管理

EVMS2(Enterprise Volume Management System 2)は、豊富な機能を備えた拡張性の高いボリュームマネージャで、クラスタにも対応しています。EVMSでは、プラグインを使って機能を追加したり、任意のパーティションタイプに対応させることができます。クラスタに対応しているEVMS2では、クラスタ中の各ノードにあるデバイスに同一の名前を付けて、管理を容易にすることができます。

EVMS2には、以下のストレージリソースを管理するために、一体化されたインタフェース(evmsguiとコマンドライン)が用意されています。

  • iSCSIなど、ローカルメディア/SANベースのメディア上の物理ディスクと論理デバイス

  • 高可用性を保つソフトウェアRAID0、1、4、および5

  • 障害対策用クラスタ対応マルチパスI/O

  • クラスタストレージオブジェクトとCSM(Cluster Segment Manager)プラグイン

  • EVMS2用ファイルシステムインタフェースモジュール(FSIM)を含んだ全ファイルシステム用のボリューム

  • ボリュームのスナップショット

SUSE Linux Enterprise Server 10での新機能には、次のようなものがあります。

  • EVMS2とCLVM2(Cluster Linux Volume Manager 2)は、カーネル内で同じマルチディスク(MD)ドライバ、およびデバイスマッパー(DM)ドライバを使用します。

  • Heartbeat 2 Cluster ManagerとOracle Cluster File System 2では、ファイルシステムプラグインを使用できます。

EVMSデバイス

EVMS管理ユーティリティは、5種類の異なるレベルのデバイスを識別します。

Disks

最下位レベルのデバイスです。物理ディスクとしてアクセスされる可能性があるデバイスは、すべてディスクとして取り扱われます。

セグメント

セグメントは、ディスク上のパーティション、およびMBR (Master Boot Record)などの他のメモリ領域で構成されます。

コンテナ

LVM中のボリュームグループに相当します。

領域

利用可能なデバイスは、ここでLVM2とRAIDにグループ化されます。

Volumes

すべてのデバイスです。それが実パーティション、論理ボリューム、またはRAIDデバイスであるかどうかに関わらず、適切なマウントポイントからデバイスを利用することができます。

EVMSを使用する場合、デバイス名をEVMSデバイス名に変更する必要があります。単純なパーティションは/dev/evms/に、論理ボリュームは/dev/evms/lvm/に、RAIDデバイスは/dev/evms/mdにあります。ブート時にEVMSを有効にするには、YaSTランレベルエディタを使って、ブートスクリプトにboot.evmsを追加します。関連項目 20.2.3項 「YaSTでのシステムサービス(ランレベル)の設定」.

詳細情報

EVMSを使ったストレージリソースの管理方法は、『Storage Administration Guide』を参照してください。このガイドは、パッケージsles-stor_evms_enをインストールした後、/usr/share/doc/manual/sles-stor_evms_enから参照できます。また、SourceForge*が主催するEVMS projectにある『EVMS User Guide』にも、EVMSに関する一般的な情報が記載されています。