웹사이트 검색

연속 또는 고가용성으로 내결함성 클러스터를 배포하는 방법


이 페이지에서

  1. 서문
  2. 지속적인 가용성
  3. 고가용성
    1. VMmanager 클라우드
    2. FirstByte
    3. FirstVDS

    일부 회사는 서비스 중단을 허용하지 않습니다. 서버 중단의 경우 셀룰러 운영자는 청구 시스템 다운타임을 경험하여 모든 클라이언트의 연결이 끊어질 수 있습니다. 그러한 상황의 잠재적인 영향을 인정하면 항상 계획 B가 있다는 아이디어로 이어집니다.

    이 기사에서는 고가용성 클러스터 구축을 위한 제어판인 VMmanager Cloud 배포에 사용되는 아키텍처뿐만 아니라 서버 오류에 대한 다양한 보호 방법을 조명합니다.

    머리말

    클러스터 허용 범위의 용어는 웹 사이트마다 다릅니다. 서로 다른 용어와 정의가 섞이지 않도록 하기 위해 주어진 문서에서 사용될 용어와 정의를 간략히 설명하겠습니다.

    • 내결함성(FT)은 구성 요소 중 하나에 오류가 발생한 후에도 시스템이 계속 작동할 수 있는 기능입니다.\n
    • 클러스터는 통신 채널을 통해 연결된 서버(클러스터 노드) 그룹입니다.\n
    • FTC(내결함성 클러스터)는 하나의 서버에 장애가 발생해도 전체 클러스터를 완전히 사용할 수 없게 되지 않는 클러스터입니다. 실패한 노드의 기능은 나머지 노드 간에 자동으로 재할당됩니다.\n
    • 연속 가용성(CA)은 사용자가 시간 초과 없이 서비스를 사용할 수 있음을 의미합니다. 노드가 실패한 후 얼마나 오래되었는지는 중요하지 않습니다.\n
    • 고가용성(HA)은 노드 중 하나가 다운될 경우 사용자가 서비스 시간 초과를 경험할 수 있음을 의미합니다. 그러나 시스템은 가동 중지 시간을 최소화하면서 자동으로 복구됩니다.\n
    • CA 클러스터는 지속적인 가용성 클러스터입니다.
    • HA 클러스터는 고가용성 클러스터입니다.

    각 노드에서 가상 머신이 실행되는 10개의 노드로 구성된 클러스터를 배포해야 합니다. 목표는 서버 장애 후 가상 머신을 보호하는 것입니다. 이중 CPU 서버는 랙의 계산 밀도를 최대화하는 데 사용됩니다.

    얼핏 보면 회사에 가장 매력적인 옵션은 장비에 장애가 발생한 후에도 서비스가 여전히 프로비저닝될 때 연속 가용성 클러스터를 배포하는 것입니다. 실제로 청구 시스템의 운영을 유지하거나 지속적인 생산 프로세스를 자동화해야 하는 경우 지속적인 가용성은 필수입니다. 그러나 이 접근 방식에는 아래에서 다루는 함정과 함정도 있습니다.

    지속적인 가용성

    서비스의 연속성은 이 서비스가 포함된 물리적 또는 가상 머신의 정확한 복사본이 구축되고 언제든지 사용할 수 있는 경우에만 실현 가능합니다. 이러한 중복 모델을 2N이라고 합니다. 장비에 장애가 발생한 후 서버 사본을 만들려면 시간이 걸리고 서비스 시간 초과가 발생했습니다. 또한 이 경우 오류가 발생한 서버에서 RAM 덤프를 검색할 수 없으므로 여기에 포함된 모든 정보가 사라집니다.

    CA를 제공하는 데 사용되는 두 가지 방법은 하드웨어 및 소프트웨어 계층입니다. 각각에 대해 더 자세히 살펴보겠습니다.

    하드웨어 방식은 모든 구성 요소가 복제되고 계산이 동시에 독립적으로 실행되는 이중 서버를 나타냅니다. 동기화는 두 부분에서 나오는 결과를 확인하는 전용 노드를 사용하여 이루어집니다. 노드가 불일치를 감지하면 문제를 정의하고 오류를 수정하려고 시도합니다. 오류를 수정할 수 없는 경우 시스템은 고장난 모듈을 끕니다.

    CA 서버 제조업체인 Stratus는 시스템의 전체 가동 중지 시간이 연간 32초를 초과하지 않도록 보장합니다. 이러한 결과는 특수 장비를 사용하여 얻을 수 있습니다. Stratus 담당자에 따르면 각 동기화 모듈에 대한 이중 CPU가 있는 하나의 CA 서버 비용은 사양에 따라 약 $160,000입니다. 이 경우 전체 CA 클러스터의 확장 가격은 $1,600,000입니다.

    소프트웨어 방법

    기사 작성 시점에 지속적 가용성 클러스터 배포에 가장 널리 사용되는 소프트웨어 도구는 VMware vSphere입니다. 이 제품의 지속적인 가용성 기술을 Fault Tolerance라고 합니다.

    하드웨어 방식과 달리 이 기술에는 다음과 같은 특정 요구 사항이 있습니다.

    • 물리적 호스트의 CPU:\n
      • Intel with Sandy Bridge 아키텍처(또는 그 이상). Avoton은 지원되지 않습니다.
      • AMD Bulldozer(또는 최신 버전).

      제한 및 비호환성의 전체 목록은 공식 문서에서 찾을 수 있습니다.

      vSphere 라이센스는 물리적 CPU를 기반으로 합니다. 가격은 라이선스당 $1750 + 연간 구독 및 지원 $550부터 시작합니다. 클러스터 관리 자동화에는 8000달러가 넘는 VMware vCenter Server도 필요합니다. 2N 모델은 지속적인 가용성을 제공하는 데 사용되므로 가상 머신이 있는 10개의 노드로 클러스터를 구축하려면 각각에 대한 라이센스가 있는 10개의 복제 서버를 구입해야 합니다.

      전체 소프트웨어 비용은 2[서버당 CPU 수]*(10[가상 머신이 있는 노드 수]+10[복제된 노드 수])*(1750+550)[각 CPU당 라이선스 비용]+8000이 됩니다. [VMware vCenter Server 비용]=$100,000. 모든 가격은 반올림됩니다.

      클러스터의 목적에 따라 서버 구성 요소가 항상 다르기 때문에 이 문서에서는 특정 노드 구성에 대해 설명하지 않습니다. 네트워크 장비도 모든 경우에 동일해야 하므로 설명하지 않습니다. 이 문서에서는 확실히 달라지는 구성 요소, 즉 라이선스 비용에 초점을 맞춥니다.

      더 이상 개발 및 지원되지 않는 제품을 언급하는 것도 중요합니다.

      Remus라는 제품은 Xen 가상화를 기반으로 합니다. 마이크로 스냅샷 기술을 활용한 무료 오픈소스 솔루션입니다. 불행하게도 그 문서는 오랫동안 업데이트되지 않았습니다. 설치 가이드는 2014년에 수명 종료가 발표된 Ubuntu 12.10에 대한 지침을 제공합니다. 심지어 Google 검색에서도 운영에 Remus를 사용하는 회사를 찾지 못했습니다.

      이 기술에 지속적인 가용성 클러스터를 구축하기 위해 QEMU를 수정하려는 시도가 있었습니다. 이 방향으로 작업을 발표한 두 개의 프로젝트가 있습니다.

      첫 번째는 Yoshiaki Tamura가 이끄는 오픈 소스 제품인 Kemari입니다. 이 프로젝트는 실시간 QEMU 마이그레이션을 사용하기 위한 것입니다. 마지막 커밋은 2011년 2월에 이루어졌는데, 이는 개발이 교착 상태에 도달하여 계속되지 않을 것임을 시사합니다.

      두 번째 제품은 Michael Hines가 설립한 오픈 소스 프로젝트인 Micro Checkpointing입니다. Kemari 프로젝트와 유사한 작년의 변경 로그에서 활동이 발견되지 않았습니다.

      이러한 사실을 통해 우리는 현재까지 KVM 가상화에 대한 지속적인 가용성의 가능성이 없다는 결론을 내릴 수 있습니다.

      지속적인 가용성 시스템의 모든 이점에도 불구하고 그러한 솔루션을 배포하고 운영하는 과정에는 많은 장애물이 있습니다. 그럼에도 불구하고 경우에 따라 Fault Tolerance가 필요할 수 있지만 지속적으로 사용할 필요는 없습니다. 이러한 시나리오에서는 고가용성으로 클러스터를 사용할 수 있습니다.

      고가용성

      고가용성 클러스터는 하드웨어가 다운되었는지 자동으로 감지하고 이후에 사용 가능한 노드에서 서비스를 시작하여 내결함성을 제공합니다.

      고가용성은 노드에서 시작된 CPU의 동기화를 지원하지 않으며 항상 로컬 디스크 동기화를 허용하지 않습니다. 이를 염두에 두고 네트워크 스토리지와 같은 별도의 독립 스토리지에서 노드가 사용하는 드라이브를 찾는 것이 좋습니다.

      그 이유는 분명합니다. 실패 후 노드에 도달할 수 없고 저장 장치에서 정보를 검색할 수 없습니다. 데이터 스토리지 시스템도 내결함성이 있어야 합니다. 그렇지 않으면 고가용성에 대한 가능성이 없습니다. 결과적으로 고가용성 클러스터는 두 개의 하위 클러스터로 구성됩니다.

      • 가상 머신이 있는 노드로 구성된 컴퓨팅 클러스터\n
      • 컴퓨팅 노드에서 사용되는 디스크가 있는 스토리지 클러스터.\n

      현재 클러스터 노드에서 가상 머신으로 고가용성 클러스터를 구현하는 데 사용되는 다음 솔루션이 있습니다.

      • 하트비트, 버전 1.? DRBD로;
      • 페이스메이커;
      • VMware vSphere;
      • Proxmox VE;
      • XenServer;
      • OpenStack;
      • oVirt;
      • Red Hat Enterprise Virtualization;
      • Hyper-V 서버 역할을 사용하는 Windows Server 장애 조치 클러스터링;\n
      • VMmanager 클라우드.

      VMmanager Cloud에 대해 자세히 살펴보겠습니다.

      VM매니저 클라우드

      VMmanager Cloud는 고가용성 클러스터를 배포할 수 있고 QEMU-KVM 가상화를 사용하는 제품입니다. 이 기술은 적극적으로 개발되고 지원되며 가상 머신에 모든 운영 체제를 설치할 수 있기 때문에 선택되었습니다. 제품은 Corosync를 사용하여 클러스터의 가용성을 감지합니다. 서버 중 하나가 다운되면 VMmanager는 나머지 노드 간에 가상 머신을 하나씩 배포합니다.

      단순화된 형식에서 이 메커니즘은 다음과 같이 작동합니다.

      1. 시스템은 가상 머신 수가 가장 적은 클러스터 노드를 식별합니다.\n
      2. 컴퓨터를 찾기에 충분한 RAM이 있는지 확인합니다.\n
      3. 해당 시스템의 노드에 충분한 메모리가 있는 경우 VMmanager는 이 노드에 새 가상 시스템을 생성합니다.\n
      4. 메모리가 충분하지 않으면 시스템은 더 많은 가상 머신이 있는 다른 노드를 확인합니다.\n

      몇 가지 하드웨어 구성을 테스트하고 많은 현재 VMmanager Cloud 사용자를 조사한 결과 장애가 발생한 노드에서 모든 VM의 작업을 분산 및 복원하는 데 장비 성능에 따라 일반적으로 45-90초가 걸린다는 사실을 확인했습니다.

      긴급 상황에 대한 보호 수단으로 하나 또는 몇 개의 노드를 전용으로 지정하고 일상적인 작업 중에는 이러한 노드에 VM을 배포하지 않는 것이 좋습니다. 실패한 노드에서 가상 머신을 추가하기 위해 라이브 클러스터 노드에서 리소스가 부족할 가능성을 최소화합니다. 하나의 백업 노드만 사용하는 경우 이러한 보안 모델을 N+1이라고 합니다.

      VMmanager Cloud는 파일 시스템, LVM, 네트워크 LVM, iSCSI 및 Ceph[특히 Ceph 구현 중 하나인 RBD(RADOS 블록 장치)]와 같은 스토리지 유형을 지원합니다. 후자의 3개는 고가용성을 위해 사용됩니다.

      10개의 운영 노드와 1개의 백업 노드에 대한 하나의 평생 라이선스 비용은 €3520 또는 현재까지 $3865입니다(라이선스 1개의 비용은 CPU 수에 관계없이 노드당 €320입니다). 라이선스에는 1년 무료 업데이트가 포함됩니다. 2년 차부터는 구독 모델당 업데이트가 전체 클러스터에 대해 연간 €880의 가격으로 제공됩니다.

      VMmanager Cloud가 이미 고가용성 클러스터 배포에 어떻게 사용되었는지 확인해 보겠습니다.

      FirstByte

      FirstByte는 2016년 2월에 클라우드 호스팅을 제공하기 시작했습니다. 처음에는 클러스터가 OpenStack에 구축되었습니다. 그러나 가용성과 비용 측면에서 이 시스템의 전문가가 부족하여 대체 솔루션을 찾게 되었습니다. 고가용성 클러스터 구축을 위한 새로운 시스템은 다음 요구 사항을 충족해야 했습니다.

      1. KVM 가상 머신 배포 기능.
      2. Ceph와 통합.\n
      3. 기존 서비스 제공을 위한 청구 시스템과의 통합.\n
      4. 합리적인 라이선스 비용.\n
      5. 소프트웨어 개발자의 지원.\n

      VMmanager Cloud는 모든 요구 사항을 충족합니다.

      FirstByte 클러스터의 특징:

      • 데이터 전송은 이더넷 기술과 Cisco 장비를 기반으로 합니다.\n
      • 라우팅은 Cisco ASR9001을 사용하여 수행됩니다. 클러스터는 약 50000개의 IPv6 주소를 사용합니다.\n
      • 컴퓨팅 노드와 스위치 간의 링크 속도는 10Gbps입니다.\n
      • 스위치와 스토리지 노드 간의 데이터 전송 속도는 20Gbps이며, 결합된 두 채널은 각각 10Gbps입니다.\n
      • 복제를 위해 스토리지 노드가 있는 랙 간에 별도의 20Gbps 링크가 사용됩니다.\n
      • SSD와 결합된 SAS 디스크는 모든 스토리지 노드에 설치됩니다.\n
      • 스토리지 유형은 RBD입니다.\n

      시스템 레이아웃은 다음과 같습니다.

      이러한 구성은 인기 있는 웹 사이트, 게임 서버 및 평균 이상의 로드가 있는 데이터베이스를 호스팅하는 데 적합합니다.

      퍼스트VDS

      FirstVDS는 2015년 9월에 시작된 내결함성 클러스터의 서비스를 제공합니다.

      다음 요인으로 인해 이 클러스터에 대해 VMmanager Cloud가 선택되었습니다.

      1. ISP 시스템 제어판을 사용한 확실한 경험.\n
      2. 기본적으로 BILLmanager와 통합.\n
      3. 높은 수준의 기술 지원.
      4. Ceph와 통합.\n

      클러스터에는 다음과 같은 기능이 있습니다.

      • 데이터 전송은 연결 속도가 56Gbps인 Infiniband 네트워크를 기반으로 합니다.\n
      • Infiniband 네트워크는 Mellanox 장비에 구축됩니다.
      • 스토리지 노드에는 SSD 드라이브가 있습니다.
      • 스토리지 유형은 RBD입니다.\n

      시스템은 다음과 같은 방식으로 배치할 수 있습니다.

      Infiniband 네트워크 장애가 발생하는 경우 VM 디스크 스토리지와 컴퓨팅 서버 간의 연결은 Juniper 장비에 배포된 이더넷 네트워크를 통해 설정됩니다. 새 연결이 자동으로 설정됩니다.

      스토리지와의 고속 통신으로 인해 이 클러스터는 트래픽이 매우 많은 웹사이트, 비디오 및 콘텐츠 스트리밍은 물론 빅 데이터를 호스팅하는 데 완벽하게 작동합니다.

      결론

      기사의 주요 결과를 요약해 보겠습니다.

      연속 가용성 클러스터는 중단 시간이 1초마다 상당한 손실을 가져올 때 필수입니다. 가상 머신이 백업 노드에 배포되는 동안 5분 동안 가동 중단이 허용되는 경우 고가용성 클러스터는 하드웨어 및 소프트웨어 비용을 줄이는 좋은 옵션이 될 수 있습니다.

      내결함성을 달성하는 유일한 방법은 과잉임을 상기시키는 것도 중요합니다. 서버, 데이터 통신 장비 및 링크, 인터넷 액세스 채널 및 전원을 복제하십시오. 가능한 모든 것을 복제하십시오. 이러한 조치를 통해 전체 시스템의 다운타임을 유발할 수 있는 병목 현상 및 잠재적 장애 지점을 제거할 수 있습니다. 위의 조치를 취함으로써 장애에 강한 내결함성 클러스터가 있는지 확인할 수 있습니다.

      고가용성 모델이 요구 사항에 적합하고 VMmanager Cloud가 이를 실현하는 데 좋은 도구라고 생각한다면 문서를 참조하여 시스템에 대해 자세히 알아보세요. 무고장 및 지속적인 운영을 기원합니다!