-
19. 스냅숏(Snapshot)을 이용한 백업과 복구BackEnd/elasticsearch 2021. 10. 12. 17:41반응형
엘라스틱서치에서 제공하는 _snapshot API을 이용해 개별 인덱스를 백업할 수도 있고 클러스터 전체를 스냅숏으로 만드는 것도 가능합니다.
1. 백업
# 1) config 폴더 내 elasticsearch.yml 설정 파일에 스냅숏 경로 지정 path.repo: ["/home/snapshot/elastic/backup"] # 2) 검색엔진 재시작 # 3) 리포지토리(스냅숏들을 저장하는 논리적인 공간) 생성 PUT _snapshot/movie_data_backup { "type": "fs", "settings": { "location": "/home/snapshot/elastic/backup", "compress": true } } # 4) 스냅숏 생성 # 기본적으로 스냅숏 대상이 되는 인덱스는 더 이상 변경이 없는 인덱스여야 한다. # wait_for_completion=true : 스냅숏 생성이 완료될 때까지 wait PUT _snapshot/movie_data_backup/movie_shapshot_part1?wait_for_completion=true { "indices": "movie_search_211012", "ignore_unavailable": true, "include_global_state": false } # 스냅숏 생성 시 스냅숏 이름은 유일해야 하며 # 백업을 하게 되면 백업한 인덱스명, 엘라스틱서치 버전, 스냅숏 버전 ID 등을 반환합니다. # 5) 백업된 스냅숏 정보 확인 GET _snapshot/movie_data_backup/_all
[스냅숏 설정 시 제공되는 옵션]
location 스냅숏의 저장 경로를 설정한다. compress 스냅숏 생성 시 압축을 수행한다. 이때 데이터는 압축되지 않으며 메타데이터만 압축 대상이 된다. chunk_size 생성되는 파일을 특정 크기로 나눠서 생성할 수 있다. 기본적으로 스냅숏은 하나의 파일로 생성된다. max_restore_bytes_per_sec 스냅숏 복원 시 속도를 설정한다. 기본적으로 초당 40MB의 속도를 낸다. max_snapshot_bytes_per_sec 스냅숏 생성 시 속도를 설정한다. 기본적으로 초당 40MB의 속도를 낸다. readonly 리포지토리를 읽기 전용으로 생성한다. 2. 복구
# 복구 POST _snapshot/movie_data_backup/movie_snapshot_part1/_restore # 동일 인덱스 존재 시 삭제 후 복구 DELETE movie_search_211012 POST _snapshot/movie_data_backup/movie_snapshot_part1/_restore # 스냅숏 삭제 DELETE _snapshot/movie_data_backup/movie_snapshot_part1
반응형'BackEnd > elasticsearch' 카테고리의 다른 글
21. Search After for JAVA (10,000건 이상 조회) (0) 2021.12.30 20. 엘라스틱서치 클라이언트 (JAVA Client) (0) 2021.10.15 18. 별칭(Alias) (0) 2021.10.12 17. 검색 템플릿(Search Templates) (0) 2021.10.12 16. 파이프라인 집계(Pipeline Aggregations) (0) 2021.10.09