Red Hat Training

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

부록 F. 고가용성 LVM (HA-LVM)

Red Hat 고가용성 애드온은 장애 조치 설정의 고가용성 LVM 볼륨 (HA-LVM)을 지원합니다. 이는 Clustered Logical Volume Manager (CLVM)에 의해 활성화된 active/active 설정과 다릅니다. CLVM은 컴퓨터의 클러스터가 공유 스토리지를 관리할 수 있게 하는 LVM의 클러스터링 확장 모음입니다.
CLVM 또는 HA-LVM은 배포된 애플리케이션이나 서비스의 필요에 따라 사용하는 것이 좋습니다.
  • 애플리케이션이 동시에 여러 컴퓨터에서 실행하도록 조정된 경우 CLVM을 사용해야 합니다. 특히 하나 이상의 클러스터 노드가 활성 노드 사이에서 공유되는 스토리지로의 액세스를 필요로할 경우, CLVM을 사용해야 합니다. CLVM은 논리 볼륨이 설정되는 동안 물리 스토리지로의 액세스를 잠금하여 사용자가 공유 스토리지에 논리 볼륨을 설정하게 하며, 공유 스토리지를 관리하기 위해 클러스터화된 잠금 서비스를 사용합니다. CLVM 및 LVM 설정의 일반적인 내용은 LVM 관리에서 참조하십시오.
  • 스토리지에 액세스하는 단일 노드만 언제든지 한번에 활성화되는 active/passive (장애 조치) 설정에서 애플리케이션을 최적으로 실행하려면 HA-LVM (High Availability Logical Volume Management) 에이전트를 사용해야 합니다.
대부분의 애플리케이션은 다른 인스턴스와 동시에 실행하도록 설계 또는 최적화되어 있지 않기 때문에 active/passive 설정에서 보다 더 제대로 실행됩니다. 클러스트된 논리 볼륨에서 클러스터를 인식하지 않는 애플리케이션을 실행하도록 선택하면 논리 볼륨이 미러될 경우 성능이 저하될 수 있습니다. 이는 이러한 인스턴스에 논리 불륨 자체에 해당하는 클러스터 통신 오버헤드가 있기 때문입니다. 클러스터 인식 애플리케이션은 클러스터 파일 시스템 및 클러스터 인식 논리 불륨에 의해 생기는 성능 저하를 넘는 높은 성능을 제공할 수 있어야 합니다. 이는 일부 애플리케이션 및 워크로드의 경우 다른 경우 보다 쉽게 수행할 수 있습니다. 클러스터의 요구 사항을 지정하고 active/active 클러스터를 최적화하기 위한 별도의 작업이 도움이 되는지는 두 LVM 변형 사이에서 선택하는 방법에 따라 다릅니다. 대부분의 사용자는 HA-LVM을 사용하여 최적의 HA 결과를 얻을 수 있습니다.
HA-LVM 및 CLVM은 LVM 메타데이터와 논리 볼륨의 손상을 방지한다는 점에서 유사합니다. 그렇지 않을 경우 여러 시스템을 중복 변경할 수 있는 경우에 발생합니다. HA-LVM은 논리 불륨 단독으로 활성화할 수 있는 즉 한 번에 하나의 컴퓨터에서만 활성화되는 제한을 부과합니다. 이는 로컬 (비 클러스터화) 구현된 스토리지 드라이버만 사용되는 것을 의미합니다. 이러한 방법으로 조정된 클러스터 오버헤드를 방지함으로써 성능이 향상됩니다. CLVM은 이러한 제한을 부과하지 않습니다. 즉 사용자는 클러스터의 모든 컴퓨터에 있는 논리 볼륨을 자유롭게 활성화할 수 있습니다. 이렇게 하면 클러스트 인식 스토리지 드라이버 사용을 강제하게 되므로 클러스터 인식 파일 시스템 및 애플리케이션이 상단에 배치됩니다.
HA-LVM은 단독으로 논리 볼륨을 활성화하는 명령을 수행하는 두 가지 방법 중 하나를 사용하도록 설정될 수 있습니다.
  • 권장되는 방법은 CLVM을 사용하지만 단독으로 논리 불륨만을 활성화하는 것입니다. 이로 인한 장점은 손쉬운 설정 및 관리적 실수 (사용 중인 논리 볼륨을 삭제하는 등)를 방지할 수 있다는 것입니다. CLVM을 사용하려면 clvmd 데몬을 포함하여 고가용성 애드온 및 장애 복구형 스토리지 애드온 소프트웨어를 실행하고 있어야 합니다.
    이 방법을 사용하여 HA-LVM을 설정하는 절차는 F.1절. “CLVM으로 HA-LVM 페일오버 설정 (권장)”에 설명되어 있습니다.
  • 두 번째 방법은 로컬 컴퓨터 잠금 및 LVM 태그를 사용하는 것입니다. 이 방법의 장점은 LVM 클러스터 패키지가 필요하지 않다는 것입니다. 하지만 이를 설정하는데는 관련된 더 많은 단계가 있고 관리자가 비활성 클러스터 노드에서 논리 볼륨을 실수로 삭제하는것을 방지할 수 없습니다. 이러한 방법을 사용하여 HA-LVM을 설정하는 절차는 F.2절. “태그로 HA-LVM 페일 오버 설정 ”에서 설명하고 있습니다.

