파일 시스템 관리

파일 시스템


- 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관 또는조직하는 체제

하드디스크 -> 서점

파일           -> 책

파일시스템 -> 도서 검색대

파일시스템의 종류


ext        -초기 리눅스에서 사용하였던 종류, 현재는 사용하지 않음

ext2      -현재도 사용하며, 긴파일시스템 이름을 지원하는것이 특징

ext3      -저널링 파일시스템, ext2보다 파일시스템의 복수/보안기능을 크게향상되었고 현재 기본 파일시스템

ext4      -16TB까지만 지원하던 ext3과 달리 더큰 용량을 지원하며, 삭제된 파일 복구, 파일 시스템 속도가 훨씬 빨라진 파일시스템

iso9660-DVD/CD-ROM을 위한 표준 파일시스템으로 읽기만 가능

nfs        -원격서버에서 파일시스템 마운트할때 사용하는 시스템(Network File System)

swap     -스왑파일시스템, 스왑공간으로 사용되는 파일시스템

ufs        -Unix system에서 표준 파일시스템으로 사용(Unix File System)

vfat       -윈도우95/98등등 ntfs를 지원하기위한 파일시스템

msdos   -MS-DOS파티션을 사용하기위한 파일시스템

ntfs       -윈도우NT/2000의 nfts를 지원하기위한 파일시스템

hfs        -MAC컴퓨터의 hfs를 지원하기위한 파일시스템

hpfs      -hpfs를 지원하기위한 파일시스템

sysv      -Unix system v를 지원하기위한 파일시스템

ramdisk-RAM을 지원하기위한 파일시스템

XFS      -64비트 고성능 저널링 파일 시스템.

CentOS 6.8 버전에서 채택한 기본 파일 시스템 -> EXT4

CentOS 7.x 버전 -> XFS

BYTE -> KB -> MB -> GB -> TB -> PB(페타) -> EB(엑사)

Disk의 종류


- IDE

- SATA 

- SCSI  

- SAS : 크기가 작고 빠르며 안정적이다. (서버용) -> 비싸다

파티션 (Partition)

- 하나의 물리적인 디스크를 여러개의 논리적인 디스크로 나누는 것

장치명

Windows Linux

C:\ /dev/sda (첫 번째 디스크)

D:\ /dev/sdb (두 번째 디스크)

E /dev/sdc (세 번째 디스크)

F /dev/sdd // 물리 적인 디스크를 의미

G /dev/sde

리눅스 파티션 명칭


ex)

/dev/sda1         -> 첫 번째 디스크 1번 파티션

/dev/sda2 -> 첫 번째 디스크 2번 파티션

/dev/sda3  -> 첫 번째 디스크 3번 파티션

/dev/sdc2    -> 세 번째 디스크 2번 파티션

/dev/sdd4 -> 네 번째 디스크 4번 파티션

리눅스 파티션 특징

- 리눅스 파티션은 주(Praimary) 파티션과 확장 (Extended) 파티션 , 논리 (Logical) 파티션으로 구성된다.

- 디스크 하나당 주 파티션은 최대 4개까지만 생성 가능

ex)

    [ 주파티션                    ]

        [     주파티션 ][ 주파티션     ][         주파티션      ]

    [ 주파티션 ][    주파티션    ][    주파티션   ][   주파티션  ]

- 4개의 이상의 파티션을 필요할 경우에는 확장과 논리 파티션이 필요하며, 최대 12개까지 생성이 가능하다.

  


실습 목표 : 디스크 추가를 하여 용량을 증설하는 작업

#fdisk - 디스크 파티션을 설정/삭제/확인 할때 사용하는 명령어

-l : 현재 시스템에 설정된 모든 디스크의정보를 확인

-l [디스크명]   : 해당 [디스크명]의 정보를 확인

물리적인 디스크 추가

1. Server-A -> Settings -> Add -> Hard disk

2. 추가한 디스크를 시스템에 인식시키 위해 재부팅 (가상환경)

3. #fdisk -l 추가 한 디스크 확인 (/dev/sdb)

Server-A 

20GB /dev/sda

1GB /dev/sdb

 

구성 예

/dev/sdb1 200M

/dev/sdb2 300M

/dev/sdb3  나머지 전부


Disk /dev/sdb: 1073 MB, 1073741824 bytes                // 1GB 추가

255 heads, 63 sectors/track, 130 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

 

추가한 디스크에 파티션 생성

ex) #fdisk [디스크명]

#fdisk /dev/sdb

d   delete a partition // 파티션 삭제

l   list known partition types         // 파티션 타입 확인

m   print this menu // 도움말

n   add a new partition // 파티션 생성

p   print the partition table         // 설정된 파티션 확인

q   quit without saving changes // 저장하지 않고 종료

t   change a partition's system id         // 파티션 타입 변경

w   write table to disk and exit         // 저장 후 종료

Command (m for help): n

