본문 바로가기
Linux 2급

리눅스 기초 파티션,마운트,파일시스템,포맷(fdisk,df,mount,umount,mkfs,file)

by 방뭉밍봉 2023. 11. 2.

먼저 파티션의 뜻을 알아보자

"partition" 칸막이, 분할 등의 뜻으로 쓰인다

리눅스 운영체제에서 파티션도 같은 의미로 쓰인다 물리적인 디스크를 논리적 공간을 나누어서 저장 공간을 효율적으로 활용할 수 있게 해준다

예를 들어

이런 식의 저장 공간이 있으면

C: 드라이브에는 운영체제가 움직이기 위한 저장 공간이고

D: 드라이브에는 여러 가지 다운로드한 것들을 저장하는 공간이고

E: 드라이브에는 서류 같은 것들을 저장하기 위한 공간이다

이런 식으로 공간을 나누어서 효율적으로 저장 공간을 사용하기 위해 있는 게 "파티션"이다.

하드 디스크에는 여러 가지 타입이 있습니다 우리가 알기 쉽게 크고 간단하게

두 가지의 종류로 나눌 수 있습니다.

1. 일반 하드디스크

일반적인 하드디스크는

 

이런 식으로 동그란 팬에 내용을 저장하는 형태입니다 레코드와 같은 원리?라고 생각하시면 편합니다 이 하드디스크에도 여러 가지 종류들이 존재합니다.

IDE(병렬): 최초로 나온 가장 오래된 하드디스크 타입

리눅스 ex) hd(a, b, c, d) hda, hdb, hdc, ...

SCSI(직렬):서버나 워크스테이션 등에 쓰이는 고속 인터페이스다. 무엇보다 안정성이 높은 것이 최대의 장점이다

리눅스 ex) sd(a, b, c, d) sda, sdb, sdc, ...

하지만 이 팬들이 아무리 빨리 돌아봤자 속도의 한계가 존재합니다 그 한계를 깨고 나온 게 바로 ssd입니다

2.SSD(solid state drive)

하드디스크의 한계를 부시고 나온 디스크입니다 우리가 저장 공간에서 무엇을 불러올 때

일반적인 하드디스크는 팬 빙빙 돌려가며 찾아주지만 이 ssd는 전기 신호로 엄청 빠른 속도로 전달해 주기 때문에 요즘 pc를 맞추면 꼭 ssd를 포함해서 구입하는 이유입니다

서론이 정말 길었지만 이제 리눅스로 돌아가서 파티션을 나눠봅시다

우선 vmware에 SCSI 타입의 하드디스크를 한 장 더 껴줍니다.

Edit vittual machine settings 클릭

 

 

Add 클릭

 

 

 
 
 

hard Disk -> SCSI 타입 선택 후 next

 

 

 
 

create a new 용량은 가볍게 10GB 설정 후 next

 

 

 
 

 

 

이렇게 하시면 가상머신의 하드디스크를 하나 추가해줬습니다 실제 pc로 생각하면

pc 뜯어서 10기가짜리 이거 하나 달아줬다고 생각하시면 됩니다.

리눅스의 접속해서 #> ls -l /dev/sd*를 하시면 sda 외에도 sdb 라는게 보입니다

sd~ 앞에 숫자가 붙은 것은 파티션을 설정한 것이고

sda , sdb , sdc 등 다음으로 넘어가면 물리적 디스크를 표현하는 것입니다 우리는 방금 10gb 짜리 SCSI 타입의 하드디스크를 넣어줬기 때문에 기존에 있던 sda 외에 sdb 가 보이는 것을 확인할 수 있습니다.

이 sdb를 파티션 설정을 해 봅시다.

파티션 설정 (Partition)

연속된 저장 공간을 하나 이상의 독립된 영역으로 나누어

사용할 수 있도록 정의한 규약

1) 주 파티션(Primary Partition)

최대 4개까지 생성 가능

파티션 번호 : 1 ~ 4

2) 확장 파티션(Extended Partition)

파일 저장 용도 X ( 논리 파티션을 생성하기 위한 공간(바구니 역할) )

파티션 번호 : 1 ~ 4

3) 논리 파티션( Logical Partition)

주파티션과 같은 역할

확장 파티션 내에서만 생성 가능한 파티션

파티션 번호 : 5 ~ ( 개수 제한 없음 )

[command] fdisk

#>fdisk [dev_path]

m menu(help)

n 파티션 추가

d 파티션 삭제

p 파티션 테이블 확인

t 파티션 시스템 ID 변경

w 저장하고 종료

q 저장하지 않고 종료

fdisk 명령어는 다른 명령어들과 다르게 fdisk [파티션 생성 하드디스크] 명령어를 치면

새로운 커맨드를 칠 수 있게 나온다 저 창에서 n 을 치게 되면 파티션을 추가할 수 있다

n 을 치면 p, e 둘 중에 치라고 나온다 p는 primary 파티션으로 최대 4개까지 생성할 수 있으며 주파티션이라고 부른다

e는 디스크당 한 개만 생성할 수 있으며 바구니 같은 역할이라고 생각하면 된다 e를 만든 후 그 e 안에 다른 파티션들을 생성할 수 있다. 생성 개수에는 제한이 없으며 안정성이 떨어져서 가급적이면 사용하지 않도록 하는 것이 좋다.

 

이런 식이라고 생각하면 아주 편하다.

 

