cd /var/discourse
sudo git pull
sudo ./launcher rebuild app
몇 분 동안 작동하다가 오류(아래 참조)가 발생하여 실패했습니다.
이제 다시 이렇게 실행하면:
sudo ./launcher rebuild app
즉시 동일한 오류가 다시 발생합니다:
$ sudo ./launcher rebuild app
x86_64 arch detected.
docker: Error response from daemon: cgroups: cgroup mountpoint does not exist: unknown.
ERRO[0000] error waiting for container: context canceled
Your Docker installation is not working correctly
See: https://meta.discourse.org/t/docker-error-on-bootstrap/13657/18?u=sam
내일 로컬 VM에서 테스트 업그레이드를 진행해 보겠습니다. 핵심은 Set up the repository의 3단계, 즉 /etc/apt/sources.list.d/docker.list 파일을 focal 대신 jammy를 사용하도록 업데이트하는 것이 될 것으로 생각됩니다. 그 후 apt-get update && apt-get upgrade를 실행하여 새 소스 목록에 맞게 패키지를 최신 상태로 가져와야 합니다.
이미 문제를 해결하셨지만, 혹시 다른 분들이 이 곳에 오셨을 때를 대비하여, 제가 예상한 대로 작동하는지 또는 추가적인 단계가 필요한지 나중에 보고드리겠습니다.
저는 항상 새 VM을 생성해서 정상 작동하는지 확인한 뒤, 거기에 백업을 복원합니다. 이렇게 하면 다운타임도 없고, 문제가 생겨서 막히는 위험도 없습니다. 탄력적 IP(어떤 이름으로 부르는지 DigitalOcean에서 어떻게 불리는지 기억이 안 나네요)를 사용해서 IP를 전환하면 DNS 설정을 바꿀 필요도 없습니다.
같은 물리적 머신을 계속 사용해야 한다면, 머신을 클린 설치로 업그레이드하는 동안 사이트를 잠시 VM으로 옮긴 뒤에 다시 이전하는 방식을 선택할 것 같습니다.
반면, 업그레이드를 하면서도 문제가 없이 잘 작동한다는 보고도 많이 봤습니다. 다운타임만 감수할 수 있다면 괜찮습니다. 하지만 무언가 크게 잘못될 경우에 대비해 새 서버를 빠르게 띄울 수 있도록 반드시 백업을 확보해 두세요.
저는 프로덕션에 있는 모든 것에 대해 정확히 동일한 전략을 사용하지만, 여전히 샌드박스에서 OS 업그레이드 과정을 시도해 봅니다. 이렇게 하면 문제점(pain points)을 정확히 파악할 수 있기 때문이죠. 프로덕션의 같은 VM에서 OS를 업데이트하다가 모든 것을 망가뜨리는(백업 없이) 경우가 실제로 있으므로, 이러한 설치 문제를 트러블슈팅하는 데 도움이 됩니다.
Preparing to unpack .../docker.io_20.10.7-0ubuntu1~20.04.1_amd64.deb ...
The aufs storage-driver is no longer supported.
Please ensure that none of your containers are
using the aufs storage driver, remove the directory
/var/lib/docker/aufs and try again.