[NCP] Storage의 주요 특징과 네이버 클라우드 플랫폼 스토리지 상품군 소개
Storage 상품
RAID
- 여러개의 디스크를 묶어 데이터 read, write 하는 방식
- 성능 향상, 안정성의 증대, 효율성, 가용성의 증대를 하는데 쓰이는 기술
- 기본적으로 NCP에서 사용하는 스토리지들은 RAID 1+0, RAID 5로 구성되어 있다.
- 종류
- RAID 0 : 스트라이프, 용량은 2배, 안정성은 떨어짐
- RAID 1 : 미러, 디스크가 절반은 못씀, 안정성은 높음
- RAID 5 : Parity를 통해 분산, RAID 1 보다는 빠름
- RAID 6
- RAID 1+0 : 미러와 스트라이프를 같이 : 디스크 절반 낭비
- 장점
- 운용 가용성, 데이터 안정성 증대
- 디스크 용량 증설의 용이성
- 디스크 I/O 성능 향상
File System
- OS에서 보조 기억 장치에 저장되는 파일을 관리하는 시스템의 통칭으로 파일을 저장할 클러스터를 관리하고 파일명에 대한 규칙, 데이터의 저장과 검색을 관장한다.
- 일반적으로, FAT, FAT32, NTFS, JFS 각각의 방식이 다름
- 데이터를 저장하기 위해 클러스터라는 저장공간 단위를 만들고 클러스터에 데이터를 저장
- 연속 할당 방식 (아주 오래 전에 나온 방식)
- 파일의 시작위치와 크기를 가지고 데이터를 저장하는 방식
- 고전적인 방식이며 단순하지만 저장 장치 크기에 제약이 있고 데이터 공간에 대한 낭비가 심해진다.
- 비연속할당방식
- 연결 할당 방식
- 링크 구조로 구성
- 색인 할당 방식
- 색인 구조로 구성
- 최근의 많은 파일시스템이 비연속 할당 방식에 색인 할당 방식 사용
- 디스크의 속도가 빨라지고, 데이터가 많아지더라도 보다 안정적으로 데이터를 관리할 수 있게됨
- 로컬 파일 시스템의 단점
- 용량의 한계
- 장애 복구의 한계
- 다양한 접근 경로를 제공하지 않는다.
- 네트워크 파일 시스템 (NFS, CIFS, NAS, SAN)
- 네트웍을 통해 파일시스템에 접근
- 용량을 높이려면 고가의 인프라 비용 발생
- 분산 파일 시스템 (HDFS, ADF, CODA ...)
- 용량의 한계를 극복하고
- 장애시에도 복구가 가능하며
- 다양한 접근 경로를 제공
- 파일을 쪼개서 노드에 분산 & 복제
- 분산 파일 시스템 (Object Storage)
- 용량의 한계를 극복하고
- 장애시에도 복구가 가능하며
- 다양한 접근 경로를 제공
- 파일을 쪼개지 않고 복제
- 기존의 분산 파일 시스템과 비슷, but Object Storage는 Object단위로 저장(파일 하나가 Object), 파일을 쪼개지 않고 복제, 분산하게 됨
- 메타데이터 서버에서는 해당 파일이 어디에 위치해 있는지 알려준다.
스토리지 타입
- 스토리지 타입은 Block, Object 2가지 타입으로 나뉠 수 있음
- 각 타입 별 고유의 기능과 제한 사항이 존재
- Block Storage (저장 단위 : Block 단위)
- 데이터를 block 단위로 쪼개고, OS의 파일시스템을 기반으로 파일을 계층화하여 저장
- 데이터 접근을 위해서 OS 내부에 마운트 필요하며, 마운트를 위해 파일 시스템 생성 필요
- 대용량(PB 이상) 데이터 저장에는 적합하지 않으며, 정형 데이터 저장에 적합 (정형 데이터 : 읽고 쓰고 업데이트가 빈번한 데이터)
- Object Storage (저장 단위 : Object 단위)
- 오브젝트(데이터, 데이터 조각)를 비 계층 구조에 저장
- 모든 오브젝트는 데이터와 고유식별번호, 메타데이터를 포함되며, 오브젝트 별 고유 식별번호를 통해 호출
- http(s) 기반의 API를 제공
- 대용량, 비정형 데이터 저장 및 보관에 적합 (비정형 데이터 : log, back up 파일)
- 확장성과 속도, 그리고 가격 측면에서 장점
- 수정과 업데이트가 빈번하면 적합하지 않음
Storage 상품 라인업
- NAVER Cloud Platform 스토리지 상품
Block Storage
- 서버에 마운트해서사용할 수 있는 스토리지
- OS의 파일시스템을 기반으로 파일을 계층화하여 저장
Block Storage 세부 스펙
- 볼륨 타입은 HDD / SDD 두 가지 타입 제공
- 기본 스토리지 (root 볼륨)의 경우 사이즈 50G(리눅스,윈도우)/100G(윈도우)로 고정
- 볼륨 용량은 10 ~ 2,000G 선택 가능
- 2,000G 이상의 볼륨 필요한 경우 리눅스 LVM, 윈도우 스팸 볼륨 구성
- 1대의 VM은 최대 16개의 볼륨 attach 가능 (OS 스토리지 포함)
- 볼륨 detach 기능 제공
- 볼륨 upsizing 기능 제공
- 볼륨 live snapshot 가능
- Zone간 스토리지 팜이 분리되어, 다른 존 간의 공유 불가능 (스냅샷 기능을 이용하여 해결 가능)
Block Storage 주요 스펙
- 볼륨 detach 기능
- VM에 이미 할당 된 볼륨에 대해서 detach 기능 제공
- 동일 볼륨을 필요에 따라 detach하여 동일 계정의 다른 VM에 할당하여 사용 가능
- Detach 할 수 있는 VM 상태
- VM shutdown 상태
- VM running > VM 내부에서 볼륨 umount
- 볼륨 upsizing 기능
- 볼륨 생성 시 할당 된 용량 증설이 필요할 경우에 대비 용량 증설 기능을 제공
- upsizing 만 가능
- 기본 스토리지 (=root 볼륨)에 대한 resizing은 불가능
- upsizing이 가능한 볼륨 상태
- 볼륨 available 상태 (= VM에 할당되지 않은 상태)
- 볼륨이 할당된 VM의 상태가 Shutdown 일때
Snap shot
- 현 시점 볼륨 데이터를 이미지화 하는 기능
- NAVER CLOUD PLATFORM은 VM 대상의 내서버이미지와 볼륨 대상의 스냅샷 구분 제공
- 스냅샷 이미지를 이용해서 신규 볼륨 생성 가능
- 스냅샷 이미지 이용
- 리전 간 동일 데이터의 볼륨 생성이 필요할 때 "리전 간 복제" 기능을 이용해서 이전 가능
- 존 간 동일 데이터 볼륨 생성 가능
- 볼륨 타입 (HDD / SSD) 변경 가능
- 볼륨 사이즈 변경 불가능 (-> 볼륨 사이즈의 경우 볼륨 detach 후 upsizing)
- root 볼륨 이슈 발생 시 (커널 패닉 등의 OS 이슈로 인해 VM 정상 사용이 불가능한 경우) 해당 스냅샷 이미지를 이용해 root 볼륨 데이터 복원 시 사용 가능
Object Storage
- AWS S3와 같은 오브젝트 단위의 무제한 파일 저장 스토리지
- 비정형 데이터를 안전하게 저장하고 관리하기 위한 스토리지
- Object Storage 특징
- AWS S3 Compatibility API 제공 통해서 S3 3rd Party Solution 사용 가능
- 콘솔, RESTful API, SDK, CLI를 통해서 파일을 관리하고, 저장된 파일은 각 파일마다 고유한 접근 URL이 부여되어 인터넷 상에서 쉽게 접근할 수 있음
- 버킷 단위, 오브젝트 단위의 접근 권한 설정 기능 제공
- CDN+/GCDN의 Origin, CLA의 logging, VOD Transcoder 등 NAVER Cloud Platform 내 상품과의 연동하여 사용 가능(CDN, CLA, COD Transcoder의 상품들의 기본저장소로 Object Storage가 사용되고 있음)
- Sub Account 연동을 통한 권한 관리 기능 제공
NAS
- 다수의 VM이 공유 가능한 네트워크 볼륨 디바이스
- 용량은 500 ~ 10,000G으로 생성 가능, 100G 단위로 용량 증설 가능
- NAS 특징
- NFS / CIFS 프로토콜 제공, 이기종 OS 간 공유 사용 위해 Samba 등의 추가 지원 필요 (*Samba : Windows의 NFS)
- 리눅스 서버, 서버간의 데이터 공유 필요(NFS protocol로 NAS 생성)
- 윈도우 서버, 서버간의 데이터 공유 필요(CIFS protocol로 NAS 생성)
- Live resizing 가능
- 스냅샷 기능 제공 : 즉시/ 스케쥴 (-> 시점 복원 기능 제공) - 스냅샷은 스케쥴 기반으로 제공, 최대 1주일동안 보관할 수 있음
- 모니터링 기능 제공 (볼륨 사용량(%))
- Custom IP에 NAVER Cloud Platform 내 사설IP 등록을 통해 타 계정 VM 간 공유 사용 가능
- 접근 제어
- NFS의 경우 IP로 접근 제어 (*IP로 : 서버 단위로)
- CIFS의 경우 ID와 패스워드로 접근 제어 (*ID와 패스워드로)
- NAS Snapshot
- NAS에 할당된 용량 중 일정 부분을 스냅샷 공간으로 할당
- Default는 스냅샷 미생성
- 스냅샷은 스냅샷을 생성하는 시점에 NAS 스토리지에 있는 데이터에 대해 스냅샷 생성
- 스냅샷은 최대 7일간 보관
- 자동 생성 및 즉시 생성 가능
- 만약에 Snapshot공간이 꽉 차게 되면 기존에 있던것을 삭제하는 것이 아니라 새로 Snapshot을 만들
Archive Storage 아카이브 스토리지
- AWS Glacier에 대응되는 제품
- Object Storage보다는 속도는 느리지만 가격은 매우 저렴
- Cold 데이터 보관 및 백업 아카이빙 데이터 저장을 주 목적으로 하는 스토리지
- 저장 비용이 Object Storage 대비 저렴
- API 요청 비용은 Object Storage 대비 비쌈
- 한 번 저장하면 거의 다시 꺼낼일이 없다. 이 데이터가 증빙, 로그나 백업과 같이 언젠가 필요할 수 있기 때문에 이때 사용을 많이 한다.
Archive Storage 세부 스펙
- 콘솔, API(swift, s3), CLI, SDK를 이용해 데이터 관리 가능
- 데이터 최소 보관 기간없이 사용할 수 있음
- Sub Account 연동을 통한 권한 관리 기능 제공
Backup
- 백업지원
- 파일, DBMS(이미지 빌트인 DB)에 대한 백업 서비스
- 백업 요청서를 작성하여 신청하고 서버에 Agent 설치 필요 (백업 요청서 : NCP 고객문의를 통해 요청, Agent를 보내줌 - Agent를 설치하면 됨 - 백업 Agent가 설정하신 요청대로 동작)
- 백업 수행 주기로 8가지 옵션 제공(1회성, 1일 1회 전체백업, 1주 1회 전체백업, 1주 1회 전체백업 & 매일 증분 백업 등)
- 최대 52주까지 백업 파일 보관 가능
- 백업 결과를 일 단위 결과 리포트로 전달
- Restore 에 대한 게런티를 NCP에서 함, 실패와 성공에 대한 리포트를 일단위로 전달