https://lifegoesonme.tistory.com/357

(extended, logical) 파티션의 이해를 돕기 위한 블로그

p를 눌러 primary 파티션을 생성해주자 그러면 1~4중에 몇 번째 번호로 생성할 것이냐고 물어본다 1번이 없으니 1을 치고 넘어가면 2048-20971519 kb 공간 안에서 사용할 공간을 지정할 수 있습니다 시작 공간을 정해주고 사용할 공간을 KB, MB, GB 단위로 정해주시면 됩니다. 1GB 만 사용하고 싶으니 +1G 입력하시면 2048KB~+1GB의 공간을 사용할 수 있습니다.

이 정도의 공간을 primary partition 1 번에 지정해주었습니다 꼭 지정해주고 w를 눌러 저장을 해주셔야 합니다

다 해주시면 아까는 없었던 sdb1 이 생성된 것을 볼 수 있습니다 저게 방금 저희가 만든 파티션입니다 하지만 여기서.. 이 공간을 사용하려면 먼저 포맷을 해줘야 하며

mount (마운트)라는 것을 해줘야 합니다 참 불편하죠? 저도요 >3<

윈도 같은 경우에는 물리적 디스크를 끼우기만 해도 바로

이런 식으로 올라와서 사용할 수 있지만 리눅스의 경우 저 공간을 사용하려면 포맷을 하고 사용할 공간을 또 만들어 mount를 해줘야 합니다.

우선 포맷을 시켜줍시다

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

#>mkfs -t [type] [dev_path]

[option]

-t 파일시스템 형식 지정

[type]

xfs: 64비트 고성능 저널링 파일시스템 ( 저널링 파일시스템 : 백업 및 복구 능력이 있는 파일시스템 )

ext3: 저널링 파일시스템, ext2 보다 보안기능이 향상

ext4: 저널링 파일시스템, ext3 보다 더큰 용량을 지원하며 속도가 훨씬 빨라짐

swap: swap공간으로 사용되는 파일시스템

ext 종류의 파일시스템이 궁금하시다면

https://blog.naver.com/v_lovepooh_v/221334065116

위 글을 한번 읽어보시는 걸 추천합니다.

#> mkfs -t ext3 /dev/sdb1

ext3 타입으로 sdb1 파티션을 포맷시켜 주었습니다.

2) 확인

#>file -s [dev_path]

file 명령어는 예전에도 한번 배웠었죠? file의 속성을 확인하는 명령어인데 옵션-s는 해당 디스크의 파일시스템을 확인할 수 있습니다.

#> file -s /dev/sdb1 ext3이라고 출력되는 걸 볼 수 있습니다.

마운트 (mount)

#>mount [dev_path] [mount_point]

장치와 파일을 연결해주는 작업

[주의사항]

- 한 개의 장치는 한 개의 마운트 포인트만 사용( 1:1 )

- 반드시 포맷(파일시스템 생성) 후 사용

- 마운트 포인트는 임의의 디렉터리여야 한다.

- 마운트 해제 시, 작업 디렉터리가 마운트 포인트면 안된다

마운트를 하기 위해 [mount_point] 마운트 포인트를 만들어줍시다 위에 쓰여있는 것처럼 임의의 디렉터리에 마운트를 하면 되니 마운트 포인트를 만들어 줍시다.

#> mkdir /mp1로 마운트 해줄 마운트 포인트 생성해주고

#> mount /dev/sdb1 /mp1로 mp1이라는 곳에 아까 생성한 파티션을 마운트 해주었습니다.

이제 우리는 이 mp1이라는 공간을 아까 설정해둔 영역만큼 사용할 수 있게 되는 겁니다.

마운트 확인

#> df [option] [path] <- 경로 생략 가능

-h, --human-readable : 사람이 읽을 수 있는 형태의 크기로 출력한다(예를 들어 1K, 234M, 2G).

-H, --si : 1KB는 1,024바이트이지만 사용자가 보기 편하도록 1,000 단위로 용량을 표시한다.

-i, --inodes : 아이 노드의 남은 공간, 사용 공간, 사용 퍼센트 정보를 출력한다.

-k, --kilobytes : 1KB 단위로 출력한다.

df 명령어를 사용하여 마운트 목록들을 확인할 수 있다 우리가 방금 마운트 해준 /dev/sdb1 이 보인다 반가운 니까 인사해주자 안녕~

이어서 밑에 옵션 -h를 사용해서 마운트 목록을 확인해 보니 밑줄 친 것처럼 사람이 이해할 수 있게 size Avail 등 쉽게 읽을 수 있게 해준다

경로를 지정해주면 해당 mount만 확인할 수 있다.

이 마운트 된 저장 공간은 컴퓨터를 껐다 킬 시에 매번 다시 마운트 해줘야 사용할 수 있다.

자동 마운트 기능이 있는데 이건 다음번에 알아봅시다 ㅇㅅㅇ

마운트 해제

#>umount [dev_path( or mount_point)]

umount 명령어로 dev 경로나 마운트 포인트 경로를 이용해 마운트를 해제할 수 있다.

 

파티션 삭제

똑같이 fdisk 명령어의 삭제할 디스크를 선택해준 후 커맨드 창에서 d 옵션을 사용하면 된다. 파티션을 설정할 때와 마찬가지로 w로 저장을 해줘야 적용이 된다.