2022. 11. 21. 18:08ㆍ리눅스(Linux)
-참고자료-
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=capemay&logNo=220221154613
Cluster
- 논리적인 단위, 연속된 섹터를 클러스터라고 부름
- 1개 트랙이 63개의 섹터로 이루어졌을 때 크기가 63인 클러스터는 파일에 할당하는 최소 단위, 아무리 작은 파일이더라도 1개의 클러스터 단위로 저장
File System
What is file system
- 컴퓨터의 파일 시스템은 파일과 그 안에 든 자료를 저장하고 찾기 쉽도록 유지 관리하는 방법이다.
- 파일 시스템은 하드 디스크나 CD-ROM과 같은 물리적 저장공간을 저장장치로 활용할 수도 있지만, NFS와 같은 파일 시스템에서는 네트워크 상에 존재하는 파일에 접근하기 위한 가상적 인터페이스인 경우도있다.
- 학술적으로, 파일 시스템은 자료를 계층적으로 저장, 탐색, 접근, 조작하기 위한 추상적 자료구조의 집합으로 정의된다.
- 파일과 그 안에 든 자료를 저장하고 찾기 쉽도록 유지 관리하는 방법
- OS 가 파일을 시스템의 디스크상에 구성하는 방식
- OS 는 해당 파티션을 기반으로 시스템의 디스크 파티션 상에 파일들을 연속적이고 일정한 규칙을 가지게 저장
- 파일 시스템은 이러한 규칙들의 방식을 제시하는 역할을 함
[File System] → 자료구조 알고리즘
- 파일의 물리적 위치를 저장하여 Data에 빠른 Access가 가능하도록 도와 준다, Meta 영역 / Data 영역으로 구분된다.
- Meta 영역 : 데이터의 물리적 위치정보를 기억하는 영역
- Data 영역 : 실제 데이터가 저장되는 영역
[Format]
- 파일 시스템을 구성하거나 재구성하는 행위를 말 한다.
- High-Level
→ Quick : Meta영역 부분만 재 구성
→ Normal : Quick + 물리적 디스크 오류 검사 (Bad Sector 검사)
- Low-Level
→ Factory Default : 공장 초기화 (모든 영역을 "0"이라는 값으로 채움)
리눅스가 지원하는 파일시스템
- 리눅스가 지원하는 파일시스템은 매우 뛰어나기는 하지만 완벽하지는 않다
지원되는 파일시스템 찾기
- 대부분의 리눅스 파일시스템은 커널에 포함되어 있으며, 레드햇의 경우 대부분의 파일시스템을 기본 구성에 포함시키고 있다
- 추가적인 파일시스템들은 모듈형태로 제공 되어지고 있으며 다음의 경로에서 확인 할 수 있다.
/lib/modules/x.y.z/kernel/fs
기본적인 파일 시스템의 구성 요소
- Boot Block(MBR) : 부팅할 때 실행되어야 할 코드가 담긴 부분
- Super Block : 파일 시스템 정보를 가지며 파일 시스템의 크기 등과 같은 파일 시스템의 전체적인 정보를 가진다
EX) 파일시스템이 생성된 시간, Inode 개수, mount 횟수
- Inode(meta data) : 파일의 이름을 제외한 해당 파일의 모든 정보를 가진다
- Data Block : data가 존재하는 Block
File System 의 종류
$ General File System
- FAT (File Allocation Table) File System
- HPFS
- NTFS
- UFS
- EXT2/ EXT3
$ Flash File System
$ CD-ROM File System
$ Network File System
$ VFS (Virtual File System)
FAT ( File Allocation Table )
- Microsoft 에서 만든 FileSystem
- Windows OS에 기본을 탑재되어 있어 널리 사용 (FAT를 지원하는 저장장치들은 별다른 제약없이 Windows에서 인식가능)
- 연결리스트 형태의 자료구조를 사용하고 있어, 검색시간이 길고, 단편화가 많이 발생한다.(서버용으로는 부적합함)
- FAT12, FAT16, FAT32
HPFS ( High Performance FileSystem )
- IBM과 Microsoft 가 공동으로 개발한 FileSystem
- IBM의 OS/2 에 탑재되었음.
- 성능이 우수하였으나, OS/2의 흥행 실패로 널리 사용되지 못함
- NTFS에 영향을 준 FileSystem
NTFS ( New Technology FileSystem )
- Microsoft 사의 서버급 운영체제인 Windows NT군 에서 사용됨
- FAT와 HPFS의 단점들을 개선한 FileSystem
- 높은 안정성과 여러가지 부가기능을 지원
- Microsoft에서 스펙을 공개하지 않아 완벽한 분석이 이루어지지 않았음 (다른 운영체제들이 NTFS를 지원하긴 하나 안정성을 위해 대부분 읽기만 가능)
UFS ( Unix File System )
- 유닉스의 대표적인 File System
- 대부분의 유닉스들(BSD계열, HP-UX, Apple OS X, Sun Solaris)이 UFS를 각각의 OS에 맞게 변형해서 사용
EXT2
- UFS에서 불필요한 구조들을 제거
- UFS 수준의 속도와 안정성을 가지고 있음
EXT3
- EXT2에 저널링 기능을 추가한 File System
- 리눅스의 기본 File System
- 단일 파티션 32TB, 단일 파일 2TB.
EXT4
- 대용량 파일 지원 : 단일볼륨 1EB, 단일 파일 16TB
기본 파일 시스템 및 계층구조
파티션 VS 파일 시스템
- 파일 시스템은 파티션을 구성해 주는 역할을 한다
- 파일 시스템을 포함하지 못한 파티션은 파일 시스템이 사용될 수 있도록 초기화되고 파일 정보를 기록하기 위한 형식을 만들어야 한다
- 위의 두 과정을 거쳐야 파티션은 파일 시스템으로 사용될 수 있다
Partition
파티션 이란?
- 연속된 저장 공간을 하나 이상의 연속되고 독립된 영역으로 나누어서 사용할 수 있도록 정의한 규약이다
- 파티션을 나누기 위해서는 저장장치에 연속된 공간이 있어야 한다.
- 하나의 하드디스크에는 여러 파티션을 나눌 수 있지만, 두 개의 하드디스크를 이용해서 하나의 파티션을 만들 수는 없다.
단일 파티션과 다중 파티션의 가장 큰 차이점은 MBR의 유무이다
- DOS파티션에서만 해당되는 것으로 파티션이 나눠진 경우 각 파티션들을 관리할 수 있는 파티션 테이블과 부팅이 가능하도록 하는 부트 프로그램이 있는 영역이다.
- 물리적으로는 디스크의 첫 번째 섹터를 의미
파티션의 용도
- 파티션을 나누는 용도는 개인의 사용용도에 따라 차이가 있다
* 하나의 물리적인 디스크를 여러 논리 영역으로 나누어 관리를 용이하게 하기 위해
* OS영역과 Data 영역으로 나누어 OS 영역만 따로 포맷 및 관리하기 위해
* 여러 OS를 설치하기 위해
* 하드디스크의 물리적인 배드 섹터로 특정 영역을 잘라서 사용하기 위해
MBR이란?
- MBR(Master Boot Record, 마스터 부트 레코드)은 말 그대로 Boot Record들의 메인 Boot Record 라고 할 수 있다
MBR의 구조
- MBR의 구조는 크게 두 영역으로 나눌수 있다.
-부트코드(Boot Code)영역과 파티션 정보를 저장하고 있는 파티션 테이블(Partition Table)영역 이다
Partition Table
- MBR의 경우 파티션 테이블은 총 4개로 구성되어 있고, 각각의 파티션 테이블은 16Byte씩 정의 되어 있다.(총 64Byte)
- 기본적으로 파티션을 생성 하기 위해서는 16Byte가 필요하며 64Byte로 정의된 MBR의 경우 파티션을 총 4개까지 만들 수 있다. (단, 확장 파티션을 이용할 경우 필요에 따라 마음대로 파티션을 생성할 수 있다. )
파티션의 종류
- 파일시스템의 종류는 벤더에 따라 그 수가 굉장히 많다. 그 만큼 파티션의 종류도 각양각색 이다.
$ DOS Partition Table
- 현재 가장 많은 OS가 채택하여 사용하고 있는 파티션이며, 0번 섹터 중 Boot Code가 사용하고 남은 64Byte를 파티션 테이블로 사용한다
- 파티션 1개의 정보는 16Byte 이며 물리적으로 생성할 수 있는 개수는 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 할당 용량 만큼)
$ BSD Disk Label
- 하나의 섹터 안에 파티션 정보를 포함핚 디스크 정보를 모두 담아놓으며, 1번 섹터 148번지부터 403번지까지 총 256Byte를 파티션 테이블로 사용한다
- 파티션 1개의 정보는 16Byte 이며 물리적으로 생성할 수 있는 개수는 16개이다
$ Apple Partition Map
- BSD 계열의 파티션 기록 방식을 채택하여 사용하며, 다른 OS와 달리 0번 섹터를 사용하지 않으며 1번 섹터 512Byte 전체가 파티션 테이블로 사용한다
- 파티션 1개의 정보는 16Byte 이며 물리적으로 생성할 수 있는 개수는 32개이다
- MBR정보는 Firmware에 기록되어 있다
$ Solairs Disk Label
- Sun Sparc 에서는 0번 섹터에 Disk Label이 위치하며, 444번지 부터 64Byte에 걸쳐 8개의 파티션이 생성가능하다(8Byte 사용)
- 파티션의 타입, 상태정보, Time stamp등의 추가 적인 정보는 VTOC(Volume Table of Contents)라는 데이터 영역에 기록되어 있으며, Disk Label의 128번지 부터 134Byte를 사용 하고 있으며 파티션 정보 뿐만 아니라 Disk의 볼륨명, 사용하는 파티션의 개수, 부팅정보 등이 추가로 기록된다.
- IBM 호환 장비에서는 DOS Patition Table을 사용한다
- 기존의 DOS Partition Table 과는 조금 다른 변형된 형태를 사용하며 총 16개의 파티션을 생성할 수 있다.(Solaris File System Partition사용기준)
'리눅스(Linux)' 카테고리의 다른 글
[Centos 7] Inode(아이노드) (0) | 2022.11.23 |
---|---|
[Centos 7] Creating Filesystem & Mount, Auto mount (파일 시스템 생성 & 마운트, 오토마운트) (0) | 2022.11.23 |
[Centos 7] process management tools (프로세스 관리 도구) - htop, monit, Nmon (0) | 2022.11.21 |
[Centos 7] Process Management (프로세스 관련 명령어) (0) | 2022.11.20 |
[Centos 7] Investigating and Managing Processes (프로세스 조사) (0) | 2022.11.20 |