클러스터 파일 시스템

Clustered file system

클러스터 파일 시스템은 여러 서버에 동시에 마운트되어 공유되는 파일 시스템입니다.클러스터링에는 몇 가지 방법이 있으며, 대부분은 클러스터된 파일 시스템을 사용하지 않습니다(각 노드에 직접 연결된 스토리지만 사용).클러스터된 파일 시스템은 위치에 구애받지 않는 주소 지정 및 용장성과 같은 기능을 제공하여 안정성을 향상시키거나 클러스터의 다른 부분의 복잡성을 줄일 수 있습니다.병렬 파일 시스템은 데이터를 여러 스토리지 노드에 분산하는 클러스터 파일 시스템의 한 유형으로, 일반적으로 이중화 또는 성능을 [1]위해 사용됩니다.

공유 디스크 파일 시스템

공유 디스크 파일 시스템은 스토리지 영역 네트워크(SAN)를 사용하여 여러 컴퓨터가 블록 수준에서 직접 디스크에 액세스할 수 있도록 합니다.애플리케이션이 사용하는 파일 레벨 조작에서 SAN에서 사용하는 블록 레벨 조작으로 액세스 제어 및 변환은 클라이언트 노드에서 수행해야 합니다.클러스터화된 파일 시스템의 가장 일반적인 유형인 공유 디스크 파일 시스템은 동시성 제어 메커니즘을 추가하여 파일 시스템의 일관되고 시리얼 가능한 뷰를 제공하여 여러 클라이언트가 동시에 동일한 파일에 액세스하려고 해도 손상 및 의도하지 않은 데이터 손실을 방지합니다.공유 디스크 파일 시스템은 일반적으로 노드 장애 시 데이터 손상을 방지하기 위해 일종의 펜싱 메커니즘을 사용합니다. 왜냐하면 펜싱되지 않은 장치가 자매 노드와의 통신을 끊고 다른 노드가 액세스하는 것과 동일한 정보에 액세스하려고 하면 데이터가 손상될 수 있기 때문입니다.

기본 스토리지 영역 네트워크에서는 SCSI, iSCSI, HyperSCSI, ATA over Ethernet(AoE), 파이버 채널, 네트워크 블록 디바이스, InfiniBand다양한 블록 레벨 프로토콜을 사용할 수 있습니다.

공유 Disk 파일 시스템에는 다양한 아키텍처 접근 방식이 있습니다.일부 서버는 클러스터 내의 모든 서버에 파일 정보를 배포합니다(완전 배포).[2]

분산 파일 시스템

분산 파일 시스템은 동일한 스토리지에 대한 블록 수준 액세스를 공유하지 않고 네트워크 [3][4]프로토콜을 사용합니다.이러한 파일 시스템은 [5]네트워크를 사용하여 데이터를 전송하는 유일한 파일 시스템은 아니지만 일반적으로 네트워크 파일 시스템이라고 합니다.분산 파일 시스템은 프로토콜 설계 방법에 따라 서버와 클라이언트 모두의 액세스 목록 또는 기능따라 파일 시스템에 대한 액세스를 제한할 수 있습니다.

분산 파일 시스템과 분산 데이터 저장소의 차이점은 분산 파일 시스템에서 로컬 파일과 동일한 인터페이스 및 의미론을 사용하여 파일에 액세스할 수 있다는 것입니다. 예를 들어 마운트/언마운트, 디렉토리 목록 표시, 바이트 경계에서의 읽기/쓰기, 시스템 기본 권한 모델 등이 있습니다.반면 분산형 데이터 저장소에는 다른 API 또는 라이브러리를 사용해야 하며 다른 의미론(대부분 데이터베이스의 [6]의미론)을 가집니다.

설계 목표

