2013-01-31 7 views
0

파일 기반 검색 엔진 인 응용 프로그램 (Endeca)이 있습니다. 고객은 Linux 100 서버를 가지고 있으며 모두 동일한 SAN에 연결됩니다 (매우 빠른 파이버 채널). 현재 100 대의 서버 각각은 동일한 파일 세트를 사용합니다. 현재 각 서버에는 색인의 사본이 있습니다 (약 4GB, 총 400GB).SAN에서 디렉터리 복사본을 사용하는 여러 응용 프로그램

내가하고 싶은 것은 하나의 디렉토리와 해당 디렉토리의 100 개의 가상 사본을 갖는 것입니다. 응용 프로그램이 해당 디렉토리의 파일을 변경해야하는 경우에만 원래 폴더의 고유 사본을 작성하기 시작합니다.

내 아이디어는 다음과 같습니다. 모두 100 명이 동일한 디렉토리를 사용하기 시작합니다 (하지만 각자 자신의 복사본이 있다고 생각하며 더 잘 알지 못합니다). 변경 사항이 생기면 Linux/SAN은 잠재적으로 해당 원본과 최대 100 개의 복사본 (현재는 약간 다름)을 갖게됩니다.

이렇게 할 수 있나요?

이 접근법을 연구하는 이유는 파일 전송 시간과 디스크 공간을 줄이는 것입니다. 4 기가 색인 파일을 SAN에 한 번 복사하고 가상 사본을 만들어야합니다. 변경 사항이 없으면 400 대신 4 기가를 사용합니다.

미리 감사드립니다.

답변

0

여기서 가장 좋은 해결책은 SAN 수준에서 "de-dupe"기능을 이용하는 것입니다. 다른 업체는 다르게 호출 할 수 있지만, 이것은 내가에 대해 이야기하고있는 것입니다 :

https://communities.netapp.com/community/netapp-blogs/drdedupe/blog/2010/04/07/how-netapp-deduplication-works--a-primer

모든 100 "가상"복사본은 SAN에 동일한 물리적 디스크 블록을 사용합니다. SAN은 파일의 특정 사본을 변경 한 경우에만 새 블록을 할당해야합니다. 그런 다음이 복사본에 대해 새 블록이 할당되지만 나머지 99 개의 복사본은 이전 블록을 계속 사용하므로 디스크 공간 요구 사항이 크게 줄어 듭니다.

0

어떤 Endeca 버전을 사용하고 있습니까? MDEX7 엔진은 리더 및 팔로워 노드가 모두 동일한 파일 세트에서 읽는 클러스터링 기능을 가지고 있으므로 파일이 공유되는 한 (NAS를 통해 말하면) 동일한 세트로 백업 된 여러 시스템에서 여러 엔진을 실행할 수 있습니다 색인 파일의. 지시선 노드 만 파일을 변경하여 변경 사항을 일관되게 유지할 수 있습니다. 그러면 변경 사항을 "선택"할 준비가되면 클러스터 코디네이터가 추종자 노드에 통지합니다.

MDEX 6 시리즈에서는 인덱스 파일이 읽기 전용 인 경우 비슷한 기능을 제공 할 수 있습니다. V6의 인덱싱은 일반적으로 다른 시스템에서 발생하며 인덱스 파일의 대상 세트는 일반적으로 새 인덱스가 준비되면 교체됩니다. 그러나 부분 업데이트가 필요한 경우에는 도움이되지 않습니다.

Netapp 중복 제거가 흥미로운 것으로 들리지만, Endeca는 기능을 테스트 한 적이 없으므로 어떤 종류의 문제가 발생할지 확신하지 못합니다.