IBM GPFS (General Parallel File System)의 아키텍처와 기능






1회에서는 데이터관리 시장의 동향을 통해 다양한 업무환경에 따른 당면과제를 분야별로 살펴봄으로써, IT 인프라의 서버 환경이 점차 분산 또는 스케일아웃 구조로 가면서 전통적인 단일 장비 위주의 공유파일시스템에서 스케일아웃 구조의 병렬파일시스템으로 진화하는 것을 알 수 있었다. 이번 회에서는 병렬 파일 시스템의 필요성과 전세계에서 가장 많이 사용중인 병렬 파일 시스템 중 IBM의 GPFS(General Parallel File System)에 대해 알아보고, 이를 이용한 솔루션에 대해서도 알아보고자 한다.

1. 병렬 파일 시스템의 필요성
많은 기업들은 기하급수적으로 늘어나는 멀티미디어, 디지털 콘텐츠 등을 비롯한 대용량 데이터와, 웹, 데이터베이스(DB)등 점점 증가하는 각종 애플리케이션의 수많은 파일 서비스를 처리하기 위하여 대용량의 데이터 요구를 처리 할 수 있는 다양한 고성능 스토리지 시스템을 사용하게 되었다.

그러나 기존의 SAN(Storage Area Network) 스토리지의 경우 단일 스토리지 시스템의 입출력(I/O) 한계와 운영체제(O/S)에 종속된 파일시스템 용량 및 파일 공유 제한으로 인해, 고가용성(HA) 구현을 위해서는 고비용의 스토리지 솔루션과 복잡한 시스템 구성이 불가피한 상황이다. 또한 NAS(Network Attached Storage) 스토리지 역시 한정된 I/O 대역폭을 극복하지 못하여 진정한 고가용성 및 고성능 구현이 어려우며 시스템 장애에 대한 안정성이 미흡한 상태다. 바로 이러한 문제점을 해결하기 위해 병렬파일시스템의 필요성이 시장에서 본격적으로 대두되고 있다.

[Application 관점]
Ø 다수의 Client에서 같은 File을 Access 해야 하는 대용량 서비스가 필요한 경우
Ø NAS 노드의 장애 발생에도 계속적인 서비스가 필요한 경우
Ø 용량 제한이 없는 단일 File System이 필요한 경우
Ø SAN의 장점인 고 대역폭을 Network상에서 구현이 필요한 경우
Ø 스토리지 증설 및 노드 확장이 용이하며 운영 중단이 없어야 할 경우

[File System의 관점]
Ø Accessibility - 어떤 노드에서도 모든 File를 Access 해야 하는 경우
Ø Scalability - 노드, Storage, Application 추가 시 선형적인 확장성이 필요한 경우
Ø High Capacity - TB Files, 여러 개의 TB (File System)이 필요한 경우
Ø High Throughput - 초당 GB이상의 Throughput이 필요한 경우

2. IBM GPFS (General Parallel File System)
2.1 GPFS 개요
GPFS는 병렬 파일 시스템으로 복수개의 노드가 파일시스템의 파일을 공유할 수 있도록 지원하며 Shared SAN을 통해 모든 노드들을 데이터와 물리적으로 직접 연결함으로써 높은 성능과 안정성을 제공한다.

2.2 다른 솔루션과의 비교
1) 성능적인 측면
네트워크 기반의 File IO 방식을 지원하는 일반 NAS 시스템의 경우 TCP/IP Layer가 추가로 존재함으로써 이에 따른 Overhead가 발생하며 성능 보장을 위해서는 NAS 콘트롤러의 성능이 중요하기 때문에 최상위급 모델이 필요하다. 또한 공유 SAN 파일 시스템의 경우 메타정보 처리를 위한 별도의 서버 필요로 I/O 병목현상이 나타날 우려가 있다.

하지만 SAN 기반의 빠른 Block I/O 처리가 가능한 병렬파일 시스템을 제공하는 GPFS의 경우 공유 SAN을 통해 공유 노드들이 데이터와 물리적으로 직접 연결됨으로써 높은 성능과 안정성을 제공한다.

2) 가용성 측면
일반적으로 NAS제품은 듀얼 콘트롤러로 가용성을 제공하고 있어 듀얼 콘트롤러의 장애 시 서비스의 영향을 줄 수 있는 반면, GPFS는 별도의 클러스터 솔루션(예; HACMP) 구축 없이 GPFS로 파일 시스템 공유가 가능하기 때문에 일부 노드 장애 시에도 다운 타임 없이 파일시스템 공유로 지속적인 서비스가 가능하다. 공유 SAN의 경우 별도의 클러스터링 솔루션의 설치가 필요하며 메타 정보를 관리하는 서버가 장애를 일으킬 경우 서비스에 영향을 줄 수 있다.

