postgresql 시작 실패

postgresql 시작 실패

Redhat 7.1에 postgresql 데이터베이스를 설치하고 데이터베이스를 논리 볼륨 내부의 ISCSI 장치(LUN)로 이동하고 컴퓨터 시작 시 이를 마운트하기로 결정했습니다(xfs 형식). 마운트 지점은 /var/lib/pgsql입니다.

서버가 시작되면 postgresql.service는 실패한 상태입니다.

message.log에서:

systemd: mounting /var/lib/pgsql
 starting PostgreSQL database server
 kernel sdv: unknown partition table
 sd 2:0:0:0: [sdb] attached SCSI disk
 xfs (dm-4): Mounting V4 Filesystem
 postgresql-check-db-dir: "/var/lib/pgsql/data" is missing or empty
 postgresql.service: control process exited, code=exited status=1
 Failed to start PostgreSQL database server.

서버에 로그인할 때 데이터베이스를 수동으로 시작하려고 하면: systemctl start postgresql--> 확인(데이터가 손실되지 않고 데이터베이스를 사용할 수 있습니다)

시작하는 동안 순서 문제인 것 같습니다. 네트워크 서비스를 시작한 다음 iscsi, lvm 등을 시작해야 합니다.

그래서 "After=lvm-pgscan.service iscsi.service" 등을 추가하여 /usr/lib/systemd/system/postgresql.service에 대한 종속성을 강제로 시도했지만 아무 것도 변경되지 않았습니다.

어떤 아이디어가 있나요?

답변1

댓글 문자열로 볼 때 edit를 사용하면 문제가 해결 /usr/lib/systemd/system/postgresql.service될 것으로 보입니다 . After=local-fs.target나에게 프롬프트는 다음 메시지였습니다.

postgresql-check-db-dir: "/var/lib/pgsql/data"가 없거나 비어 있습니다.

이는 Postgres가 /var설치 전에 시작을 시도하고 있음을 의미합니다. after제한을 추가하면 systemd는 postgres를 시작하기 전에 로컬 파일 시스템이 마운트될 때까지 기다리게 됩니다.

관련 정보