본문 바로가기
IT 프로그래밍 관련/리눅스 시작하기

Ubuntu 파일시스템 , 마운트( mount , umount )

by 지나는행인 2021. 4. 5.
728x90

파일시스템이란,

 

파일과 디렉토리를 관리하는 체계로 , 각각의 디스크(하드디스크)는 사용자가 지정하는 파일시스템을 갖게 된다.

 

하드디스크에 데이터를 저장하기 위해서는 하드디스크의 특정주소 블럭에  넣어주어야 하는데 파일시스템이 없다면

 

파일이 저장된 모든 주소값을 전부 외워야하지만, 파일시스템이 있기 때문에 , 디렉토리 아래 파일을 쉽게 찾을 수 있는

 

구조로 데이터를 저장할 수 있다.

 

 

 

*기본적인 디스크기반 파일 시스템

 

ext1 : inode 수정 및 데이터 수정 시간 등을 지원하지 않음. 링크드 리스트 자료 구조에 의해 파일 시스템을 구성.

        (링크드 리스트의 단점을 그대로 계승)

 

ext2 : ext3 의 도입 전까지 리눅스 표준. 부팅가능한 USB 플래시 드라이브, 기타 SSD 장치에는 여전히 사용

 

ext3 : 저널링 기능(=로그기능)을 통해 만약 데이터가 유실될 시, 저널 기록을 통해 복구. inode의 갯수를 동적으로

        조절하거나, 블록의 크기를 다양하게 하는 기능이 부족함.

 

ext4 : ext3보다 더 많은 저장 볼륨 제공, 온라인 조각 모음 기능 지원 ( 대표적으로 많이 사용함 )

 

XFS : 현재 대부분 리눅스 배포판에서 지원하며, xfsprogs 패키지를 설치하여 사용 가능. 64비트 파일 시스템으로

        ext4보다 16배 정도 큰 최대 볼륨 지원

 

 

 

*기타 디스크 기반 파일 시스템

 

다른 운영체제 시스템 (유닉스, 윈도우 등) 과 호환할 수 있도록 만들어진 파일 시스템

 

CD-ROM, DVD 같은 외부 저장 장치에 대한 파일 시스템 등

 

 

 

*특수 용도의 가상 파일 시스템

 

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

 

용도에 따라, 생성 및 삭제를 반복

 

    tmpfs : 임시 파일을 메모리에 잠시 저장하기 위한 파일 시스템 (ex : /run 디렉토리)

    proc : proc 파일시스템. /proc 디렉토리를 사용한다.

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

    rootfs : root files system. / 디렉토리를 의미한다.

 

 

 

 

 

##  마운트 ( mount )

 

파일시스템을 디렉토리에 접근시킴

하드 디스크나 CD-ROM, USB등 외부 저장 장치의

파일시스템으로 정리된 데이터를 사용한다.

 

  ** 우리가 사용하는 우분투는 부팅시 하드디스크등의 저장장치를 자동으로 마운트하여 사용할 수 있도록 한다.

 

자동 마운트 되는 목록의 확인은    

 

/etc/fstab    에서 확인 가능하다.   ( vim /etc/fstab )

 

 

하디디스크나 기타 저장장치를 마운트하여 사용하는 명령어는 간단하나,

 

마운트 하기전에 해야할 과정이 있다. 이 과정들을 수행하지 않으면, 마운트 또한 할 수 없다.

 

한번 가상하드디스크를 만들어 , 마운트 과정까지 해보겠다.

 

먼저 1GB 의 하드디스크를 생성하였고 ,  명령어를 통하여 추가가 되어 있는지

 

확인한다.

 

> sudo fdisk -l   

* fdisk -l 실행화면 중

이번에 새롭게 생성한 하드디스크는 /dev/sdd   이다.

 

화면 위를 보면 기존에 있던 /dev/sdc  는 디스크란 항목 아래 디바이스라는 항목이 있는 반면에

 

새로운 sdd 는 디스크 항목만 있는 것을 볼 수 있다.

 

여기서 바로 마운트를 해보면!  ( 마운트는 디렉토리에 접근 시키니 디렉토리 경로를 사용한다. )

 

> mount 장치경로 마운트할경로

( 관리자 권한을 계속 요하기 때문에 , root 계정으로 바꿔 실행하였다. )

 

위와 같이 마운트가 되지 않는다.

 

앞서 말한것 처럼 마운트 전의 과정이 필요하다.

 

그 과정으로는 

 

디스크의 공간을 물리적으로 나누는 파티션 작업,

 

그리고 나눈 공간에 대해 각각 파일시스템을 설정해야한다.

 

파티션작업은,  하나의 디스크공간을 하나로만 쓸 수 있고, 

 

그 공간을 다수의 공간으로 나눠 따로따로 공간을 할당해 줄 수 있다.

 

( 디스크에는 최소 1개 이상의 파티션을 설정(Primary partition은 총 4개까지

   4개 이상의 파티션으로 나누고 싶다면, Extended partition을 배정 )

 

먼저 파티션작업을 해보겠다.

 

> fdisk 장치이름          ( root 계정이기때문에 sudo는 뺀다. )

실행을 하면 커맨드 입력란이 나오는데 m 을 눌러 도움말을 볼수 있다.

 

여기서 나는 새로운 파티션을 작업할 것이기에  n으로 들어가서 작업한다.

 

그리고 하나의 파티션만 설정하기때문에 , primary 를,

용량은 2048 부터 끝까지 설정하였다.

 

용량이 1부터 아닌 이유는 !

 

파티션마다 우리가 건드릴 수 없는 슈퍼블럭이라는 것이 생긴다.

 

이것의 공간으로, 잡히는 부분이 위에서는 2048까지라는 것이다.

 

이 이후에 커맨드에 저장 및 종료를 한다.

 

* fdisk -l

fdisk 의 화면이다. 처음과는 달리 디바이스 항목이 생겼고, sdd가 확인된다.

( 나는 파티션을 하나로 하였기 때문에 , sdd1로 표기되지만, 2개, 3개 로 나누면 sdd1,sdd2,sdd3  파티션 수 만큼

  표시된다. )

 

이후에 각 파티션에 파일시스템을 설정한다.

 

>mkfs -t ext4 /dev/sdb1

하나의 파티션이기때문에 파일시스템 설정은 한번이면 된다.

 

이 과정이 다 끝나면 이제 원하는 디렉토리에 마운트를 한다

 

마운트를 실행하면 위와 같이 lost+found 디렉토리가 생긴다.

 

 

마운트가 잘 되었는지 다시 한번 확인해본다.

 

> df -h

 

위와같이 잘 마운트 된 것을 볼 수 있다.

 

만약 마운트를 해제하고 싶다면

 

> umount /mnt/mntpoint3_1 로 해제가 가능하다.

 

그리고 이 마운트는 , 시스템 재부팅이 되면 마운트가 해제되는데 

 

시스템재부팅시에도 계속 기존 메인 하드디스크처럼 자동으로 마운트하게 해주려면 또 다른 설정이 필요하다.

 

 

 

댓글