Jump to contentJump to page navigation: previous page [access key p]/next page [access key n]
適用先 SUSE Linux Enterprise Server 11 SP4

4 LVMの設定

本項では、LVM(Logical Volume Manager)の原理と多くの状況で役立つ基本機能を簡単に説明します。YaST LVMの設定は、YaST Expert Partitionerからアクセスできます。このパーティショニングツールにより、既存のパーティションを編集、および削除できます。また、LVMで使用する新規パーティションを作成することもできます。

警告
警告

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

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

LVMは、複数のファイルシステムにハードディスクスペースを柔軟に分散することができます。LVMが開発された理由は、インストール中に初期パーティショニングが終了した後でのみ、ハードディスクスペースのセグメンテーションを変更するニーズが発生する可能性があるためです。稼動中のシステムでパーティションを変更することは困難なので、LVMは必要に応じて論理ボリューム(LV)を作成できるメモリスペースの仮想プール(ボリュームグループ(VG))を提供します。オペレーティングシステムは物理パーティションの代わりにこれらのLVにアクセスします。ボリュームグループは2つ以上のディスクにまたがることができます。したがって、複数のディスクまたはそれらの一部で1つのVGを構成できます。この方法で、LVMは物理ディスクスペースから一種の抽象化を行います。この抽象化により、物理パーティショニングを使用する場合よりはるかに簡単で安全な方法でセグメンテーションを変更できます。

図4.1「物理パーティショニング対LVM」では物理パーティショニング(左)とLVM区分(右)を比較しています。左側は、1つのディスクが割り当てられたマウントポイント(MP)をもつ3つの物理パーティション(PART)に分かれています。これによりオペレーティングシステムはそれぞれのパーティションにアクセスできます。右側では2つのディスクがそれぞれ3つの物理パーティションに分かれています。2つのLVMボリュームグループ(VG 1およびVG 2)が定義されています。VG 1には、DISK 1からのパーティションが2つ、DISK 2からのパーティションが1つ含まれます。VG 2には、DISK 2からの残りの2パーティションが含まれます。

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

LVMでは、ボリュームグループに組み込まれた物理ディスクをPV (物理ボリューム)と呼びます。図4.1「物理パーティショニング対LVM」のボリュームグループ内には、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での作業は従来のパーティションでの作業とは異なることに留意してください。

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

YaSTパーティショナの使用によって、新規および既存のLVMストレージオブジェクトを管理できます。LVMの設定に関する指示や詳細情報については、公式のLVM HOWTOを参照してください。

重要
重要

LVMの構成後にマルチパスのサポートを追加する場合は、/etc/lvm/lvm.confファイルを修正し、/dev/disk/by-idディレクトリ内のマルチパスデバイス名のみをスキャンするようにして(7.2.4項 「マルチパスデバイスでのLVM2の使用」に記載するとおり)、 サーバを再起動します。

4.2 LVMパーティションの作成

ディスクごとに、0x8E Linux LVMとして、LVM用に使用したい空き領域をパーティション分割します。1つのデバイスに1つ以上のLVMパーティションを作成できます。デバイス上のパーティションがすべてLVMパーティションである必要はありません。

ボリュームグループ機能を使用すると、1つ以上のLVMパーティションをボリュームグループと呼ばれるスペースの論理プールにまとめ、そのボリュームグループ内のスペースから1つ以上の論理ボリュームを作成できます。

YaSTパーティショナでは、LVMパーティションを作成するときには、デスク上の空き領域しか使用できません。単一のLVMパーティションにデスク全体を使用したいが、ディスク上に他のパーティションがすでに存在する場合は、まず、既存のパーティションすべてを削除してスペースを解放しないと、そのスペースをLVMパーティションで使用することができません。

警告
警告

