본문 바로가기
실험실/db이행

서버구축실패 요약

by 죄니안죄니 2026. 1. 20.
반응형

전체 워크플로우 요약

0️⃣ 출발점 (상황)

  • “깡통 서버”를 받음
  • 목적: PostgreSQL 설치
  • 실제 상태:
    • OS: CentOS 7
    • 아무 서비스는 없지만 OS는 이미 오래된 상태

1️⃣ 문제 ①

“깡통인데 왜 이렇게 문제가 많지?”

🔴 문제점

  • PostgreSQL 최신 버전(13, 15 등) 설치 시도
  • repo 에러, GPG 에러, yum lock, 의존성 에러 연쇄 발생

🔍 원인

  • 깡통 서버 = 최신 서버가 아님
  • 깡통은 단지:
  • “아무 서비스도 안 깔린 OS”
  • OS 자체가 CentOS 7 (이미 EOL)

👉 즉,

문제의 근본 원인은 ‘OS가 오래됨’


2️⃣ 문제 ②

“왜 PostgreSQL 버전이 계속 안 맞아?”

🔴 문제점

  • PostgreSQL 15 → repo 404
  • PostgreSQL 13 → ICU 라이브러리 문제
  • PostgreSQL 12 → repo 자체가 없음

🔍 원인 (핵심)

PostgreSQL은 OS에 강하게 의존함:

항목CentOS 7
glibc 2.17
OpenSSL 1.0.2
상태 EOL

하지만 PostgreSQL은:

  • 13 이상 → ICU 필요
  • 15 이상 → OS 최신 라이브러리 필요
  • 12 → 이제 repo 삭제됨

👉 결과적으로:

CentOS 7에서는
PostgreSQL을 yum으로 설치할 수 있는 공식 경로가 사라짐


3️⃣ 문제 ③

“repo를 바꿔도 왜 계속 404가 나지?”

🔴 문제점

  • pgdg12 → 404
  • pgdg12-archive → 404
  • 계속 “No more mirrors” 에러

🔍 원인

  • PostgreSQL + CentOS 7 조합이 이중 EOL
  • PGDG 정책:
    • EOL OS + EOL DB → repo 완전 삭제
    • archive repo도 일정 기간 후 제거

👉 즉,

“우리가 뭘 잘못해서가 아니라
이제는 길 자체가 사라진 상태”


4️⃣ 중간에 나왔던 잡음들 (이해 안 됐던 것들 정리)

❓ ps, python이 왜 있었나?

  • CentOS 7에서:
    • yum은 python으로 만들어진 프로그램
    • 그래서 ps에 python /bin/yum이 보인 것
  • 백그라운드 서비스 아님
  • 네가 실행한 yum이 멈춰 있었던 것뿐

❓ yum lock은 왜 걸렸나?

  • repo 404 / GPG 에러 중 yum이 멈춤
  • 프로세스는 살아 있고 lock은 유지
  • 그래서:
    • kill -9
    • rpm DB 복구
    • 캐시 정리

👉 이건 정상적인 장애 처리 절차


5️⃣ 우리가 시도했던 “방안들”과 결과

방안 ① PostgreSQL 15

  • ❌ OS가 너무 낮음
  • ❌ repo 지원 안 됨

방안 ② PostgreSQL 13

  • ❌ ICU 라이브러리 필요
  • ❌ CentOS 7에 ICU 런타임 없음

방안 ③ PostgreSQL 12

  • ❌ 일반 repo 삭제
  • ❌ archive repo도 삭제됨 (현재 시점)

👉 모든 yum 기반 설치 경로가 막힘


6️⃣ 최종 결론 (이게 핵심)

🔴 문제의 본질

문제는 PostgreSQL이 아니라
CentOS 7이라는 OS 자체가 수명을 다했다는 것


✅ 가능한 해결책은 3개뿐

✔ 해결책 1 (정답, 강력 추천)

OS 교체

  • Rocky Linux 9
  • AlmaLinux 9
  • Ubuntu 22.04+

→ PostgreSQL 16까지 문제 없이 설치 가능
→ 가장 깔끔하고 미래 지향적


⚠ 해결책 2 (차선책)

Docker로 PostgreSQL 실행

  • 호스트: CentOS 7 유지
  • 컨테이너: PostgreSQL 12/13

→ 급할 때만 사용
→ 운영 복잡도 증가


❌ 해결책 3 (하지 말 것)

  • 소스 컴파일
  • rpm 강제 설치
  • 라이브러리 수동 빌드

→ 기술 부채 + 유지 불가


7️⃣ 전체 흐름을 한 줄로 요약하면

“깡통 서버라서 문제가 생긴 게 아니라,
깡통 서버의 OS가 너무 오래돼서
PostgreSQL이 더 이상 올라갈 수 없는 상태였다.”


8️⃣ 지금 이 상황에서의 최선의 다음 액션

이 문장 하나면 충분하다:

“CentOS 7은 PostgreSQL 최신/안정 버전 설치가 불가능하므로
Rocky Linux 9 또는 Ubuntu 22.04 기반으로 재프로비저닝 필요”


연상

1️⃣ Rocky Linux 9 + PostgreSQL 16 전체 설치 흐름
2️⃣ Ubuntu 22.04 + PostgreSQL 설치
3️⃣ Docker로 PostgreSQL 운영 구조
4️⃣ “깡통 서버 받았을 때 체크리스트” 정리본

반응형

'실험실 > db이행' 카테고리의 다른 글

도커파일  (0) 2026.01.22
postgreSQL 컨테이너로 올릴지  (0) 2026.01.20
서버환경 이슈  (0) 2026.01.20
서버 데이터 psql insert  (0) 2026.01.16
이슈 업무범위 ddl까지 vs data 이행까지  (0) 2026.01.15

댓글