분산 파일 시스템 기반의 클라우드 협업환경 구성
한국정보화진흥원 / 김정엽 수석
공공부문의 협업·공유·소통을 위한 클라우드 업무환경과 주요 구성요소를 포함하는 서비스 참조모델에 따라 공공기관 대상으로 실제 구현하여 구축?활용중인 NiCloud 서비스의 구축 사례를 기반으로 국내 환경에 적합한 클라우드 기반 업무환경의 분산 파일 시스템 적용 사례를 설명한다.
오늘날 비용 절감과 생산성 향상이라는 목표를 달성하기 위해 세계 각국은 클라우드 컴퓨팅 기술을 적극적으로 도입하고 있다. 이에 기반한 클라우드 업무환경은 기존 업무환경의 공간적 제약과 단말기 제약을 받지 않고 정보에 접근하여 업무를 처리하고 공유·협업할 수 있는 업무환경을 제공한다. 본고에서는 공유·협업·소통을 위한 클라우드 업무환경 서비스 참조모델을 실제 공공기관에 구현한 모델인 NiCloud 서비스에서 이용되는 클라우드 기반 저장소를 소개하고 NiCloud 서비스를 위한 클라우드 기반 분산 파일시스템과 이를 적용한 사례를 간략하게 설명한다.
지능형 클라우드 협업환경 NiCloud 개요
공공부문에서 공공기관 지방이전(136개 공공기관 9대 혁신도시 이전, 38,257명) 정책으로 출장이나 현장 행정이 증가함에 따라, 기존 사무실 PC 중심의 업무환경에서 장소나 시간에 구애받지 않는 업무환경으로의 전환이 요구되고 있다. 또한 기존에 개인PC에 분산되어 있는 정보자원을 통합하여 효율적으로 활용하기 위한 협업 및 공유 기반에 대한 필요성이 증가하고 있다.
공공기관에서는 변화하는 업무환경에 대응하기 위해 업무자료의 공유, 함께 일하는 협업, 업무 추진상황에 대한 소통의 지원이 요구되고 있다. 클라우드 업무환경 도입 참조모델 구성요소는 공유·소통을 지원하기 위해 [표 1]과 같이 클라우드 저장소, 웹오피스, ESN(소셜서비스)을 구성요소가 고려되었으며, 저장소 등의 단독 활용에 비해 구성요소의 통합·연계활용으로 제공 가능한 공유·협업·소통의 범위가 [그림1]과 같이 확장된다.
| 저장소 | 웹오피스 | ESN |
·클라우드 저장소를 통해 업무자료 공유·관리가 가능한 최소한의 모델 ·장소의 제약 없이 클라우드 저장소에 접속하여 업무처리 | ·저장소의 문서를 웹오피스를 통해 직접 편집 가능 ·저장소 문서를 다수 사용자가 공동편집 할 수 있는 기능을 활용하여 협업 | ·저장소·웹오피스·ESN을 통합하여 기존 조직도에 비해 유연한 소통모델 ·ESN을 통해 시간의 제약 없이 타임라임 기반의 다자간 의사소통 |
[표 1] 클라우드 업무환경 참조모델 구성요소별 특징