パーティションを削除すると、パーティション内のすべてのデータが破棄されます。

  1. YaSTを、rootユーザとして起動します。

  2. YaST内で、ディスクの分割を開きます。

  3. (オプション)1つ以上の既存パーティションを削除し、そのスペースを解放して、作成するLVMパーティションに使用できるようにします。

    詳細については、4.12項 「LVMパーティション(物理ボリューム)の削除」を参照してください。

  4. [パーティション]ページで、追加をクリックします。

  5. 新しいパーティションの種類の下で、プライマリパーティションまたは拡張パーティションを選択して、次へをクリックします。

  6. 新しいパーティションのサイズを指定して、次へをクリックします。

    • 最大サイズ: ディスク上の使用可能な空き領域をすべて使用します。

    • Custom Size (カスタムサイズ): ディスク上の使用可能な空きスペース量を上限とするサイズを指定します。

    • カスタム領域: ディスク上の使用可能な空き領域の開始シリンダーと終了シリンダーを指定します。

  7. パーティションフォーマットの設定:

    1. フォーマットのオプションの下で、フォーマットしないを選択します。

    2. ファイルシステムのIDドロップダウンリストから、パーティションのIDとして0x8E Linux LVMを選択します。

    3. マウントのオプションの下で、パーティションをマウントしないを選択します。

  8. 完了をクリックします。

    次へ完了をクリックしてパーティショナを終了するまで、パーティションは実際に作成されません。

  9. 追加したいLinux LVMパーティションごとに、ステップ 4からステップ 8まで繰り返します。

  10. 次へをクリックし、新しいLinux LVMパーティションが一覧されることを確認してから、完了をクリックしてパーティショナを終了します。

  11. (オプション)4.3項 「ボリュームグループの作成」の説明に従って、ボリュームグループの設定を続行します。

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

LVMボリュームグループは、Linux LVMパーティションをスペースの論理プールにします。グループ内の使用可能なスペースから論理ボリュームを作成できます。グループ内のLinux LVMパーティションは、同じディスクに存在することも、さまざまなディスクに存在することも可能です。同じディスクまたはさまざまなディスクからLVMパーティションを追加することにより、グループのサイズを拡張できます。LVM用に予約されているパーティションをすべて1つのボリュームグループに割り当ててください。すべてのパーティションを割り当てないと、パーティションのスペースが未使用のまま残ります。

  1. YaSTを、rootユーザとして起動します。

  2. YaST内で、ディスクの分割を開きます。

  3. 左のパネルで、ボリューム管理をクリックします。

    既存のボリュームグループのリストが右のパネルに表示されます。

  4. [ボリューム管理]ページの左下で、ボリュームグループの追加をクリックします。

  5. ボリュームグループ名を指定します。

    インストール時にボリュームグループを作成している場合は、SUSE Linux Enterprise Serverのシステムファイルを含むボリュームグループに対してsystemという名前が示唆されます。

  6. PEサイズを指定します。

    PEサイズは、ボリュームグループの物理ブロックのサイズを定義します。ボリュームグループにある全ディスクスペースはこの物理ブロックサイズ内で使用されます。値の範囲は、2の累乗で1KBから16GBまでです。通常、この値は4MBに設定されます。

    LVM1では、LVごとに65534エクステントまでしかサポートしないので、4MBの物理エクステントで最大LVサイズとして256GBが可能でした。LVM2では、物理エクステントの数に制限がありません。エクステントが多くても、論理ボリュームに対するI/Oパフォーマンスに影響しませんが、LVMツールの動作が遅くなります。

    重要
    重要

    1つのボリュームグループに異なるサイズの物理エクステントを混在させないでください。初期設定後はエクステントを変更しないでください。

  7. 利用可能な物理ボリュームリストで、このボリュームグループに含めたいLinux LVMパーティションを選択し、追加をクリックして、それらのパーティションを選択した物理ボリュームリストに移動します。

  8. 完了をクリックします。

    ボリュームグループリストに新しいグループが表示されます。

  9. [ボリューム管理]ページで、次へをクリックし、新しいグループが一覧されることを確認してから、完了をクリックします。

4.4 物理ボリュームの設定

Linux LVMパーティションは、ボリュームグループに割り当てられると、「物理ボリューム」と呼ばれるようになります。

ホームという名前のボリュームグループ内の物理ボリューム
図 4.2: ホームという名前のボリュームグループ内の物理ボリューム

既存のボリュームグループに物理ボリュームを追加するには:

  1. YaSTを、rootユーザとして起動します。

  2. YaST内で、ディスクの分割を開きます。

  3. 左のパネルで、[ボリューム管理]を選択し、グループのリストを展開します。

  4. [ボリューム管理]の下でボリュームグループを選択し、概要タブをクリックします。

  5. ページ下部にあるサイズ変更をクリックします。

  6. 利用可能な物理ボリュームリストから物理ボリューム(LVMパーティション)を選択し、[追加]をクリックしてそのボリュームを選択した物理ボリュームリストに移動します。

  7. 完了をクリックします。

  8. 次へをクリックし、変更が一覧されることを確認してから、完了をクリックします。

4.5 物理ボリュームの設定

