반응형
반응형
서버 외부 스토리지 연결 방식 이 글은 서버(리눅스/유닉스/윈도우)에서 사용할 수 있는 외부 스토리지 연결 방식들을 개념 → 활용 범위 → 장단점 순으로 정리합니다. 1️⃣ 외부 스토리지란 무엇인가 외부 스토리지는 서버 내부 디스크(Local Disk)가 아닌, 네트워크 또는 전용 스토리지 인터페이스를 통해 외부 장비의 저장 공간을 사용하는 방식을 의미합니다. 목적은 보통 다음 중 하나입니다. 데이터 중앙화 및 공유 확장성(용량/성능) 확보 백업·아카이빙 고가용성(HA) 및 장애 대응 2️⃣ 파일 기반 스토리지 NFS (Network File System) ..
PANIC: could not locate a valid checkpoint record 유형: 일반오류형 · 시스템 레벨 치명 오류 (DB 프로세스 기동 불가) 1️⃣ 대표 오류 메시지 PANIC: could not locate a valid checkpoint record 2️⃣ 언제 발생하나 이 오류는 PostgreSQL 재기동 시점에 발생합니다. 서버 프로세스가 시작되면서 WAL을 기반으로 마지막 체크포인트부터 Redo(재적용)를 수행해야 하는데, 유효한 체크포인트 레코드를 찾지 못하면 즉시 PANIC 상태로 중단됩니다. WAL 파일 손상 또는 일부 유실 스토리지 장애(디스크 오류, ..
Error 3960 – Snapshot Isolation Update Conflict 유형: 일반오류형 · “락이 없는데 왜 실패하지?”를 설명해야 하는 고급 동시성 오류 1️⃣ 대표 오류 메시지 Snapshot isolation transaction aborted due to update conflict 2️⃣ 언제 발생하나 Error 3960은 주로 아래 환경에서 나타납니다. SNAPSHOT 격리 수준을 사용하는 트랜잭션 READ COMMITTED SNAPSHOT (RCSI) 활성화 환경(읽기 동작이 버전 기반) 동시에 같은 row(또는 동일 키 범위)를 UPDATE하는 경쟁 상황 ..
Error 1205 – Deadlock Victim 유형: 일반오류형 · DBA 개입이 필요한 고급 트랜잭션 장애 1️⃣ 대표 오류 메시지 Transaction (Process ID xx) was deadlocked on resources with another process and has been chosen as the deadlock victim 2️⃣ 장애 개요 Error 1205는 단순히 “락이 충돌했다”는 의미가 아닙니다. DB 내부의 Lock Manager가 여러 트랜잭션 간 락 대기 관계를 그래프로 구성한 뒤, 데드락 사이클을 감지하고 그중 하나의 트랜잭션을 의도적으로 종료(kill)했음을 의미합니다..
PostgreSQL 락 / 트랜잭션 경합으로 인한 지연·실패 유형: 일반오류형 · 성능 저하 → 장애로 확장되기 쉬운 고위험 유형 1️⃣ 장애 개요 PostgreSQL은 MVCC 구조를 사용하지만, UPDATE / DELETE / DDL이 수행될 때는 여전히 다양한 수준의 락(Lock)이 사용됩니다. 여러 트랜잭션이 동일한 자원(row, table, index)을 동시에 요구하면 대기 → 지연 → 타임아웃 또는 데드락으로 이어질 수 있습니다. 2️⃣ 대표 오류 메시지 ERROR: deadlock detected ERROR: canceling statement due to lock timeout E..
PostgreSQL 커넥션 / 세션 폭주로 인한 접속 거부 유형: 일반오류형 · 트래픽 증가 또는 애플리케이션 설정 오류로 자주 발생 1️⃣ 장애 개요 PostgreSQL은 프로세스 기반 DB 구조로, 클라이언트 커넥션 하나당 서버 프로세스 하나가 할당됩니다. 따라서 동시에 접속 가능한 세션 수에는 명확한 상한(max_connections)이 존재하며, 이를 초과하면 새로운 접속은 즉시 거부됩니다. 2️⃣ 대표 오류 메시지 FATAL: sorry, too many clients already connection timeout connection pool exhausted 애플리케이션에서는 ..