[그림 1] 클라우드 업무환경 참조모델 구성요소 추가에 따른 공유·협업·소통 범위
지능형 클라우드 업무환경 NiCloud는 클라우드 업무환경 참조모델 중 저장소·웹오피스·ESN 통합모델을 구현한 서비스이다. 이 중 클라우드 저장소를 구현하기 위하여 클라우드 분산 파일시스템을 활용하고 있으며, [그림 1]에서 보는 바와 같이 초기에는 저장소 중심의 운영에서 웹오피스, 소셜서비스(ESN)을 추가하는 방향으로 공유·협업·소통의 범위가 증가해 왔다. 이러한 참조모델 및 기능 추가 과정에서 보는 바와 같이 클라우드 저장소는 클라우드 업무환경에서 자료의 공유를 위한 중심적인 역할을 수행하며, 기존 NAS에 비해 저장되는 자료의 안정성과 효율적인 확장이라는 두가지 요구사항을 만족하기 위해 클라우드 기반 분산 파일시스템을 고려하게 되었다.
클라우드 분산 파일시스템 특징 및 요구사항
클라우드 컴퓨팅 시장에 진출한 글로벌 IT기업들에게 있어서 막대한 양의 데이터를 저장하고 관리하기 위한 비용절감이 컴퓨팅 파워의 효율적 활용 만큼이나 큰 이슈로 부각되고 있으며, 다양해지는 서비스의 기반 서비스로서 클라우드 기반 저장소에 대한 요구가 증가하고 있다. 클라우드 컴퓨팅을 통해 막대한 양의 데이터를 수많은 서버들에 분산 저장하고 관리하는 분산 파일 시스템 기술은 그러한 기술 중의 하나이다. 클라우드 컴퓨팅에서 요구하는 분산 파일시스템은 단순한 데이터의 저장과 관리만을 위한 것이 아니라 시스템의 장애애 유연하게 대처하여 서비스가 중단되지 않도록 하고 서비스에 필요한 성능도 만족시킬 수 있어야 한다. 본고에서는 클라우드 업무환경을 위해 분산 파일 시스템이 갖추어야 할 사항들과 이를 위해 클라우드 업무환경 NiCloud에서 도입한 GlusterFS 분산 파일 시스템을 소개하고 이를 적용한 사례에 대해 알아본다.
클라우드 업무환경을 위한 분산 파일 시스템의 특징과 요구사항을 살펴보면 다음과 같이 요약해 볼 수 있다.
첫째, 클라우드 기반의 분산 파일 시스템들이 다루는 데이터의 규모는 기존의 규모와는 비교가 되지 않을 정도로 거대하다는 점이며 이로 인해 대부분의 비용적인 측면에서의 효율성, 지속적으로 증가하는 데이터의 수용, 시스템 문제에 대한 대처, 관리의 편리성과 같은 사항들이다.
둘째, 다양한 클라우드 업무환경 서비스들이 분산 파일 시스템에 충분한 수준의 데이터 입출력과 처리 성능을 요구한다. 특히, 클라우드 업무환경은 직접 사용자의 조작에 대응해야 한다는 특성 상 순간적으로 부하가 집중되는 경우에 대한 유연한 대처가 요구되고 있다.
셋째, 사용자 데이터의 보안 문제이다. 이는 민간 뿐만 아니라 공공부문에서 더욱 요구되고 있는 사항으로, 데이터 영역에 대한 사용자간 엄격한 접근 제어, 사용자 데이터에 대한 관리자의 접근 제한 사항 등과 같은 사항들이 요구되고 있다.
넷째, 사용자 데이터에 오류가 발생하지 않고 저장 공간을 효율적으로 사용하기 위한 방법들이 요구되고 있다. 이를 위해 주요 클라우드 서비스에서는 분산 파일 시스템에 저장되는 데이터를 3중화 하는 형태로 자료의 안전성을 보장하고 있다.
GlusterFS(Gluster File System) 분산 파일시스템 개요
글러스터 파일 시스템(GlusterFS)은 분산 파일 시스템의 하나로, 데이터를 분산 저장하기 위해서 메타 데이터 서버를 이용하지 않고 DHT(Distributed Hash Table)를 이용하는 것이 특징이다. 이는 동적으로 증가하는 스토리지 볼륨을 관리하기 위한 메타데이터 서버 관리의 필요성과 병목 현상을 제거하는데 도움을 준다. 이를 위해 탄력적 해싱 알고리즘을 사용하며,
GlusterFS에서는 여러 대 노드의 파일시스템들을 하나로 묶어서 사용하는데, 이 노드를 peer(노드)라고 하며, 분산 파일 시스템을 구성할 peer의 모임을 클러스터라 한다. 각 노드에서 볼륨으로 사용할 파일시스템으로 마운트 포인트를 brick 이라 하며, 서비스를 제공하는 Gluster 볼륨은 여러 개의 brick들로 구성된다. 사용자는 기본적으로 GlusterFS 파일시스템을 통해 마운트를 한다.