物理ボリュームでボリュームグループが満たされたら、[論理ボリューム]ダイアログボックス(図4.3「論理ボリューム管理」参照)を使用して、オペレーティングシステムで使用される論理ボリュームを定義および管理します。このダイアログには、そのボリュームグループのすべての論理ボリュームが一覧されます。追加編集、および削除の各オプションを使用して、論理ボリュームを管理できます。各ボリュームグループに少なくとも1つの論理ボリュームを割り当ててください。ボリュームグループ内の空き領域を使い果たすまで、必要に応じて新しい論理ボリュームを作成できます。

SLES 11 SP3から、LVM論理ボリュームはシンプロビジョニング可能になっています。シンプロビジョニングを使用すると、利用可能な空き領域を超えるサイズの論理ボリュームを作成できます。任意の数のシンボリューム用に予約した未使用領域が含まれるシンプールを作成します。シンボリュームは疎ボリュームとして作成され、必要に応じてシンプールから領域が割り当てられます。ストレージ領域をコスト効果の高い方法で割り当てなければならなくなった場合、シンプールを動的に拡張できます。

重要
重要

クラスタでシンプロビジョニングボリュームを使用するには、クラスタを使用するシンプールとシンボリュームを1つのクラスタリソースで管理する必要があります。これにより、シンボリュームとシンプールを常に同じノードに排他的にマウントできます。

論理ボリューム管理
図 4.3: 論理ボリューム管理

さらに、複数の物理ボリュームにまたがる論理ボリュームにデータストリームを分配すること(ストライピング)も可能です。これらの物理ボリュームが別のハードディスクに存在する場合、この性質により、読み込みおよび書込みのパフォーマンスが向上します(RAID 0など)。ただし、nストライブでLVをストライピングする場合、LVが必要とするハードディスクスペースが物理ボリュームn個に等しく配分されている場合にのみ、ストライプが正しく作成されます。たとえば、使用可能な物理ボリュームが2つだけの場合は、3つのストライプをもつ論理ボリュームは設定できません。

  1. YaSTを、rootユーザとして起動します。

  2. YaST内で、ディスクの分割を開きます。

  3. 左のパネルで、[ボリューム管理]を選択して展開し、ボリュームグループのリストを表示します。

  4. [ボリューム管理]の下でボリュームグループを選択し、論理ボリュームタブをクリックします。

  5. 左下で、追加をクリックして[論理ボリュームの追加]ダイアログボックスを開きます。

  6. 論理ボリュームの名前を指定し、次へをクリックします。

  7. LVMボリュームのタイプを指定します。

    • 通常のボリューム: (デフォルト)ボリュームの領域は直ちに割り当てられます。

    • シンプール: この論理ボリュームは、シンボリューム用に予約された領域のプールです。シンボリュームでは、必要な領域をそのプールからオンデマンドで割り当てることができます。

    • シンボリューム: ボリュームは疎ボリュームとして作成されます。このボリュームでは、必要な領域はシンプールからオンデマンドで割り当てられます。

  8. ボリュームのサイズと、複数ストライプを使用するかどうかを指定します。

    1. 使用可能な最大サイズまでの論理ボリュームサイズを指定します。

      現在のボリュームグループ内の空き領域の量が最大サイズオプションの横に表示されます。

    2. ストライプの数を指定します。

      警告
      警告

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

  9. 論理ボリュームのフォーマットオプションを指定します。

    1. フォーマットのオプションの下で、パーティションをフォーマットするを選択し、次に、ファイルシステムドロップダウンリストからフォーマットのタイプ(Ext3など)を選択します。

    2. マウントのオプションの下で、パーティションをマウントするを選択してから、マウントポイントを選択します。

      この論理ボリューム上に格納されたファイルは、インストールしたシステム上の該当するマウントポイントで検出することができます。

    3. Fstabオプションをクリックして、このボリュームの特別なマウントオプションを追加します。

  10. 完了をクリックします。

  11. 次へをクリックし、変更が一覧されることを確認してから、完了をクリックします。

4.6 非ルートLVMボリュームグループの自動アクティブ化

非ルートLVMボリュームグループのアクティブ化の動作は、/etc/sysconfig/lvmファイル内のパラメータ設定により制御されます。

デフォルトでは、非ルートLVMボリュームグループは、/etc/rc.d/boot.lvmによって、/etc/sysconfig/lvmファイル内のLVM_VGS_ACTIVATED_ON_BOOTパラメータの設定にしたがって、システムの再起動時に自動的にアクティブになります。このパラメータにより、システムの再起動時にすべてのボリュームグループをアクティブにすることも、または指定した非ルートLVMボリュームグループのみをアクティブにすることもできます。

