2.4 KiB
2.4 KiB
OpenSearch HDD 마이그레이션
문제
- OpenSearch 데이터가 SSD(/var/lib/opensearch)에 저장
- SSD 용량 부족 우려
해결
1. 데이터 마이그레이션
sudo mkdir -p /mnt/hdd/opensearch
sudo cp -rp /var/lib/opensearch/* /mnt/hdd/opensearch/
sudo chown -R 1000:1000 /mnt/hdd/opensearch
2. 설정 파일 변경
파일: /home/admin/opensearch/docker-compose.yaml
- 34번 라인:
/var/lib/opensearch→/mnt/hdd/opensearch
파일: /home/admin/opensearch/.gitea/workflows/cicd.yml
- 17-19번 라인:
/var/lib/opensearch→/mnt/hdd/opensearch - 30-31번 라인: 기존 컨테이너 중복 방지 코드 추가
파일: /home/admin/opensearch/Dockerfile
- 보안 인증서 COPY 라인 제거
ENV plugins.security.disabled=true추가
3. 보안 플러그인 비활성화
- docker-compose.yaml 15번 라인:
DISABLE_SECURITY_PLUGIN=true - 내부 네트워크 전용 서비스로 TLS 불필요
4. 해결 과정 중 발생한 문제
- Actions 실패: TLS 인증서 파일 없음 → 보안 플러그인 비활성화로 해결
- 컨테이너 이름 충돌 → Actions에 기존 컨테이너 제거 코드 추가
- 설정 중복 에러 → Dockerfile ENV 제거, docker-compose.yaml에서만 설정
5. 최종 상태
- 데이터 경로:
/mnt/hdd/opensearch(354MB) - 컨테이너: opensearch (opensearch-opensearch-node 이미지)
- 포트: 9200, 9600
- HDD 여유 공간: 869GB
- API 응답: 정상
- 로그 수집: fluent-bit → data-prepper → OpenSearch 정상
6. 추가 이슈 (2025-09-30)
- 문제: 9/29부터 로그 수집 중단
- 증상: fluent-bit → data-prepper 200 OK, 하지만 OpenSearch 저장 실패
- 에러:
Cannot deserialize value of type java.util.ArrayList from Object value - 원인: Data Prepper가 JSON 배열
[{...}]요구, fluent-bit이 단일 객체{...}전송 - 시도한 해결책:
- json_array on 추가 (Fluentd 전용 파라미터, Fluent Bit에는 없음)
- Flush 5초, Grace 30 설정 (배치 처리 시도)
- Format json_lines (Data Prepper 비호환)
- 상태: 미해결, 추가 조사 필요
7. 커밋 이력
- 7466068: HDD 경로 변경
- 5f7bf49: Actions 워크플로우 경로 수정
- 2df7afb: 보안 플러그인 비활성화
- 8f667d3: DISABLE_SECURITY_PLUGIN 환경변수 수정
- 66b5ee8: Dockerfile 중복 설정 제거