파일시스템 Full로 인한 mysql 구동/종료/테이블 접근 장애 복구하기

갑자기 운영하던 웹사이트(RedHat Linux, Apache, PHP, MYSQL)에 접근이 안되는 장애가 생겼다.

root 계정으로 로그인하여 확인하니 httpd 대몬이 평소보다 훨씬 많은 숫자가 실행중이었고 mysql 대몬은 정상적으로 실행중인 것 처럼 보였다.

급하게 apache와 mysql을 재구동 하려 하였으나 mysql의 종류(mysql.server stop)가 안되었고 강제로 kill한 뒤 mysql을 구동하려 하였으나 평소와는 달리 프로세스는 한참만에 떴으나 mysql 클라이언트 및 apache를 통한 db 접근이 안되었다.

mysql 로그를 확인하니 Filesystem의 full로 인해 오류가 발생하였음을 확인할 수 있었다.

먼저 mysql db가 위치한 파일시스템의 불필요한 파일… (나의 경우 tomcat의 mod_jk.log(??) 파일이10G이상으로 커져있었다…)을 지우고 ….

mysql과 apache를 재구동하였다.

웹도 정상적으로 접근하였으나 특정 테이블을 접근하는 php 소스 부분에서 mysql_fetch()의 오류가 발생하였다.

mysql 클라이언트로 접근하여

mysql> repair table 테이블명;

을 수행하여 복구하였다.

그 전에

mysql>analyze table 테이블명;

을 수행하였더니 테이블이 Crach되어 있다는 분석보고가 나왔다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Scroll to Top