3) 확장성
GPFS는 대용량 파일 시스템을 지원하고 1천개 이상의 노드 확장성을 가지고 있는 반면, 일반 NAS 시스템은 노드 추가에 따른 선형 확장이 불가능하며 공유 SAN의 경우도 노드 추가에 따른 선형 확장이 불가능 하다

2.3 GPFS의 장애 복구
1) 애플리케이션 시스템 장애
'Force-on-steal policy'를 사용하여 Data의 유실을 방지하는 동시에 다른 시스템에서 Data가 Disk에 write되었는지 확인이 가능하며, 잠재적으로 불일치하는 모든 데이터는 토큰과 log를 통해 보호된다. 또한 시스템 장애 시 Filesystem 매니저는 log 복구 기능을 실행하여 Data 복구를 완료하게 되고 장애 시스템에 대한 접근을 차단한다.

2) File system 매니저 장애
장애 시 다른 시스템으로 업무가 Take Over되며 즉시 새로운 File system 매니저가 다른 시스템에게 복귀 기능을 요청하게 된다. 새로운 File system 매니저는 복구 작업을 완료하기 위한 기능을 수행한다. (e.g., Disk 추가/제거)

3) Storage 장애
이중화 disk를 구현하여 다른 path를 사용(VSD)하기 때문에 즉각적인 대처가 가능하며 Single disk fail 시 Disk 장애로 판단한다.

2.4 GPFS 적용범위
- 파일시스템의 데이터를 복수의 서버가 공유해야 하는 환경
- 단일 노드 장애 시에도 지속적으로 파일 서비스가 요구되는 환경
- Application에서 사용하는 파일시스템에 대한 빠른 Access가 필요한 환경

3. GPFS를 이용한 Cluster NAS 솔루션
병렬파일 시스템인 GPFS를 이용한 솔루션 중 뛰어난 확장성 및 고성능 데이터 관리의 Clustered NAS 솔루션을 제공하는 IBM 전문 BP사인 ㈜넷클립스에서 판매 중인 Scaleway 제품에 대해 간단히 알아보기로 한다.

3.1 Sclaeway(Cluster NAS Gateway) 개요
Scaleway™ 는 고성능 병렬파일시스템을 탑재한 Clustered NAS Gateway로, 데이터에 대한 병렬 접근을 제공해 파일 집합에 대한 데이터 접근 비율 및 응답 속도를 슈퍼컴퓨팅 레벨의 성능으로 제공할 수 있다. 대용량 데이터를 사용하는 고성능 시스템 환경에 적합하게 설계 된 Sclaeway는 복수의 노드(N+1, N+2~N#)로 구성되며, 노드 장애가 발생하는 최악의 경우에도 데이터의 안전과 서비스를 100% 보장하여 최고의 신뢰성을 제공한다.

시스템과 무관하게 스토리지를 관리 할 수 있으며, 시스템의 업무 증가에 따라 노드 확장 및 용량의 확장이 용이하고 업무의 중단 없이 서비스가 가능하다. 또한 웹 기반의 그래픽사용자인터페이스(GUI)를 제공하며 구성 및 모니터링을 손쉽게 관리 할 수 있다.

3.2 Scaleway의 주요 특징
1) 고성능 및 고가용성 구조
Sclaeway는 병렬파일시스템을 통한 전형적인 병목현상을 없애고 고성능과 고신뢰성을 보장한다. 볼륨 생성시 다양한 블록 사이즈 지원(16k ~ 4M)으로 단일 I/O 처리시 효율을 높이고 디스크의 대역폭을 최대로 이용 할 수 있으며. 파일 시스템 생성 시 지정한 블록 사이즈 단위로 자동 Striping함으로써 I/O 성능을 최대로 제공한다.

모든 노드는 동시에 파일을 Write/Read 할 수 있으며, 30만 개 이상의 토큰을 동시에 관리 할 수 있는 정교한 파일 Locking 기술을 통해 데이터의 충돌을 예방하고 데이터 정합성을 유지한다. 일부 노드 장애 시에도 다운타임 없이 파일시스템 공유로 지속적인 서비스가 가능하다.

