티스토리 뷰
스토리지 개념 및 종류
스토리지 : 저장장치를 다수 장착한 대용량 고속 저장 장비로, 서버 및 클라이언트와 네트워크로 연결해서 사용
저장장치 : 컴퓨터의 데이터를 저장하기 위한 비 휘발성의 기억 장치
으로 들어간다.
Tape, HDD, SATA SSD, NVMe SSD
저장용량이 적다. Tape는 뭐냐면 하드보다 더 튼튼하고,
10년 20년 동안 더 튼튼하게 보관해야 할 때 사용한다.
스토리지는 데이터 저장뿐만 아니라 데이터 공유 목적으로 주로 사용됨
서버에 장착된 디스크 용량이 부족할 경우, 다수의 사람들과 데이터를 공유할 필요가 있을 경우 스토리지를 활용한다.
데이터 관리 및 보호를 위한 별도의 소프트 웨어 탑재
일반적인 서버보다 데이터 저장 용량이 훨씬 많다.
RAID
스토리지 데이터 저장 방식 : RAID
Redundant Array of Independent Disk
여러 개의 디스크 중 일부에 데이터를 중복 저장하는 기술
여러 개의 디스크를 하나의 디스크 모듈로 사용, 디스크 읽기/ 쓰기 성능 향상, 장애 발생 시 원활한 복구를 위해 사용한다.
현업에서 HDD를 RAID로 묶을 때는 동일 사이즈의 HDD size를 사용한다.
RAID 0: 데이터를 여러 디스크에 분산 저장하여 하나의 디스크처럼 사용, 성능이 좋지만 장애 시 데이터는 모두 손실된다.
RAID 1: 데이터를 다른 디스크에 동일하게 중복 저장하여 안정성이 높지만 비용이 많이 든다.
RAID 0는 빠르지만 손실 위험성
RAID 1은 최소 2개 디스크가 필요하고, 필요한 용량의 2배나 준비되어야 한다.
장애 대비에 유리하나 비용이 비싸다.
RAID 5: 디스크에 패러티 정보를 저장해 장애시 패러티를 토대로 복구할 수 있다. 일정 수준의 성능과 안정성이 확보.
디스크의 블럭 중에서 하나를 패러티라는 용도로 사용한다.
최소 3개의 디스크가 필요하며, 보통 5개 이상 사용한다.
RAID 6: RAID 5 방식에 패러티를 하나 더 추가하여 안정성을 더욱 향상시킨 방법이다.
성능은 RAID 5보다 조금 떨어진다.
최소 디스크 4개 필요
RAID 구성의 목적은 HDD가 고장나도 data를 보호하는 게 가장 큰 목적이다.
대표적인 RAID 방식 : RAID 1+0 : RAID 0의 높은 성능과 RAID 1의 뛰어난 안정성을 합친 형태
JBOD : just a brunch of Disks(Drives), 2개 이상의 디스크를 하나의 디스크처럼 만들어주는 것(Non-RAID)
여러 디스크의 용량을 단순히 이어 붙인 것으로 RAID 0과 같이 다수의 디스크를 사용한다고 성능이 향상되지 않는다.
용량만 늘어난다.
스토리지 용량이 부족해서 용량만 부족할 때 스토리지를 늘린다.
스토리지 종류
DAS
직접연결한 스토리지
간단히 말하면 외장하드.
서버와 클라이언트가 전용 케이블로 연결되어 있다.
전송속도가 빠르고, 소토리지가 연결된 개별적인 파일 시스템을 사용해 관리한다.
NAS
데이터 공유를 위한 파일 서버 용도로 주로 사용되며 파일 스토리지라고도 불린다.
스토리지 전용 OS로 데이터를 관리하는 독립적 다기능 스토리지
NAS는 스위치를 거친다. 가정용 개인 서버(클라우드)라고 보면 된다.
클라이언트가 데이터에 접근하기 위해서는 반드시 네트워크 스위치를 거쳐 NAS에 접근해야 하기에
DAS보다 전송속도가 느리다.
클라이언트가 서버에서 구동되는 애플리케이션의 데이터에접근할경우,
서버는 네트워크 스위치를 통해 NAS에 접근해서 데이터를 찾아 클라이언트에게 전달함
SAN
스토리지 만을 위한 전용 네트워크이다.
스토리지 내에서 데이터를 주고 받기 위한 전용 네트워크
이더넷 네트워크가 아닌 FC(광케이블)을 사용해 연결하며, 고성능을 요구하는 시스템의 전용 스토리지로 사용한다.
SAN은 마치 데이터 저장만 가능하여 읽기/쓰기 작업을 할 수 없다.
반드시 서버와 연결해야 읽기/쓰기 작업이 가능해서 서버 종속성 스토리지로 블록 스토리지라고도 불린다.
FC 네트워크는 이더넷 네트워크보다 성능이 뛰어나다.
이더넷 스위치 성능 1gbps vs 8gbps
스토리지 유형
스토리지 유형 : 파일 스토리지, 블록 스토리지, 오브젝트 스토리지
폴더 형태로 저장하는 게 파일 스토리지 - NAS에서 활용
블록스토리지는 데이터를 일정한 크기의 블록으로 나눠서 분산 저장한다 - SAN에서 활용
오브젝트 스토리지는 오브젝트라는 개별 데이터 단위로 분산 저장한다.
메타데이터가 포함되어 있어 신속한 검색 가능하다.
오브젝트 수정이 불가능해서 잦은 수정이 필요한 정형 데이터는 맞지않는다. - AWS S3에서 활용
한번 저장하고 덮어 씌워야 한다면 알맞지 않다.
비정형 데이터가 알맞다.
정형 데이터 : 미리 정해 놓은 형식과 구조에 따라 고정된 필드에 저장된 텍스트 형태의 데이터
비정형 데이터 : 식별 가능한, 미리 정의된 구조가 없는 사진, 음성, 동영상, PDF 파일 등의 데이터
정형 : 엑셀 / 비정형 : 이미지, pdf, emd
기업입장에서는 높은 성능이 필요하지 않다 그러면 NAS를 쓴다.
반대로 데이터가 너무 중요하고, 처리가 빨라야 한다면 블록 스토리지 쓴다.
거기서 하나 더 가서 덜 중요하면서 자주 수정하지 않는 데이터는 오브젝트에 넣는다.
백업 개념 및 종류
백업 : 데이터를 임시로 다른 장치에 저장하여 문제가 있을 때 복구(Recovery) 할 수 있도록 준비해두는 것
Full Backup : 백업 주기 마다 데이터 전체를 백업
Incremental Backup : 첫째 날에 데이터 전체를 백업하고, 그 다음부터는 증가된 데이터만 백업한다.
스냅샷
스냅샷 : 마치 사진 찍듯이 특정 시점에 스토리지의 파일 시스템을 포착해 보관하는 기술
Copy-on-write 스냅샷 : 쓰기(Write) 작업 발생 시 복제(Copy) 후 해당 복제본을 새로운 공간에 덮어쓴다.
어느 시점에 문제가 생긴 데이터만 백업하면 된다. 그 스냅샷에 대한 부분만 빠르게 복구한다.
추가적으로 복구시에는 꼭 풀백업본 없이 증분백업분만으로는 복구가 불가능하다.
즉, 풀백업 + 증분 = 복구 가능이다.
단, 매일같이 풀백업을 진행했다면 복구시 제한 없다.
데이터가 변경될 때 한번 복제 후, 데이터 쓰기 수행 / 읽기 1 쓰기 2번으로 한다.
원본 데이터 B를 스냅샷 공간에 저장하고, B1을 OS에 저장한다.
잘못 되었을 때, 다시 B를 B1의 위치에 덮어씌운다.
Redirect - on wrtie
Redirect - on wrtie 스냅샷 : 쓰기 작업 발생 시 새로운 공간으로 쓰기 위치를 재지정
데이터가 변경될 때 그곳에 바로 데이터 쓰기를 수핸한다.
스냅샷 찍은 B를 Freeze 하고, 데이터 포인터 -> B 데이터 & 스냅샷
즉, B 자체가 원본 데이터이면서 스냅샷 데이터이다.
원본 데이터 = 스냅샷 리스트 (추가데이터 생성이 쓰기 작업 1번만 발생한다)
스토리지에서 쓰기 작업이 줄어드면 당연히 CPU 자원을 덜 쓸 수 있다.
그러면 더 빨리할 수 있다.
최근에는 ROW를 사용한다.
웬만하면 별도의 스토리지로 백업을 가지고 있다.
백업 하드웨어 : 백업을 위한 전용 스토리지(하드웨어) + 소프트웨어가 합쳐진 일체형 어플라이언스
백업 소프트웨어 : 백업을 위한 전용소프트웨어 (Veeam, commvault)
서버, 네트워크, 스토리지가 3T 아키텍처
IT 인프라의 기본이다.