오전의 개인 퍼포스 서버 장애는 ... 총체적 난국이었다.

문제: p4v가 타임아웃을 띄우고 접속을 못함.

대응:

  1. docker compose down && docker compose up -d ... 해결안됨.
  2. tailscale 로그에서 로그아웃 된 상태를 확인해 키 재발급 및 적용
  3. p4v가 'no such user' 에러를 냄. 뭐???????
  4. p4 users 해보니 진짜 계정이 없음. p4 depots, p4 clients 해봐도 진짜 아무것도 없음.
  5. 백업에서 퍼포스 데이터베이스를 복원. 그래도 'no such user' 에러.
  6. ㄴㅁㅇ러ㅣ;ㄴㄹㅇ머ㅏ;ㄴㅇ러ㅏㅣ;ㄴㅇㅁㄹ;ㅓㅏㅣㅇㄴㅁ러ㅏㅣ;ㄴㅇㅁ러ㅏ;ㅣ
  7. 문제해결.

원인:

  1. p4d 도커 스택에 사용하던 tailscale 키가 만료됨. ... 키 재발급 및 적용은 올바른 대응이었음.
  2. 근데 p4d를 재시작할 때 전에 다른 작업에 쓰려고 복사해 둔 잘못된 p4d 디렉토리에서 p4d를 시작함. docker compose 설정에 볼륨 경로를 './'로 시작하게 해놔서 잘못된 디렉토리에서 그냥 실행됐고 데이터베이스가 없으니 시작 스크립트가 서버를 새로 만들어버림. ...... 이걸 눈치채는데 시간이 많이 걸림.
  3. 새 서버가 시작됐으니 'no such user' 에러를 냄.

재발방지방안:

  1. 엉뚱한 경로에서 서버를 실행하지 않도록 파일 삭제.
  2. 최근 docker compose 파일 버전관리를 위해 컨테이너 실행 위치를 퍼포스 하위로 옮겼는데 이 때 p4d 디렉토리가 하나 더 생긴 걸 생각 못했음. ... docker compose 파일을 고쳐 현재 디렉토리에서 도커 볼륨이 실제 다른 볼륨을 가리키도록 './'로 시작하는 볼륨 설정을 절대경로로 수정.
  3. 항상 올바른 경로에 있는게 맞는지 뭐 실행하기 전에 hostname, pwd 꼭꼭 쳐보자.

아침부터 생쑈했네진짜 .....

1

If you have a fediverse account, you can quote this note from your own instance. Search https://hollo.woojinkim.org/@me/01986338-be0b-73e5-9df4-6122aade0b2c on your instance and quote it. (Note that quoting is not supported in Mastodon.)