2) 높은 확장성 제공
클러스터 환경에서 디자인된 Scaleway는 1천 노드 이상 확장 가능하여 대용량 미디어 서비스에 필요한 대용량 파일 시스템을 지원, 단일 파일시스템에서 2PB 용량을 지원한다. 또한 복수 파일 시스템을 지원하며 용량 확장 시에는 SAN 스위치를 통한 100개 이상의 디스크를 확장시킬 수 있고, 스토리지 기종과 무관하게 파일 시스템을 생성할 수 있다.

3) 고유연성 및 안정성
서버 확장이 자유롭고 용이하며, 용도별, I/O 용량별 유연한 볼륨 구성이 가능하여 어떠한 업무에도 유연하게 적용 시킬 수 있으며, 파일시스템 공유가 가능해 짐으로써, 구성의 단순화, 관리의 단순화로 인한 안정성이 뛰어나다. 또한파일시스템과 metadata에 대한 미러링 기능 제공으로 특정 장애로부터 최대한 안정성을 보장한다.

4) Scaleway Agent 제공
Scaleway 는 클라이언트 Agent를 지원한다. Agent가 설치되면 모든 클라이언트는 데이터를 Write/Read시 모든 노드를 통해 동시에 데이터가 분산 처리되며 클라이언트에 설치된 Agent와 Scaleway 노드간 최적의 Network 통신이 가능하여 최고의 대역폭을 제공한다. (Agent 지원 O/S : Winodws2003 64Bit, Linux, AIX, Solaris )

4) 표준 인터페이스 제공
표준 UNIX? 파일 시스템 인터페이스 제공을 통해 다양한 Client 접속을 지원하며, 네트웍 인터페이스로는 GbE, 10GbE, iSCSI, Myrinet, Infinband 등 다양한 인터페이스를 제공한다.

3.3 Scaleway 적용분야
- Web Applications : Email services / Web Server Farm / Online Data Storage
- Highly Available Scalable file storage : User File storage / Multi-Site installations / Disaster Recovery
- Digital Media : Animation / Broadcasting / Video Surveillance
- Grid Applications : Scientific Computing / Life Sciences / Analytics
- Database Applications : DB2 / Oracle RAC / SAP
- 기타 : Storage virtualization & consolidation

3.4 Scaleway 적용사례
첫 번째 구축사례로 W사의 웹하드 서비스를 들 수 있다. 24시간 실시간 파일 Up/Down 서비스를 구현하기 위한 스토리지 시스템 구축 프로젝트로 초기 시스템 구축 후 지속적인 서비스 확장에 따른 유연성 있는 확장 및 성능 증가가 필요한 사이트였다.

Scaleway 구축 후 기존 File-sharing SW를 이용하여 SAN을 구성하였을 때와 달리 SW 추가 없이 File UP/Down 서버 증설을 지원했으며, 속도 면에서 SAN 구성 환경보다 30% 향상된 성능을 보여주었다. 또한 온라인 중에 확장이 가능하며 노드 확장에 따른 성능 증가도 가능하게 됐다.

두 번째 구축사례로 3개 부서의 데이터 공유 요구에 따라 나뉘어 저장된 데이터를 하나의 스토리지로 통합하고 서버 가상화 솔루션을 적용한 경우가 있었다. Scaleway을 통한 실 시간 데이터 공유 및 3대의 노드로 최상의 서비스 제공 및 장애 시 업무의 연속성을 제공 하였으며, 중요 데이터와 백업 데이터를 별도 분리 운영하여 사용할 수 있었다.

마지막 구축사례는 방송 미디어 고객이다. 외부에서 촬영 또는 작성된 자료를 실시간 FTP 를 통해 즉시 본사에 데이터를 저장하면, 저장된 데이터는 방송에 맞게 재편집 및 가공되고 이렇게 저장된 모든 데이터는 콘텐츠 관리서버를 통해 저장 관리 할 수 있도록 실시간 공유가 가능하여야 하는 경우였다. FTP서버는 Scaleway을 통해 실시간 데이터를 저장하고, 저장된 데이터는 접근 가능한 모든 서버들을 통해 실시간 직접 액세스가 가능하도록 했다. 실시간 데이터를 가공하여 송출 데이터를 편집, 이렇게 가공된 데이터는 콘텐츠 관리 서버로 저장 관리 될 수 있도록 했다.

저작권자 © 아이티데일리 무단전재 및 재배포 금지