[Linux (리눅스)/#3 DISK]

SeungWoo·2023년 10월 24일

[Linux(리눅스)]

목록 보기
3/13
post-thumbnail

디스크(disk) 물리구조


(1) 전원 커넥터 : 하드디스크에 전원을 공급하는 역할을 합니다.
(2) 데이터 커넥터 : 하드디스크와 컴퓨터 사이의 데이터를 전송해주는 단자 이다.
(3) 헤드 : 데이터를 읽어주는 역할을 담당한다.
(4) 액추에이터암 : 헤드를 데이터가 있는 곳으로 움직이는 역할을 합니다.
(5) 플래터 : 실제로 데이터가 저장되는 곳
(6) 스핀들 : 플래터를 돌려주는 역할을 합니다.

  • 섹터(Sector)
    • 플래터(Platter)의 가장 작은 단위
    • 1개 섹터의 크기는 512byte
    • 실질적으로 데이터가 저장되는 곳**
    • 디스크 block(블록)으로 불리고 1:1 매칭

    블록(block) : 파일 시스템에서 파일이 저장 되는 단위

  • 트랙(Track)
    • 섹터가 모여 하나의 원을 구성
    • 많은 수의 섹터를 가지고 있고, 플래터내에 여러개의 트랙이 존재

디스크 파티션(Disk Partition)

• 하나의 물리적 하드 디스크 드라이브(또는 SSD)를 여러 개의 논리적 영역으로 나누는 프로세스 또는 결과물
(하나의 물리적 디스크를 여러개 디스크가 있는 것처럼 사용 할 수 있다.)
• 파티션으로 나누어지게 되면 각 파티션은 개별적으로 관리됩니다.
• 한 파티션에 운영체제를 설치한 후, 또 다른 파티션에 다른 운영체제를 설치할 수 있고, 또 다른 파티션은 데이터 저장용으로 사용 하는 등 사용자의 의도에 따라 다양하게 사용 가능
• 각각의 파티션별로 초기화(포맷)할 수 있다.

  • 파티션의 구성 방식 ( MBR / GPT )

MBR (Master Boot Record)
• 드라이브 시작 부에 예약된 공간이 있는데, 거기에 담기게 된다.
• 컴퓨터가 부팅이 시작될 때 가장 먼저 참조하는 영역
• 부팅 정보 저장 --> 이 정보를 사용하여 컴퓨터 부팅시 어떤 운영 체제를 실행할지 결정
• 최대 파티션 수는 4개
• 용량 제한 --> 디스크 2.2TB 초과 대용량 디스크 사용x
• 호환성은 높다 ( 옛날 부터 최근 까지 대부분의 시스템이 MBR 파티션 방식을 사용 하기 때문에)

GPT ( GUID globally unique identfiers)
• MBR (Master Boot Record) 파티션 테이블의 현대적이고 더 강력한 대안
• MBR 용량 제한을 극복
• 부팅 가능한 파티션에 대한 부팅 정보를 저장하며, UEFI 기반 컴퓨터에서 부팅 시 사용됩니다.
• 중요 데이터를 디크스의 마지막 부분에 복제* 합니다 ---> 안전성이 보장 된다.

  • 다스크연결 인터페이스 방식
    • SATA (Serial Advanced Technology Attachment)
    • NVMe (Non-Volatile Memory Express)
    • PATA (Parallel Advanced Technology Attachment)
    • SCSI (Small Computer System Interface)
    • USB (Universal Serial Bus)
    • FireWire (IEEE 1394)

파일시스템(file system)

• 파일의 이름, 정보, 정보공간등을 관리해서 효율적으로 파일을 쉽게 찾을 수 있도록 도와주는 역할을 담당
• 파일의 메타데이터를 따로 관리한다. (i.node)
• OS(운영체제)마다 파일 시스템이 다르다.
• Linux(리눅스)는 EXT 사용( EXT2, EXT3, EXT4 )

I.Node
• 파일 또는 디렉터리의 메타데이터를 저장하고 관리하는 데 사용되는 자료구조
• 파일 또는 디렉터리에 메타데이터를 저장
• 파일의 이름, 크기, 소유자, 그룹, 권한, 생성일, 수정일, 액세스 일자 및 파일 형식과 같은 정보가 포함
• 파일의 데이터 블록에 대한 주소(포인터)*를 저장
• 파일 데이터의 실제 위치 정보를 저장
• 시스템 내에서 고유한 번호 또는 i-node 번호를 가지며, 이를 사용하여 파일을 식별
Super block
• 파일시스템 전반에 걸친 메타데이터를 저장

  • EXT2
    • Block Mapping 방식
  • EXT3 / EXT4 비교
    • Journaling
    1) 디스크에 데이터를 기록할때, 변경할 내용에 대한 기록(=로그)를 생성하고 이후에는 변경한 데이터의 내용을 기록하는 기능
    2) 데이터를 기록하는 중간에 오류가 발생하더라도, 복구를 가능하도록 만들어 주는 것을 의미
    EXT3 = EXT2 + Journaling 기능 추가
    EXT4 = 하위 버전과 호환 가능, 파일의 조각화를 줄여줌

  • EXT4
    • extents 방식

    • EXT4 구조

    • 여러개의 블록 그룹이 존재
    • 파일 시스템 전체의 대한 주요 정보를 슈퍼 블록에 저장
    • 슈퍼 블록의 백업이 일부 블록 그룹에 저장
    • inode를 사용하여, 파일의 메타 정보와 데이터를 분리한다.
    • 단편화(File Fragmentaion)

    단편화(File Fragmentaion)
    파일 시스템에서 파일이 저장될때, 일부 파일은 디스크에 연속적으로 저장되지 않고 여러 개의 작은 조각으로 나누는 것
    • 기억 장치의 저장 공간을 낭비 하거나 읽기 및 쓰기 연산의 속도를 늦추는 문제점을 이야기

    • 내부 단편화( internal fragmentation )
      • 섹터의 크기보다 실제 뎅이터가 작을때 발생 ---> 공간의 낭비
    • 외부 단편화 ( External fragmentaion )
      • 여유 공간이 여러 조각으로 나누는 현상
      • 작업을 수행 할 떄, 사용 가능한 저장 공간이 여러 조각으로 나눈 현상
      • 하나의 파일이 실제 디스크에서 연속적인 저장 공간에 할당이 되지 못하기 떄문에 디스크 읽기 및 쓰기와 같은 연산의 효율이 떨어진다.

Linux 파일 시스템 유형 3가지

  • 디스크 기반 파일 시스템
    • 하드 디스크 ( EXT )
  • 분산 파일 시스템
    • SMB, NFS(Network file system)
    네트워크를 통해 파일및 디렉터리 공유를 자원하는 분산 파일 시스템 프로토콜
  • pseudo 파일 시스템
    • 메모리 기반으로 하는 파일 시스템

물리적 디스크 연결 -> 파티션(파티셔닝) -> 파일 시스템 구축 -> 마운팅(데이터와 링크를 건다)

profile
This is my study archive

0개의 댓글