티스토리 뷰

Storage/Architecture&Tech

block and object storage

jacobbaek Jacob_baek 2017. 7. 17. 10:02

Data 의 분류

- 정형 데이터 : 형태가 있고 연산이 가능한 데이터 (ex, DataBase에 저장된 data, 일반적으로 RDBMS에 저장)

- 반정형 데이터 : 형태가 있으나 연산이 불가한 데이터 (ex, log xml 등, 일반적으로 파일로 저장)

- 비정형 데이터 : 형태도 없고 연산도 불가한 데이터 (ex, text, image, voice, video, 일반적으로 NoSQL에 저장, 별도의 정형와 application이 필요하다.)

- 참고

  - http://www.kinews.net/news/articleView.html?idxno=72757

  - http://blrunner.com/12


Block vs File vs Object

Block(물리 레코드) 은 고정된 길이의 데이터 덩어리

File는 Block의 집합이며 inode(file 정보집합)를 가지고 있다.

Object는 data의 덩어리

http://www.datadynamicsinc.com/blog/2015/06/29/whats-a-file-whats-a-block-whats-an-object/


파일 기반 스토리지와 블럭 기반 스토리지

전반적으로 대표되는 NAS와 SAN의 비교로 볼수 있다.

- https://stonefly.com/resources/what-is-file-level-storage-vs-block-level-storage


Block Storage

- FileSystem 기반 방법

- 트리와 같은 계층구조 , 디렉토리 구조로 계층화된 저장

- 실제 RAW Block Device에 직접 연결된다 볼수 있다.

- 동일한 volume을 다수의 client가 mount 할 수 없다.

  (실제 접근은 가능하나 권고되지 않는 사항이다.)

- 파일을 raw block size별로 나누어 저장한다.


Object Storage

- 비정형 데이터를 저장/관리하기 위해 메타데이터를 사용

- 동작원리

  - 보통 REST API call을 사용하고 id를 전달받게 된다.

  - mapping 되는 ID에 맞는 object가 metadata와 함께 찾아지게 된다.

- 일반적으로 object의 구성은 데이터, 메타데이터, UID가 된다.

  (여기서 데이터 및 메타데이터의 구성은 벤더별로 상이하다.)

- Block Storage와 같이 file을 raw block size 별로 나누지 않는다.

   대신 전체 데이터 덩어리를 저장하고 metadata를 통해 접근한다.

- 대체로 정적 웹 컨텐츠, 백업데이터, 저장용이미지, 멀티미디어 데이터 등이 대표적인 사례가 된다.


 

 Block Storage 

 File Storage 

 연결방법

 FileSystem은 Client에서 지정하여 사용하고  Block 할당에 대한 operation도 직접 수행한다.

 Hardware에 있는 FileSystem을 거쳐 I/O처리

 즉, Server에서 FileSystem을 지정하고 이를  Client가 연결하는 방식이다.

 대표

 Protocol

 iSCSI, FCoE .. 

 NFS, CIFS, SMB .. 


참고이미지

- http://searchstorage.techtarget.com/storageMagazine/images/vol3iss4/float_clusteredFileSystem.gif


분산 스토리지

단일 스토리지로는 수십,수백 테라바이트의 용량을 제공할 수 없기에 네트워크로 단일 스토리지를 연결시켜 대용량 스토리지를 탄생시켰다.

Metadata 와 같은 Object Storage의 방식을 활용하여 분산된 환경에서 data의 I/O를 발생시키는 스토리지라 볼수 있다.

대표적인 분산 스토리지로는 GFS, AWS S3, HDFS 등이 있다.


RAID란?

(최초 Redundant Array of Inexpensive Disks / 현재 Redundant Array of Independent Disks)

시작은 DISK의 값이 비쌌던 때에 저렴한 DISK를 묶는 개념으로 시작했고 현재는 가격적인 부분보다 보안,성능등에 취중이 되었다.

- http://smsinfo.tistory.com/176


OpenStack Side

cinder : Block Storage

swift : Object Storage

http://mr100do.tistory.com/589


Block과 File 에 대한 개념소개

하드웨어에 따라 다르지만 물리 block size가 4K, 논리 Block size가 512Byte

- https://unix.stackexchange.com/questions/178899/optimizing-logical-sector-size-for-physical-sector-size-4096-hdd

Block은 데이터의 최소단위로 이러한 Block들이 모여 File을 이루게 된다.

참고로 디스크는 한정적이며 실제 File은 가변적이다. 가변적인 File 사이즈가 늘어나게 되면 기본의 방식으로는 할당에 무리가 있게 된다. 가변적인 File을 처리하기 위해 Block을 연속 또는 불연속으로 할당하게 된다.

- http://jiming.tistory.com/359


LUN과 volume의 차이는?

LUN은 partition 되어 있는 디스크 볼륨

일반적인 용어로 볼륨은 Partition이 필요하다.

- https://serverfault.com/questions/395517/whats-the-difference-between-a-lun-and-a-volume


참고사이트

- https://blogs.technet.microsoft.com/krdcvteam/archives/1435

- https://www.storagecraft.com/blog/storage-wars-file-block-object-storage/

- https://www.snia.org/sites/default/education/tutorials/2007/spring/storage/The_Storage_Evolution.pdf

- http://www.computerweekly.com/feature/Storage-101-Object-storage-vs-block-vs-file

- https://www.druva.com/blog/object-storage-versus-block-storage-understanding-technology-differences/

'Storage > Architecture&Tech' 카테고리의 다른 글

block and object storage  (0) 2017.07.17
댓글
댓글쓰기 폼