본문 바로가기
FullStack/40. Linux

[CentOS] LVM 용량 변경

by nakanara 2021. 6. 7.
반응형

[CentOS] LVM 용량 변경

기본적으로 CentOS를 설치하고 홈 경로가 아닌 루트 경로에 별도 디렉토리를 만들고 사용하다 보니, 루트 경로의 용량이 부족한 현상이 발생하였습니다.

1테라 SSD에 설치를 하였는데, 루트에는 50G를 홈에는 800G 이상이 설정되어 있었습니다.

$ df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                  32G     0   32G   0% /dev
tmpfs                     32G     0   32G   0% /dev/shm
tmpfs                     32G   11M   32G   1% /run
tmpfs                     32G     0   32G   0% /sys/fs/cgroup
/dev/mapper/centos-root   50G  4.2G   46G   9% /
/dev/nvme0n1p1          1014M  197M  818M  20% /boot
/dev/mapper/centos-home  849G   42M  849G   1% /home
tmpfs                    6.3G     0  6.3G   0% /run/user/1000

앞으로도 홈이 아닌 루트 경로를 많이 사용할 것 같아 디렉토리 용량을 아래와 같은 방법으로 변경하였습니다.

lvreduce를 통한 resize (방법 1)

$ umount /home
$ lvreduce -r -L 100G /dev/mapper/centos-home 
$ lvresize -r -l+100%FREE /dev/mapper/centos-root
$ mount /home
$ df -h

centos-home의 디렉토리를 100G로 축소하고, 남은 것에 대해서는 centos-root에 추가하는 명령어입니다.
하지만 파일 시스템이 XSF타임의 경우 위의 방법으로는 축소가 불가능합니다.

...

Phase 7 - verify link counts...
No modify flag set, skipping filesystem flush and exiting.
fsadm: Xfs filesystem shrinking is unsupported.
  /usr/sbin/fsadm failed: 1
  Filesystem resize failed.

볼륨 삭제 후 새로 생성 (방법 2)

# home 디렉토리 백업
$ tar -zcvf /root/home.tar.gz -C /home .

# 백업 파일 확인
$ tar -tvf /root/home.tar.gz

# home 디렉토리 unmount
$ umount /dev/mapper/centos-home 

# Volumn 삭제
$ lvremove /dev/mapper/centos-home 
Do you really want to remove active logical volume centos/home? [y/n]: y
   Logical volume "home" successfully removed


# Volumn 새로 생성
$ lvcreate -L 100G
WARNING: xfs signature detected on /dev/centos/home at offset 0. Wipe it? [y/n]: y
  Wiping xfs signature on /dev/centos/home.
  Logical volume "home" created.

# 포맷
$ mkfs.xfs /dev/centos/home

# mount 
$ mount /dev/mapper/centos-home

# 남은 용량 루트 volumn 확장
$ lvextend -r -l +100%FREE /dev/mapper/centos-root
  Size of logical volume centos/root changed from 50.00 GiB (12800 extents) to <799.20 GiB (204594 extents).
  Logical volume centos/root successfully resized.
...

# 확인
$ df -h

Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                  32G     0   32G   0% /dev
tmpfs                     32G     0   32G   0% /dev/shm
tmpfs                     32G   11M   32G   1% /run
tmpfs                     32G     0   32G   0% /sys/fs/cgroup
/dev/mapper/centos-root  800G  4.2G  796G   1% /
/dev/nvme0n1p1          1014M  197M  818M  20% /boot
tmpfs                    6.3G     0  6.3G   0% /run/user/1000
/dev/mapper/centos-home  100G   33M  100G   1% /home


# 백업해둔 home 디렉토리 복구
$ tar -zxvf /root/home.tar.gz -C /home

# LVM 상태 확인
$ lvdisplay

#centos #volume #lvm #fsadm

반응형