5.1. Diskless Cluster를 추가할 경우
Diskless Cluster의 장점은 COW와 다르게 계산노드들을 쉽게 추가 및 제거를 할 수 있다는 점이다. 이 장에서는 만약 당신이 추가적인 계산노드들을 증설할 경우 어떻게 해야할 지에 대해서 다룬다
5.1.1. 준비물
– 추가적인 계산노드들 (계산노드들의 PXE부팅 및 네트워크 카드의 맥주소를 알고 있다고 가정한다.)
5.1.2. 마스터 노드 - /etc/hosts 편집
새로 추가될 계산노드들에게 할당할 사설 IP와 호스트이름을 정해준다
$vim /etc/hosts
127.0.0.1 localhost
127.0.1.1 cmt-master
192.168.0.1 master
192.168.0.2 node01
…
192.168.0.9 node08
192.168.0.10 node09
192.168.0.11 node10
192.168.0.12 node11
- /computation_node/nfsroot/etc/hosts에도 주황색으로 칠한 부분을 동일하게 추가한다.
5.1.3 마스터 노드
- /etc/dhcp/dhcp.conf 편집 (계산노드의 dhcp.conf는 편집할 필요x)
$vim /ec/dhcp/dhcp.conf
…
subnet 192.168.0.0 netmask 255.255.255.0 {
…
host node08 {
hardware ethernet XX:XX:XX:XX:XX:XX;
fixed-address 192.168.0.9;
}
host node09 {
hardware ethernet XX:XX:XX:XX:XX:XX;
fixed-address 192.168.0.10;
}
host node10 {
hardware ethernet XX:XX:XX:XX:XX:XX;
fixed-address 192.168.0.11;
}
host node11 {
hardware ethernet XX:XX:XX:XX:XX:XX;
fixed-address 192.168.0.12;
}
}
- 편의상 추가될 계산노드들의 맥주소를 XX:XX:XX:XX:XX:XX로 표기하였다.
5.1.4. 추가될 계산노드들이 사용할 부트로더, 커널, 커널 이미지 (선택사항)
만약 추가될 계산노드들의 하드웨어 구성이 기존에 있던 계산노드들과 거의 동일할 경우 또는 위에서 작성한 부분으로도 충분히 작동이 된다면, 해당 부분은 무시하고 지나가도 된다. 하지만, 몇몇 자료에 따르면, 계산노드들이 사용할 부트로더과 커널등을 따로 설정을 해주어야 하는 경우가 있다고 한다. 이런 경우에는 해야할 것이 다음과 같다.
1) 계산노드들이 사용할 부트로더 추가
: 현재는 /var/lib/tftpboot/pxelinux.cfg/에 default로 설정이 되어있다. 하지만 사용하는 부트로더가 다를 경우에는, /var/lib/tftpboot/pxelinux.cfg/에 추가될 계산노드들이 사용할 파일들을 따로 추가한다. (추가될 계산노드들이 사용할 vmlinuz, imiframf.img등을 따로 설정해야 함) 해당 노드. 이 부분은 Appendix를 참조하기 바란다
2) 추가될 계산노드들이 루트디렉토리로 사용할 리눅스이미지를 제작
- /computation_node/ 아래에 추가될 계산노드들이 사용할 리눅스 이미지를 만들어야 한다.
※ 이때, 디렉토리의 이름은 /computation_node/node09의 형태로 인식하기 쉽게 만들자.
- 리눅스 이미지를 만드는 방법은 마스터 서버의 리눅스 이미지를 복사하는 것과 debootstrap등을 이용하는 방법이 있다.
3) 추가될 계산노드들을 위한 커널을 다운 받은 후, 사용할 리눅스 이미지에 옮겨서 해당 커널을 설치한다.
5.1.5 계산노드 부팅
여기까지 되었다면, 이후 추가된 계산노드들을 부팅하면, 다음과 같이 정상적으로 PXE 부팅을 하는 것을 확인할 수 있을 것이다.
5.2. CMT Cluster에 사용자 계정을 추가시킨 경우
Cluster가 정상적으로 작동하기 위해선, 마스터 서버의 계정과 계산 노드들의 계정이 항상 동기화가 되어있어야 한다. 이를 위해서 규모가 큰 클러스터에서는 주로 NIS (Network Information System)을 사용하지만, 우리 연구실같이 규모가 작아 사용자의 수가 적은 경우에는 NIS를 굳이 사용할 필요가 없다. 이런 경우, 마스터 서버와 계산 노드간의 계정 동기화는 다음과 같은 방법으로 쉽게 이루어진다.
1) 마스터 노드에서 사용자 계정 추가
$sudo adduser xxxxxx
2) 마스터 노드의 /etc/passwd, /etc/group, /etc/shadow[1]를 /computation_node/nodexx/etc에 복사하자
$cp /etc/{passwd,group,shadow} /computation_node/nodexx/etc
이후 계산노드와 마스터 서버 간 사용자 계정이 동기화가 된다.
[1] /etc/passwd, /etc/shadow, /etc/group에 대한 정보는 해당 링크를 참조바람
'컴퓨터 & IT (Computer & IT) > Beowulf Cluster (Diskless Cluster)' 카테고리의 다른 글
[Diskless Cluster] expect 및 rsync를 이용한 백업 (1) | 2021.07.10 |
---|---|
[Diskless Cluster] Reference (0) | 2020.06.02 |
[Diskless Cluster] 3.2 클러스터 운영과 관련된 필수 유틸리티들 - Torque/Slurm (0) | 2020.06.02 |
[Diskless Cluster] 3.1 클러스터 운영과 관련된 필수 유틸리티들 - Ganglia (0) | 2020.06.02 |
[Diskless Cluster] 2.2 계산 서버 – 계산서버의 네트워크 문제 (0) | 2020.06.02 |
댓글