고 가용성 가상화 환경을위한 설정


9

프로젝트의 경우 웹 상점 및 CMS 시스템에 대한 고 가용성 설정을 계획해야합니다. 그러나 물론 프로젝트는 예산이 적습니다. 따라서 최고급 솔루션이 예산에 맞지 않을 수 있습니다.

웹 서버 (CMS, 상점)를 실행하는 두 대의 시스템, 데이터베이스를 실행하는 한 대의 시스템 및 파트너에게 주문을 전달하는 데 필요한 팩스 서버를 실행하는 한 대의 시스템이 있습니다. 모든 시스템은 Linux를 실행합니다. 이러한 모든 구성 요소는 가용성이 높아야하며 투명한 장애 조치를 지원해야합니다.

하드웨어 비용을 줄이기 위해 가상화 된 환경에 대해 생각합니다. 거기에 많은 정보가 있지만, 정확히 시작해야할지 모르겠습니다. 가상 머신의 호스트로 최소한 서버가 필요하므로 단일 장애 지점이없는 것이 분명합니다.

고 가용성을 지원하는 가장 좋은 방법은 무엇입니까?

첫 번째 질문은이 상황에서 가장 적합한 가상화 솔루션입니다. 일종의 관리 인터페이스가 필요합니다. 실행중인 가상 머신을 한 호스트에서 다른 호스트로 이동하는 방법이 필요하므로 호스트 유지 보수를 수행 할 수 있습니다. 하나의 호스트에 장애가 발생하더라도 가상 머신을 계속 사용할 수 있도록 일종의 메커니즘이 필요합니다. 유효한 솔루션에 대한 조언이 있습니까?

대부분의 경우 공유 파일 스토리지는 고 가용성의 전제 조건으로 보입니다 (VMware vSphere는 다소 비쌉니다). 그러나 중복 NFS 파일 저장소를 제공하기 위해 설정에 다른 두 개의 서버를 추가하는 것보다 가상 머신 호스트에 더 많은 돈을 투자 할 것입니다. 두 개의 가상 머신 호스트 만 사용할 수 있습니까? 해결책은이 두 가지를 NFS 호스트로 사용하는 것일 수도 있습니다. 이를 수행하기 위해 성능 저하가 많이 있습니까?

편집 : 99,9 %의 가용성을 목표로합니다. 그러나 정규 업무 시간이 있기 때문에 24/7 가용성이 필요하지 않으므로 조작하기에 약간의 공간이 필요합니다. 어떤 식 으로든 보장되어야하는 가용성 기간은 오전 10시에서 자정 사이입니다.


2
'고 가용성'은 어떻게 '높음'입니까? 1-9 또는 6-9의 가용성 또는 그 사이의 어딘가에서 촬영합니까? 구체적인 요구 사항이 제정 될 때까지 원하는 예산으로 원하는 것을 달성 할 수 있는지 여부를 말하기는 불가능합니다.
21:09에

그래, 너가 맞아. 99,9 %의 가용성을 목표로합니다.
spa

"99.9 %"는 우리가 던지는 문구가 아닙니다. 8.8에 대한 시간 다운 타임이 동일시 . 따라서 예산이 부족한 상황에서 방대한 시스템 범위에서 벗어날 수 있습니다. 예산이 제한되어있는 경우 해당 수준의 가용성을 지원할 여유가 있습니까?
Rob Moir

1
@RobMoir-답변에 설명 된 기준을 충족하면 8 시간 동안 해결할 수 없었던 많은 문제가 없으며 예산은 여전히 ​​작을 수 있다고 주장합니다. 고급 경고, 시간 외 시간, 예정된 가동 중지 시간이 SLA (24/7 이외의 소프트웨어의 경우)에는 포함되지 않습니다.
Mark Henderson

@MarkHenderson 나는 당신이 옳다는 것을 알고 있습니다. 단지 그 과정에 약간의 생각과 계획이 필요하고 "그냥"일어나지 않을 것이라고 말하고 있습니다. 예를 들어, 우체국에 7 시간의 '창'을 잃고 싶지 않거나, 좋아하는 공급 업체가 그 날에 일반적으로 재고가있는 사소한 케이블에 재고가없는 것을 선택한 경우) .
Rob Moir

답변:


13