システムの再起動時にすべての非ルートLVMボリュームグループをアクティブにするには、/etc/sysconfig/lvmファイル内のLVM_VGS_ACTIVATED_ON_BOOTパラメータが空である("")ことを確認します。これがデフォルトの設定です。ほぼすべての標準的なLVMのインストールでは、安全に空にしておくことができます。

LVM_VGS_ACTIVATED_ON_BOOT=""

指定した非ルートLVMボリュームグループのみをシステムの再起動時にアクティブにするには、ボリュームグループの名前をLVM_VGS_ACTIVATED_ON_BOOTパラメータに対する値として、次のように指定します。

LVM_VGS_ACTIVATED_ON_BOOT="vg1"

デフォルトでは、新たに検出されたLVMボリュームグループは、自動的にはアクティブになりません。LVM_ACTIVATED_ON_DISCOVEREDパラメータは、/etc/sysconfig/lvmファイル内で次のコマンドにより非アクティブとなります。

LVM_ACTIVATED_ON_DISCOVERED="disable"

LVM_ACTIVATED_ON_DISCOVEREDパラメータを次のように設定して、新たに検出されたLVMボリュームグループをudevルールを介してアクティブにすることができます。

LVM_ACTIVATED_ON_DISCOVERED="enable"

4.7 LVM2ストレージオブジェクトのタグ付け

タグは、ストレージオブジェクトのメタデータに割り当てられる順序付けのないキーワードまたは用語です。タグを使用すると、順序付けのないタグのリストをLVMストレージオブジェクトのメタデータに添付することによって、それらのオブジェクトのコレクションを有用になるように分類できます。

4.7.1 LVM2タグの使用

LVM2ストレージオブジェクトにタグを付けたら、それらのタグをコマンドで使用して、次のタスクを達成できます。

  • 特定のタグの有無に応じて、処理するLVMオブジェクトを選択します。

  • 設定ファイル内でタグを使用することにより、サーバ上でアクティブにするボリュームグループと論理ボリュームを制御します。

  • コマンド内でタグを指定することにより、グローバル設定ファイルの設定を上書きします。

コマンドラインでLVMオブジェクトを参照する代わりに、タグを使用して、次の項目を受け入れることができます。

  • オブジェクトのリスト

  • 単一のオブジェクト(タグが単一オブジェクトに展開する限り)

オブジェクト名をタグで置き換えることは、一部ではサポートされていません。引数の展開後、リスト内の重複引数は、重複引数を削除し、各引数の最初のインスタンスを保留することによって解決されます。

引数のタイプが曖昧になる可能性がある場合は、タグの前にアットマーク(@)文字を付けてください(たとえば、@mytag)。それ以外の接頭辞@の使用はオプションです。

4.7.2 LVM2タグの作成要件

LVMでタグを使用する場合は、以下の要件を考慮してください。

4.7.2.1 サポートされている文字

LVMタグのワードには、ASCII 大文字A~Z、小文字a~z、数字0~9、下線(_)、プラス(+)、ハイフン(-)、およびピリオド(.)を含めることができます。ワードをハイフンで始めることはできません。最大128文字まで入力できます。

4.7.2.2 サポートされているストレージオブジェクト

タグ付けできるのは、LVM2の物理ボリューム、ボリュームグループ、論理ボリューム、および論理ボリュームセグメントです。PVタグは、そのボリュームグループのメタデータに保存されます。ボリュームグループを削除すると、孤立した物理ボリューム内のタグも削除されます。スナップショットにはタグを付けられませんが、元のオブジェクトはタグ付けできます。

LVM1オブジェクトは、そのディスクフォーマットがタグをサポートしていないので、タグ付けできません。

4.7.3 コマンドラインでのタグ構文

--addtag <タグ_情報>

LVM2ストレージオブジェクトにタグを追加(つまり、タグ付け)します。

例: 

vgchange --addtag @db1 vg1
--deltag <タグ_情報>

LVM2ストレージオブジェクトからタグを削除(つまり、タグ解除)します。

例: 

vgchange --deltag @db1 vg1
--tag <タグ_情報>

アクティブまたは非アクティブにするボリュームグループまたは論理ボリュームのリストを絞り込むために使用するタグを指定します。

例: 

次のコマンドを入力すると、指定のタグに一致するタグをもつボリュームがアクティブになります。

lvchange -ay --tag @db1 vg1/vol2

4.7.4 設定ファイル構文

