Research Log/HPC

HPC Container Troubleshoot

ycchae 2022. 3. 6. 19:09

(Sloved)

  • Problem - Docker
    • docker stack deploy 혹은 docker service 를 시작할 때
  • Solution
    • /usr/local/ 경로에 있는 파일은 권한이 없다고 실행하지 못한다.
    • /usr 경로에서 실행하면 된다.

(Semi-Solved)

  • Problem - Docker
    • docker swarm 에서 static ip가 현재 구현되어 있지 않는 듯 하다.
  • Solution
    • docker network create 로 attachable한 외부의 네트워크를 만들어서
    • subnet, gateway 등의 설정을 해준다.
    • docker-compose에서 만든 네트워크로 서비스를 붙인다.
    • docker inspect $containers 에서 IPv4Address를 파싱하여
    • hosts 파일을 직접 만들어서 모든 컨테이너에 배포하였다.

(Solved)

  • Problen - Static IP
    • docker network disconnect 후 docker network connect --ip {$ip_addr} 명령어로 설정이 가능했지만, ping이 제대로 되지 않는 문제가 발생하였다.
  • Solution
    • 네트워크 설정을 더 많이 손봐야할 것 같아서 hosts 파일만을 수정하는 것으로 선택했다.

(Solved)

  • Problem - Docker
    • docker stack deploy시 replica 가 0일 이고 아무 로그가 없다.
  • Solution
    • docker service create로 먼저 실험해본다. 로그가 나오므로 해결한다
    • 보통 docker-compose.yml 에서 수동으로 만든 networks 에서 문제가 된다.

(Solved)

  • Problem - Docker
    • centos의 경우 privileged=true 를 주지 않으면 systemctl 을 사용할 수 없다.
    • 즉, 서비스의 사용이 불가능하다.
    • docker swarm의 경우 privileged mode 를 허용하지 않는다.
    • privileged mode 를 사용하는 경우 security 가 매우 떨어진다.
  • Solution
    • privileged mode 대체로 사용할 수 있도록 구현해놓은 툴이 많다.
    • mysql의 Dockerfile과 docker-entrypoint.sh 를 확인해봤을 때,
    • gosu 라는 툴을 사용하여 mysqld 를 실행하고 있었다. Simple Go-based setuid+setgid+setgroups+exec (https://github.com/tianon/gosu)

(Solved)

  • Problem - Openmpi
    • error while loading shared libraries: libopen-rte.so.40: cannot open shared object file: No such file or directory
  • Solution
    • ldconfig

(Solved)

  • Problem - Openmpi
    • srun -N 8 과 같은 모든 노드에 실행되는 openmpi를 사용하는 프로그램 실행시
    • 특정 노드에서 PML ob1 cannot be selected 라는 에러 발생
  • Solution
    • 그 노드에 /usr/local/lib/openmpi/mca_pml_ob1.so 이 존재하지 않는다면
    • openmpi 재설치 하면 됨.

(Solved)

  • Problem - Slurm
    • srun: error: Unable to allocate resources: Socket timed out on send/recv operation
  • Solution
    • select type 이 cons_res 일때 distribute 옵션(-m)이 plane 이면 발생
    • slurm.conf 의 select type 을 linear 로 변경 혹은 plane 사용 x
    • slurmctld 가 죽는 현상이 같이 발생하므로 서비스를 재시작.

(Solved)

  • Problem - Yum
    • error: rpmdb: BDB0113 Thread/process 6884/139786810869568 failed: BDB1507 Thread died in Berkeley DB library
  • Solution
    • rm -f /var/lib/rpm/__db.[0-9][0-9]*
    • rpm --quiet -qa
    • rpm --rebuilddb
    • yum clean all