헷갈리는 스토리지 관련 용어 총정리 (블록/파일/오브젝트/SAN/NAS/LUN/SCSI/RAID 등)

[주의] 개인 공부를 위해 쓴 글이기 때문에 주관적인 내용은 물론, 쓰여진 정보가 틀린 것일 수도 있습니다!

피드백 부탁드립니다. (- -)(_ _) 꾸벅

 

 

 


1. 블록 / 파일 / 오브젝트

 

  • 블록 스토리지
    1. 데이터를 일정한 크기(블록)으로 나누어 저장하는 방식
    2. 블록은 고유의 주소를 가지고 있으며, 여러 블록을 재구성하여 데이터를 불러옴
    3. 고유주소가 있으므로 계층 구조가 필요없어 신속하고 빠르며, 파티션 별로 나뉘어 있기 때문에 다른 운영체제에서도 엑세스 가능
    4. 비용이 많이 들고, 메타데이터 처리가 제한적이라 관리자 부담이 큼
    5. 블록 스토리지는 보통 SAN에 사용됨
    6. iSCSI, NTFS, UFS, ExtFS, ZFS 등 프로토콜을 사용함
    7. (Ex) AWS EBS, Azure Managed Disk, Azure Blockblob storage 등
  • 파일 스토리지
    1. 파일과 폴더의 계층구조로 이루어진 데이터 저장 방식
    2. 파일의 이름, 위치, 생성일, 수정일, 크기 등의 제한적 메타데이터를 가지고 있으며, 파일이 늘어날 수록 찾는 속도도 저하되는 단점이 있음
    3. 파일 스토리지는 보통 NAS에 사용됨
    4. 오래전부터 사용되온 친숙하고 표준화된 스토리지 시스템이 장점
    5. CIFS(SMB)나 NFS 프로토콜을 이용함
    6. (Ex) AWS EFS, Azure File 등
  • 오브젝트 스토리지
    1. 개별 데이터 단위로 데이터를 저장하는 방식 (오디오, 비디오, 텍스트, 워드파일, 이미지 등)
    2. 계층구조 없이 평면(flat) 구조로 데이터를 저장하며, 그만큼 접근이 쉽고 빠름
    3. 상세한 메타데이터를 추가할 수 있어 검색에 용이함
    4. 폭증하는 대량의 데이터를 저장하고 관리하고 좋은 방식
    5. (Ex) AWS S3, Azure Blob Storage(container), Ceph 등

 

2. SAN vs NAS

  SAN NAS
약자 Storage Area Network Network Attached Storage
방식 Fiber channel( 광채널 ) switch로 연결한 고속데이터 네트워크
서버와 저장장치가 이더넷 등의 LAN방식의 네트워크에 연결된 방식
입출력 단위 블록
파일
파일시스템 관리 애플리케이션이 관리 파일 서버가 관리
프로토콜
  • 파이버 채널 프로토콜 (FCP): 파이버 채널이라는 케이블을 사용해서 데이터를 빛의 속도로 전송
  • iSCSI: 일반적인 이더넷 케이블을 사용하기 때문에 비용이 저렴하다는 장점
  • FCoE: 파이버 채널의 속도와 이더넷의 유연성을 동시에 결합
  • FC-NVMe: 최첨단 플래시 스토리지에 사용
SMB, AFP, NFS, FRP, WebDav 등
요구사항 속도와 안정성이 필요한 곳에 적합 관리가 용이하고 비용이 저렴한 환경에 적합

 


 

 

 

3. LUN

  • Logical Unit Number
  • 서버에서 한개의 스토리지 공간으로 인식하는 단위
  • 하나의 DISK나 RAID를 파티션하여 사용하면 LUN0, LUN1 이런식으로 된다는 뜻.
    = 하드 디스크 장치의 개별 혹은 모음에 지정된 고유 식별자
  • 논리 장치는 SCSI를 캡슐화하는 SCSI 프로토콜 혹은 SAN 프로토콜에 의해 주소가 지정됨!

 


4. RAID

RAID 0 - striping이라고도 부르는 방식
- 최소 2개의 디스크가 필요
- 모든 디스크에 데이터를 분할하여 저장한다
- 성능은 단일 디스크의 N배, 용량은 N배
- 하나의 디스크라도 문제가 발생할 경우 전체 RAID가 깨지는 일이 발생(안정성은 1/N)
RAID 1 - Mirroring이라고도 부르는 방식
- 최소 2개의 디스크가 필요
- 모든 디스크에 데이터를 복제하여 기록

- 실제 사용 가능한 용량은 단일 디스크의 용량과 동일
- RAID 1의 최대 강점은 안정성이 높지만, 비용 문제가 존재
RAID 5 - block단위로 striping / error correction을 위한 패리티 저장
- 패리티 저장은 매번 다른 디스크에 저장

- 단일 RAID에 패리티를 저장하는 RAID 4의 단점을 개선한 버전
- 용량 및 성능이 단일 디스크 대비 N-1배 증가, 최소 3개의 디스크로 구성이 가능함

 

 


5. IDE, SATA, SCSI, SAS

(1) IDE

  • 가장 오래된 하드디스크 규격 
  • 데이터를 병렬로 전송한다는 뜻에서 PATA 인터페이스라고 부르기도 함
  • 최신 규격에서는 초당 133.3MB 전송속도

(2) SATA

  • 직렬 전송을 기본으로 하는 하드디스크 규격
  • SATA 1 규격에서는 초당 150MB, SATA 2는 초당 300MB의 전송 속도

 

(3) SCSI

  • Small Computer System Interface (기기간의 연결점)
  • 서버나 워크스테이션 등에 쓰이는 고속 인터페이스
  • 안정성이 높지만 가격이 매우 비쌈
  • 이 규격을 쓰려면 별도의 확장 카드를 달아야 함 
  • 최신 규격인 울트라 320은 최대 320MB/초의 전송속도

 

(4) SAS

  • SCSI 규격을 한 단계 발전시킨 것으로 이 규격
  • 성능은 울트라 320 SCSI보다 좋음
  • 커넥터와 선은 SATA와 같은 것을 이용하지만 컨트롤러가 달라 SAS 규격의 하드디스크가 SATA 제품보다 훨씬 비쌈

6. iSCSI

 

  • Internet Small Computer System Interface
  • 인터넷 프로토콜(IP) 기반의 스토리지 네트워킹 표준
  • iSCSI 타겟에 접속 하기 위하여, Host는 iSCSI initiators를 사용해야함.

  • iSCSI Target : iSCSI 서버 (스토리지 제공) (targetcli 설치 필요)
  • iSCSI Initiator : iSCSI 클라이언트 (iscsi-initiator-utils 설치 필요)
  • IQN (iSCSI Qualified Name) : iSCSI Target/Initiator의 고유 이름 포맷 중 하나
    • 포맷 형태 : Type.Date.Naming_Auth:String_defined_by_example.com_Naming_authority
      • Type : iqn 으로 고정
      • Date : YYYY-MM
      • Naming_Auth : 도메인의 역순 형태
      • String_defined_by_example.com_Naming_authorith : 설명 (옵션)
    • 예시 : iqn.2021-04.com.haejang:target
  • targetcli : LinuxIO를 위한 general management 플랫폼