# OpenSearch HDD 마이그레이션 ## 문제 - OpenSearch 데이터가 SSD(/var/lib/opensearch)에 저장 - SSD 용량 부족 우려 ## 해결 ### 1. 데이터 마이그레이션 ```bash 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 중복 설정 제거