Command action

e   extended // 확장 파티션

p   primary partition (1-4) // 주 파티션

주파티션 생성을 위해 "p" 입력

Partition number (1-4): 

"1" 첫 번째 파티션 생성

First cylinder (1-130, default 1):

실린더 기준으로 시작 지점을 지정하는 부분

- 현재 디스크가 가질 수 있는 실린더의 값이 1부터 130까지 있다.

- "1" 입력 혹은 "Enter" 입력

Last cylinder, +cylinders or +size{K,M,G} (1-130, default 130):

"+200M" 디스크의 시작 지점부터 200MB까지 지정

"n" 새로운 파티션 생성

"p" 주파티션

"2" 2번 생성

First cylinder (27-130, default 27):

"enter" 입력

Last cylinder, +cylinders or +size{K,M,G} (27-130, default 130):

"+300M" 입력


"n" 새로운 파티션 생성 

"p" 주 파티션

"3" 3번 생성

First cylinder (92-130, default 92):

"Enter" 입력

Last cylinder, +cylinders or +size{K,M,G} (92-130, default 130):

"130" 입력 나머지 전부를 할당하기 위해

생성된 디스크 파티션 확인


   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1          26      208813+  83  Linux

/dev/sdb2              27          65      313267+  83  Linux

/dev/sdb3              66         130      522112+  83  Linux

파일 시스템 생성


#mkfs // 파일 시스템 생성

ex) #mkfs -t ext4 [장치명]


#mkfs -t ext4 /dev/sdb1

Writing inode tables: done       // 파일 시스템 생성 완료 메시지 확인                       

Creating journal (4096 blocks): done

Writing superblocks and filesystem accounting information: done

마운트 


- 특정 디렉토리에 디스크를 연결(탑재) 하는 것

- 리눅스는 파일 단위로 장치를 관리하기 때문에 새롭게 만든 디스크를 사용하기위해서는 생선한 파티션을 임의의 디렉토리와 연결시켜 사용해야 한다.

  

마운트 포인트 - 장치와 연결되는 디렉토리

#mkdir /DISK-A

마운트

#mount [옵션] [장치명] [마운트 포인트]

/dev/sdb1 --> /DISK-A

#mount /dev/sdb1 /DISK-A

마운트 확인 명령어


#mount

/dev/sdb1 on /DISK-A type ext4 (rw)


#df (Disk Free) 

-h 용량을 사람이 읽기 쉽게 단위를 붙여 준다. 

Filesystem     1K-blocks    Used Available Use% Mounted on

/dev/sdb1         198123    1806    185877   1% /DISK-A

#umount - 마운트 해제

#umount [마운트포인트]

주의 사항 - 현재 시스템이 해당 마운트 포인트에 파일을 사용하고 있거나, 디스크의 자원을 사용하는 중에는 언마운트를 할 수 없다.

(1) 디스크 추가

(2) 재부팅 (디스크 인식)

(3) 파티션 생성

(4) 파일 시스템 생성

(5) 마운트 포인트 생성

(6) 마운트

/etc/fstab 파일에 마운트 정보 등록하기

- 부팅 시 마운트할 파일시스템의 위치 및 옵션이 정의되어 있는 파일

- /etc/fstab파일에 기록되어 있는 순서대로 마운트가 되어 디렉토리 구조가 만들어진다.

1번 필드

- 장치명

- 파티션 위치(장치파일 위치), LABEL, UUID가 올 수 있다.

2번 필드

- 마운트 포인트 (연결되는 디렉토리 경로)

3번 필드

- 파일 시스템 타입 (mkfs 명령어로 지정한 파일시스템 종류)

4번 필드

- 마운트 옵션

- 보통 defaults 옵션을 사용하며, 해당 옵션 기본적으로

  자주 사용되는 옵션들의 묶어놓은 옵션

  defaults == (rw, suid, dev, exec, nouser, async)

5번 필드

- 덤프 생성 유무

- 해당 파티션에 문제 발생 시, 해당 문제에 대한 정보가

  저장되어 있는 파일(덤프파일) 생성 유무

  0 - 덤프 생성 하지 않음

  1 - 덤프 파일 생성

  

6번 파일시스템 검사 유무

- 부팅 시 해당 장치에 문제가 있는지 검사하는 옵션

0 - 검사 하지 않음

1 - 우선순위 1번 // 대부분 "/" 루트 파티션에 지정

2 - 우선순위 2번 // " / " 파티션 검사 한후, 검사할 파티션


/dev/sdb1 /DISK-A ext4 defaults 0 0

'Server > Linux' 카테고리의 다른 글

Linux // 부팅 프로세스  (0) 2018.03.21
Linux // RAID, quota  (0) 2018.03.19
Linux // 데몬  (0) 2018.02.26
Linux // proc  (0) 2018.02.26
Linux // kill  (0) 2018.02.13

+ Recent posts