- 아마존 웹서비스 하드 크기 작게 변경하기
- root 볼륨이 아닌 경우는 새 볼륨을 생성해서 복사하면 끝(rsync)
- 문제는 root 볼륨인 경우, 아래 설명
* 작업 시나리오
- 목표 크기의 작은 볼륨을 가진 인스턴스를 생성해서, 그 작은 볼륨에 큰 볼륨을 dd 명령어를 통해 복사
* 상황
줄이려는 기존 EBS 볼륨 = Big
목표로 하는 작은 크기 볼륨 이름 = small
* 볼륨을 생성
Big이 존재
small을 생성 : Big과 동일한 인스턴스를 생성
* 별도의 (제3의) 작업용 인스턴스에 연결
- (아래 볼륨들을 연결을 해제 한 후) 별도의 인스턴스에 연결
big = /dev/sdf (xvdf)
small = /dev/sdg (xvdg)
* 연결한 인스턴스에서 작업
- 볼륨 정보
sudo -s
lsblk
df
//==========================
- 큰 볼륨 디스크 검사
- 마운트 하면 안된다.
e2fsck -f /dev/xvdf1
- 사용중인 4k blocks 수 계산 (큰 볼륨)
resize2fs -M -p /dev/xvdf1
- 마지막 줄을 기억해 놓는다
The filesystem on /dev/xvdf1 is now 909146 (4k) blocks long.
- 16M로 환산
blockcount * 4 / (16 * 1024)
909146 *4 / (16*1024) = 221.959472 = 222 (반올림)
//=============
- 디스크 복제
- 큰볼륨(xvdf1) -> 작은 볼륨(xvdg1)
- dd : 블록 단위 변환·복사 명령어
dd bs=16M if=/dev/xvdf1 of=/dev/xvdg1 count=222
- 맨 마지막 숫자는 위에서 계산한 값
- 복제후 검사(작은 볼륨)
resize2fs -p /dev/xvdg1
e2fsck -f /dev/xvdg1
//==================
* 복제된 볼륨(small)을 인스턴스에 연결
- 현재 인스턴스 종료
shutdown -h now
볼륨을 연결해제후 실제 가동할 인스턴스에 /dev/sda1으로 연결
//===================================
// 참고
// 시스템이 아닌 일반 데이터 볼륨인 경우는 단순 복사
- small 볼륨 파일 시스템 만들기
mkfs -t ext4 /dev/xvdf
- 볼륨 마운트
mkdir /mnt/big
mount /dev/xvdf1 /mnt/big
mkdir /mnt/small
mount /dev/xvdg /mnt/small
- 볼륨 동기화
sudo rsync -aHAXxSP /mnt/big/ /mnt/small
//=========================
//
https://ehikioya.com/shrink-amazon-ebs-volumes/
//=====================================================
https://n2ws.com/blog/how-to-guides/how-to-reduce-the-size-of-an-ebs-volume
https://serverfault.com/questions/673048/how-to-reduce-aws-ebs-root-volume-size
https://ehikioya.com/shrink-amazon-ebs-volumes/
'Code > Web' 카테고리의 다른 글
[nginx] localhost 에서 SSL(https) 설정하기 (windows 10) (0) | 2019.11.08 |
---|---|
[web] composer 에러 해결 방법 .Deprecation warning: Your package name is invalid, (0) | 2019.09.22 |
AWS EC2 스냅샷으로 복구하기 (0) | 2019.09.18 |
리눅스 자동 시작 프로그램 제어 방법 (0) | 2019.09.18 |
[Pusher 데모] Realtime User Status Update (0) | 2019.08.13 |