복제된 분산 블록 디바이스

Distributed Replicated Block Device
복제된 분산 블록 디바이스
DRBD logo.svg
DRBD concept overview.png
DRBD 개념 개요
원본 작성자필립 라이스너, 라스 엘렌버그
개발자LINBIT HA-솔루션 GmbH, Vienna 및 LINBIT USA LLC, 오리건 주
안정적 해제
9.0.28-1 / 2021년 3월 5일; 13개월(2021-03-05)[1]
릴리스 미리 보기
10.0.0a4 / 2020년 10월 16일; 18개월(2020-10-16)[1]
리포지토리
기록 위치C
운영 체제리눅스
유형분산형 스토리지 시스템
면허증GNU 일반 공용 라이센스 v2
웹사이트www.linbit.com/drbd/

DRBD리눅스 플랫폼용 분산 복제 스토리지 시스템이다.커널 드라이버, 여러 사용자 공간 관리 애플리케이션, 일부 셸 스크립트로 구현된다.DRBD는 전통적으로 HA(고가용성) 컴퓨터 클러스터에서 사용되지만, DRBD 버전 9부터 클라우드 통합에 중점을 두고 더 큰 소프트웨어 정의 스토리지 풀을 생성하는 데도 사용할 수 있다.[2]

DRBD 장치는 논리 볼륨 스키마에서 논리 블록 장치를 가리키는 DRBD 블록 장치다.

DRBD 소프트웨어는 GNU General Public License 버전 2의 조건에 따라 출시된 무료 소프트웨어다.

DRBD는 Lisog 오픈 소스 스택 이니셔티브의 일부다.

운전모드

DRBD 레이어 논리 블록 장치(컨벤션 이름)/dev/drbdX여기서 X는 참여 클러스터 노드의 기존 로컬 블록 장치 위에 있는 장치 부 번호).기본 노드에 대한 쓰기는 하위 레벨 블록 장치로 전송되고 동시에 보조 노드로 전파된다.그런 다음 보조 노드는 해당 하위 수준 블록 장치로 데이터를 전송한다.읽기 밸런싱이 구성되지 않는 한 모든 읽기 I/O는 로컬에서 수행된다.[3]

기본 노드가 실패할 경우, 클러스터 관리 프로세스는 보조 노드를 기본 상태로 승격한다.[4]이러한 전환은 파일 시스템 검사 또는 저널 재생을 통해 DRBD 위에 쌓인 파일 시스템의 무결성에 대한 후속 검증이 필요할 수 있다.실패한 이전 기본 노드가 반환될 때 시스템은 장치 데이터 재동기화 후 다시 이를 기본 수준으로 올릴 수 있다(또는 그렇지 않을 수 있음).DRBD의 동기화 알고리즘은 정전 시 변경된 블록만 디바이스 전체가 아닌 재동기화해야 한다는 점에서 효율적이다.

DRBD는 다른 클러스터 관리 프레임워크와 통합되지만 종종 Peacemaker 또는 Heartbeat 클러스터 리소스 관리자와 함께 배치된다.Xen과 같은 가상화 솔루션과 통합되며, Linux LVM 스택의 아래 및 위에서 모두 사용할 수 있다.[5]

DRBD는 로드 밸런싱 구성을 허용하여 두 노드가 공유 스토리지 의미론을 사용하여 읽기/쓰기 모드에서 특정 DRBD에 액세스할 수 있도록 허용한다.[6]다중 기본(여러 읽기/쓰기 노드) 구성에는 분산 잠금 관리자를 사용해야 한다.

공유 클러스터 스토리지 비교

기존의 컴퓨터 클러스터 시스템은 일반적으로 클러스터 자원이 사용하는 데이터에 대해 일종의 공유 스토리지를 사용한다.이 접근법에는 다음과 같은 여러 단점이 있으며, DRBD는 이를 상쇄하는 데 도움이 될 수 있다.

  • 공유 스토리지 리소스는 일반적으로 읽기 I/O에서 오버헤드를 발생시키는 SAN 또는 네트워크 연결 스토리지 서버를 통해 액세스해야 한다.DRBD에서는 모든 읽기 작업이 로컬에서 수행되므로 오버헤드가 감소한다.[citation needed]
  • 공유 스토리지는 일반적으로 비용이 많이 들고 더 많은 공간(2U 이상)과 전력을 소비한다.DRBD는 두 대의 컴퓨터만으로 HA 설정을 허용한다.
  • 공유 스토리지가 반드시 고가용성인 것은 아니다.예를 들어, 여러 가상화 호스트에 의해 액세스되는 단일 스토리지 영역 네트워크는 공유 스토리지로 간주되지만 스토리지 수준에서는 가용성이 높은 것으로 간주되지 않는다. 단일 스토리지 영역 네트워크가 실패할 경우 클러스터 내의 호스트 중 어느 것도 공유 스토리지에 액세스할 수 없다.DRBD는 공유 스토리지와 고가용성 스토리지 대상을 모두 허용한다.