4.7.4.1 lvm.confファイルでホスト名タグを有効にする

次のコードを /etc/lvm/lvm.confファイルに追加することにより、/etc/lvm/lvm_<ホスト名>.confファイルでホストに個別に定義されているホストタグを有効にします。

tags {
   # Enable hostname tags
   hosttags = 1
}

ホストの/etc/lvm/lvm_<ホスト名>.confファイルにアクティベーションコードを入力します。4.7.4.3項 「アクティベーションを定義する」を参照してください。

4.7.4.2 lvm.confファイルのホスト名タグを定義する

tags {

   tag1 { }
      # Tag does not require a match to be set.

   tag2 {
      # If no exact match, tag is not set.
      host_list = [ "hostname1", "hostname2" ]
   }
}

4.7.4.3 アクティベーションを定義する

/etc/lvm/lvm.confファイルを変更すると、タグに基づいてLVM論理ボリュームをアクティブにできます。

テキストエディタで、次のコードをファイルに追加します。

  activation {
      volume_list = [ "vg1/lvol0", "@database" ]
  }

@databaseをご使用のタグで置き換えます。ホストに設定されているすべてのタグにタグを一致させるには、"@*"を使用します。

アクティベーションコマンドは、ボリュームグループと論理ボリュームのメタデータで設定されているボリュームグループ名ボリュームグループ名/論理グループ名、または@タグと照合を行います。ボリュームグループまたは論理グループは、メタデータタグが一致する場合のみアクティブになります。一致しない場合のデフォルトは、アクティブにしないことです。

volume_listが存在せず、ホストにタグが定義されていると、ホストタグがメタデータタグに一致する場合のみボリュームグループまたは論理グループがアクティブになります。

volume_listが存在せず、ホストにタグが定義されていないと、アクティベーションが実行されます。

4.7.4.4 複数のホスト名設定ファイルでアクティベーションを定義する

lvm.confファイルでホストタグが有効になっている場合、 ホストの設定ファイル(/etc/lvm/lvm_<ホスト_タグ>.conf)でアクティベーションコードを使用できます。たとえば、サーバの/etc/lvm/フォルダに、2つの設定ファイルがあるとします。

lvm.conf
lvm_<ホスト_タグ>.conf

スタートアップ時に、/etc/lvm/lvm.confファイルがロードされ、ファイル内のすべてのタグ設定が処理されます。ホストタグが定義されていた場合は、関連の/etc/lvm/lvm_<ホスト_タグ>.confファイルがロードされます。特定の設定ファイルエントリが検索される場合は、まず、ホストタグファイルが検索されてから、lvm.confファイルが検索され、最初の一致で検索が停止します。lvm_<ホスト_タグ>.confファイル内では、タグの設定順序と逆の順序が使用されます。これによって、最後に設定されたタグのファイルが最初に検索されます。ホストタグファイルで新しいタグが設定されると、追加の設定ファイルがロードされます。

4.7.5 クラスタで簡単なアクティベーション制御にタグを使用する

簡単なアクティベーション制御は、/etc/lvm/lvm.confファイルでhostname_tagsオプションを有効にすることでセットアップできます。これがグローバル設定になるように、同じファイルをクラスタ内のすべてのコンピュータで使用します。

  1. テキストエディタで、次のコードを/etc/lvm/lvm.confファイルに追加します。

    tags {
       hostname_tags = 1
    }
  2. ファイルをクラスタ内のすべてのホストに複製します。

  3. クラスタ内の任意のコンピュータから、vg1/lvol2をアクティブにするコンピュータのリストにdb1を追加します。

    lvchange --addtag @db1 vg1/lvol2
  4. db1サーバで、次のコードを入力してvg1/lvol2をアクティブにします。

    lvchange -ay vg1/vol2

4.7.6 タグを使用して、クラスタ内の好みのホストでアクティブにする

本項の例では、次のようなアクティベーションを行う2つの方法を示します。

  • ボリュームグループvg1をデータベースホストdb1およびdb2でのみアクティブにします。

  • ボリュームグループvg2をファイルサーバホストfs1のみでアクティブにします。

  • ファイルサーバのバックアップホスト fsb1では、最初は何もアクティブにせず、ファイルサーバのホスト fs1に置き換わる準備をします。

4.7.6.1 オプション1:一元化された管理とホスト間で複製された設定

