[리눅스 2급] 파일 시스템의 관리 (2)
저번 시간에는 권한 및 그룹의 명령어에 대한 설명을 해보았습니다.
이번시간은 운영체제가 파일을 어떻게 관리하는지에 대한 설명을 해볼까 합니다.
리눅스의 권한 및 그룹에 대한 명령어를 보고 싶으시면 아래의 링크에 들어가 주시면 감사하겠습니다.
[리눅스 2급] 파일 시스템 관련 명령어에 대해 알아보자(1)
저번 시간에 리눅스의 개요와 설치에 대해서 알아보았으니 이제부터 리눅스의 운영 및 관리에 대해 설명해 볼까 합니다.리눅스의 개요와 설치에 대해서 알고 싶은신 분은 아래 링크에 들어가
tangent0426.tistory.com
파일 시스템의 개요와 종류
운영체제가 파일을 시스템의 디스크상에 구성하는 방식입니다.
컴퓨터에서 파일이나 자료를 쉽게 발션 및 접근할 수 있도록 보관 또는 조직하는 체제입니다.
하드 디스크나 CD-ROM과 같은 물리적 저장소를 관리합니다.
파일 서버상의 자료로의 접근을 제공하는 방식과 가상의 형태로서 접근 수단만이 존재하는 방식도 파일 시스템의 범위에 포함됩니다.
Super Block | 해당 파일 시스템 관련 정보 저장 - 블록의 크기(1KB,2KB,4KB) |
Group Descriptor Table |
각 Block Group을 관리하는 정보 저장 -Block Bitmap와 Inode Bitmap의 블록 번호 -첫 번째 Inode Table Block의 블록 번호 |
Block bitmap | 그룹 내에 있는 각 블록의 사용 상태를 나타냄 |
inode | 파일에 대한 제어 정보 및 데이터 블록 포인터 저장 파일의 이름을 제외한 해당 파일의 모든 정보를 저장 파일 이름에 부여되는 고유번호, 파일 형태, 크기, 위치 파일의 소유자 등 모든 파일들과 디렉터리 들은 각각 1개의 Inode를 할당 |
리눅스 전용 디스크 기반 파일 시스템
파일 시스템 | 설명 |
ext(ext1) | 리눅스 초기에 사용되던 파일 시스템이며 호환성이 없음 ext2의 원형 2GByte의 데이터와 파일명을 255자까지 지정 가능 |
ext2 | ext 파일 시스템의 다음 버전 고용량 디스크 사용을 염두에 두고 설계된 파일 시스템 |
ext3 | ex2의 확장판 리눅스의 대표적인 저널링을 지원하도록 확장된 파일 시스템 ACL을 통한 접근 제어 지원 |
ext4 | ex2 및 ex3와 호환성이 있는 확장 버전 파일에 디스크 할당 시 물리적으로 연속적인 블록을 할당 64비트 기억 공간 제한을 없앰 |
아래는 파일 시스템을 표현하였습니다.
ext2 | ext3 | ext4 | |
개발년도/커널버전 | 1993년 | 2001년 커널 2.4.15 | 2006년 커널 2.6.19 2008년 커널 2.6.28 |
최대 파일 크기 | 16GB~2TB | 16GB~2TB | 16GB~2TB |
최대 파일 시스템 크기 | 2TB~32TB | 2TB~32TB | 1EB |
특징 | 저널링 기능 없음 | 저널링 기능 포함 | 확장 멀티블록 할당 |
저널링 파일 시스템
시스템의 비정상적인 종료 시 저널을 이용해 빠르면서도 안정적인 복구가 가능합니다.
데이터를 디스크에 쓰기 전에 로그에 데이터를 남겨 시스템의 비정상적인 셧다운에도 로그를 사용해 빠르고 안정적인 복구 기능을 제공하는 기술입니다.
저널링 기술이 적용된 파일 시스템은 ext3, ext4, XFS, JFS, ResierFS 등이 있습니다.
파일 시스템 | 설명 |
JFS | Journaling File System의 약자 IBM사의 독자적인 저널링 파일 시스템 GPL로 공개하여 현재 리눅스용으로 개발 |
XFS | eXetended File System 고성능 저널링 시스템 64비트 주소를 지원하여 확장성이 있는 자료 구조와 알고리즘 사용 파일 수에 관계없이 예상치 못한 상황으로부터 신속한 복구와 재시작 가능 높은 확장성과 처리량을 가짐 |
ResiserFS | 독인의 한스 라이저가 개발한 파일 시스템 리눅스용 저널링 파일 시스템 중에서 가장 안정적이라는 평가를 받음 |
네트워크 파일 시스템
파일 시스템 | 설명 |
SMB | 삼바 파일 시스템을 마운트 지정 Server Massage Block(서버 메시지 블록) |
CIFS | SMB를 확장한 파일 시스템 SMB를 기초로 응용하여 라우터를 뛰어넘어 연결할 수 있는 프로토콜 |
NFS | 파일 공유 및 파일 서버로 사용됨 공유된 영역을 마운트할 때 지정 썬마이크로시스템이 개발한 네트워크 공유 프로토콜 |
파일 시스템의 개요와 종류
명령어 Mount와 Umount
마운트는 특정 디바이스를 특정 디렉터리처럼 사용하기 위해 장치와 디렉터리를 연결하는 것입니다.
리눅스는 PNP기능을 지원하지만 지원하는 하드웨어가 많지 않으므로 시스템 부팅 후에 수동으로 마운트해서 사용을 하고 사용이 끝난 후에는 언마운트를 시킵니다.
-a : 파일에 정의된 모든 시스템 마운트
-n : 파일에 정보를 저장하지 않고 마운트
-f : 실제 마운트하는 것이 아니라 마운트가 가능한지를 테스트
-t : 파일시스템
-o : 추가 설정
명령어 eject
이동식 보조기억장치(DVD 또는 CD-ROM)등과 같은 미디어를 해제하고 장치를 제거하는 명령어입니다.
-r : 시디룸을 마운트 해제
-t : 플로피를 마운트 해제
명령어 fdisk
새로운 파티션을 생성, 기존 파티션의 삭제, 파티션의 타입 결정 등의 작업을 수행합니다.
fdisk 프로그램은 한 번에 한 디스크에 대해서만 작업을 수행합니다.
fdisk 명령어 프롬프트 중심의 매우 간단한 인터페이스를 가지고 있습니다.
-v : fdisk 버전 정보 표시
-l : 프로그램은 한 번에 한 디스크에 대해서만 작업을 수행
-s : 지정된 파티션의 크기를 블록 단위로 표시
fdisk를 실행하기 위해서는 어떠한 디스크의 파티션을 나눌 것인지 알려 주어야 합니다.
mkfs
리눅스 파일 시스템을 생성합니다.
fdisk로 하드디스크의 파티션을 나눈 후 해당 파티션에 맞는 파일 시스템을 생성합니다.
-V : 자세한 정보 보기
-t : 생성할 파일 시스템 타입(ext2,ex3,ex4 등)지정
-c : 파일 시스템을 생성하기 전에 배드블록을 검사
-t : 지정도니 파일명으로부터 배드블록 목록 읽기
-v : 작업 상태와 결과를 자세히 보기
mke2fs
ext2,ext3,ext4 타입의 리눅스 파일 시스템을 생성하는 명령어입니다.
fdisk 명령어로 파티션 작업을 한 후에 mke2fs 혹은 mkfs 명령어로 파일 시스템을 생성해야 합니다.
-t : 파일 시스템 타입 지정
-b : 블록 크기를 바이트 수로 지정
-f : 프래그먼트 크기 지정
-i : inode당 바이트 수를 지정
-j : 파티션을 저널링 파일 시스템 ext3으로 생성
-R : RAID4 장치를 포맷할 때 사용하는 특수 옵션
명령어 fsck
파일 시스템의 무결성을 점검하고 대화식으로 복구하는 명령어입니다.
디렉터리 /lost+found은 fsck에서 사용하는 디렉터리입니다.
-A : etc/fstab에 표시된 모든 파일 시스템을 점검
-a : 질의 없이 자동 복구
-r : 질의 후 복구
-s : fsck 동작을 시리얼화, 대화형 모드에서 여러 파일 시스템을 점검 시 사용
-t : 점검할 파일 시스템 유형 지정
명령어 e2fsck
ext2,ext3,ext4 타입의 리눅스 파일 시스템을 점검 및 복구하는 명령어입니다.
-p : 파일 시스템 검사하면서 자동으로 복구
-n : 모든 질문에 대한 응답을 no로 취급
-y : 모든 질문에 대한 응답을 yes로 취급
-c : BAD BLOCK을 CHECK
-t : 깨끗한 파일 시스템까지 강제적으로 check(force)
명령어 du
Disk Usage의 약자로 디렉터리별로 디스크 사용량을 확인할 수 있습니다.
-h : 용령 단위로 표시
-a : 디렉터리가 아닌 모든 파일에 대한 정보 표시
-m : 결과 값을 MB 단위로 표시
-k : 결과 값을 KB 단위로 표시
-s : 사용량의 총 합계만 표시
-c : 모든 파일의 디스크 사용 정보를 보여주고 나서 합계를 표시
명령어 df
시스템의 마운트도니 하드디스크의 용량을, 파티션 단위로 사용량을 확인하는 명령어이다.
기본적으로 1.024Byte 블록 단위로 출력하며, 옵션을 통해 다른 단위로 출력이 가능합니다.
-h : 용량 단위로 표시
-T : 파일 시스템 유형과 파티션 정보 출력
-t : 표시되는 파일 시스템 유형을 지정
-a : 0 블록의 파일 시스템을 포함하여 모든 파일 시스템을 출력
-k : --block-size=1k와 같은 의미
-i : iNODE 사용률 확인, 사용 공간, 사용 퍼센트를 출력
파일 / etc/ fstab
리눅스에서 사용하는 파일 시스템 정보를 정적으로 저장하고 있는 파일입니다.
리눅스 파일 시스템 정보와 부팅 시 마운트 정보를 가지고 있습니다.
지금까지 리눅스 파일 시스템 관련 명령어에 대해서 살펴보았습니다.