kace|homebuilder.or.kr
Incident Details
- Incident Date: 2024-02-13
- Incident Time: 04:09 ~ 17:37
- Incident Description:
웹서버에 접근이 안되는 상황이었음.
- ssh 호스트명:
sknk-prod-kace-new - cafe24 가상 서버 호스팅
ukace.or.kr호스트 apm 환경으로 운영- 문제가 되는 도메인은 multipass
oldinstance. - 내부 인스턴스의
/var/www/old호스트의~/old로 마운트 - 호스트 아파치 가상호스트 설정에
ukace|kace|homebuilder.or.kr3개 - 문제의 도메인은
php5.6-fpm내부 인스턴스 아이피10.161.140.179를 바라보는 리버스 프록시 설정. - 처음에는 환경 파악을 안하고 호스트 apm 재시작을 시도.
- 해결이 되지 않아 조사해보니 놀랍게도 내가 한건데 전혀 기억이 안남.
- https://github.com/sknkwoxs/kace/tree/develop/provision/old
- 미래의 서버 관리자와 대화하기 위한 문서를 통해 파악완료.
- 내부 인스턴스에서 서비스되는 걸로 보아 cloudflare 터널이 있을 듯 했으나, fpm 리버스 프록시였음.
어쨌든 multipass로 인스턴스 제어가 되지 않아서 데몬 재시작.
sudo snap stop multipass.multipassdsudo snap start multipass.multipassdmultipass stop oldmultipass start old다행히 무사히 인스턴스 잘 올라옴. 로그인해보니 disk full 상태.
old 인스턴스 루트 파티션 9GB. 사실 데이터 추가가 없기 때문에 걱정할 필요는 없음.
평상 시 디스크 사용량은 디비가 거의 전부. 절반이상 여유가 있음.
/dev/sda1 9.6G 4.4G 5.2G 46% /Root Cause Analysis
mysql:://kace.xe_session테이블이 3GB 가량 차지
상태 확인
disk full로그 문제가 아니었음.- apache2도 호스트에 있어서 웹서버 관련 큰 로그가 쌓이지 않고 mysql 로그는 매우 작음.
sudo sumysql kace -e "TRUNCATE xe_session;"
cd /var/lib/mysql/kacels -alh xe_session.*-rw-r----- 1 mysql mysql 3.1M Feb 14 09:25 xe_session.MYD-rw-r----- 1 mysql mysql 1.6M Feb 14 09:25 xe_session.MYI-rw-r----- 1 mysql mysql 8.6K Sep 8 2022 xe_session.frmImpact
약 13시간 가량 서비스할 수 없었지만, 백업용으로 열어놓은 사이트라 고객 측 치명적인 손해는 없었음.
Corrective and Preventive Measures
- 매일 00:00 cronjob 추가
mysql kace -e "TRUNCATE xe_session;" - 이렇게 하면 사실 다시 비슷한 종류의 오류는 발생할 확률은 극히 작아짐
disk full상태가 되면multipass인스턴스에 접근이 안되기 때문에lxc로 이전 고려.