일반적인 개요로 고 가용성을 달성하려면 다음이 필요합니다.

  1. 여러 서버
  2. 여러 개의 데이터 사본
  3. 여러 서버간에 액세스 할 수있는 일관된 데이터
  4. 대기 서버에서 두 번째 인스턴스를 자동으로 부팅하는 방법

번호 1은 들리는 것처럼 간단합니다. 두 개의 동일한 서버를 구입하십시오.

2 번은 복제 SAN (고가, 매우 빠름, 매우 안정적인) 또는 각 서버의 복제 된 파일 시스템 (선택한 기술에 대한 지식에 따라 저렴한 속도, 속도 및 안정성)에 의해 달성 될 수 있습니다.

SAN (하나의 스토리지 LUN, 두 개의 서버에서 액세스) 또는 복제 된 파일 시스템 (두 개의 별도 스토리지 영역, 각 서버는 자체 서버 만 볼 수 있음)을 통해 3 번을 달성 할 수 있습니다.

하트 비트 응용 프로그램으로 숫자 4를 얻을 수 있습니다.

적은 예산으로이 작업을 수행하기 위해 VMWare vSphere를 가정 해 보겠습니다. 이제 SAN 또는 VMWare를 사용하여 고 가용성에 사용할 수있는 두 개의 서버에 두 개의 고유 한 데이터 저장소를 제공하는 자체 복제 스토리지 어플라이언스 를 제공 할 수 있습니다. vSphere는 또한 내장 된 하트 비트 및 고 가용성 구성을 제공합니다.

이 작업을 수행하기 위해 어떤 예산, 당신은 젠의 길을 가고, 두 노드 사이의 저장을 복제 DRBD를 사용할 수 있습니다. 그런 다음 하트 비트를 설정하여 활성 DRBD 스토리지 노드와 Xen 인스턴스를 전환하여 첫 번째 호스트가 다운 될 때 두 번째 호스트에서 VM을 부팅합니다.

이러한 기본 권장 사항을 사용하면 5 나인 (99.999 %)의 가동 시간을 얻지 못하지만 수행중인 작업을 알고 있으면 가장 저렴한 방법을 사용하여 3 나인 (99.9 %)을 쉽게 얻을 수 있습니다 .


9

공유 스토리지에 대해 논의 할 때 "이 비용은 얼마나 구매할 것인가"라는 관점에서 "비용"에 대해 이야기합니다. 그것은 물론 완전히 유효한 시점이며, 돈이 어디에나 있습니다 .

그러나 고 가용성에 대해 이야기하는 경우 " 고 가용성을 원하는 이유 는 무엇입니까?" 예를 들어 "비즈니스가 온라인 판매에서 시간당 $ 2000 이상을 돌고 있기 때문에 한 시간 동안 중단하면 $ 2000를 잃었습니다"라는 비용과 경제성 문제는 "우리가 할 수 있을까요?" 여유가 되지 활성화하거나 크게 우리의 고 가용성 배포를 향상 뭔가를 구입 하는가? "

이것은 중요한 세부 사항이며 예산에 대한 귀하의 의견에 귀를 기울입니다. IT '꼬리'는 작은 문제에 대해 지나치게 복잡하고 비싼 솔루션을 주장함으로써 비즈니스 '개'를 흔드는 것이 아니라 동시에 비즈니스가 IT 인프라의 특정 요구 사항을 충족하려면 예산을 적절히 책정하거나 요구 사항을 조정할 수 있도록 준비해야합니다.

가상화는 시스템의 가용성을 향상시키는 데 많은 잠재력을 가지고 있지만 마술 지팡이는 아닙니다. 하드웨어 측면은 중요하지만 소프트웨어 요구 사항에 매우 부수적입니다. 프론트 엔드 응용 프로그램과 통신하는 경우 SQL 서버 중 하나가 충돌하는 경우 아무런 문제없이 SQL 데이터베이스 클러스터가 떨어지는 것은 좋지 않습니다. 장애 조치를 처리 할 수 ​​없기 때문에 데이터베이스에 질식합니다.

그리고 데이터 센터에서 서로 옆에 앉아있는 두 개의 "고 가용성"서버는 여전히 정전, 도난 등에 취약합니다. " 우리가 이것을 하는가?" 에 대한 답변에 따라이 측면을 상당히 고려해야 할 수도 있습니다 프로젝트의 일부에 비용과 복잡성을 추가 할 수 있으므로주의해서 사용하십시오.


