2013-09-16 3 views
0

작은 AWS Linux 인스턴스에서 Mongo를 실행 중입니다. 오늘 아침에는 디스크가 꽉 차서 데이터베이스 잠금 로그에 많은 오류가 발생하여 시스템이 종료되었습니다.Mongo AWS에서 공간 부족보고

왜 가득 찼는 지 어떻게 알 수 있습니까? 작은 AWS 인스턴스가 160G를 사용할 수 있다고 생각 했나요? 내가 du mongo/data 디렉토리를 사용할 때 5.5G가 사용 된 것을 보여줍니다.

나는 Mongo가 디스크가 부족하다는 것을 알고 있습니다. 내 데이터 (원시)는 약 150-200MB의 JSON입니다.

답변

0

디스크가 가득 찼을 수 있습니다.

160 기가 바이트 수는 명시 적으로 사용하도록 설정하는 경우에만 사용할 수 있습니다 인스턴스 저장소를 의미합니다. 기본적으로 활성화되지 않은 이유는 지속적이지 않은 이유입니다. 이 저장소는 호스트에 연결되어 있으므로 인스턴스를 중지하거나 호스트가 어떤 이유로 든 실패하면 호스트에 포함 된 모든 항목이 손실됩니다.

사용중인 저장소는 EBS 볼륨입니다. AWS는 SAN 볼륨과 동등합니다. 기본적으로 대부분의 AMI는 약 8-10GB 크기로이 볼륨을 만듭니다. 볼륨 당 최대 1TB까지 크기를 늘릴 수 있습니다.

현재 상황을 수정하려면 몇 가지 작동 중지 시간이 필요합니다. 더 많은 공간으로 구성된 새 인스턴스로 가져 오기를 수행 할 수 있습니다. 그렇지 않으면 현재 볼륨을 스냅 샷하고 해당 스냅 샷을 사용하여 더 큰 새 볼륨을 생성 할 수 있습니다. 모든 공간을 사용하려면 파티션의 크기를 조정해야합니다.

0

언급 한대로 작은 인스턴스는 임시 디스크를 로컬로 가지고 있지만 루트 /가 아닌/media/ephemeral0과 같은 곳에 마운트됩니다. 기본적으로 EBS 루트 볼륨은 /에 마운트되며 MongoDB의 기본 데이터 디렉토리는/data입니다. 즉, MongoDB는 임시 디스크 대신 EBS 루트 볼륨에 저장됩니다.

게다가 인스턴스가 종료되면 일시적인 저장소가 손실되므로 데이터 손실 문제가 발생하지 않는 한 일반적으로 사용하지 않는 것이 좋습니다.

은 참조 :
MongoDB Document about EC2
AWS Document