단점은 다른 노드를 통해 쓰기를 라우팅하는 것보다 공유 저장 장치에 직접 쓰는 데 필요한 시간이 적다는 것이다.

RAID-1과 비교

DRBD는 RAID-1과 표면적으로 유사하며, 두 개의 스토리지 디바이스에 대한 데이터 복사를 포함하므로, 한 디바이스가 고장 나면 다른 디바이스의 데이터를 사용할 수 있다.그러나, 그것은 RAID나 심지어 네트워크 RAID와는 매우 다른 방식으로 작동한다.

RAID에서 중복성은 스토리지를 사용하는 애플리케이션에 대해 투명한 계층에 존재한다.저장 장치가 두 개 있지만, 응용 프로그램의 인스턴스는 한 개뿐이고 응용 프로그램은 여러 개의 복사본을 인식하지 못한다.애플리케이션이 읽히면 RAID 계층은 읽을 스토리지 디바이스를 선택한다.스토리지 디바이스에 장애가 발생하면 RAID 계층은 애플리케이션 인스턴스가 장애를 알지 못하는 상태에서 다른 디바이스를 읽도록 선택한다.

이와는 대조적으로 DRBD와 함께 애플리케이션 인스턴스가 두 개 있으며 각각 두 개의 스토리지 장치 중 하나에서만 읽을 수 있다.하나의 저장 장치가 고장 나면 해당 장치에 연결된 응용 프로그램 인스턴스는 더 이상 데이터를 읽을 수 없다.따라서 그 경우, 그 애플리케이션 인스턴스가 종료되고 나머지 데이터 복사본에 연결된 다른 애플리케이션 인스턴스가 그 역할을 대신하게 된다.

반대로 RAID에서는 단일 애플리케이션 인스턴스가 실패하면 두 스토리지 디바이스에 대한 정보를 효과적으로 사용할 수 없지만 DRBD에서는 다른 애플리케이션 인스턴스가 대신할 수 있다.

적용들

Linux 커널의 블록 계층 내에서 작동하는 DRBD는 기본적으로 워크로드에 구애받지 않는다.DRBD는 다음에 대한 기준으로 사용할 수 있다.

DRBD 기반 클러스터는 파일 서버, 관계형 데이터베이스(예: MySQL) 및 기타 많은 워크로드에 동기식 복제 및 고가용성을 추가하기 위해 사용되는 경우가 많다.

Linux 커널에 포함

DRBD의 저자들은 원래 2007년 7월에 리눅스 커널 커뮤니티에 이 소프트웨어를 제출했는데, 리눅스 커널의 정식 버전인 kernel.org에 포함될 가능성이 있다.[9]리누스 토발즈는 장시간의 검토와 여러 논의를 거쳐 공식 리눅스 커널의 일부로 DRBD를 보유하기로 합의했다.DRBD는 2009년 12월 8일 Linux 커널 버전 2.6.33의 "메르주 창" 동안 병합되었다.

참고 항목

참조

  1. ^ a b "Releases · LINBIT/drbd". github.com. Retrieved 2021-04-04.
  2. ^ "DRBD for your Cloud". www.drbd.org. Retrieved 2016-12-05.
  3. ^ "18.4. Achieving better Read Performance via increased Redundancy - DRBD Users Guide (9.0)". www.drbd.org. Retrieved 2016-12-05.
  4. ^ "Chapter 8. Integrating DRBD with Pacemaker clusters - DRBD Users Guide (9.0)". www.drbd.org. Retrieved 2016-12-05.
  5. ^ LINBIT. "The DRBD User's Guide". Retrieved 2011-11-28.
  6. ^ Reisner, Philipp (2005-10-11). "DRBD v8 - Replicated Storage with Shared Disk Semantics" (PDF). Proceedings of the 12th International Linux System Technology Conference. Hamburg, Germany.
  7. ^ "User Guides » LINBIT".
  8. ^ "Archived copy". Archived from the original on 2013-03-08. Retrieved 2013-03-21.{{cite web}}: CS1 maint: 타이틀로 보관된 사본(링크)
  9. ^ Ellenberg, Lars (2007-07-21). "DRBD wants to go mainline". linux-kernel (Mailing list). Retrieved 2007-08-03.

외부 링크