리눅스 시스템에서 디스크 용량 확장하기

HYEONG HWAN, MUN/ 10월 29, 2018/ 미분류/ 6 comments

https://blog.lael.be/post/7735

이 글은 리눅스 시스템에서 디스크 용량을 확장(Expand, Enlarge)하는 방법에 대해 설명하는 글입니다.


디스크가 볼륨마운트로 구성된 경우에 이 글을 읽어보면 된다.
LVM 으로 되어 있다면 https://blog.lael.be/post/7184 글로 이동하세요.
일반적으로 운영체제 직접설치 했을 경우(물리서버) LVM이고, 클라우드 호스팅을 사용했을 경우 볼륨 마운트입니다.

 


디스크 용량 확장은 클라우드 서버 환경에서만 가능한 상황입니다. (아래 그림 참고)

이 작업은 환경에 따라서 서버의 재부팅을 하지 않고 적용할 수도 있습니다. (재부팅 필요 유무는 글 내용에 표시)

 

디스크 확장

디스크 확장이란 말 그대로 디스크의 크기를 늘리는 것입니다.

< 그림 : 디스크 용량 확장 >

도식화 하자면 위의 그림과 같다. 하드디스크의 용량이 늘어난 것이다.
하지만 운영 중인 시스템에는 영향이 없다. 그저 상관없는 공간이 늘어났을 뿐.

디스크 파티션이 이미 정해져있기 때문에(파티션 테이블은 변경되지 않았기 때문에)
물리 디스크의 크기를 확장했어도, 리눅스 시스템상의 사용 가능 용량은 변함없이 그대로이다.

 

디스크 확장 적용

따라서 디스크 확장을 적용하기 위해 해야할 일은 다음과 같다.

  1. 파티션 크기 조정
  2. 변경사항 시스템에 적용

 

사용 중인 서버의 용량 추가가 가능한 이유?

디스크 용량 축소와 다르게, 용량 확장은 빈공간을 추가하는 것이므로, 시스템에 영향을 주지 않기 때문이다.

 

- 현재 사용중인 시스템 디스크 정보 확인하기

사용 중인 디스크의 용량이나 장치파일 정보, 마운트 포인트를 살펴 보도록 하자.

 

다음의 3가지 명령어가 주로 사용된다. 한번씩 입력해보고 정보를 확인해 보도록 하자.

# lsblk
# fdisk -l
# df -h

 

용량 확장

클라우드 콘솔이나 기타 방법을 통해 디스크 용량을 확장하도록 하자.

< 그림 : Hyper-V 의 경우 >

 

< 그림 : Amazon EC2 의 경우 - EBS >

* 주의 : 대부분의 클라우드 사업자는 용량의 증가만 허용합니다. 즉, 테스트 한다고 많이 큰 숫자를 입력하면 의도하지 않은 돈 지출이 생길 수 있습니다.
* 주의 : 일부 클라우드의 경우 디스크 용량 변경 횟수를 제한하고 있습니다. (예시 : 6시간에 1회 변경가능)

 

물리 장치 적용 확인

이 단계에서 재부팅 필요 유무가 결정됩니다.

# lsblk

위 명령어의 결과에서 물리장치의 표시 용량이 설정한 값으로 표시되어야 합니다.

만약 변경된 값으로 표시된 경우 -> 다음 단계 진행.
만약 변경된 값으로 표시되지 않은 경우 -> 재부팅 후, 다음 단계 진행.

 

파티션 크기 증가 프로그램을 사용하여 파티션 크기를 키우기

지정한 파티션을 사용가능한 최대 크기로 변경하는 작업을 합니다.
먼저 사용할 프로그램의 도움말을 살펴봅시다.

# growpart --help

growpart 는 이런 명령어 프로그램입니다 :
rewrite partition table so that partition takes up all the space it can .

 

 


lsblk 명령어의 결과를 바탕으로  growpart 명령어를 입력하도록 하자.

# lsblk
# growpart /dev/xvda 1
# lsblk

 

# df -h

파티션 크기를 늘려 주었는데도 용량이 그대로 일 것이다.

왜냐하면 동작중인 시스템에서 파티션의 변경을 다시 불러오지 않았기 때문이다.

< 그림 : 파티션 테이블의 변경 >

 

이 상태에서 파티션 테이블의 변경사항을 시스템에 적용하는 방법은 두가지이다.

  • 재부팅
  • resize2fs 명령어를 사용해서 파티션 크기 변경 적용

 

- 재부팅으로 해결하는법

# reboot

재부팅되면 당연히 모든 시스템 정보를 다시 불러오게 된다.

 

- 재부팅하지 않고 resize2fs 로 해결하는법

# resize2fs /dev/xvda1

 

 


 

변경사항 적용 확인 :

최종적으로 df -h 명령어의 결과에 반영되어 있으면 작업이 끝나게 된다.

# df -h

 

 

 

 

6 Comments

  1. 덕분에 서버를 재설치하지 않고 용량을 확장하였습니다. 제게 필요한 부분은 콕찝어주신 글이네요 감사합니다^^

    1. 블로그의 다른 글들도 한번쯤 읽어봐주세요. 감사합니다!

  2. 오 이거 완전 간단하네요.
    클라우드 무슨 도구를 apt로 설치해야 했습니다
    호스트 시스템이 가상이 아닌 실물 서버였는데도 아주 잘 작동했네요
    gnome-disks로 안되서 한참 고생했는데 명령어 한줄에 1초만에…ㅠㅠ

    1. 가상서버가 아니라 실물 서버인 경우에는 재부팅으로 디스크가 자동으로 확장되지 않았습니다.
      검색하려다가 본문의 sudo resize2fs /dev/sda1을 사용하니 또 1초만에 되네요 뭔가 허무하네요 감사합니다 ㅋㅋㅋㅋㅋㅋ

      1. 감사합니다! 오늘도 즐거운 서버의 세계로!

Leave a Comment

작성하신 댓글은 관리자의 수동 승인 후 게시됩니다.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
*
*