F.1. CLVM으로 HA-LVM 페일오버 설정 (권장)

(권장되는 CLVM 변형을 사용하여) HA-LVM 페일오버를 구성하려면 다음 단계를 수행합니다:
  1. 시스템이 CLVM을 지원하도록 설정되어 있는지 확인합니다. 다음과 같은 요구 사항이 필요합니다:
    • CLVM 논리 볼륨이 미러되면 cmirror 패키지를 포함하여 고가용성 애드온 및 장애 복구형 스토리지 애드온이 설치됩니다.
    • /etc/lvm/lvm.conf 파일의 글로벌 섹션에 있는 locking_type 매개 변수는 "3"으로 설정되어 있습니다.
    • clvmd 데몬을 포함한 고가용성 애드온 및 장애 복구형 애드온 소프트웨어를 실행하고 있어야 합니다. CLVM 미러링의 경우 cmirrord 서비스도 시작해야 합니다.
  2. 다음 예제와 같이 표준 LVM 및 파일 시스템 명령을 사용하여 논리 볼륨 및 파일 시스템을 생성합니다.
    # pvcreate /dev/sd[cde]1
    
    # vgcreate -cy shared_vg /dev/sd[cde]1
    
    # lvcreate -L 10G -n ha_lv shared_vg
    
    # mkfs.ext4 /dev/shared_vg/ha_lv
    
    # lvchange -an shared_vg/ha_lv
    LVM 논리 볼륨 생성에 대한 보다 자세한 내용은 LVM 관리에서 참조하십시오.
  3. /etc/cluster/cluster.conf 파일을 편집하여 새로 생성된 논리 볼륨을 서비스 중 하나에 있는 리소스로 포함합니다. 다른 방법으로 Conga 또는 ccs 명령을 사용하여 클러스터에 대해 LVM 및 파일 시스템 리소스를 설정할 수 있습니다. 다음은 클러스터 리소스로 CLVM 논리 볼륨을 설정하는 /etc/cluster/cluster.conf 파일의 리소스 관리자 섹션에 대한 예입니다:
    
    <rm>  
       <failoverdomains>
           <failoverdomain name="FD" ordered="1" restricted="0">
              <failoverdomainnode name="neo-01" priority="1"/>
              <failoverdomainnode name="neo-02" priority="2"/>
           </failoverdomain>
       </failoverdomains>
       <resources>
           <lvm name="lvm" vg_name="shared_vg" lv_name="ha-lv"/>
           <fs name="FS" device="/dev/shared_vg/ha-lv" force_fsck="0" force_unmount="1" fsid="64050" fstype="ext4" mountpoint="/mnt" options="" self_fence="0"/>
       </resources>
       <service autostart="1" domain="FD" name="serv" recovery="relocate">
           <lvm ref="lvm"/>
           <fs ref="FS"/>
       </service>
    </rm>