리눅스 파일 시스템(File System)과 스토리지
리눅스 파일 시스템File System은 모든 파일 및 디렉토리를 큰 트리 구조 하나로 관리합니다. 리눅스는 Ext(Extended File System)를 사용합니다. OS는 파일 스토리지에 있는 파일을 효율적으로 관리하기 위해 파일 시스템을 구축하게 됩니다.
✅ 대표적인 리눅스 파일 시스템 종류
저널링 시스템은 파일 시스템의 저널(로그)에 기록하는 방식을 사용하는 파일 시스템이며 파일의 정확성 체크가 매우 빠르고 정확하게 이루어집니다.
파일 시스템의 축소와 확장이 가능하더라도 레드햇에서 파일 스스템의 축소로 인한 메타 데이터 불일치의 가능성을 언급한 이유로 축소는 권장하지 않습니다.
✅ 리눅스 파일 시스템과 스토리지
리눅스에서는 모든 데이터 및 프로그램을 파일로 인식하며 스토리지에 보관합니다. 리눅스는 일반 PC에서 사용하는 SSD와 HDD 디스크를 스토리지로 사용할 수 있습니다. 리눅스에서 사용 가능한 기억 장치는 다음과 같습니다.
보조 기억 장치에 속하는 SSD는 HDD 디스크보다 빠른 속도로 읽고 쓰기가 가능합니다.
대용량 스토리지로 자기를 이용해서 디스크에 데이터를 보관합니다.
콤팩트 디스크(CD)는 홈을 파서 데이터를 기록하며, 최대 700MB까지 저장이 가능합니다. CD-R과 CD-RW는 사용자가 직접 기록할 수 있습니다.
DVD 미디어를 사용해 데이터를 기록하며, 최대 8.5G까지 기록이 가능합니다.
블루레이(Blu-Ray) 미디어를 사용해서 데이터를 기록하며, 최대 25GB까지 기록할 수 있습니다.
디지털 카메라에서 사진 및 파일을 기록하는 용도로 사용하는 SD 카드와 USB가 플래시 메모리에 속합니다. 전원이 꺼져도 데이터가 계속 보관됩니다.
1. 리눅스의 스토리지 트리 구조
리눅스에서는 스토리지를 사용하려면 마운트(Mount)라는 작업을 진행합니다. Mount는 저장 장치를 사용할 수 있는 상태로 만드는 것을 의미하며, 언마운트(Unmount)는 그 반대 개념입니다. 계속 산을 생각할 수 있는데 “설치하다”라는 의미도 가지고 있습니다.
윈도우와 비교하면 윈도우는 하드 디스크 트리, DVD 드라이브 트리, 플래시 메모리 트리(ex: USB)처럼 각 장치(파티션)마다 독립된 트리 구조를 가지고 있습니다. SSD와 하드 디스크, USB 메모리가 각각의 독립된 디스크로 인식 된다는 점을 생각하면 되겠습니다.
리눅스의 경우 C,D,E 드라이브처럼 잡히는 것이 아니며, 드라이브 문자의 개념 없이 하나의 거대한 트리 구조로 스토리지를 연결합니다.
fdisk -l
Disk /dev/xvda: 10 GiB, 10737418240 bytes, 20971520 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 0EF4456F-5883-478F-B913-FBB62350113E
Device Start End Sectors Size Type
/dev/xvda1 2048 204799 202752 99M EFI System
/dev/xvda2 204800 2252799 2048000 1000M Linux filesystem
/dev/xvda3 2252800 2260991 8192 4M PowerPC PReP boot
/dev/xvda4 2260992 2263039 2048 1M BIOS boot
/dev/xvda5 2265088 20969471 18704384 8.9G Linux filesystem
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
xvda 202:0 0 10G 0 disk
├─xvda1 202:1 0 99M 0 part /boot/efi
├─xvda2 202:2 0 1000M 0 part /boot
├─xvda3 202:3 0 4M 0 part
├─xvda4 202:4 0 1M 0 part
└─xvda5 202:5 0 8.9G 0 part /