루트 디렉토리 용량 증설
가상 머신으로 리눅스를 사용하다 보면, 루트 디렉토리의 용량이 부족해지는 경우가 빈번합니다.
파티션 설정을 안하고 자동 설치를 하게 되면, 설정한 용량에 따라서 home 디렉토리용 파티션이 따로 생기는 경우가 있어서 더욱 불편할 때가 있습니다.
루트 디렉토리가 할당되어 있는 볼륨의 경우, 보편적으로 LVM(Linux Volume Manager)
루트 디렉토리( '/' )의 용량을 증설하는 방법을 알아보겠습니다.
VMware 가상머신 디스크 확장 또는 추가
가상머신의 공간을 확보하는 방법에는 크게 2가지가 있습니다.
1. 기존에 가상머신에 할당된 디스크 파일의 사이즈를 증가시키는 방법
2. 가상머신에 새로운 가상 디스크를 추가하는 방법
두 가지 방법 모두 가상머신을 재시작해야 새롭게 할당된 디스크를 인식할 수 있습니다.
그러므로 먼저 가상머신을 안전하게 종료해 줍니다.
[root@centos7 ~]# poweroff
그리고, 용량을 증설할 가상머신을 선택하여 Settings에 들어갑니다.
Settings에 들어가게 되면 현재 설정되어 있는 하드디스크 정보를 확인하실 수 있습니다.
여기서부터, 1번과 2번 과정이 달라지기 시작하므로, 아래에서 하나씩 확인해보도록 하겠습니다.
1. 기존에 가상머신에 할당된 디스크 파일의 사이즈를 증가시키는 방법
기존 가상머신에 할당된 디스크는 Expand 버튼을 눌러서 변경하실 수 있습니다.
저는 50GB에서 100GB로 변경해보도록 하겠습니다.
창을 종료해주시고, 가상머신을 기동 합니다.
fdisk 명령어를 이용해서 확인하면, /dev/sda 디바이스의 용량이 107.4GB로 증가한 것을 확인할 수 있습니다.
[root@centos7 ~]# fdisk -l
하지만, df -h로 확인 하면 용량이 변경되지 않을 것을 볼 수 있습니다.
[root@centos7 ~]# df -h
가상 디스크인 /dev/sda의 용량은 늘어났지만 디스크에 생성된 파티션의 사이즈는 그대로이기 때문입니다.
먼저 /dev/sda에는 위의 fdisk -l 명령어로 확인하셨듯이 sda1 파티션과 sda2 파티션으로 총 2개의 파티션이 있습니다.
이 중에 어떤 파티션이 루트 디렉토리('/')에 할당되어있는지 확인해보겠습니다.
위의 df -h 사진처럼
Mounted on이 /인 경우 Filesystem이 /dev/mapper/centos-root로 설정되어 있습니다.
Mounted on이 /boot인 경우에는 Filesystem이 /dev/sda1로 설정되어 있습니다.
/boot 디렉토리 및 하위 디렉토리는 /dev/sda 디스크의 1번 파티션인 /dev/sda1 파티션에 위치하고
/ 디렉토리 및 하위 디렉토리는 /dev/mapper/centos-root에 존재한다고 볼 수 있습니다.
그렇다면 이 디렉토리는 어디에 속해있는 것일까요?
fdisk를 자세히 보시면 아래와 같이 가장 우측의 System이 다른 것을 볼 수 있습니다.
Linux LVM은 Linux Logical Volume Manager로, 사용자가 다수의 디스크를 관리하기 쉽게 해주는 도구라고 보시면 될 것 같습니다.
장점으로는 디스크의 공간이 가득 차더라도 System 종료 없이 다른 디스크를 추가해서 공간을 확장시켜 줄 수 있습니다.
실제 디스크의 파티션을 Physical Volume이라고 하고
파티션들을 하나의 그룹으로 묶은 것을 Volume Group
이 그룹에서 원하는 만큼의 용량을 할당받아 Logical Volume 만들어 사용한다고 보면 될 것 같습니다.
하나씩 확인해보겠습니다.
[root@centos7 ~]# lvdisplay
root 디렉토리는 centos Volume Group에서 44 GiB공간을 /dev/centos/root라는 path로 가지고 있는 것입니다.
다음으로 Volume 그룹을 확인해보겠습니다.
[root@centos7 ~]# vgdisplay
centos Volume Group이 존재합니다.
다음으로, centos VG에는 어떤 Physical Volume이 들어있는지 확인해보겠습니다.
[root@centos7 ~]# pvdisplay
결국 /dev/sda2에서 공간을 할당받아 사용한다는 것을 확인할 수 있었는데요, 공간을 확장하는 것도 위와 마찬가지로 순차적으로 진행하면 됩니다.
1. /dev/sda2(PV)의 공간을 확장시켜 준다.
CentOS7에 기본적으로 설치되어 있는 parted라는 유틸리티를 사용하여, /dev/sda2 파티션의 공간을 확장해보겠습니다.
[root@centos7 ~]# parted /dev/sda
/dev/sda 내에서 파티션별 공간이 어떻게 할당되어 있는지 확인해보기 위해 print free 명령어를 사용합니다.
(parted) print free
resizepart 명령어로 2번 파티션(/dev/sda2)의 공간을 확장시켜주겠습니다.
(parted) resizepart 2
정확한 공간을 계산하여 할당하려면 byte 단위로 계산해야 하므로, 100%를 입력하여 남은 모든 공간을 확장합니다.
이후 다시 print free 명령어로 확인합니다.
(parted) print free
이제 quit를 입력하여 parted를 종료합니다.
(parted) quit
fdisk -l 명령어로 파티션 사이즈가 정상적으로 변경된 것을 확인합니다.
[root@centos7 ~]# fdisk -l
이제 다음 차례로 넘어가겠습니다.
2. Volume Group에 변경된 PV 공간을 반영해 준다.
vgdisplay 명령어와 pvdisplay 명령어를 사용하여 Physical Volume과 Volume Group을 확인하면 아직 반영되지 않은 것을 확인할 수 있습니다.
[root@centos7 ~]# vgdisplay
[root@centos7 ~]# pvdisplay
pvresize 명령어를 이용하여, /dev/sda2의 확장된 용량으로 변경해 줍니다.
[root@centos7] pvresize /dev/sda2
정상적으로 업데이트된 것을 pvdisplay와 vgdisplay로 확인합니다.
[root@centos7 ~]# pvdisplay
[root@centos7 ~]# vgdisplay
3. 루트 디렉토리의 Logical Volume이 Volume Group에서 사용하고 있는 공간을 확장시켜줍니다.
lvdisplay를 이용하여 확인하면 /dev/mapper/centos-root LV가 사용 중인 공간은 여전히 44.00 GiB입니다.
[root@centos7 ~]# lvdisplay
이 공간을 확장시켜야 합니다.
lvextend 명령어를 사용하여 /dev/centos/root LV의 공간을 확장합니다.
LV 공간을 확장한 후, 해당 디렉토리가 사용하는 파일시스템의 공간을 확장 해주어야 하지만, -r 옵션을 주면 해당 과정이 자동으로 수행 됩니다.
[root@centos7 ~]# lvextend -r -l +100%FREE /dev/centos/root
다음으로 새로운 디스크를 추가하여 확장하는 방법을 알아보도록 하겠습니다.
2. 가상머신에 새로운 가상 디스크를 추가하는 방법
업데이트 예정입니다.
'Linux > Redhat' 카테고리의 다른 글
[RHEL9] Redhat, CentOS, Rocky 로케일 변경하기 (1) | 2023.10.11 |
---|