次のソリューションでは、単一の設定ファイルを複数のホスト間で複製します。

  1. @databaseタグをボリュームグループvg1のメタデータに追加します。端末コンソールで、次のコマンドを入力します。

    vgchange --addtag @database vg1
  2. @fileserverタグをボリュームグループvg2のメタデータに追加します。端末コンソールで、次のコマンドを入力します。

    vgchange --addtag @fileserver vg2
  3. テキストエディタで、次のコードを使用して /etc/lvm/lvm.confを変更することにより、@database@fileserver@fileserverbackupの各タグを定義します。

    tags {
       database {
          host_list = [ "db1", "db2" ]
       }
       fileserver {
          host_list = [ "fs1" ]
       }
       fileserverbackup {
          host_list = [ "fsb1" ]
       }
    }
    
    activation {
       # Activate only if host has a tag that matches a metadata tag
       volume_list = [ "@*" ]
    }
  4. 変更した /etc/lvm/lvm.confファイルを4つのホスト(db1db2fs1、およびfsb1)に複製します。

  5. ファイルサーバホストが故障した場合は、次のコマンドを任意のモードで端末コンソールから入力することにより、fsb1上でvg2を起動できます。

    vgchange --addtag @fileserverbackup vg2
    vgchange -ay vg2

4.7.6.2 オプション2:ローカライズされた管理と設定

次のソリューションでは、各ホストがアクティブにするボリュームのクラスに関する情報をローカルに保持します。

  1. @databaseタグをボリュームグループvg1のメタデータに追加します。端末コンソールで、次のコマンドを入力します。

    vgchange --addtag @database vg1
  2. @fileserverタグをボリュームグループvg2のメタデータに追加します。端末コンソールで、次のコマンドを入力します。

    vgchange --addtag @fileserver vg2
  3. /etc/lvm/lvm.confファイルでホストタグを有効にします。

    1. テキストエディタで、次のコードを使用して/etc/lvm/lvm.confファイルを変更することにより、ホストタグ設定ファイルを有効にします。

      tags {
         hosttags = 1
      }
    2. 変更した /etc/lvm/lvm.confファイルを4つのホスト(db1db2fs1、およびfsb1)に複製します。

  4. ホストdb1で、データベースホストdb1のアクティベーション設定ファイルを作成します。テキストエディタで、a /etc/lvm/lvm_db1.confファイルを作成し、次のコードを追加します。

    activation {
       volume_list = [ "@database" ]
    }
  5. ホストdb2で、データベースホストdb2のアクティベーション設定ファイルを作成します。テキストエディタで、a /etc/lvm/lvm_db2.confファイルを作成し、次のコードを追加します。

    activation {
       volume_list = [ "@database" ]
    }
  6. ホストfs1で、ファイルサーバホストfs1のアクティベーション設定ファイルを作成します。テキストエディタで、a /etc/lvm/lvm_fs1.confファイルを作成し、次のコードを追加します。

    activation {
       volume_list = [ "@fileserver" ]
    }
  7. ファイルサーバホストfs1が故障した場合は、スペアのファイルサーバホストfsb1をファイルサーバとして起動します。

    1. ホストfsb1で、ホストfsb1のアクティベーション設定ファイルを作成します。テキストエディタで、a /etc/lvm/lvm_fsb1.confファイルを作成し、次のコードを追加します。

      activation {
         volume_list = [ "@fileserver" ]
      }
    2. 端末コンソールで、次のコマンドの1つを入力します。

      vgchange -ay vg2
      
      vgchange -ay @fileserver

4.8 ボリュームグループのサイズ変更

Linux LVMのパーティションをボリュームグループに追加/削除することにより、ボリュームグループのサイズを拡大/縮小できます。

警告
警告

論理ボリュームにより使用中のパーティションを削除すると、データが失われることがあります。

  1. YaSTを、rootユーザとして起動します。

  2. YaST内で、ディスクの分割を開きます。

  3. 左のパネルで、[ボリューム管理]を選択して展開し、ボリュームグループのリストを表示します。

  4. [ボリューム管理]の下でボリュームグループを選択し、概要タブをクリックします。

  5. ページ下部にあるサイズ変更をクリックします。

  6. 次のいずれかの操作を行います。

    • 追加: 1つまたは複数の物理ボリューム(LVMパーティション)を利用可能な物理ボリュームリストから選択した物理ボリュームリストに移動することにより、ボリュームグループのサイズを拡張します。

    • 削除: 1つまたは複数の物理ボリューム(LVMパーティション)を選択した物理ボリュームリストから利用可能な物理ボリュームリストに移動することにより、ボリュームグループのサイズを縮小します。

  7. 完了をクリックします。

  8. 次へをクリックし、変更が一覧されることを確認してから、完了をクリックします。

