RDS 용량 증가 방법 참고 :
https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html
uncategorized SQLException for SQL []; SQL state [HY000]; error code [126]; Incorrect key file for table '/rdsdbdata/tmp/#sql_blah_blah.MYI';
MYSQL을 사용하면서 위와 같은 에러가 발생한다면 데이터베이스에 저장공간이 부족한 것이다.
클라이언트에서의 요청으로 인하여 데이터베이스에서 쿼리를 실행시키기 전에 임시테이블을 생성하는데 이 임시테이블을 생성하는 공간에서 용량이 부족하면 위와같은 에러가 발생한다.
이번에 회사의 Replication DB에서 용량부족으로 인하여 이런 이슈가 발생했다.
확인해보니 해당 RDS 인스턴스에서 스토리지 용량이 고정으로400 GiB로설정되어있었고, 설정된 스토리지 용량을 오버할 시에 자동으로 용량을 증가시켜주는 설정이 Off 처리되어 있었다.
그리고 RDS 인스턴스의 용량이 꽉차서 상태가 ‘스토리지 공간 부족’으로 표시되고 있었다.
그래서 해당 인스턴스의 스토리지 용량을500 GiB로업그레이드했고 스토리지 용량 오버 시 자동으로 용량을 증가시키는 옵션도 On 처리하여 해결했다.
하지만 멈춰있던 동안의 데이터를 다시 복제해오는 시간이 좀 걸려서 master DB에는 insert 혹은 update를 정상적으로 처리했지만 read 할 때의 replication DB에는 처리한 데이터가 없어서 반영이 안된것처럼 보이는 이슈가 생겼다.
그래서 Replication DB가 모두 복제되기 전까지는 master DB를 바라보도록 일부 서버 어플리케이션들의 설정을 수정하여 재배포했다.
보통 RDS는 스토리지 용량을 적정한 용량으로 설정해놓고 이를 오버할 시에 자동으로 스토리지 공간이 증가하도록 설정되어있어야 한다.
왜냐하면 보통 DB는 증가했으면 증가했지 줄어들지는 않기 때문에 점점 쌓여갈 수 밖에 없는 구조이기 때문에 이러한 설정을 해야하고
또RDS에서도이런 설정을 default로 제공하는 만큼 권장하고있는 설정방법이다.
'개발관련' 카테고리의 다른 글
DB Connection Pool 관리 글 링크 (0) | 2019.07.03 |
---|---|
Mybatis configuration 문서 주소 (0) | 2019.06.24 |
Mysql) Mybatis 동적 태그 (0) | 2019.05.30 |
React.js / Vue.js / Angular 세가지 프론트엔드 프레임워크의 Dom 제어방식 차이점 (0) | 2019.05.21 |
Spring boot 프로젝트 로그파일 설정(logback.xml)방법 및 ubuntu에서 .bashrc 등록해서 로그 확인하는 방법 (0) | 2019.02.25 |