컴퓨터 등장의 초창기부터 앞으로의 인공지능 시대에 이르기까지 시대의 변화는 ‘데이터를 다루는 방법’의 변화로도 표현할 수 있을 정도다. 특히 ‘클라우드 시대’는 개인과 기업 모두에 컴퓨팅 자원과 데이터를 다루는 방법의 근간을 크게 바꾸는 계기가 됐다. 이제 개인과 기업 모두 데이터를 저장하고 공유, 활용하는 데 있어 직접 시스템을 갖추는 것보다는 클라우드 서비스를 사용하는 사례가 많아지고 있다.
개인과 기업을 막론하고 모든 사용자에게 가장 크게 다가올 클라우드의 매력은 ‘쓴 만큼 지불한다’는 것이다. 이 ‘쓴 만큼 지불한다’는 개념은 꼭 사용량에 정비례하지 않을 때도 있다. 몇몇 특별한 상황에서 클라우드 서비스 제공자들은 자원 사용에 할인을 제공하거나, 교육용이나 일부 개인, 기업용 상품에서는 ‘무제한 스토리지’ 조건 등을 제시하기도 했다. 특별한 상황이 요구되긴 하지만, 의외로 이런 상황을 잘 활용하는 사용자들도 주위에서 어렵잖게 찾아볼 수 있었다.
하지만 시대가 변하고, ‘무제한’의 시대는 저물고 있다. 이미 개인용 클라우드 스토리지 서비스에서 ‘무제한’ 플랜은 자취를 감춘 지 오래다. 구글에 이어 마이크로소프트도 향후 교육용 오피스 365 서비스의 무료 무제한 제공을 중단한다고 발표한 상태다. 이제 대용량의 스토리지 용량을 사용하던 사용자라면 클라우드에 있는 데이터를 다시 거둬들일 준비를 해야 한다. 이 과정에서 의외로 사용자의 발목을 잡을 부분이 있다. 데이터를 옮기는 데 필요한 ‘시간’이다.
◇ 새 스토리지 환경 찾기, 조건 따라 다양한 선택지들
여러 가지 이유로 새로운 스토리지 환경으로 데이터를 옮겨야 할 때, 가장 먼저 고민할 문제는 ‘어디로’ 옮길지다. 상황에 따라서는 다른 서비스로 옮길 수도 있겠고, 기업이나 학교 등의 대규모 조직이라면 전통적인 직접 구축에 다시 나설 수도 있겠다. 개인이나 연구실 정도의 소규모 조직이라면 NAS 같은 편리한 선택지도 있다. 일단 어디로 움직여도 비용이 문제지만, 이런 상황에서 비용 문제는 사실 제일 사소한 고민일 수 있다.
조직 내에서 데이터 저장 공간을 직접 구축하기로 결정했다면, 다음에 고민할 부분은 필요한 용량과 성능 수준에 대한 목표다. 이 부분에서는 필요한 조건에 따라 제법 다양한 선택지가 있다. 최근 구글과 마이크로소프트가 제공하는 교육용 무료 플랜인 100테라바이트(TB) 용량 정도라면, 소규모 기업용 8~12베이 NAS(네트워크 결합 스토리지)한 대로도 용량에 대한 수요는 충분히 채울 수 있을 정도다. 페타바이트(PB) 급 용량이라도 요즘은 적게는 어플라이언스 한 대, 많게도 랙 한두개 정도면 충분히 달성할 수 있다.
용량 대비 공간 효율이 필요하다면 올플래시 스토리지도 훌륭한 선택이다. 이미 엔터프라이즈급 QLC SSD의 최대 용량은 30TB를 훌쩍 넘어, 60TB 이상 제품도 발표됐다. 이들 제품을 사용하면, 1~2U급 스토리지 서버 한 대로도 PB급 용량을 얻을 수 있다. 성능 측면에서도 하드 드라이브를 사용하는 경우보다는 훨씬 낫고, 중복제거 등의 기능을 갖춘 스토리지라면 저장 효율은 더 높아진다. 사실 이제, 필요한 용량을 얻기 위한 하드웨어 측면의 고민은 비용 뿐이지만, 그 비용의 장벽도 크게 낮아졌다.
스토리지 시스템의 구현 방법도 여러 가지다. 잘 만들어진 기존의 스토리지 솔루션들을 구입할 수도 있지만, 상황에 따라서는 하드웨어만을 따로 구입하고 소프트웨어는 리눅스 기반의 솔루션들을 사용할 수도 있다. 사실 이렇게 대용량 스토리지를 갖춘 서버에 가상화와 관리 체계를 갖추면 ‘하이퍼컨버지드(Hyperconverged)’ 인프라와도 같은 모습이 된다. 개인이나 소규모 조직이라면 PC에 하드 드라이브 여러 대와 RAID 컨트롤러 정도로도 실용적으로 대응할 수 있다.
용도를 막론하고, 데이터 저장을 위한 스토리지를 고민할 때는 ‘장애 대응 수준’도 고민해야 한다. 전통적인 스토리지 시스템이라면 RAID 레벨에 대한 고민이, 오브젝트 스토리지 같은 상황이라면 분산 레벨에 대한 고민이 된다. 원론적으로는 기록을 이중화하는 RAID 1을 기반으로, 시스템 전체의 장애를 대비해 컨트롤러 이중화와 재해복구 체계까지 갖추는 게 좋은데, 이 경우 대략 필요 용량의 4배 정도의 원시용량을 갖춰야 한다. RAID 5나 6은 원시용량에 대한 부담은 줄지만, 개별 디스크의 장애 상황에서 전체 어레이의 위험 부담은 다소 올라간다.
혹은 가격 조건이 더 매력적인 다른 클라우드 서비스로의 이동이나 혼합 사용도 고려해볼 수 있겠다. 특히 데이터의 활용도에 따라서는 여러 가지 서비스 계층을 조합해 비용을 더 낮춰볼 수도 있다. 예를 들면, 자주 사용하는 데이터는 일반적인 스토리지 서비스를, 장기 보관만이 필요한 경우는 아카이브 스토리지 서비스를 사용할 수도 있다. 아카이브 스토리지 서비스의 경우 용량당 비용은 싸지만, 데이터의 이동에도 비용이 과금되는 만큼 사용 패턴에 대한 고민이 필요한 부분이다.
◇ 데이터 옮기기는 시간과의 싸움
이제 일상에 유선은 물론 무선까지 ‘초고속’ 연결이 대중화됐다고 하지만, 클라우드에 쌓인 수십~수백 TB 용량의 데이터를 옮기는 것은 문제의 차원이 조금 달라진다. 특히 조직 단위에서 페타바이트급 데이터를 옮기는 것은 제법 많은 검토가 필요할 정도로 만만치 않은 일이다. 근본적인 문제는 ‘전송 속도’인데, 현재의 네트워크 구조는 물리적으로 멀리 있을 수록 전송 속도를 높이기 어렵고, 전송 속도를 높이는 데 필요한 비용과 노력도 비약적으로 커진다.
아주 단순한 계산으로, 100Mbps 급 인터넷은 대략 초당 12.5MB 정도를 전송할 수 있다. 이 때, 시간당 전송량은 45GB 정도다. 요즘 나오는 최신 게임들 중에는 용량이 100GB를 훌쩍 넘는 경우도 흔한데, 이런 게임들을 설치하려면 다운로드만 2~3시간을 받아야 하는 상황이다. 이 속도로 1TB 정도를 받으려면 22시간 45분 정도의 시간이 걸린다. 대략 하루 정도인 셈이다. 100TB 자료를 다운로드 받는다면 95일 가량, 3개월 이상이 필요하다.
학교나 기업, 기관 등에서 이보다 더 빠른 인터넷 연결을 사용한다면 이보다는 좀 더 빠를 것이다. 하지만 그 만큼 데이터가 커진다면 상황이 달라진다. 10배 빠른 기가비트 연결을 사용해도 1PB 정도 자료를 다운로드 받는다면 여전히 3개월이 필요하다. 수 페타바이트 급 용량을 사용하던 대규모 종합대학교 등의 조직에 1년 남짓의 시간이 절대 여유롭지 않은 이유가 여기에 있다. 시간을 맞추지 못하면 결국은 비용 지출이 강제될 수도 있다.
사실 데이터 이동에서 네트워크 전송은 가장 편리할지언정 가장 빠른 방법은 아닐 수도 있다. 우스갯소리 같겠지만, 수십 TB 정도의 데이터를 한국에서 미국까지 옮길 때 가장 빠른 전송 방법은 하드 디스크를 들고 미국 가는 비행기를 타는 방법일 수도 있다. 또한 최근 워크스테이션에는 빠른 데이터 이동을 위해 NVMe SSD의 핫스왑 베이를 제공한다. 물론 클라우드 서비스에서는 이런 극단적인 방법은 보통 쓸 수 없지만, AWS의 경우 비슷한 서비스가 존재한다.
데이터의 위치는 데이터를 가장 많이 활용하는 곳 근처에 두는 게 정석이다. 클라우드 위에서 데이터를 활용한다면 데이터도 클라우드에 두는 게 좋다. 하지만 데이터만 클라우드에 두고 실제 사용은 로컬에서 하고 있다면, 이 데이터는 로컬로 가져와야 한다. 또한 외부 인터넷 연결 속도는 임의로 올리기 어렵지만, 가정이나 사무실, 연구소 내부 네트워크 속도는 상대적으로 올리기 쉽고, 대규모의 데이터를 옮길 때도 덜 당혹스럽다. 이는 요즘 주목받는 ‘엣지’와도 같은 접근법이다.
◇ 클라우드에서 옮겨온 데이터, 효과적인 관리 방법도 고민해야
마지막으로 고민해야 될 부분은 다운로드 자체다. 웹에서 클라우드 안의 모든 파일을 선택하고 다운로드를 누르면 압축 과정에서부터 난관을 겪기 마련이다. 언제 압축 작업이 끝날지도 모르고, 이후 언제 다운로드가 끝날 지도 제대로 알려주지 않는다. 중간에 끊기기라도 하면 더 큰일이다. 작은 용량의 데이터들을 쉽게 공유하는 데는 웹 인터페이스로도 충분하지만, 대용량 데이터를 옮기는 데는 다른 방법을 고민해야 한다.
개인이나 소규모 조직 수준에서 쓸 수 있는 가장 좋은 방법은 서비스 업체가 제공하는 공식 클라이언트 프로그램을 사용하는 것이다. 이 방법은 해당 서비스에 대해 가장 호환성이 좋고 안정적이지만, 일반 ‘클라이언트’가 대상이다. 이에 이동식 드라이브나 네트워크 드라이브에 데이터를 담고자 한다면 몇 가지 트릭이 더 필요할 수 있다.
조직의 인프라 관리 수준에서 클라우드 스토리지를 마이그레이션 한다고 하면, 서비스 업체가 별도로 제공하는 도구를 사용하는 것이 좋을 것이다. 혹은 서드파티 도구를 사용할 수도 있는데, 시놀로지의 경우에는 클라우드 서비스 백업을 위한 몇 가지 툴을 제공하고 있고, rclone 같은 오픈소스 도구도 제법 편리하게 활용할 만 하다. 이런 도구들은 동기화 작업 기반이라, 작업 중간에 네트워크가 끊기거나 해도 다시 작업을 이어 가기 용이하다
클라우드 서비스에 인질이 되었던 데이터를 무사히 찾아 왔다면, 그 다음부터는 이를 어떻게 관리할지도 사용자의 몫이다. 특히 저장된 데이터에 대한 보안과 백업이 중요하다. 랜섬웨어 등으로 한 번에 데이터를 모두 날려버리는 일이 없도록 주기적인 스냅샷 백업 정책 등을 고민하고, 중요 데이터들은 별도의 분리된 스토리지에 주기적으로 백업하는 것도 좋다. 무엇보다, 공유 스토리지에 연결된 상태에서는 보안에 위협이 될 만한 행위를 하지 않는 게 중요하다.
사실 개인과 조직 모두에서 스토리지 선택에 딱 떨어지는 ‘정답’은 없다. 당장 4~5TB 정도의 용량을 사용하는 개인의 입장에서도 엔트리급 NAS와 클라우드 서비스간의 총소유비용 차이는 대략 5년 전후에서 비슷해진다. 조직의 경우에도 필요한 용량과 총소유비용 측면에서 특정 시점에 역전되는 상황이 생긴다. 이 때, 개인이나 조직이 어떤 부분이 필요하고, 어떤 부분을 감당할 수 있는지 잘 파악하는 것이 성공적인 선택에서 가장 중요하다. 결국 무엇보다 중요한 것은 ‘나 자신을 잘 알기’인 셈이다.
권용만 기자 yongman.kwon@chosunbiz.com