4.9 YaSTによる論理ボリュームのサイズ変更

  1. YaSTを、rootユーザとして起動します。

  2. YaST内で、ディスクの分割を開きます。

  3. 左のパネルで、[ボリューム管理]を選択して展開し、ボリュームグループのリストを表示します。

  4. [ボリューム管理]の下でボリュームグループを選択し、論理ボリュームタブをクリックします。

  5. ページ下部で、サイズ変更をクリックして[論理ボリュームのサイズ変更]ダイアログボックスを開きます。

  6. スライダを使用して、論理ボリュームのサイズを拡大/縮小します。

    警告
    警告

    データを含む論理ボリュームのサイズを縮小すると、データが破損することがあります。

  7. OKをクリックします。

  8. 次へをクリックし、変更が一覧されることを確認してから、完了をクリックします。

4.10 コマンドによる論理ボリュームのサイズ変更

論理ボリュームのサイズ変更には、コマンドlvresizelvextend、およびlvreduceが使用されます。構文とオプションについては、これらの各コマンドのマニュアルページを参照してください。

YaSTパーティショナでも、論理ボリュームのサイズを増やすことができます。YaSTではparted(8)を使用してパーティションサイズを増やします。

LVを拡大するには、VG上に十分な未使用スペースがなければなりません。

LVは使用中に拡大または縮小できますが、LV上のファイルシステムについてはこれが不可能な場合があります。LVを拡大、縮小しても、そのボリューム内のファイルシステムのサイズは自動的に変更されません。後でファイルシステムを拡大するには、別のコマンドを使用する必要があります。ファイルシステムのサイズ変更の詳細については、第5章 「ファイルシステムのサイズ変更を参照してください。

必ず正しいシーケンスを使用するようにしてください。

  • LVを拡大する場合は、ファイルシステムを拡大する前にLVを拡大する必要があります。

  • LVを縮小する場合は、LVを縮小する前にファイルシステムを縮小する必要があります。

論理ボリュームのサイズを拡張するには:

  1. 端末コンソールを開き、rootユーザとしてログインします。

  2. 仮想マシン(Xen VMなど)用に提供されているファイルシステムが論理ボリュームに含まれている場合は、VMをシャットダウンします。

  3. 論理ボリューム上のファイルシステムのマウントを解除します。

  4. 端末コンソールのプロンプトに対して、次のコマンドを入力し、論理ボリュームのサイズを拡大します。

    lvextend -L +size /dev/vgname/lvname

    sizeの場合は、10GBのように、論理ボリュームに追加したい容量を指定してください。/dev/vgname/lvnameを、/dev/vg1/v1などの論理ボリュームへのLinuxパスに入れ替えます。次に例を示します。

    lvextend -L +10GB /dev/vg1/v1

たとえば、LVをLV上の(マウント済みでアクティブな)ReiserFSで10GB拡張するには:

lvextend −L +10G /dev/vgname/lvname
resize_reiserfs −s +10GB −f /dev/vg−name/lv−name

たとえば、LVをLV上のReiserFSで5GB縮小するには:

umount /mountpoint−of−LV
resize_reiserfs −s −5GB /dev/vgname/lvname
lvreduce /dev/vgname/lvname
mount /dev/vgname/lvname /mountpoint−of−LV

4.11 ボリュームグループの削除

警告
警告

ボリュームグループを削除すると、グループの各メンバーパーティションに含まれているデータがすべて破棄されます。

  1. YaSTを、rootユーザとして起動します。

  2. YaST内で、ディスクの分割を開きます。

  3. 左のパネルで、[ボリューム管理]を選択し、グループのリストを展開します。

  4. [ボリューム管理]の下でボリュームグループを選択し、概要タブをクリックします。

  5. ページ下部で、削除をクリックし、次に、はいをクリックして削除を確認します。

  6. 次へをクリックし、削除したボリュームグループが一覧されることを確認してから(削除は赤いフォントで示されます)、完了をクリックします。

4.12 LVMパーティション(物理ボリューム)の削除

警告
警告

パーティションを削除すると、パーティション内のすべてのデータが破棄されます。

  1. YaSTを、rootユーザとして起動します。

  2. YaST内で、ディスクの分割を開きます。

  3. If the Linux LVMパーティションがボリュームグループのメンバーとして使用中の場合は、ボリュームグループからパーティションを削除するか、またはボリュームグループを削除します (4.11項 「ボリュームグループの削除」)。

  4. YaSTパーティショナで、ハードディスクの下でデバイス(sdcなど)を選択す。

  5. [パーティション]ページで、削除したいパーティションを選択して削除をクリックし、はいで削除を確認します。

  6. 次へをクリックし、削除したパーティションが一覧されることを確認してから(削除は赤いフォントで示されます)、完了をクリックします。