분산 파일 시스템은 여러 가지 측면에서 "투명성"을 목표로 할 수 있습니다.즉, 로컬 파일 시스템과 유사한 시스템을 "확인"하는 클라이언트 프로그램에 "보이지 않는" 것을 목표로 합니다.백그라운드에서 분산 파일 시스템은 파일 검색, 데이터 전송 및 아래에 나열된 다른 기능을 제공할 수 있습니다.

  • 액세스 투과성: 클라이언트는 파일이 배포된 사실을 인식하지 못하고 로컬 파일에 액세스하는 것과 동일한 방법으로 파일에 액세스할 수 있습니다.
  • 위치 투과성: 로컬 및 원격 파일을 포함하는 일관된 네임스페이스가 존재합니다.파일 이름은 위치를 제공하지 않습니다.
  • 동시 투과성: 모든 클라이언트는 파일 시스템 상태를 동일하게 볼 수 있습니다.즉, 한 프로세스가 파일을 수정하는 경우 파일에 액세스하는 동일한 시스템 또는 원격 시스템 상의 다른 모든 프로세스가 일관된 방식으로 수정 내용을 볼 수 있습니다.
  • 장애 투과성: 서버 장애 후 클라이언트 및 클라이언트 프로그램이 올바르게 동작해야 합니다.
  • 이종성: 파일 서비스는 서로 다른 하드웨어 및 운영체제 플랫폼 간에 제공되어야 합니다.
  • 확장성: 파일 시스템은 소규모 환경(1대, 12대)에서 잘 작동하고 대규모 환경(수백에서 수만 대의 시스템)에서도 원활하게 확장 가능해야 합니다.
  • 레플리케이션의 투과성: 클라이언트는 확장성을 지원하기 위해 여러 서버에서 실행되는 파일 복제를 인식할 필요가 없습니다.
  • 이행의 투명성: 파일을 클라이언트 모르게 다른 서버 간에 이동할 수 있어야 합니다.

역사

1960년대에 Compatible Timesharing System은 컴퓨터 간 파일 시스템 액세스에 가상 디바이스를 사용했습니다.1970년대에는 더 많은 파일 서버가 개발되었습니다.1976년 Digital Equipment Corporation은 DECnet Phase II의 일부로서 Data Access Protocol의 구현인 File Access Listener(FAL)를 개발하여 널리 사용되는 최초의 네트워크 파일 시스템이 되었습니다.1985년 Sun Microsystems는 "Network File System"(NFS)이라고 불리는 파일 시스템을 만들어 널리 사용되는 최초의 인터넷 프로토콜 기반 네트워크 파일 [4]시스템이 되었습니다.그 밖에 주목할 만한 네트워크 파일시스템으로는 Andrew File System(AFS), Apple Filing Protocol(AFP), NetWare Core Protocol(NCP) 및 Server Message Block(SMB)이 있습니다.이것은 Common Internet File System(CIFS)이라고도 불립니다.

1986년 IBM은 CICS를 실행하는 System/36, System/38 및 IBM 메인프레임 컴퓨터를 위한 클라이언트 및 서버 DDM(Distributed Data Management Architecture) 지원을 발표했습니다.그 뒤를 이어 IBM Personal Computer, AS/400, MVS VSE 운영 체제의 IBM 메인프레임 컴퓨터, FlexOS지원되었습니다.또한 DDM은 DRDA라고도 하는 분산 관계형 데이터베이스 아키텍처의 기반이 되었습니다.

클라우드 또는 클로즈드 소스 클러스터 파일 시스템용 오픈 소스 분산 파일 시스템에는 9P, AFS, Coda, CIFS/SMB, DCE/DFS, WekaFS, Lustre, PanFS, Google File System, Mnet, Code 프로젝트와 같은 많은 피어피어 네트워크 프로토콜이 있습니다.

네트워크 접속 스토리지

NAS(Network Attached Storage)는 스토리지 영역 네트워크(SAN) 위에 공유 디스크 파일 시스템과 같은 스토리지와 파일 시스템을 모두 제공합니다.NAS는 일반적으로 NFS(유닉스 시스템에서 인기 있음), SMB/CIFS(서버 메시지 블록/공통 인터넷 파일 시스템)(MS Windows 시스템에서 사용됨), AFP(Apple Macintosh 컴퓨터에서 사용됨), NCP(OESNovellware에서 사용됨)와 같은 파일 기반 프로토콜을 사용합니다.

설계에 관한 고려 사항

단일 장애점 회피

