Redis 메모리 데이터를 재기동 후 복원하기 위한 RDB·AOF 설정입니다. 영속성 파일과 서버 외부에 보관하는 백업은 구분합니다. 원노트의 두 방식 비교에서 실시간 복구를 보장하는 표현과 AOF를 임의 편집하는 방법은 제외했습니다.
RDB 스냅샷
RDB는 특정 시점의 데이터를 파일로 저장합니다. 아래 save 조건은 3600초 동안 변경이 1회 이상 있으면 스냅샷을 생성하는 예시입니다. 실제 설정 파일 위치와 dir 경로는 패키지에 맞게 확인합니다.
dir /var/lib/redis
dbfilename dump.rdb
save 3600 1BGSAVE
INFO persistenceBGSAVE는 백그라운드 저장을 요청합니다. rdb_bgsave_in_progress와 rdb_last_bgsave_status로 완료 여부를 확인하고 파일을 보관합니다. fork와 저장 I/O에 필요한 여유 메모리·디스크 공간도 고려합니다.
AOF 설정
AOF는 쓰기 작업을 기록해 재시작 때 상태를 재구성합니다. appendfsync everysec은 일반적인 절충안으로, 장애 조건에 따라 최근 쓰기가 유실될 수 있습니다. always도 저장장치와 장애 유형을 넘는 무손실 보장을 뜻하지는 않습니다.
appendonly yes
appendfsync everysec
aof-use-rdb-preamble yes
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mbRedis 7 계열은 여러 AOF 조각과 manifest를 사용할 수 있습니다. 파일 하나만 복사하거나 실행 중 파일을 임의로 수정하지 않습니다. AOF와 RDB를 함께 켠 서버의 복원 우선순위와 사용 버전의 백업 절차를 확인합니다.
백업과 시험 복구
저장 성공 상태를 확인한 뒤 버전에 맞는 일관된 파일 묶음을 서버 밖에 보관합니다. 복구는 먼저 같은 버전의 격리된 인스턴스에서 진행합니다. 원본 파일을 보존하고 파일 소유자·dir 설정을 맞춘 뒤 기동 로그, 키 수와 대표 값을 확인합니다. 영속성은 실수로 삭제한 데이터까지 계속 기록할 수 있으므로 과거 시점 백업도 필요합니다.
참고: https://redis.io/docs/latest/operate/oss_and_stack/management/persistence/