1

내가 우분투 서버에서 pgpool 서버를 설정하려고이 링크를 다음에 위임 IP 주소를 시작합니다.PostgreSQL의 실패는 pgpool 2

하지만이 pgpool 서비스를 시작할 때 위임 된 IP가 시작되지 않습니다.

syslog의 로그 파일에서 본 것과 같은 오류가 발생했습니다.

Oct 25 08:46:25 pgpool-1 pgpool[1647]: [8-2] 2017-10-25 08:46:25: pid 1647: DETAIL: Host:"172.16.0.42" WD Port:9000 pgpool-II port:5432 
    Oct 25 08:46:25 pgpool-1 pgpool: SIOCSIFADDR: Operation not permitted 
    Oct 25 08:46:25 pgpool-1 pgpool: SIOCSIFFLAGS: Operation not permitted 
    Oct 25 08:46:25 pgpool-1 pgpool: SIOCSIFNETMASK: Operation not permitted 
    Oct 25 08:46:25 pgpool-1 pgpool[1648]: [18-1] 2017-10-25 08:46:25: pid 1648: LOG: failed to acquire the delegate IP address 
    Oct 25 08:46:25 pgpool-1 pgpool[1648]: [18-2] 2017-10-25 08:46:25: pid 1648: DETAIL: 'if_up_cmd' failed 
    Oct 25 08:46:25 pgpool-1 pgpool[1648]: [19-1] 2017-10-25 08:46:25: pid 1648: WARNING: watchdog escalation failed to acquire delegate IP 

나는 pgpool2 버전 3.6.6-1 및 워치 독 버전 5.31-1와 우분투 14.04 사용합니다.

그리고이 가상 IP 설정에서 pgpool.conf를 설정했습니다.

# - Virtual IP control Setting - 
delegate_IP = '172.16.0.201' 
if_cmd_path = '/sbin' 
if_up_cmd = 'ifconfig eth0:0 inet $_IP_$ netmask 255.255.0.0' 
if_down_cmd = 'ifconfig eth0:0 down' 
arping_path = '/usr/sbin' 
arping_cmd = 'arping -U $_IP_$ -w 1' 

어떤 제안이 필요합니까? 어떤 도움을 주셔서 감사합니다.

답변

0

ifconfig를 사용하는 사용자에게 ifconfig 사용 권한이없는 것 같습니다. 튜토리얼에서 those steps을 (를) 따르셨습니까?

감시 과정에서

setuid를 구성, 루트 권한은 가상 IP를 contol 필요합니다. 루트 사용자로 pgpool-II를 시작할 수 있습니다. 그러나이 튜토리얼에서, 아파치는 pgpool을 apache 사용자로 시작하고 가상 IP 을 제어해야하기 때문에 pgpoolAdmin을 사용하고 있습니다. 이를 위해 if_config 및 arping을 설정합니다. 또한 보안상의 이유로 인해 아파치 이외의 사용자에게 명령에 액세스하는 것을 원하지 않습니다. osspc19 및 osspc20 각각에 명령을 실행하십시오 (루트 권한이 필요합니다). 처음에는

는 설정이 setuid입니다 ipconfig를하고 arping을 포함하는 디렉토리를 확인합니다. 경로는 ifconif_path 및 arping_path에 지정됩니다. 이 자습서에서는/home/apache/sbin입니다. 그런 다음 아파치 사용자에게만 실행 권한 을 부여하십시오.

$ su - 
# mkdir -p /home/apache/sbin 
# chown apache:apache /home/apache/sbin 
# chmod 700 /home/apache/sbin 

다음, 원래 ifconfig를 복사 한 디렉토리로 arping 다음 세트는 이들에 대해 setuid.

# cp /sbin/ifconfig /home/apache/sbin 
# cp /use/sbin/arping /home/apache/sbin 
# chmod 4755 /home/apache/sbin/ifconfig 
# chmod 4755 /home/apache/sbin/arping 

위의 설명은 자습 목적으로 만 사용해야합니다. 에서는 현실적으로 setuid 래퍼 프로그램을 작성하여 ifconfig 및 arping을 실행하는 것이 좋습니다. 이것은 귀하의 연습을 위해 남아 있습니다.

+0

나는이 단계를 다시 시도하지만 동일한 결과를 얻는다. –

0

(참고 :이 대답은 경우에 도움이 될 수 있습니다 당신은 도커 용기의 감시와 Pgpool-II 서버를 실행)

오늘 도커 용기에 감시로 설정 Pgpool-II 서버에 시도, 나는 거의 도착

SIOCSIFADDR: Operation not permitted 
SIOCSIFFLAGS: Operation not permitted 
SIOCSIFNETMASK: Operation not permitted 
pid 88: LOG: failed to acquire the delegate IP address 
pid 88: DETAIL: 'if_up_cmd' failed 
pid 88: WARNING: watchdog escalation failed to acquire delegate IP 

나중에 내가 용기가 네트워크 구성을 변경할 수있는 권한을 가지고 있지 않았기 때문에 그것은 기본적으로 것을 발견 : 같은 오류 (나는 set the SUID bit를하고 있지만 심지어 루트 사용자로 Pgpool-II를 실행 시도) 디자인에 의해.

pgpool1: 
    privileged: true 
    image: postdock/pgpool:latest-pgpool36 
    ... 

오류가 사라지고 가상 IP가 올바르게 설정 : 아래 그림과 같이

나는 다음 특권 모드에서 내 Pgpool-II 도커 용기를 달렸다.