Private Docker Registry의 EBS 볼륨을 줄여보자.
(15GiB → 8GiB)
참고 링크
[Linux] EC2 EBS 부팅 볼륨 축소 (ext 4 / Amazon Linux 1)
[EC2 인스턴스 스냅샷 생성 & 스냅샷으로 EBS 볼륨 복제]
우선, 인스턴스가 실행 상태이어야 한다.
시간이 조금 지나면 사용 가능으로 변경됨
[주의!!]
[원본 EC2 인스턴스와 같은 OS로 EC2 신규 생성 & EBS 볼륨 떼기]
원본 EC2와 동일한 설정의 EC2를 생성
- 스토리지는 전보다 작게 (가장 기본 8GB로 함)
- 원본 EC2는 실행 중지 시키기
[Temp 인스턴스 생성 & EBS 모두 연결]
디스크 복제 작업을 진행할 임시 인스턴스 생성 및 EBS 연결 단계
위와 같은 방식으로 2개 다 연결해준다.
이제 3개의 볼륨이 temp EC2에 생성이 되었다.
[Temp 인스턴스에 SSH 연결하고 디스크 복사]
결과
root@ip-172-31-38-93:/home/ubuntu# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 24.4M 1 loop /snap/amazon-ssm-agent/6312
loop1 7:1 0 55.6M 1 loop /snap/core18/2745
loop2 7:2 0 63.3M 1 loop /snap/core20/1879
loop3 7:3 0 111.9M 1 loop /snap/lxd/24322
loop4 7:4 0 53.2M 1 loop /snap/snapd/19122
xvda 202:0 0 8G 0 disk
├─xvda1 202:1 0 7.9G 0 part /
├─xvda14 202:14 0 4M 0 part
└─xvda15 202:15 0 106M 0 part /boot/efi
xvdf 202:80 0 15G 0 disk
├─xvdf1 202:81 0 14.9G 0 part
├─xvdf14 202:94 0 4M 0 part
└─xvdf15 202:95 0 106M 0 part
xvdg 202:96 0 8G 0 disk
├─xvdg1 202:97 0 7.9G 0 part
├─xvdg14 202:110 0 4M 0 part
└─xvdg15 202:111 0 106M 0 part
- 디스크는 3개가 있고 (xvda, xvdf, xvdg)
- 각각의 디스크는 3개의 파티션을 가지고 있다.
- 순서대로, 주 파티션, 작은 파티션, 부트 파티션이다.
블록 디스크 전체가 아닌 데이터 파티션만 작업한다.
- 주 파티션만 작업하면 된다. (파티션 중 제일 위의 것)
원본 디스크 정리 작업
e2fsck, resize2fs를 순서대로 실행해준다
e2fsck -f /dev/xvdf1
resize2fs -M -p /dev/xvdf1
resize2fs 명령의 결과 마지막에 나오는 blocks는 이 파일시스템의 4k 블럭 숫자를 의미
필요한 16MB 블록 개수를 계산
계산 식 : block count * 4 / (16 * 1024)
1761780 * 4 / (16 * 1024) = 반올림해서 431
DD 명령어를 사용해서 디스크를 복사하기
- 실제 블록디스크를 복사하는 작업이므로 시간이 생각보다 많이 걸림
- 터미널이 끊어지지 않도록 사전에 screen 명령 사용
sudo dd if=/dev/xvdf1 ibs=16M of=/dev/xvdg1 obs=16M count=431 status=progress
파티션 검토
resize2fs -p /dev/xvdg1
e2fsck -f /dev/xvdg1
이제 거의 완료되었다.
[축소된 볼륨으로 인스턴스 시작]
원본 EC2의 볼륨을 분리하자. (사전에 EC2가 중지 되어있어야 한다.)
EC2의 복제한 볼륨 (축소시키려고 하는 볼륨 크기를 가진 볼륨) 또한, temp에서 분리시켜준다.
2개의 볼륨을 분리시키면 이제 2개가 사용 가능 상태가 된다.
이제 축소된 크기의 볼륨을 원본 EC2에 연결시키자.
볼륨 연결 시 부팅 볼륨 (루트 디바이스)로 마운트 되어야 하기 때문에, sda1으로 작성했다.
잘 연결되었다.
이제 확인해보자.
원본 EC2 실행
'💻 개발 > 졸업과제' 카테고리의 다른 글
Harbor 접속 문제 해결하기 .. (EBS 늘리기) (0) | 2023.09.09 |
---|---|
줄인 EBS로 ASG의 AMI 변경하기 (0) | 2023.08.17 |
EC2를 가상 이미지로 만들기(AMI) - Private Docker Registry (0) | 2023.08.16 |
Private Docker Registry 구조 변경하기 (0) | 2023.08.15 |
Container Manager 환경 구축하기 (0) | 2023.08.15 |