3
...no good having a SQL database cluster that falls over with no trouble in the event of one of the SQL servers crashing if the front-end application that talks to the database chokes because it can't handle the failover.-나는 이것을 충분히 강조 할 수 없었다. 우리는 대규모 SAN에서 HA SQL Server 클러스터를 구현 한 클라이언트를 보유하고 있었으며 하루가 끝날 무렵 통신 중단을 처리 할 수 ​​없었기 때문에 장애 조치의 경우 소프트웨어를 다시 시작해야했습니다. SQL Mirror와 NLB가 충분했을 때 쓸모없는 값 비싼 연습이었습니다.
Mark Henderson

우리 둘 다 오래된 프로젝트에서 비슷한 흉터를
앓은

@MarkHenderson 왜 통신이 끊어 졌습니까 (SAN 또는 네트워크 중 어느 것)?
Nils

5

어떤 DB 및 응용 프로그램 서버를 사용하는지 모르면 다음을 권장합니다.

  • VM에 대해 PV 모드에서 XEN> 3.2를 사용하십시오 (개인적으로 선호하는 것). 구획 또는 기타 가벼운 가상화 솔루션도 적합 할 수 있습니다 (OpenVZ의 이름은 하나임).
  • 각 물리적 노드에서 4 개의 VM 머신 구축
  • SAS 3,5 "디스크와 함께 로컬 RAID 5를 사용하십시오-가능한 많은 디스크를 로컬로 사용하십시오 (5가 좋습니다)
  • 15k RPM 디스크 사용 (DB에 필요)
  • DRBD 및 OCFS2를 사용하여 저렴한 "공유"스토리지를 제공하고이 연결에 빠르고 안전하며 안정적인 로컬 네트워크를 사용하십시오 (본딩 다이렉트 인터커넥트는 매우 빠르고 훌륭합니다).
  • 응용 프로그램 수준에서 HA 수행
  • 머신 쌍간에로드 밸런싱을 사용하므로 8 개의 머신에서 동시 작업을 수행 할 수 있습니다.

HA 예 :

  • 응용 프로그램 서버 : 클러스터 된 활성 / 활성 모드에서 Tomcat 사용
  • LVS : lv의 동시 슬레이브 및 마스터 복제 사용
  • Oracle-DB : RAC 사용 (OpenSource DB에 동등한 솔루션이 있는지 모르겠습니다)

응용 프로그램 계층에서 HA를 수행하는 경우 해당 계층은 세션 복제 방법을 가장 잘 알고 있습니다. 한 노드가 다운 (계획되거나 계획되지 않은)되면 세션을 포함하여 남아있는 노드가 인계받습니다.


"Oracle-DB : Use RAC"-Standard Edition은 OCFS2에 라이센스가 없거나 지원되지 않습니다. 그 외에는 매우 유익한 답변입니다.
kubanczyk

@kubanczyk Oracle-RAC는 ocfs2 이상입니다. 그러나 ocfs2는 무료입니다. 따라서 언제든지 원할 때 사용할 수 있습니다.
Nils

2

왜 자신의 호스트를 사고 싶습니까? 필요한 인프라를 제공 할 BlueLock 또는 Terremark 와 같은 Enterprise Cloud / IaaS 제공 업체를 찾으십시오 . vSphere HA (서비스 HA보다 다운 타임 감소와 유사하지만 비용 효율적인 솔루션 임), 방화벽, LTM / SSL 오프로더, SAN (중복 선반 포함), 모니터링 / 알림 등과 같은 서비스를 제공합니다. 여기에서 소비자 클라우드 솔루션에 대해 이야기하므로 가치를 지불 할 준비를하십시오.


그래, 너가 맞아. 그러나 설정에는 팩스 전송을위한 사용자 지정 하드웨어와 같은 것이 포함됩니다. 따라서 클라우드 솔루션은 슬프게도하지 않습니다.
spa

@spa, 물리적 환경, 나머지는 가상 환경 및 VLAN에 브리지로 커스텀 하드웨어를 프로비저닝 할 수 있습니다.
HTTP500

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.