4.13 LVMコマンドの使用

LVMコマンドの使用の詳細については、表4.1「LVMコマンド」で説明されている各コマンドのマニュアルページを参照してください。rootユーザとしてコマンドを実行します。

表 4.1: LVMコマンド

コマンド

説明

pvcreate <device>

LVLMで物理ボリュームとして使用できるようにデバイス(/dev/sdbなど)を初期化します。

pvdisplay <device>

LVM物理ボリュームに関する情報(現在、論理ボリュームで使用中かどうかなど)を表示します。

vgcreate -c y <vg_name> <dev1> [dev2...]

指定した1つ以上のデバイスでクラスタ化ボリュームグループを作成します。

vgchange -a [ey | n] <vg_name>

ボリュームグループおよびその論理ボリュームを入出力用にアクティブ(-a ey)または非アクティブ(-a n)にします。

重要
重要

クラスタノード上のボリュームグループを排他的にアクティブにするには、eyオプションを使用してください。ロードスクリプトではこのオプションがデフォルトで使用されます。

vgremove <vg_name>

ボリュームグループを削除します。このコマンドを使用する前に、論理ボリュームを削除してボリュームグループを非アクティブにしてください。

vgdisplay <vg_name>

指定したボリュームグループに関する情報を表示します。

ボリュームグループの合計物理エクステントを確認するには、次のように入力します。

vgdisplay vg_name | grep "Total PE"
lvcreate -L size -n <lv_name> <vg_name>

指定したサイズの論理ボリュームを作成します。

lvcreate -L <size> <-T|--thinpool> <vg_name/thin_pool_name>

lvcreate -virtualsize <size> <-T|--thin> 
<vg_name/thin_pool_name> -n <thin_lv_name>

lvcreate -L <size> -T 
<vg_name/thin_pool_name> 
-virtualsize <size> -n <thin_lv_name>

指定したサイズのシン論理ボリュームまたはシンプールを作成します。

シンプール、シン論理ボリューム、またはその両方を作成します。オプションの引数(--size)を指定すると、シンプール論理ボリュームが作成されます。オプションの引数(--virtualsize)を指定すると、所定のシンプールボリュームからシン論理ボリュームが作成されます。両方の引数を指定すると、このプールを使用してシンプールとシンボリュームが両方とも作成されます。

lvcreate -s [-L size] -n <snap_volume> <source_volume_path>

指定した論理ボリュームに対してスナップショットボリュームを作成します。サイズオプション(-L、--size)を指定しなかった場合、スナップショットはシンスナップショットとして作成されます。

lvremove</dev/vg_name/lv_name>

/dev/vg_name/lv_nameなどの論理ボリュームを削除します。

このコマンドを使用する前に、umountコマンドで論理ボリュームをマウント解除して閉じてください。

lvremove snap_volume_path

スナップショットボリュームを削除します。

lvconvert --merge  [-b] [-i <seconds>] [<snap_volume_path>[...<snapN>]|@<volume_tag>]

スナップショットデータを元のボリュームに戻します(ロールバックまたはマージします)。

vgextend <vg_name><device>

指定した物理ボリュームを既存のボリュームグループに追加します。

vgreduce <vg_name> <device>

指定した物理ボリュームを既存のボリュームグループから削除します。

重要
重要

物理ボリュームが論理ボリュームによって使用中でないことを確認してください。使用中の場合は、pvmoveコマンドを使用してデータを別の物理ボリュームに移動する必要があります。

lvextend -L size</dev/vg_name/lv_name>

指定した論理ボリュームのサイズを拡張します。その後、新たに使用可能になった領域を利用できるようにするため、ファイルシステムを拡張する必要もあります。

lvreduce -L size </dev/vg_name/lv_name>

指定した論理ボリュームのサイズを縮小します。

重要
重要

ボリュームを縮小する前に、まずファイルシステムのサイズを縮小してください。そうしないと、データを失うリスクがあります。

lvrename </dev/vg_name/old_lv_name> </dev/vg_name/new_lv_name>

ボリュームグループの既存のLVM論理ボリュームの名前を新しいボリューム名に変更します。ボリュームグループの名前は変更されません。

このページを印刷