시냅스

대용량 저장장치 구조, Mass-Storage Structure 본문

운영체제

대용량 저장장치 구조, Mass-Storage Structure

ted k 2022. 6. 6. 01:48

대용량 저장장치 구조, Mass-Storage Structure

  • 비휘발성인 보조 저장장치 Secondary Storage system
  • HDD, SSD, NVM, magnetic tapes...
  • 메인메모리에 프로그램을 전부 올릴 수 없기 때문에 사용한다.

HDD Scheduling

  • 접근 시간이나 탐색 시간을 최소화한다.
    • 탐색 시간 : 어떤 device의 arm이 head를 움직이는데 특정 cylinder의 특정 sector를 찾는 것
  • 대역폭을 최대화한다.
    • 대역폭 : 전송된 총 바이트 수 / 첫 서비스 요청 시간 - 마지막 전송 완료 시간 (완료시간 - 요청시간)

FIFO Scheduling

  • 온대로 받는다.

SCAN Scheduling

  • 진행 방향이 맞는 순서로 처리한다.
  • Elevator Algorithm

C-SCAN Scheduling

  • 한 방향으로만 head를 움직인다.
  • 끝으로 가면 처음으로 돌아온다.
    • 돌아갈 때에는 서비스를 하지 않는다.

NVM Scheduling

  • 이동 디스크 헤더가 없으므로 간단한 FCFS를 수행한다. (FIFO)

Boot Block

  • 대부분의 Boot Loader는 시스템 마더보드의 NVM 플래시 메모리(ROM) 펌웨어에 저장되어 알려진 메모리 위치(MBR)에 매핑된다.
  • MBR (Master Boot Record)는 하드 디스크의 첫 번째 논리 블록 또는 NVM 장치의 첫 번째 페이지에 배치한다.
  • 부팅은 시스템 펌웨어에 상주하는 코드를 실행하여 시작한다.
  • 이후 MBR이 부트 코드를 읽도록 지시하고, MBR의 파티션 테이블을 식별하여 첫 번째 섹터/페이지(부트 섹터)를 읽고 이 섹터/페이지가 시스템을 커널로 안내한다.

저장장치 연결 Storage Attachment

DAS

  • 서버에 직접 연결하는 방식
  • 확장이 쉬움, 속도가 빠름
  • 연결 수에 한계가 있음
  • 문제 발생시 순간 단절 가능성
  • 각 서버는 직접 파일 시스템을 관리

SAN

  • 서버와 저장장치를 광섬유 스위치로 연결한 고속 데이터 네트워크
  • SAN 스위치 (L4 or L7)을 구성한 뒤 서버와 스토리지를 연결
  • 확장성, 유용성, 가용성 우수
  • 비싼 비용과 복잡한 구성
  • DB, 가상화 등 대규모의 처리가 필요할 경우

NAS

  • 네트워크를 통해서 서버와 스토리지를 연결
  • 서버와 저장장치가 이더넷 스위치 등의 LAN 방식의 네트워크에 연결된 방식
  • LAN은 TCP/IP 프로토콜 기반, 저장장치는 SCSI 사용, 통신을 위해 중계역할의 파일서버 필요
  • 확장성, 유연성 뛰어남
  • 상대적으로 비용 낮음, 설치 쉬움
  • 커넥션 증가 시 성능문제 발생 가능성
  • 파일 공유, 동시 접속이 필요한 경우

RAID (Redundant Array of Inexpensive Disks)

  • 반드시 백업이 필요한 경우
  • 데이터 유실 시에도 복구 가능
  • 병렬 처리로 대역폭 증가
  • 미러링 mirroring (중복으로 신뢰성 향상)
    • 모든 드라이버 내용을 복제
  • 스트라이핑 striping (병렬 처리로 퍼포먼스를 올리는 방법)
    • 드라이브 여러개로 전송하여 전송률을 높임
    • bit-level striping : 바이트를 8개로 비트 단위로 나눠서 보냄
  • parity bit
    • 전송할 떄 비트 1이 짝수면 1, 아니면 0
    • 만약 전송된 1이 3개일 때 parity bit가 0 이면, 데이터가 깨진 것으로 판단한다.

RAID Levels

RAID 0

  • 두 개 이상의 디스크에 데이터를 무작위로 저장한다.
  • 단순 Stripe

RAID 1

  • 디스크에 동일한 데이터를 중복 기록
  • 단순 Mirroring

RAID 3/4

  • 에러 체크 및 수정을 위해 패리티 정보를 별도의 디스크에 저장

RAID 5

  • 패리티 정보 자체를 stripe로 구성된 디스크 내에 분산하여 저장
  • 하나의 디스크가 손상되더라도 남은 디스크들로 데이터 복구 가능

RAID 6

  • RAID5 + 2차 패리티 정보를 넣어 저장
  • 안정성은 높지만 약간의 데이터 공간 사용이 추가 발생
Comments