데이터베이스 필수 업그레이드 중단점
GitLab 업그레이드 시 데이터베이스 변경으로 인해 필수 중단점이 필요한 경우와 필수 중단점을 추가하는 방법을 설명합니다.
이 페이지에서는 어떤 데이터베이스 변경이 GitLab 업그레이드 중단점을 필요로 하는지 설명합니다. 원인에 대한 포괄적인 목록이 필요하다면 필수 중단점의 원인 을 참조하세요. 필수 중단점 은 이제 마이너 버전 X.2, X.5, X.8, X.11에 일관되게 적용됩니다. 이는 사용자에게 예측 가능한 업그레이드 경로를 보장하기 위함입니다. 중단점을 필요로 하는 데이터베이스 변경은 이 릴리스를 활용할 수 있습니다. 아래 지침은 필수 업그레이드 중단점을 추가하는 데 사용됩니다. 중단점이 필요한 일반적인 데이터베이스 변경 # 오랫동안 실행되는 마이그레이션 완료 처리 # 마이그레이션이 오랜 시간 걸리면, 업그레이드 중에 다수의 고객이 타임아웃을 겪을 수 있습니다. 지원 요청이 급증하면 필수 중단점을 도입해야 할 수 있습니다. 특히 규모가 큰 고객에게는 어떤 백그라운드 마이그레이션도 이러한 문제를 일으킬 수 있지만, 일반적으로 영향이 광범위할 때만 중단점을 도입합니다. 원인 : 업그레이드에 한 시간 이상 걸리면 Omnibus가 타임아웃됩니다. 완화 방법 : 다음 필수 중단점 이후의 첫 번째 마이너 버전에 완료 처리를 예약하세요. 다음 필수 중단점까지 기다림으로써, 필수 중단점 사이를 이동하는 고객이 백그라운드에서 마이그레이션을 실행할 기회를 갖게 되어 서비스가 계속 운영될 수 있도록 합니다. 그렇지 않고 필수 중단점에서 마이그레이션을 완료하면, 이전 필수 중단점에서의 업그레이드 중에 동기식 실행이 강제되어, 마이그레이션 실행 시간이 유지보수 기간을 초과하면 다운타임이 발생할 수 있습니다. 잘못 완료된 백그라운드 마이그레이션 # 다음과 같은 경우 완화를 위해 필수 중단점을 도입해야 할 수 있습니다: 백그라운드 마이그레이션이 완료되지 않았고, 해당 백그라운드 마이그레이션에 의존하는 마이그레이션이 작성된 경우. 원인 : 백그라운드 마이그레이션이 완료되지 않으면 의존 마이그레이션이 실패할 수 있습니다. 완화 방법 : 의존 마이그레이션을 작성하기 전에 모든 백그라운드 마이그레이션이 완료되었는지 확인하세요. 마이그레이션 제거 # 마이그레이션이 제거되면, 고객이 필요한 변경 사항을 놓치지 않도록 필수 중단점을 도입해야 할 수 있습니다. 원인 : 필수 마이그레이션이 제거되어 의존 마이그레이션이 실패하거나 애플리케이션이 제대로 동작하지 않을 수 있습니다. 완화 방법 : 마이그레이션이 계획된 필수 중단점의 일부가 된 이후에만 제거하도록 하세요. 마이그레이션 타임스탬프가 매우 오래된 경우 # 마이그레이션 타임스탬프가 매우 오래된 경우(3주 이상이거나 마지막 중단점 이전인 경우), 다음과 같은 상황이 문제를 일으킬 수 있습니다: 마이그레이션이 더 새로운 타임스탬프를 가졌지만 이전 필수 중단점 이후의 이전 릴리스에서 도입된 다른 마이그레이션에 의존하는 경우, 새 마이그레이션이 선행 마이그레이션보다 먼저 순차적으로 실행되어 실패할 수 있습니다. 마이그레이션 타임스탬프 ID가 마지막 중단점 이전인 경우, 팀이 필수 중단점의 다른 마이그레이션을 스쿼시할 때 의도치 않게 스쿼시될