Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

5.5. クラスター内でのミラー化 LVM 論理ボリュームの作成

ミラー化された LVM 論理ボリュームをクラスター内に作成するには、セグメントタイプが mirror の単一ノードにミラー化 LVM 論理ボリュームを作成するのと同じコマンドと手順が必要です。ただし、クラスターに、ミラー化 LVM ボリュームを作成するには、以下の条件を満たす必要があります。
  • クラスターおよびクラスターミラーインフラストラクチャーが稼働している
  • クラスターが定足数を満たす
  • lvm.conf ファイルのロッキングタイプは、クラスターのロックを有効にするために正しく設定する必要があります。また、use_lvmetad 設定は 0 である必要があります。ただし、Red Hat Enterprise Linux 7 では開始手順の一環として、ocf:heartbeat:clvm Pacemaker リソースエージェント自体がこれらのタスクを実行することに注意してください。
Red Hat Enterprise Linux 7 では、クラスターは Pacemaker で管理されます。クラスター化された LVM 論理ボリュームは Pacemaker クラスターと併用される場合のみサポートされ、クラスターリソースとして設定する必要があります。
以下の手順は、クラスターに、ミラー化された LVM ボリュームを作成します。
  1. クラスターソフトウェアおよび LVM パッケージをインストールし、クラスターソフトウェアを起動してクラスターを作成します。クラスターにはフェンスを設定する必要があります。『 High Availability Add-On の管理 』 ドキュメントには、クラスターを作成し、クラスターにノードのフェンスを設定する手順例が記載されています。『 High Availability Add-On Reference 』 ドキュメントには、クラスター設定のコンポーネントについての詳細情報が記載されています。
  2. クラスター内のすべてのノードで共有されるミラー化論理ボリュームを作成するには、クラスターの各ノードの lvm.conf ファイルにロックタイプを正しく設定する必要があります。デフォルトでは、ロッキングタイプはローカルに設定されます。これを変更するには、クラスターの各ノードで以下のコマンドを実行し、クラスターロッキングを有効にします。
    # /sbin/lvmconf --enable-cluster
  3. クラスターの dlm リソースをセットアップします。リソースをクローンリソースとして作成し、そのリソースがクラスター内のすべてのノードで実行されるようにします。
    # pcs resource create dlm ocf:pacemaker:controld op monitor interval=30s on-fail=fence clone interleave=true ordered=true
  4. clvmd をクラスターリソースとして設定します。dlm リソースの場合と同様に、リソースをクローンされたリソースとして作成し、それがクラスター内のすべてのノードで実行されるようにします。with_cmirrord=true パラメーターを設定して、clvmd が実行されるすべてのノードで cmirrord デーモンを有効にする必要があることに注意してください。
    # pcs resource create clvmd ocf:heartbeat:clvm with_cmirrord=true op monitor interval=30s on-fail=fence clone interleave=true ordered=true
    clvmd リソースを設定していても、with_cmirrord=true パラメーターを指定しなかった場合は、以下のコマンドでリソースを更新して、パラメーターを含めることができます。
    # pcs resource update clvmd with_cmirrord=true
  5. clvmddlm の依存関係を設定し、順番を開始します。clvmddlm の後に起動し、dlm と同じノードで実行する必要があります。
    # pcs constraint order start dlm-clone then clvmd-clone
    # pcs constraint colocation add clvmd-clone with dlm-clone
  6. ミラーを作成します。最初のステップは、物理ボリュームの作成です。次のコマンドは、3 つの物理ボリュームを作成します。これらの内の 2 つの物理ボリュームはミラーレッグとして使用され、3 つ目の物理ボリュームにミラーログが格納されます。
    # pvcreate /dev/sdb1
      Physical volume "/dev/sdb1" successfully created
    # pvcreate /dev/sdc1
      Physical volume "/dev/sdc1" successfully created
    # pvcreate /dev/sdd1
      Physical volume "/dev/sdd1" successfully created
    
  7. ボリュームグループを作成します。この例では、前の手順で作成した 3 つの物理ボリュームで設定されるボリュームグループ vg001 を作成します。
    # vgcreate vg001 /dev/sdb1 /dev/sdc1 /dev/sdd1
      Clustered volume group "vg001" successfully created
    
    vgcreate コマンドの出力は、ボリュームグループがクラスター化されていることを示していることに注意してください。ボリュームグループの属性を表示する vgs コマンドを使用すると、ボリュームグループがクラスター化されていることを確認できます。ボリュームグループがクラスター化されている場合は、c 属性が表示されます。
    # vgs vg001
      VG       #PV #LV #SN Attr   VSize  VFree
      vg001      3   0   0 wz--nc 68.97G 68.97G
    
  8. ミラー化論理ボリュームを作成します。この例では、ボリュームグループ vg001 から、論理ボリューム mirrorlv を作成します。このボリュームのミラーレッグは 1 つです。この例では、物理ボリュームのどのエクステントが論理ボリュームに使用されるかを指定します。
    # lvcreate --type mirror -l 1000 -m 1 vg001 -n mirrorlv /dev/sdb1:1-1000 /dev/sdc1:1-1000 /dev/sdd1:0
      Logical volume "mirrorlv" created
    
    lvs コマンドを使用すると、ミラー作成の進捗を表示できます。以下の例では、ミラーの同期が、47%、91% と進み、ミラー完了時には 100% 同期になったことを示しています。
    # lvs vg001/mirrorlv
      LV       VG       Attr   LSize Origin Snap%  Move Log           Copy%  Convert
      mirrorlv vg001    mwi-a- 3.91G                    vg001_mlog     47.00
    # lvs vg001/mirrorlv
      LV       VG       Attr   LSize Origin Snap%  Move Log           Copy%  Convert
      mirrorlv vg001    mwi-a- 3.91G                    vg001_mlog     91.00   
    #  lvs vg001/mirrorlv
      LV       VG       Attr   LSize Origin Snap%  Move Log           Copy%  Convert
      mirrorlv vg001    mwi-a- 3.91G                    vg001_mlog    100.00
    
    ミラーの完了は、システムログに記録されます。
    May 10 14:52:52 doc-07 [19402]: Monitoring mirror device vg001-mirrorlv for events
    May 10 14:55:00 doc-07 lvm[19402]: vg001-mirrorlv is now in-sync
    
  9. lvs コマンドに -o +devices オプションを使用すると、ミラーの設定を表示できます。これには、ミラーレッグを設定するデバイスが含まれます。この例では、論理ボリュームが 2 つのリニアイメージと 1 つのログで設定されていることがわかります。
    # lvs -a -o +devices
      LV                  VG         Attr   LSize  Origin Snap%  Move Log           Copy%  Convert Devices                                  
      mirrorlv            vg001      mwi-a-  3.91G                    mirrorlv_mlog 100.00         mirrorlv_mimage_0(0),mirrorlv_mimage_1(0)
      [mirrorlv_mimage_0] vg001      iwi-ao  3.91G                                                 /dev/sdb1(1)                            
      [mirrorlv_mimage_1] vg001      iwi-ao  3.91G                                                 /dev/sdc1(1)                            
      [mirrorlv_mlog]     vg001      lwi-ao  4.00M                                                 /dev/sdd1(0)
    
    lvsseg_pe_ranges オプションを使用すると、データレイアウトを表示できます。このオプションを使用すれば、レイアウトに適切な冗長性があることを検証することができます。このコマンドの出力には、lvcreate コマンドと lvresize コマンドが入力として受け取る形式と同じ形式で PE 範囲が表示されます。
    # lvs -a -o +seg_pe_ranges --segments
      PE Ranges                                      
      mirrorlv_mimage_0:0-999 mirrorlv_mimage_1:0-999
      /dev/sdb1:1-1000                              
      /dev/sdc1:1-1000                              
      /dev/sdd1:0-0
    
注記
LVM ミラー化ボリュームのいずれかのレッグに障害が発生した際の回復方法は、「LVM ミラー障害からの回復」 を参照してください。