anon55243134 님이 거의 모든 게시물을 삭제한 것을 확인했습니다. 팀과 업데이트 스크립트 유지보수, 그리고 업데이트 관련 안내 측면에서 여기서 교훈을 얻을 수 있다고 생각합니다.
anon55243134 님은 수년간 자체 호스팅 Discourse를 운영해 오신 분인데, 업그레이드 프롬프트를 따랐을 뿐인데 설치가 손상되고 작동하지 않게 되었습니다.
만약 저에게 이런 일이 발생했다면 포럼 콘텐츠 손실 가능성 때문에 매우 화나고 당황했을 것입니다. 자체 호스팅을 선택한 이상, 그것이 가능하더라도 큰 돈을 지불해 문제를 해결할 준비가 되어 있거나 능력이 되지 않을 수 있습니다.
경고와 확인 절차가 부족하다고 생각합니다.
- 사용자가 최근 백업(호스팅 서비스 스냅샷이 아님!)을 했는지
- 사용자가 백업을 다운로드했는지
- 웹 기반 업데이트가 실패할 수 있으며 명령줄 업데이트가 필요할 수 있다는 점을 사용자에게 알리는지
- 사용자의 OS가 매우 오래되었는지 확인을 요청하는지
- 최신 서버로 이전하는 것이 최선의 방법이 될 수 있다는 점을 사용자에게 알리는지
- 주요 업데이트(데이터베이스 업데이트 등)가 위험할 수 있으며, 경험이 부족하다면 문제가 발견되고 수정될 때까지 일주일 정도 기다리는 것이 좋다는 경고를 하는지
더 우려스러운 점은, 삭제된 게시물 중 하나에서 상당히 심각한 실패가 발생했는데도 이를 포착하지 못하고 스크립트가 계속 실행된 것을 볼 수 있다는 것입니다:
cat: /shared/postgres_data/PG_VERSION: No such file or directory
...
E: Unable to locate package postgresql--pgvector
cp: cannot stat '/etc/postgresql//main/*': No such file or directory
sh: 1: /usr/lib/postgresql/bin/postgres: not found
...
Finding the real data directory for the source cluster
could not get data directory using "/usr/lib/postgresql/bin/postgres" -D "/shared/postgres_data" -C data_directory: No such file or directory
Failure, exiting
스크립트를 직접 확인해 보지는 않았지만, 존재하지 않는 항목이 발견된다는 것은 문제가 앞을 닥치고 있음을 의미하며, 이때는 중단해야 한다고 생각합니다.