몇 대의 서버에서 미러링 된 파일 시스템


13

일부 Linux 서버에서 하나의 디렉토리 (또는 하나의 파일 시스템)를 미러링하거나 복제하는 솔루션을 찾고 있습니다. 이상적인 솔루션은 모든 서버가 읽기 / 쓰기 액세스를 허용하는 것입니다. 또한 서버 중 하나가 다운되면 데이터가 전혀 손실되지 않고 나머지는 여전히 작동해야합니다.

몇 가지 해결책을 찾고 있습니다.

  • DRBD : 블록 수준 복제.
  • lsyncd : 매우 단순 해 보이지만 성능에 대해서는 의구심이 있습니다.
  • GlusterFS : 복제 모드가 정확히 어떻게 작동하는지 아직 파악하지 못한 것 같습니다. 필요한 특성이 있습니까?

다른 제안은 환영합니다.


비공유 설정을보고 있습니까? 아니면 모든 서버를 동일한 백엔드 SAN에 연결 하시겠습니까?
HampusLi

논리적으로는 아무 것도 공유하지 않습니다 (물리적으로 EBS와 EC2 임).
vartec

답변:


6

첫 번째 질문은 두 대 이상의 서버로 복제 하시겠습니까? 두 대의 서버에서는 DRDB를 사용하고 세 대 이상에서는 글루 스터를 사용합니다.

I / O 대기 시간이 중요한 문제가 아니라면 글 러스터를 사용할 것입니다. 설정이 매우 쉽고 필요한 작업을 명확하게 수행 할 수 있습니다. 세 상자 모두에서 파일을 제공하는 Gluster 서버를 만든 다음 각 상자가 파일을 마운트하는 Gluster 클라이언트 역할을 수행하기 만하면됩니다.

DRDB는 3 개 이상의 서버가있는 마스터 <-> 마스터 모드에서 작업하기가 복잡해질 것입니다. 링 기반 설정을 구성해야하며 권장하지 않습니다. 그러나 두 서버에서 DRDB는 환상적입니다. 마스터 <-> 마스터 모드는 설정이 복잡하지 않으며 파일 시스템에 대해 배울 필요가 없습니다.

lsycd는 마스터 / 슬레이브 설정에 적합하지만 원하는 것은 아닙니다.

Ceph는 여전히 꽤 새롭습니다. 마지막으로 확인했을 때 아직 fsck 지원이 없었습니다. 오히려 안정적인 인프라를 기반으로 인프라를 구축하고 싶습니다.

Luster는 대규모 배포를위한 환상적인 제품이지만 mds 서버에 대해 하트 비트 및 페일 오버를 설정해야합니다. 그렇지 않으면 단일 장애 지점이 발생합니다. 그는 제한된 수의 서버를 감안할 때이 경우 과도한 사용이 의심됩니다.


처음에는 클러스터 당 2 대의 서버로 시작하지만 수평 확장을 위해 서버를 2 대 이상 보유 할 수있는 옵션이 필요합니다. 설명하는 Gluster 설정이 서버 충돌 중 하나를 처리합니까? 추가 서버를 쉽게 추가 할 수 있습니까?
vartec

2

방법에 대한 Ceph 또는 광택 ?


Luster는 Ubuntu Server를 지원합니까? Ceph를 지금 확인하고 있습니다. 제안 해 주셔서 감사합니다.
vartec

ceph wiki에서 : "Ceph는 개발 중이며 아직 벤치마킹 및 검토 이외의 용도로는 적합하지 않습니다." ceph.newdream.net/wiki
Jeff Busby

2

당신은 조사해야 에서 OpenAFS 는 클러스터에 분산 존재하는 데이터의 여러 사본을 허용 주로 분산 파일 시스템의 모두가 동시에 /를 FS에 대한 쓰기를 읽을 수 있습니다 -.

다른 유용한 기능들도 있습니다 (좋은 인증, 유선 암호화, 클라이언트의 내장 로컬 캐싱, 기본 윈도우 클라이언트, 많은 버전의 유닉스 버전에서 이식 가능 등).

그래도 설정하기가 다소 힘듭니다.


NFS와 같은 질문 : "여러 복사본 허용". 알았지 만 실제로 이러한 복사본을 동기화합니까?
vartec

네. 그리고 성가신 일이지만 주 마스터를 잃지 않고 회복하는 것이 가능합니다. 그러나 여러 개의 작성자와 결과 블록을 여러 호스트에 저장하는 것은 쉽지 않습니다.
chris

OpenAFS를 이해하는 열쇠는 캐시 관리 시스템이라는 것입니다. 네임 스페이스는 하나 (IE에는 하나의 "파일"만 존재)가 있지만 모든 곳에 파일의 캐시 된 사본과 모든 캐시 된 사본의 일관성을 유지하는 프로토콜이 있습니다. . 마스터를 잃어버린 경우 캐시 된 사본 중 하나를 마스터로 전환 할 수 있지만 해당 상황에있는 것은 이상적이지 않습니다.
chris

1

필요에 따라 NFS도 제대로 작동 할 수 있습니다.


AFAIK, NFS는 복제 서버를 마운트하는 방법을 제공하지 않지만 복제 자체는 마운트하지 않습니다. 그러나 오랫동안 NFS를 사용하지 않았으므로 변경되었을 수 있습니다. 이러한 설정을 설명하는 NFS 문서에 연결할 수 있습니까?
vartec

내 머리 꼭대기에서 벗어나는 방법은 여러 개의 nfs 서버에 디렉토리를 복제하고 그 중 하나는 기본 vip가 있고 vip가 다운되면 서버에서 vip를 마이그레이션하는 것입니다. 또는 라운드 로빈 dns 일 수도 있습니다. NFS 자체는 필요한 모든 것을 수행하지는 않지만 하트 비트 또는 Red Hat Cluster 서비스와 함께 필요한 것이 될 수 있습니다. 원래 질문에 모든 요구 사항이 있는지 확실하지 않습니다. 정말 빠르고 쉬운 솔루션을 위해 매 시간마다 많은 서버에서 rsync를 수행 할 수도 있습니다.
lsd

rsync에 대한 부분을 건너 뜁니다. 복제를 수행하지만 주로 읽기 전용 설정을위한 것이며 요구 사항에 맞지 않습니다. 나는 위의 의견을 편집하려고했지만 나에게 도움이되지 않았습니다.
lsd

1

이것을 DRBD와 함께 사용하는 것은 정말 어려울 것입니다-문제는 n8whnp가 다중 경로 복제와 관련된 문제를 생각하는 것처럼 보이지는 않지만 (모든 노드를 미러 세트로 묶습니다) 동시성 제어입니다-당신은 d DRBD 위에서 미러링 위에서 클러스터 파일 시스템을 실행해야합니다.

동시성 제어를위한 실질적인 솔루션이 없기 때문에 lsyncd는 더욱 악화됩니다.

성숙하고 안정적인 개방형 솔루션으로 AFS 유형 솔루션 (AFS, OpenAFS)을 권장합니다. 오라클이 종료 한 이후로 광택이 없어졌습니다. glusterfs에 지나치게 익숙하지는 않지만 복제 된 스토리지가 아닌 분산 된 스토리지에 의존하기 때문에 분할 브레인 작업에서 어떻게 작동하는지에 대해 오랫동안 열심히 살펴 보는 것이 좋습니다 (AFS OTOH는 연결이 끊긴 모드에서 작동하도록 설계되었습니다).

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