[Linux] 리눅스 DISK / File System (fdisk, lsblk, blkid, mkfs, df)
MBR 구조
[ Partition Table ]
MBR(Master Boot Record)의 경우 파티션 테이블은 총 4개로 구성되어 있고, 각각의 파티션 테이블은 16byte씩 정의 되어있다. ( 총 64byte )
기본적으로 파티션을 생성 하기 위해서는 16byte가 필요하며 64byte로 정의된 MBR의 경우 파티션을 총 4개까지 만들 수 있다.
( 단, 확장 파티션을 이용할 경우 필요에 따라 마음대로 파티션을 생성할 수 있다.)
[ DOS Partition 종류 ]
1. Primary Partition ( 주 영역 )
실제 데이터를 저장, 운영체제 설치가 가능 한 Partition.
Partition 생성 시 MBR Partition Table 16byte가 소모.
최소 1개부터 최대 4개까지 생성 가능.
2. Extended Partition ( 확장 영역 )
실제 데이터 저장 불가, 부족한 Partition Table 영역을 확장 시키는 용도로 사용.
논리 영역을 담는 바구니 역할.
1개만 생성 가능 하며, MBR Partition Table 16byte가 소모.
3. Logical Partition ( 논리 영역 )
확장 영역이 갖는 범위 안에 생성 되는 Partition
실제 데이터 저장 가능, 운영체제 설치 불가능.
제한 없이 생성 할 수 있음 ( 확장 영역의 Disk 할당 용량 만큼 )
파일시스템
컴퓨터의 파일 시스템은 파일과 그 안에 든 자료를 저장하고 빠르게 찾기 쉽도록 유지 관리하는 방법
일종의 자료구조 알고리즘
운영체제마다 다른 파일시스템을 사용
Meta/Data 영역
Meta 영역 : 데이터의 물리적 위치정보를 기억하는 영역
Data 영역 : 실제 데이터가 저장되는 영역
Data 영역의 모든 클러스터들의 대한 정보를 Meta 영역에 1대1로 저장이 되어있다
(해당클러스터 위치정보, 사용중, 수정날짜, 경로 등등)
ex) Meta 영역 : test.txt > 8 Cluster
Data 영역(8 Cluster) : test.txt 내용
c언어 포인터처럼
format
파일시스템을 구성하거나 재구성하는 행위
High-Level
> Quick : Meta영역 부분만 재구성
> Normal : Quick + 물리적 디스크 오류 검사 (Bad sector 검사)
Low-Level
> Factory Degault : 공장초기화 (모든 영역을 "0"이라는 값으로 채움)
fdisk
fdisk로 새로운 디스크에 파티션을 나누기 전에 시스템을 종료시키고 물리적인 디스크를 추가해주어야한다.
fdisk [장치명] 으로 해당 장치관련 설정을 진행할 수 있다.
메뉴들을 사용해서 primary, extended, logical 파티션들을 생성해준다.
sdb1 : 200M (primary partition)
sdb2 : 200M (primary partition)
sdb3 : 200M (primary partition)
sdb4 : (extended partition)
sdb5 : 200M (logical partition)
sdb6 : 200M (logical partition)
lsblk(ls blockdev)
lsblk 명령어로 생성된 블록디바이스들과 파티션등을 확인할 수 있다.
blkid(blockdev id)
blkid로는 파티션들의 id를 확인할 수 있다.
여기는 새로 생성한 sdb 디바이스와 파티션 나오지 않는데
이는 새로 생성한 파티션에 file system을 설치하지 않아서이다.
uuid = 파티션 구분값
mkfs.ext4 (make file system. ext4)
mkfs 명령어로 파티션에 파일시스템을 설치할 수 있다.
syn : mkfs -t [file_system] [device_name]
리눅스는
ext4
xfs(centos4)
MOUNT
파일시스템까지 설치를 완료해도 시스템에서 파티션을 사용할 수 없다.
저장 장치에 접근할 수 있는 경로를 디렉터리 구조에 편입시키는 작업이 필요하다.
장치파일을 디렉토리로 바꿈
기존 디렉토리에 장치파일을 삽입
df -l /df -h로 (disk free)
시스템에 마운트된 전체 디스크의 여유 공간을 확인할 수 있다.
sdb1, sdb2 등 아직 마운트 시켜주지 않아 리스트에 나오지 않는다.
일반적인 mount는 일회성
재부팅하면 전부 해제됨
오토마운트 사용