
- AWS EC2의 우분투 20.04 환경에 mariadb 설치 --> DB 서버로 사용중
- (프리티어 계정) 인스턴스 사양 --> vCPU 1코어, 메모리 1GB
- 갑자기 mariadb의 연결이 끊기고 재접속이 되지 않음.
mariadb 재설치 시도 전, 파일 백업을 위해 cp 명령어 사용
--> 리눅스 용량 문제로 cp 명령어를 실행할 수 없다는 오류 문구 출력됨
해당 오류가 mariadb 접속불가 상황과 관련있을 것이라 의심
df 명령어로 디스크 용량 확인

- 목표 : /dev/root 용량 확보
- 시도 1 : lsof / 명령어로 불필요하게 용량을 잡아먹고 있는 쓰레기 데이터 찾아 삭제하기
용의자 1) syslog

--> (삭제 전)
--> (삭제 후)

- 1-1) syslog 삭제했으나 mariadb restart 실패
용의자 2) amazon log



- 2-1) amazon error log 삭제했으나 mariadb restart 실패
용의자 3) 여러개 남아있는 mariadb의 PID







- 3-1) 남아있는 mariadb PID를 다 삭제시켰으나 mariadb restart 실패

- 시도 1 결과 (실패)
- 변화 없는 /dev/root 사용량
- 시도 2 : mariadb의 사용하지 않는 테이블 삭제하기
1) mariadb 오류구문 재확인

2) journalctl -xeu mariadb.service 명령어로 오류구문 자세히 확인

3) mariadb에서 사용하지 않을 테이블 삭제

3-1) 테이블이 들어있던 /laBelup 용량은 31M --> 9.8M으로 줄었으나 mariadb restart 실패

3-2) /dev/root 사용량도 이것저것 지워보기 전과 일치함. 변화없음

- 시도 2 결과 (실패)
- /dev/root의 용량은 위의 과정들과 관련이 없는 듯함
- 시도 3 : AWS EC2 인스턴스 볼륨 용량 증설
1) 현재 사용중인 AWS EC2 인스턴스에 연결된 EBS 볼륨 용량을 8GB에서 25GB로 수정함

- 주의사항!!!
- AWS 프리티어로 무료 제공되는 EBS 스토리지 용량은 30GB 까지임
--> 실행중이지 않은 인스턴스에 연결된 EBS 볼륨까지 모두 포함된 용량이 30GB
--> 생성된 모든 인스턴스의 볼륨 용량을 합산해서 30GB가 넘지 않아야 과금되지 않음!!
2) lsblk 명령어로 리눅스 /dev/root에 해당하는 파티션 이름이 /dev/xvda 1 임을 확인
2-1) 파티션 용량 늘리기 위한 growpart 명령어를 수행할 용량이 부족하다는 오류 발생

2-2) 명령 수행할 /tmp의 용량을 10M만큼만 우선 늘려준 뒤 다시 growpart /dev/xvda 1 명령어 수행

2-3) resize2fs /dev/xvda1명령어로 /dev/root 해당 파티션 용량 25G로 할당 성공

2-4) 여전히 mariadb restart 실패

3) journalctl -xeu mariadb.service 명령어로 새로운 오류구문 확인

3-1) /var/lib/mysql 디렉터리의 ib_logfile0을 ib_logfile1로 이름 변경해줌

3-2) mariadb 재시작
systemctl restart mariadb 명령어로 mariadb 재시작 성공

테이블과 데이터 조회도 성공

- 시도 3 결과 (성공)
- mariadb 문제없이 작동함
- 리눅스 디스크 용량 부족이 문제의 원인
다시 용량이 부족할 상황을 대비해 어떤 파일의 용량이 큰 비중을 차지하는지 확인
/var/lib/mysql에서 이름 변경했던 ib_logfile1이 다음 날 다시 확인해보니 ib_logfile0으로 복구되어 있음