리눅스를 가상머신에 올려놓고 사용하시거나 처음에 기본 세팅 그대로 구축하셨을 경우 사용하시다 보면 /home 용량에 비해 / 용량이 너무 부족한 경우가 있습니다. 그럴 때 /home을 줄이고 /용량을 늘리는 방법에 대해서 알아보겠습니다.
순서는 아래와 같습니다.
1. home 경로 백업
2. home 언마운트
3. home의 Logical Volume 삭제 후 재생성
4. /root 경로 확장
천천히 따라 오시면 원하는 크기로 홈과 루트를 나눌 수 있습니다.
1. home 경로 백업
작업을 하시기 전에 home 디렉토리를 백업해 줍니다.
# tar -zcvf /root/home.tar.gz -C /home .
나중에 용량 할당 작업이 끝난 후에 이 파일을 이용해서 복원해 줄 겁니다.
백업이 잘 되었는지 확인
# tar -tvf /root/home.tar.gz
백업한 home.tar.gz 안에 데이터들을 확인해 줍니다. 저는 파일이 몇개 없어서 별로 나오지 않습니다.
2. home 언마운트
/home 디렉토리를 언마운트
# umount /dev/mapper/centos-home
3. home의 Logical Volume 삭제 후 재생성
Logical Volume(centos-home)을 삭제
# lvremove /dev/mapper/centos-home
/home에 대한 새로운 Logical Volume 생성 후 마운트
# lvcreate -L 10GB -n home centos
이 때 10GB는 이전 /home 용량에서 / 에 추가로 할당할 용량을 빼고난 후의 값이어야 함
파일타입 지정
# mkfs.xfs /dev/centos/home
home 마운트
# mount /dev/mapper/centos-home
df -h 명령어로 home이 마운트 된 것을 볼 수 있습니다.
4. /root 경로 확장
/root Volume 확장(root디렉토리에 남은 용량 모두 할당 100%)
# lvextend -r -l +100%FREE /dev/mapper/centos-root
df -h 로 이제 최종적으로 다 잘 마운트 되어 있는지 확인해 줍니다.
/home 디렉토리 복구
# tar -zxvf /root/home.tar.gz -C /home
이제 아까 묶어뒀던 백업 파일을 /home 디렉토리에 다시 풀어줍니다. -C(대문자) 옵션을 사용해 주셔야 지정한 경로에 압축을 풀어줄 수 있습니다.