안녕하세요 개인적으로 작은 클러스터를 구축해보려고 하고있습니다.
쉽게 마스터 노드 [(WAN과 로컬 LAN (NAT)) home 폴더의 실제 위치] [ip 192.168.0.1]
서브 노드 [(로컬랜 - 마스터 노드 경유 인터넷) home 폴더를 공유 받는 위치] [ip 192.168.0.2]
host 에서 노드 이름들을 정의해주고
홈폴더를 쉐어하지 않는경우 ssh-copy-id 명령어들을 이용하면 비번 입력없이 노드간에 ssh 접속은 가능합니다
현재 NFS공유로 마스터 노드의 홈폴더를 서브노드에서 부팅단계에서 원격 마운팅하도록 해놓았는데
지금은 서브 노드를 하나로 설명했지만 점차 서브노드는 수량을 늘릴 예정이라..
최종적으로는 open-mpi를 이용해 cpu 연산 클러스터를 구축하는게 목표입니다.
이 경우 master 에서 ssh 접속시 비밀번호 입력 없이 접근 가능하도록 설정을 어떻게 해야할지
아시는 분 있으시면 알려주시면 감사하겠습니다.
생활코딩의 이고잉님께서 적어둔 강좌가 아래 링크를 타고 가시면 있습니다. 저걸 적용해보시면 되지 않을까 싶은데요.
https://opentutorials.org/module/432/3742
이 방법은 기존에도 계속 쓰고있던 방식입니다
node 별로 다른 개인키가 만들어져야하고, 각각 공개키를 authonized key에 저장 해야하는데
ssh-keygen으로 키를 생성시 파일 명이 같기때문에
node1 생성후 node2 키를 생성하면 기존 키가 저장되지 않는 문제가 있습니다
덮어쓰기가 되어버려서 무한루프를 돌게 되더군요..
흠.. 저는 회사에서 AWS 게이트웨이용으로 한대 두고 거기서 관련 서버들을 다시 SSH로 접속하고 있느데요..
pem 파일 형태로 서버별로 키를 만든 후에 ssh -i 옵션을 통해서 해당파일을 전달해서 잘 접속하고 있습니당...
그리고 노드별로 각 키를 생성하는게 아니라 노드에 서버의 공개키를 저장하게 해서 인증되게 해야 할텐데요...?
아.. 제가 완전히 잘못이해했네요.. 노드끼리 로그인을 해야 하는데 그 때 문제가 되는거라면..
위험할것 같긴하지만 모두 같은 키를 쓰게 하고 authorized_keys 에 노드 만큼 동일한 공개키를 등록하는 방법은 해결책이 안될까요..?
CentOS7인데
sudo setsebool -P use_nfs_home_dirs 1
명령어로 bool 값을 수정해주니 되네요 ㅠㅠ
use_nfs_home_dirs 값이 기본 off 인걸 몰랐습니다 ㅠㅠ