수평으로 확장되는 웹 서버에서 파일 업로드 디렉토리를 공유하는 가장 좋은 방법


9

현재 drupal 기반 웹 응용 프로그램에 대해 수평 확장 가능한 클러스터를 사양하려고합니다. 아래의 다채로운 다이어그램과 같습니다.

로드 밸런서는 고정 세션을 구현하므로 작업 할 서버가 할당되면 사용자는 상태를 유지합니다.

각 앱 서버에는 다음이 있습니다.

  • 정면에 와니스
  • 램프 스택에서 실행되는 중간에 드루팔 6
  • 뒷면에 memcached

두 개의 mysql 데이터베이스 서버는 공유 IP에 있으며 DRBD가있는 HA 클러스터와 청취 비트에 있으므로 하나를 잃어도 전체 플랫폼이 다운되지 않습니다.

여기에 이미지 설명을 입력하십시오

확실하지 않은 몇 가지 사항이 있습니다.

파일 스토리지는 어떻게 수평 확장해야합니까?

NFS를 사용하여 각 앱 서버에 공유 파일 디렉토리를 마운트하려고 생각하므로 한 번에 업로드 된 파일을 모든 파일에서 사용할 수 있습니다. NFS는 오래 전부터 있었기 때문에 생각하고 있으며 MogileFS 또는 GlusterFS에 대한 경험이 없으며 이전에 사용했던 것이므로 더 익숙합니다.

이런 식으로 NFS를 통해 디렉토리를 공유하는 것이 현명한 서버 수를 계산하기 위해 따라야 할 지침이 있습니까?

공유 파일 스토리지에서 HA를 어떻게 제공해야합니까?

여기서 한 가지 문제는 NFS 서버가 단일 장애 지점이라는 것입니다.

우리는 이미 Mysql 서버에서 Heartbeat와 DRBD를 사용하고 있으며 스택에 관련된 기술의 수를 가능한 한 낮게 유지하고 싶습니다. 파일에 동일한 HA 전략을 사용하는 경우의 함정 서버도?

대체 접근법

내부 이니셔티브가 활성화되어있을 때 때때로 짧은 기간 동안 사이트를 매우 집중적으로 사용하는 제한된 수의 사용자가있는 내부 대면 사이트를위한 것입니다. 따라서 이것은 일부 스타트 업처럼 무한대로 확장 할 필요가 없습니다.

을 고려하면

  • 예상 할 수있는 트래픽에는 상한이 있습니다.
  • 파일 서버에 HA를 추가하고 이와 같이 수평으로 확장되도록 설정을 설계하면 상당히 복잡해집니다.

또한 두 웹 서버를 더 강력하게 만들어서 사이의 최대 부하를 처리하고 단일 작업을 설정하거나 cron 작업에서 두 ​​서버를 rsync하는 것을 고려하고 있습니다.

  • 파일이 여전히 동기화 상태에 있습니다 (고정 세션은 파일을 업로드 한 서버와 동일한 서버에서 사용자를 유지합니다)
  • 하나를 잃어 버리면 사이트가 여전히 작동 중임을 의미합니다.

NFS / DRBD HA 복잡성 문제를 해결할 수있는 방법처럼 들립니까?

감사,

답변:


3

NFS 서버는 기본적으로 동일한 기능과 제한 사항 (두 가지 모두 데이터를 쓰는 장소)이 있기 때문에 MySQL 서버와 동일한 프로비저닝을 가져야합니다. NFS에 대한 여러 작성자의 아이디어가 마음에 들지 않아 파일 잠금을 관리하는 것이 매우 복잡해졌으며 그 시점에서 내 경험이 잘 이루어지지 않았습니다.

내 제안은 모든 쓰기를 앱 서버 중 하나 (NFS 서버에 쓰기 전용 앱 서버가 하나 일 수 있음)와 읽기 전용으로 마운트하는 여러 리더 앱 서버에 집중하는 것입니다 (drupal에는 필요한 동적 축소판 그림이 있음을 알고 있습니다 작성해야하지만 RO fs에 최대한 활용할 수 있습니다). HA를 보장하려면 최소한 두 번째 NFS 서버가 필요합니다 (SAN과 같은 공유 스토리지가없는 경우 DRBD를 사용하는 것이 가장 좋습니다).

마지막으로 Gluster 및 기타 분산 시스템을 살펴보십시오.


0

mogileFS를 사용해 볼 수 있습니다. 나는 우리 프로젝트 중 하나를 사용했습니다. 사용 및 구성이 쉽고 확장이 가능하며 단일 장애 지점이 없습니다.

http://danga.com/mogilefs/


0

가장 좋은 방법은 좋은 스토리지 솔루션을 찾는 것입니다. 응용 프로그램의 규모와 유형에 따라 NFS 및 2 개 이상의 기가비트 포트 및 전원 공급 장치 (일부 엔터프라이즈 솔루션 확인)를 지원하여 우수한 NAS를 사용할 수 있습니다.

응용 프로그램에 대해 진지하게 생각하는 경우 가장 좋은 방법은 일부 SAN 솔루션을 확인하는 것이지만 특수 하드웨어가 필요하기 때문에 비용이 많이들 수 있습니다 (선반 하드웨어를 사용하여 수행 할 수는 있지만 너무 느릴 수 있음).

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