파일 시스템

파일과 디렉터리 집합을 구조적으로 관리하는 체계

구조의 형태, 관리 방법

디스크 기반 파일 시스템 : 디스크, dvd, usb 등 저장장치에 생성되서 사용하는 파일 시스템

가상 파일 시스템 : 메모리에 생성되서 사용하는 파일 시스템

리눅스 고유의 디스크기반 파일 시스템

ext : minix 파일 시스템을 기반으로 작성

: 최대 2GB, 파일명 255byte 까지 사용

ext2 : 최대 32TB(이론적) , 리눅스의 기본 파일 시스템으로 사용

ext3 : 최대 32TB , 저널링 이라는 기능을 도입(복구가능하게 함)

ext4 : 최대 1EB까지가능 16tb 이상의 파일 지원

ext2와 ext3과 호환성을 유지하고 있음

2008년에 발표

기타 디스크파일 시스템

MS-DOS 파일 시스템

iso9660 CD-DVD 파일 시스템(기본적으로 읽기 전용)

nfs : 원격 서버의 디스크 파일 시스템

vfat：윈도 95,98,nt를 지원하기 위함

hpfs : HPFS를 지원하기 위해 생성

hfs : 맥 컴퓨터 파일 시스템 지원

리눅스 가상 파일 시스템

swap : 스왑영역을 관리하기 위한 파일 시스템

tmpfs : temp 영역을 관리 하기 위한 파일 시스템

proc :(프로시저가 사용) /proc 디렉터리를 의미한다.

ramfs : 램 디스크를 지원하는 파일 시스템

rootfs : root 파일 시스템 / 를 의미한다.

Q. 현재 시스템이 지원하는 파일 시스템의 정보를 확인하시오.

/proc/filesystems 파일을 확인

-리눅스 파일 시스템 기본 개념

1. 모든 파일은 inode로 관리 한다.

2. 디렉터리는 파일 목록을 정보로 갖고 있는 파일이다.

3. 장치는 특수 파일을 통해 접근한다.(장치도 파일로 관리한다.)

ext 4 파일 시스템

-효율적 관리를 위해 디스크 장치를 블록의 집합(논리적 그룹) 으로 구분해서 사용

-하나의 블록은 4kb이고 실제 크기는 시스템에 따라서 다르게 변경된다.

-블록의 유형

블록 0 : 0패딩, 슈퍼블록, 그룹 디스크립터

블록 a : 슈퍼블록복사본, 그룹 디스크립터의 복사본

블록 b : 데이터 블록 비트맵

Q. 컴퓨터에 전원을 넣으면 제일 먼저 실행되는 프로그램은?

bios가 제일 먼저 실행 된다.

Q. bios 정보를 저장하고 있는 디스크 블록 그룹은 어디인가?

블록 0번의 그룹0패딩

Q. bios는 rom에 저장된다.(O)

Q. ext4의 블록 0번에서 저장하고 있는 데이터를 설명하시오

부트셉터 정보 디스크 파일관리 정보, 슈퍼블록, 그룹 디스크립터

Q. 블록 0번과 블록 a번에 슈퍼블록과 그룹 디스크립터를 중복 저장하는 이유에 대하여 설명 하시오.

슈퍼블록과 그룹 디스크립터가 손상되면 파일 시스템의 정보를 확인할 수 없어 디스크를 사용할 수 없게 된다.

블록 0번에서 슈퍼블록이 손상되면 블록 a번에서 확인하여 복구하고 양쪽애서 손상되면 복구가 불가능 하다.

Q. 블록 비트맵 : 블록 사용 현황 정보(bit 형태로 정보가 구성됨)

Q. 아이노드 비트맵 : 아이노드 할당 상태정보

Q. 아이노드 테이블

파일의 정보를 저장하고 있음

아이노드 번호, 소유자 등 기본정보, 실제 데이터 저장 블록의 주소

Q. 직접블록, 간접블록, 이중간접블록에 대해서 설명하시오.

데이터 저장되어져 있는 블록이

inode 테이블에서 바로 링크되면 직접블록

inode 테이블에서 링크된 블록에 다시 주소가 기입되어 있으면 간접블록

inode 테이블에서 링크된 블록에 다시 주소가 기입되어 있는 활동이 반복되면 이중 간접 블록

Q. uuid 란 무엇인가?

범용 고유 식별자

디스크를 고유하게 구별 할 때 주로 사용

blkid 명령어를 이용해 확인할 수 있다.

Q. /dev/sda1 장치 형식에 대하여 설명하시오.

sd는 하드 디스크 유형 S-ATA 및 SCSI 방식 디스크, USB, SSD를 뜻함

a는 디스크 우선순위, 물리적인 디스크 장착 순서에 따리 a,b,c 순으로 늘어남

1은 파티션 번호, 물리적인 디스크를 분할 함에 따라 1,2,3 순으로 늘어남

IDE 방식의 디스크는 /dev/hda1 형식으로 만들어 진다.

Q. /dev/hda3 : IDE 방식의 첫 번째 디스크로 3번째 파티션

/dev/sdb6 : SCSI 방식의 두 번째 디스크로 6번째 파티션

Q. 파티션이란? 하나의 디스크에 여러개의 운영체제를 사용하기 위해 물리적인 디스크를 논리적으로 분할 하는 것

Q. 파티션의 장점 : 데이터 보호가 가능, 정책을 파티션에 따라 다르게 설정해서 개인화 할 수 있다.

공간효율성을 극대화 할 수도 있다.

Q. 파티션의 종류

주파티션(P)

확장파티션(E)

논리파티션(L)

Q. 리눅스에서 반드시 필요한 파티션

/

swap

Q. 장치 mount에 대해서 설명하시오.

보조기억장치나 파일시스템이 다른 디스크를 /의 하위 디렉터리로 연결하여 사용 가능하게 해주는 명령어

Q. 리눅스 운영체제에 디스크 추가 단계를 쓰시오

1)전원이 꺼진상태(shutdown)에서 새 디스크 장착

2)물리적 디스크 확인

ls –l /dev/sd*

3)디스크 파티션 나누기

fdisk로 파티션 나누기

파티션 확인하고 추가/삭제 하는 명령어

fdisk –l :현재 디스크 파티션 테이블 정보 출력

fdisk –s : 특정파티션의 크기 출력

fdisk –v : fdisk 버전 정보 출력
fdisk 장치명 => fdisk /dev/sdb :/dev/sdb 장치의 파티션을 설정

Command (m for help)

n : 새로운 파티션

d : 파티션 삭제

p : 파티션 정보 출력

w : 파티션 정보 저장

q : 종료

Select :어떤 파티션 사용할 것인지

p : 주파티션

e : 확장 파티션

4)파일 시스템 생성(포맷)

mkfs 기본 포맷 명령어

(기본 ext2 시스템)

mkfs.ext4 /dev/sdb1

Q. uuid

blkid

mkefs  확장 포맷 명령어

(ext2,3,4 버전사용 기능)

5)디스크 마운트

마운트 할 디렉터리 생성

디렉터리 권한 777로 변경

mount 장치명 디렉터리명

mkdir /userhome

chmod 777 /userhome

mount /dev/sdb1 /userhome

mount

reboot 실행 후

mount확인

**윈도우는 마운트된 디스크 정보를 영구 저장

** 리눅스는 마운트 정보가 shutdown 이후에 사라짐

** 리눅스에서 수동으로 마운트 정보를 저장해줘야 함

/etc/fstab 파일에 정보 기록

(교제 139쪽)

** ls –l/dev/sd*