분류: 업데이트 후 오류

업데이트 실패에 대비한 롤백 계획

되돌릴 수 없는 업데이트가 있습니다. 올리기 전에 그것을 가려내는 방법과, 되돌릴 수 있는 경우의 준비를 정리했습니다.

마지막 확인

이런 상황일 때

업데이트를 올렸는데 문제가 생겼습니다. 이전 판으로 돌아가면 되겠거니 하고 판을 내렸는데, 이번엔 아예 켜지지 않습니다. 데이터를 못 읽겠다는 메시지가 뜹니다.

한 줄 결론

되돌릴 수 없는 업데이트가 있습니다. 데이터 형식이 바뀌면 판을 내려도 옛 프로그램이 새 데이터를 읽지 못합니다. 그래서 롤백 계획의 첫 단계는 준비가 아니라 가려내기입니다.

핵심 개념

되돌릴 수 있는 업데이트

프로그램만 바뀌고 데이터는 그대로인 경우입니다. 판을 내리고 다시 띄우면 끝납니다. 대부분의 패치 업데이트가 여기에 속합니다.

되돌릴 수 없는 업데이트

올라가면서 데이터를 새 형식으로 바꾸는 경우입니다. 프로그램은 내릴 수 있지만 데이터가 이미 앞서 가 있습니다. 되돌리려면 데이터도 함께 되살려야 하고, 그 사이에 쌓인 것은 사라집니다.

가려내는 판별식

릴리스 노트에서 세 낱말을 찾습니다 — migration, schema, upgrade. 그리고 한 판씩 올리라는 안내가 있으면 대개 되돌릴 수 없는 쪽입니다. 셋 다 없으면 대개 되돌릴 수 있습니다.

롤백에도 시간이 든다

되돌릴 수 있다고 해서 즉시는 아닙니다. 데이터를 되살려야 한다면 그 크기만큼 걸립니다. 그 시간 동안 서비스는 멈춰 있습니다.

되돌릴 지점을 모르면 되돌릴 수 없다

가장 흔한 실패입니다. 데이터는 다 있는데 어느 판으로 돌아가야 하는지를 모릅니다. 특히 판 이름을 latest 로 두었다면 그 이름은 어제와 오늘이 다릅니다.

이런 분에게 해당됩니다

  • 혼자 관리하는 서버에서 되돌릴 일이 생기면 곤란한 분
  • 데이터베이스를 쓰는 서비스를 운영하는 분
  • 컨테이너 태그를 latest 로 두고 계신 분

확인해야 할 항목

  • 릴리스 노트에 migration·schema·upgrade 가 있는가
  • 한 판씩 올리라는 안내가 있는가
  • 지금 돌고 있는 정확한 판을 기록했는가
  • 데이터 백업이 있고 되살려 본 적이 있는가
  • 되살리는 데 걸리는 시간을 아는가

잘못 이해하기 쉬운 부분

오해 백업이 있으니 언제든 되돌릴 수 있다.

사실 백업은 되돌릴 수단입니다. 되돌리는 데 걸리는 시간과, 그 사이에 쌓인 데이터가 사라진다는 사실은 그대로입니다.

오해 컨테이너는 태그만 내리면 된다.

사실 프로그램은 내려갑니다. 볼륨 안의 데이터는 그대로 남아 있고, 그것이 이미 새 형식이면 옛 프로그램이 읽지 못합니다.

오해 롤백은 마지막 수단이니 미리 준비할 필요 없다.

사실 준비는 올리기 전에만 할 수 있습니다. 문제가 생긴 뒤에는 지금 판 번호도, 깨끗한 데이터도 이미 없습니다.

안전한 행동 순서

  1. 릴리스 노트에서 데이터 형식이 바뀌는지 먼저 봅니다.
  2. 바뀐다면 되돌릴 수 없다고 전제하고 준비합니다 — 백업, 시험 환경, 시간 여유.
  3. 바뀌지 않는다면 지금 판을 기록합니다. 이것이 되돌릴 지점입니다.
  4. 데이터 백업을 뜨고 그 백업이 실제로 열리는지 확인합니다.
  5. 되살리는 데 걸리는 시간을 대략 잽니다. 모르면 한 번 해 봅니다.
  6. 업데이트를 올립니다.
  7. 문제가 생기면 먼저 로그를 남긴 뒤 되돌립니다. 되돌리고 나면 원인을 찾을 단서가 사라집니다.

되돌릴 지점 기록 — 올리기 전에 한다

docker compose images

latest 를 쓰고 있어도 여기 찍힌 값으로 정확히 되돌아갈 수 있습니다. 이 출력을 어딘가에 붙여 두세요 · 확인: 2026-08-05 · wp3 VM (Debian, Docker Compose v2)

이 스택이 쓰는 볼륨 확인

docker compose config --volumes

백업 대상에서 빠진 볼륨이 없는지 대조합니다 · 확인: 2026-08-05 · wp3 VM (Debian, Docker Compose v2)

되돌리기 전에 로그부터 남긴다

docker compose logs --no-color > ~/before-rollback.log

되돌리고 나면 증거가 사라집니다. 이슈를 올릴 때도 이 파일이 필요합니다 · 확인: 2026-08-05 · wp3 VM (Debian, Docker Compose v2)

확인 체크리스트

  • 데이터 형식이 바뀌는지 확인했다
  • 지금 판을 기록했다
  • 백업을 뜨고 열리는지 확인했다
  • 되살리는 데 걸리는 시간을 안다
  • 되돌리기 전에 로그를 남길 준비가 됐다

관련 도구와 버전 페이지

  • 릴리스 이력
    카테고리별 버전 페이지에서 직전 판 번호를 확인할 수 있습니다. 되돌릴 지점을 찾는 출발점입니다.
  • 되돌릴 수 있는지 판정아직 제공하지 않습니다
    어떤 업데이트가 데이터 형식을 바꾸는지 이 사이트는 판정하지 못합니다. 릴리스 노트를 직접 보셔야 합니다.

자주 묻는 것

데이터베이스를 되돌리는 게 왜 어렵나요?

새 판이 표 구조를 바꿔 두었기 때문입니다. 옛 프로그램은 자기가 아는 구조를 기대하는데 실제 구조가 달라 열지 못합니다. 대개 백업에서 되살리는 것 말고는 길이 없습니다.

스냅샷으로 통째로 되돌리면 안 되나요?

됩니다. 다만 그 사이에 쌓인 다른 모든 것도 함께 사라집니다. 여러 서비스를 한 장비에서 돌린다면 무관한 서비스의 데이터까지 되돌아갑니다.

되돌린 뒤에 다시 올려도 되나요?

원인을 찾은 뒤에 올리세요. 그대로 다시 올리면 같은 일이 납니다. 그래서 되돌리기 전에 로그를 남기는 것이 중요합니다.

함께 읽기

  • Breaking Change가 의미하는 것
  • 업데이트 전 백업해야 할 파일과 데이터
  • 운영 서버에서 바로 업데이트하면 위험한 이유
공식 출처

마지막 검토일: 2026-08-07

공식 출처

내용이 잘못되었나요? 수정 요청