리눅스 파티셔닝에 대한 계념설명은 아래 포스팅에 있다.
ansan-survivor.tistory.com/45
리눅스 공간 할당 개념잡기 (Linux allocation space)
윈도우와 마찬가지로, 리눅스도 하나의 운영체제이다. OS (Operating System) 운영체제는 컴퓨터 장치인 Hardware 와 내부 Software사이에서 자원을 골구로, 효과적으로 사용할 수 있도록 도와준다. 운영체
ansan-survivor.tistory.com
초기 파티셔닝 세팅 예 (아래와 같이 파티셔닝을 했다.)
/boot (standard type) - 2GB
나머지 Logical Volume(LV) - 약 250GB
root - 50GB
swap - 16GB
home - 180GB
LV는 (점선)으로 생각할 수 있으며 논리적으로 생성시켜준 파티셔닝이다.
/boot를 제외한 나머지는 Logical Volume(LVM)으로 파티셔닝 공간을 유동적으로 바꿔줄 수 있다.
위에서 보여준 파티션에서 Root의 공간을 100GB로 눌려주고 Home공간을 130GB로 줄이는 테스트를 할 것이다.
위 그림과 같이 Root의 크기를 늘려줌.
CetOS 7에서 파일시스템은 xfs로 기본 구성되어있으며, 이를 사용할 것이다. xfs파일 시스템은 확장은 자유롭지만 축소가 불가능하다. 그러나 Root는 늘리는 과정에서 서버를 중단할 필요없이 가동되는 상태로 진행 할 수 있다.
따라서 아래와 같은 프로세스로 진행한다.
0. root계정으로 진행 (root으로 로그인)
1. /home 디렉터리 백업
2. /home 디렉터리 un-mount
3. /home의 Logical Volume(180GB) 삭제
4. /home에 130GB짜리 LV 생성
5. /home에 파일시스템 xfs파일을 등록
6. /home을 장치에 mount 시킴
7. root에 나머지 (약 50GB)를 모두 할당 => 100GB가 됨
8. 이전 home 계정 디렉터리를 복구시킴
(실습)
1. /home 디렉터리를 압축하여 /root로 백업 (압축파일명 home.tgz)
tar -czvf /root/home.tgz /home
home계정을 압축하여 root홈에 보관
2. /home 디렉터리 un-mount
umount /dev/mapper/centos-home
/home의 마운트를 해제하고, df -Th 를 이용해서 마운트된 용량 확인. (root만 있고, home은 없다)
3. /home의 Logical Volume(180GB) 삭제
lvremove /dev/mapper/centos-home
마운트가 해제되어 붕 뜬 예전의 home공간을 완전히 지워버린다. (이제 다른곳에 할당 가능상태)
4. /home에 130GB짜리 LV 생성
lvcreate -L 130GB -n home centos
할당 가능한 공간중 130GB만 centos-home이라는 LV 생성
5. /home에 파일시스템 xfs파일을 등록
mkfs.xfs /dev/centos/home
할당한 공간에 xfs라는 파일시스템을 정의함
6. /home을 장치에 mount 시킴
mount /dev/mapper/centos-home
새로 할당받은 130GB에 /home이 장치로서 마운트가 되면 df -Th에 다음과 같이 뜬다
7. root에 나머지 (약 50GB)를 모두 할당 => 100GB가 됨
lvextend -r -l +100%FREE /dev/mapper/centos-root
이제 남은 모든공간이 root에 할당되어 103G로 늘어나게 되었다.
8. 이전 home 계정 디렉터리를 복구시킴
tar -xzvf /root/home.tgz -C /home
압축 해제 전에는 /home에 아무 계정도 없지만, 해제를 하면 아래와 같이 백업한 home계정인 admin이 다시 생성된다.
이렇게 내가 할당한 공간에서 Root공간을 늘릴 때 위와 같은 방법을 사용하면 된다.
참고링크, serverfault.com/questions/771921/how-to-shrink-home-and-add-more-space-on-centos7
How to shrink /home and add more space on CentOS7
CentOS 7 file system is XFS, And resize2fs doesn't work. I need to shrink /home to 400G and add 100G space to /. What should I do? # df -h Filesystem Size Used Avail Use% Mounted on...
serverfault.com