[주의] 개인 공부를 위해 쓴 글이기 때문에 주관적인 내용은 물론, 쓰여진 정보가 틀린 것일 수도 있습니다!
피드백 부탁드립니다. (- -)(_ _) 꾸벅
1. 블록 / 파일 / 오브젝트
- 블록 스토리지
- 데이터를 일정한 크기(블록)으로 나누어 저장하는 방식
- 블록은 고유의 주소를 가지고 있으며, 여러 블록을 재구성하여 데이터를 불러옴
- 고유주소가 있으므로 계층 구조가 필요없어 신속하고 빠르며, 파티션 별로 나뉘어 있기 때문에 다른 운영체제에서도 엑세스 가능
- 비용이 많이 들고, 메타데이터 처리가 제한적이라 관리자 부담이 큼
- 블록 스토리지는 보통 SAN에 사용됨
- iSCSI, NTFS, UFS, ExtFS, ZFS 등 프로토콜을 사용함
- (Ex) AWS EBS, Azure Managed Disk, Azure Blockblob storage 등
- 파일 스토리지
- 파일과 폴더의 계층구조로 이루어진 데이터 저장 방식
- 파일의 이름, 위치, 생성일, 수정일, 크기 등의 제한적 메타데이터를 가지고 있으며, 파일이 늘어날 수록 찾는 속도도 저하되는 단점이 있음
- 파일 스토리지는 보통 NAS에 사용됨
- 오래전부터 사용되온 친숙하고 표준화된 스토리지 시스템이 장점
- CIFS(SMB)나 NFS 프로토콜을 이용함
- (Ex) AWS EFS, Azure File 등
- 오브젝트 스토리지
- 개별 데이터 단위로 데이터를 저장하는 방식 (오디오, 비디오, 텍스트, 워드파일, 이미지 등)
- 계층구조 없이 평면(flat) 구조로 데이터를 저장하며, 그만큼 접근이 쉽고 빠름
- 상세한 메타데이터를 추가할 수 있어 검색에 용이함
- 폭증하는 대량의 데이터를 저장하고 관리하고 좋은 방식
- (Ex) AWS S3, Azure Blob Storage(container), Ceph 등
2. SAN vs NAS
SAN | NAS | |
약자 | Storage Area Network | Network Attached Storage |
방식 | Fiber channel( 광채널 ) switch로 연결한 고속데이터 네트워크 |
서버와 저장장치가 이더넷 등의 LAN방식의 네트워크에 연결된 방식 |
입출력 단위 | 블록 |
파일 |
파일시스템 관리 | 애플리케이션이 관리 | 파일 서버가 관리 |
프로토콜 |
|
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
- 포맷 형태 : Type.Date.Naming_Auth:String_defined_by_example.com_Naming_authority
- targetcli : LinuxIO를 위한 general management 플랫폼
'클라우드' 카테고리의 다른 글
[Spring Cloud Gateway] 스프링 클라우드 게이트웨이란? (0) | 2022.11.16 |
---|---|
[Docker] 2. 도커 설치 및 명령어 정리 (0) | 2021.04.29 |
[클라우드 융합] 용어 및 내용 요약 (0) | 2021.03.24 |
[Docker] 1. Docker란 무엇인가? (1) | 2021.01.03 |