CentOS를 처음 설치할 때 파티션 설정 부분에서 수동으로 설정하지 않고, 자동으로 설정하게 했다면 /home에 많은 용량이 할당된 것을 볼 수 있다.
특정 목적으로 /home 디렉토리 용량이 많이 필요한 상황이 아니라면, 시간이 지나면 지날수록 / 디렉토리의 용량이 부족할 수도 있다.
따라서 다음의 방법으로 / 디렉토리의 용량을 늘일 수 있다.
## 환경
OS : CentOS 6.9
## 해결 안됨
찾아보니 다음과 같은 방법으로 할 수 있다고 한다. 참조사이트
# umount /home
# lvreduce -r -L 10G /dev/VolGroup/lv_home // -r 옵션은 resize2fs를 동시에 실행하도록 하는 옵션이다
# lvresize -r -l+100%FREE /dev/VolGroup/lv_root
# mount /home
# df -h
필요없는 디렉토리(즉, /home 디렉토리)의 용량을 lvreduce 명령어를 통해 원하는 만큼 줄이고(예제에서는 10G에 해당), 줄인 용량을 / 디렉토리가 lvresize 명령어를 통해 확장하는 것이다.
그런데 lvreduce 명령어를 사용하면 다음과 같은 에러가 발생한다.
fsadm: Xfs filesystem shrinking is unsupported.
파일 시스템 타입이 XFS 인 경우 축소할 수 없다고 한다.
## 해결 됨
더 찾아보니 다음과 같은 방법이 나왔다. 참조사이트
이 방법은 /home 볼륨을 삭제하고 다시 만드는 과정으로 해결한다.
// /home 디렉토리를 백업
# tar -zcvf /root/home.tar.gz -C /home .
// 백업이 잘 되었는지 테스트
# tar -tvf /root/home.tar.gz
// /home 디렉토리를 언마운트
# umount /dev/mapper/centos-home
// Logical Volume을 삭제
# lvremove /dev/mapper/centos-home
// /home에 대한 새로운 Logical Volume 생성 후 마운트
# lvcreate -L 10GB -n home centos // 이 때 10GB는 당연히 이전 /home 용량에서 / 에 추가로 할당할 용량을 빼고난 후의 값이어야 함
# mkfs.xfs /dev/centos/home
# mount /dev/mapper/centos-home
// /root Volume 확장
# lvextend -r -l +100%FREE /dev/mapper/centos-root
// /home 디렉토리 복구
# tar -zxvf /root/home.tar.gz -C /home
실제로
이랬던 녀석이
이렇게 확장/축소된 것을 확인
※ 실제 적용된 그림은 Virtual Box로 테스트 서버를 하나 만들어서 적용한 것으로 1GB의 용량을 축소 및 확장 적용하였음
출처: https://knoow.tistory.com/179 [ICT Story]