클러스터의 디스크 하드웨어 또는 특정 스토리지 노드에 장애가 발생하면 단일 장애 지점이 생성되어 데이터 손실 또는 사용 불가능이 발생할 수 있습니다.폴트 톨러런스와 고가용성(HA)은 여러 종류의 데이터 복제를 통해 제공할 수 있기 때문에 단일 기기에 장애가 발생하더라도 데이터를 그대로 사용할 수 있습니다.예를 들어 분산 Fault Tolerance 파일 시스템 및 분산 병렬 Fault Tolerance 파일 시스템 목록을 참조하십시오.

성능

클러스터된 파일 시스템의 일반적인 성능 측정은 서비스 요청을 충족하는 데 필요한 시간입니다.기존 시스템에서는 이 시간이 디스크 액세스 시간과 소량의 CPU 처리 시간으로 구성됩니다.그러나 클러스터된 파일 시스템에서는 분산 구조로 인해 원격 액세스에 추가적인 오버헤드가 발생합니다.여기에는 서버에 요청을 전달하는 시간, 클라이언트에 응답을 전달하는 시간 및 각 방향의 통신 프로토콜 소프트웨어를 실행하는 CPU 오버헤드가 포함됩니다.

동시성

여러 명의 사용자 또는 클라이언트가 동일한 파일 또는 블록에 액세스하여 해당 파일을 업데이트하려는 경우 동시성 제어가 문제가 됩니다.따라서 한 클라이언트에서 파일을 업데이트해도 다른 클라이언트로부터의 액세스 및 업데이트를 방해하지 않습니다.이 문제는 파일 시스템에서 서로 다른 라이터가 파일의 [7]겹치는 영역에 동시에 쓰기 때문에 더 복잡합니다.이 문제는 일반적으로 파일 시스템에 내장되거나 추가 프로토콜에 의해 제공되는 동시성 제어 또는 잠금으로 처리됩니다.

역사

1970년대 IBM 메인프레임은 각 기계가 드라이브의 제어 장치에 대한 자체 채널 연결을 가지고 있다면 물리적 디스크와 파일 시스템을 공유할 수 있었습니다.1980년대에 Digital Equipment Corporation의 TOPS-20OpenVMS 클러스터(VAX/ALPA/IA64)에는 공유 디스크 파일 [8]시스템이 포함되어 있었습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Saify, Amina; Kochhar, Garima; Hsieh, Jenwei; Celebioglu, Onur (May 2005). "Enhancing High-Performance Computing Clusters with Parallel File Systems" (PDF). Dell Power Solutions. Dell Inc. Retrieved 6 March 2019.
  2. ^ Mokadem, Riad; Litwin, Witold; Schwarz, Thomas (2006). "Disk Backup Through Algebraic Signatures in Scalable Distributed Data Structures" (PDF). DEXA 2006 Springer. Retrieved 8 June 2006.
  3. ^ Silberschatz, Abraham; Galvin, Peter; Gagne, Greg (2009). "Operating System Concepts, 8th Edition" (PDF). University of Babylon. John Wiley & Sons, Inc. pp. 705–725. Retrieved 4 March 2019.
  4. ^ a b Arpaci-Dusseau, Remzi H.; Arpaci-Dusseau, Andrea C. (2014), Sun's Network File System (PDF), Arpaci-Dusseau Books
  5. ^ Sandberg, Russel (1986). "The Sun Network Filesystem: Design, Implementation and Experience" (PDF). Proceedings of the Summer 1986 USENIX Technical Conference and Exhibition. Sun Microsystems, Inc. Retrieved 6 March 2019. NFS was designed to simplify the sharing of filesystem resources in a network of non-homogeneousmachines.
  6. ^ Sobh, Tarek (2008). Advances in Computer and Information Sciences and Engineering. Springer Science & Business Media. pp. 423–440. Bibcode:2008acis.book.....S.
  7. ^ Pessach, Yaniv(2013).분산 스토리지: 개념, 알고리즘 구현.ISBN 978-1482561043.
  8. ^ Murphy, Dan (1996). "Origins and Development of TOPS-20". Dan Murphy. Ambitious Plans for Jupiter. Retrieved 6 March 2019. Ultimately, both VMS and TOPS-20 shipped this kind of capability.

추가 정보