5.5. 클러스터에 미러 LVM 논리 볼륨 생성

클러스터에 미러 LVM 논리 볼륨을 생성하기 위해 단일 노드에서 미러 LVM 논리 볼륨을 생성하는 것과 동일한 명령 및 절차가 필요합니다. 하지만 클러스터에 미러 LVM 볼륨을 생성하려면 클러스터 및 클러스터 미러 인프라를 실행하고, 클러스터는 쿼터에 도달해야 하며, lvm.conf 파일에 있는 잠금 유형은 클러스터 잠금 기능을 활성화하기 위해 3.1절. “클러스터에 LVM 볼륨 생성 ”에 설명되어 있듯이 직접적으로 또는 lvmconf 명령을 실행하여 올바르게 설정되어 있어야 합니다.
다음 절차에서는 클러스터에 미러 LVM 볼륨을 생성합니다. 먼저 생성 절차에서는 클러스터 서비스가 설치되어 실행되고 있는지를 확인한 후 미러 볼륨을 생성합니다.
  1. 클러스터에 있는 모든 노드에 의해 공유되는 미러 논리 볼륨을 생성하기 위해 잠금 기능 유형은 클러스터의 모든 노드에 있는 lvm.conf에 올바르게 설정되어 있어야 합니다. 기본값으로 잠금 기능 유형은 로컬에 설정되어 있습니다. 이를 변경하려면, 클러스터의 각 노드에서 다음과 같은 명령을 실행하여 클러스터 잠금 기능을 활성화합니다:
    # /sbin/lvmconf --enable-cluster
  2. 클러스터 논리 볼륨을 생성하려면, 클러스터 인프라가 반드시 설정되어 있어야 하고 클러스터에 있는 모든 노드에서 실행되고 있어야 합니다. 다음의 예에서는 문제가 발생했던 노드에서 clvmd 데몬이 실행되고 있는지를 확인합니다:
    [root@doc-07 ~]# ps auxw | grep clvmd
    root     17642  0.0  0.1 32164 1072 ?        Ssl  Apr06   0:00 clvmd -T20 -t 90
    
    다음 명령으로 클러스터의 로컬 상태 보기를 합니다:
    [root@example-01 ~]# cman_tool services
    fence domain
    member count  3
    victim count  0
    victim now    0
    master nodeid 2
    wait state    none
    members       1 2 3
    
    dlm lockspaces
    name          clvmd
    id            0x4104eefa
    flags         0x00000000
    change        member 3 joined 1 remove 0 failed 0 seq 1,1
    members       1 2 3
    
  3. cmirror 패키지가 설치되었는지를 확인합니다.
  4. cmirrord 서비스를 시작합니다.
    [root@hexample-01 ~]# service cmirrord start
    Starting cmirrord:                                         [  OK  ]
    
  5. 미러를 생성합니다. 먼저 물리 볼륨을 생성합니다. 다음 명령으로 세 개의 물리 볼륨을 생성합니다. 물리 볼륨 중 두 개는 미러의 leg로 사용되며 세번째 물리 볼륨에는 미러 로그가 들어 있게 됩니다.
    [root@doc-07 ~]# pvcreate /dev/xvdb1
      Physical volume "/dev/xvdb1" successfully created
    [root@doc-07 ~]# pvcreate /dev/xvdb2
      Physical volume "/dev/xvdb2" successfully created
    [root@doc-07 ~]# pvcreate /dev/xvdc1
      Physical volume "/dev/xvdc1" successfully created
    
  6. 볼륨 그룹을 생성합니다. 다음 예에서는 이전 단계에서 생성된 세 개의 물리 볼륨으로 구성된 vg001 볼륨 그룹을 생성합니다.
    [root@doc-07 ~]# vgcreate vg001 /dev/xvdb1 /dev/xvdb2 /dev/xvdc1
      Clustered volume group "vg001" successfully created
    
    vgcreate 명령 출력 결과에서는 볼륨 그룹이 클러스터됨을 가리킴에 유의합니다. 볼륨 그룹이 vgs 명령으로 클러스터됨을 확인할 수 있습니다. 이러한 명령은 볼륨 그룹의 속성을 표시합니다. 볼륨 그룹이 클러스터될 경우 이는 c 속성이 표시됩니다.
    [root@doc-07 ~]# vgs vg001
      VG       #PV #LV #SN Attr   VSize  VFree
      vg001      3   0   0 wz--nc 68.97G 68.97G
    
  7. 미러 논리 볼륨을 생성합니다. 예에서는 vg001 볼륨 그룹에서 mirrorlv 논리 볼륨을 생성하고 있습니다. 이 볼륨은 하나의 미러 leg를 갖습니다. 예에서는 논리 볼륨에 어떤 물리 볼륨 익스텐트를 사용할 지를 지정하고 있습니다.
    [root@doc-07 ~]# lvcreate -l 1000 -m1 vg001 -n mirrorlv /dev/xvdb1:1-1000 /dev/xvdb2:1-1000 /dev/xvdc1:0
      Logical volume "mirrorlv" created
    
    lvs 명령을 사용하여 미러 생성 진행 상태를 확인할 수 있습니다. 다음의 예에서는 미러가 완료되었을 때 47%에서 91%로 그리고 100%까지 동기화되는 상태를 보여주고 있습니다.
    [root@doc-07 log]# lvs vg001/mirrorlv
      LV       VG       Attr   LSize Origin Snap%  Move Log           Copy%  Convert
      mirrorlv vg001    mwi-a- 3.91G                    vg001_mlog     47.00
    [root@doc-07 log]# lvs vg001/mirrorlv
      LV       VG       Attr   LSize Origin Snap%  Move Log           Copy%  Convert
      mirrorlv vg001    mwi-a- 3.91G                    vg001_mlog     91.00   
    [root@doc-07 ~]#  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
    
  8. -o +devices 옵션과 함께 lvs 명령을 사용하여 미러 leg를 구성하는 장치와 함께 미러 설정을 확인할 수 있습니다. 예에서는 논리 볼륨이 두개의 선형 이미지와 하나의 로그로 구성되어 있음을 확인할 수 있습니다.
    [root@doc-07 ~]# 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/xvdb1(1)                            
      [mirrorlv_mimage_1] vg001      iwi-ao  3.91G                                                 /dev/xvdb2(1)                            
      [mirrorlv_mlog]     vg001      lwi-ao  4.00M                                                 /dev/xvdc1(0)
    
    lvs 명령의 seg_pe_ranges 옵션을 사용하여 데이터 레이아웃을 확인할 수 있습니다. 이 옵션을 사용하여 레이아웃이 올바르게 이중화되어 있는지를 확인할 수 있습니다. 이 명령의 출력 결과에서 lvcreatelvresize 명령이 입력으로 얻는 것과 동일한 형식의 PE 범위를 확인할 수 있습니다.
    [root@doc-07 ~]# lvs -a -o +seg_pe_ranges --segments
      PE Ranges                                      
      mirrorlv_mimage_0:0-999 mirrorlv_mimage_1:0-999
      /dev/xvdb1:1-1000                              
      /dev/xvdb2:1-1000                              
      /dev/xvdc1:0-0
    

참고

LVM 미러 볼륨의 leg 중 하나에 문제가 발생할 경우 이를 복구하는 방법에 대한 내용은 6.3절. “LVM 미러 장애 복구 ”에서 확인하십시오.