[그림 2] Gluster 저장소 아키텍처
GlusterFS에서는 여러 구성 방식을 지원하는데, 주로 distributed, replicated, striped 구성방식이 있다. distributed 구성 방식에서는 여러개의 brick 볼륨을 거쳐 데이터를 저장하는 방식으로 분산파일시스템이 필요하나 데이터 안정성이 요구되지 않을 때 사용한다. replicated 구성 방식은 여러개의 brick 불륨에 복제되어 데이터를 저장하는 방식으로 운영하는 데이터의 안정성이 보장되어야 할 때 사용되며, brick 볼륨이 서로 다른 서버에 존재할 때 안전하게 데이터를 복제할 수 있다. striped 구성 방식은 하나의 파일을 여러개의 볼륨에 분산하여 데이터를 저장하므로 데이터 안전성을 보장할 수 없으나 큰 파일에 대한 동시 접속이 많을 때 사용한다.
클라우드 업무환경 NiCloud 에서는 [그림 3] 과 같이 데이터 안정성을 보장하는 replicated 구성 방식으로 3개의 brick 볼륨으로 구성하였으며, 실제 3개 노드 중 1개 노드의 이상에도 다른 2개노드로 안정적으로 운영한 사례도 있었다.

[그림 3] 3중 replicated 볼륭 구성
분산 파일시스템 기반의 클라우드 업무환경 구성
클라우드 기반의 업무환경은 기존 개인 PC기반의 업무 환경과는 달리, 모든 데이터와 행정기반이 중앙집중식으로 구성되어 있으므로 안정적인 운영이 필수적이다. 또한 본고에서 제안하는 참조모델들은 기본 요소인 저장소·웹오피스·ESN를 포함하고 있으며, 개별 서비스의 로그나 스토리지 등의 중복 이슈는 향후 언급할 클라우드 플랫폼 파스-타가 제공하는 기능과 분산 파일시스템 기반의 공용 스토리지를 활용가능하도록 구성하여 해결 가능하다. 본 고에서는 공통 스토리지로서 분산파일시스템의 일종인 GlusterFS를 활용하여 세부 마이크로서비스가 활용하도록 구성하였다. 특히 마이크로서비스가 클라우드 저장소에 접근하기 위한 API는 파스-타에서 제공하는 API 게이트웨이를 활용하여 API 게이트웨이를 통해 다른 마이크로서비스에 제공하도록 정리하였다. 이를 통해 클라우드 저장소와 컨테이너 기반의 마이크로서비스가 연계되는 클라우드 네이티브 구조로 재구성한다.

[그림 4] 분산 파일 시스템 기반의 NiCloud 서비스 구성
결론
클라우드 업무환경은 공공부문의 클라우드 도입과 이를 활용한 업무 생산성 향상을 위하여, 클라우드가 제공하는 유연성과 접근 편의성을 활용한 사례이다. 본 고에서 설명한 참조모델의 구현인 NiCloud 이용을 통해 클라우드 업무환경이 공공부문에서 적극 활용되며, 이를 통해 업무의 효율성을 증대시키는데 활용된다.
이러한 클라우드 업무환경에서 자료의 공유와 협업을 위한 기반이 되는 클라우드 저장소 서비스를 제공하기 위하여 기존의 NAS에서 클라우드의 유연성과 확장성을 제공 가능한 분산 파일 시스템 기반의 클라우드 저장소를 구현하고 이를 웹오피스·소셜서비스와 API를 통해 연계하여 마이크로 서비스들 간의 적극적인 연계·활용이 가능하다. 특히 이를 통해 업무 시 로컬 저장소 보다는 클라우드 저장소를 적극 활용하여 자료의 안정적인 저장과 보안성을 확보하고 업무 환경의 연속성을 확보하는 기반이 되고 있다.
본 고에서는 공유를 위한 클라우드 저장소를 기반으로 공동협업을 위한 웹오피스와 소통을 위한 ESN으로 구성된 참조모델에 따른 업무환경인 NiCloud 서비스를 클라우드 기반의 분산 파일 시스템 기술을 적용하기 위한 구성을 설명하였다. 클라우드 저장소의 자료는 기능의 추가와 서비스의 확장을 용이하게 하는 API(Application Programming Interface) 공개와 다른 마이크로서비스와의 연계를 통해 플랫폼화 된 클라우드 업무환경의 협업 관련 서비스와 유기적으로 연계되어 공유·협업·소통을 지원하는 기반으로 활용되고 있다.