다음 이전 차례

2. 개요:

2.1 클러스터와 워크스테이션의 네트웍과는 무엇이 다른가?

학문적인 관점을 떠나서, 주된 차이점은 보안, 응용소프트웨어, 관리, 부팅과정, 파일 시스템이다. 최근의 리눅스 배포본들은 높은 보안성을 유지하고 있다. 하지만 이러한 보안문제는 클러스터 컴퓨팅에 종종 장애가 되고 있다.

응용소프트웨어는 MPI(역자주: Message Passing Interface의 약자 로 클러스터 컴퓨팅에서 필요한 정보를 전달하고 받는데 사용되는 소프트웨어로 표준화 되어있음.)와 PVM(역자주: Parallel Virtual Machine의 약자로 MPI와 비슷한 일을 하나 아직 표준화가 되지 않음.)과 같은 Message Passing 시스템을 사용하고 있다.

만일 클러스터 환경에서 이러한 것이 수행되지 않으면 오직 하나의 CPU에서 작동할 것이며 특정 병렬 코드 변환이 없었다면 APACHE나 MySQL과 같은 것을 다중 CPU에서 구동시킬 수 없을 것이다.

다행히 클러스터를 관리하는 도구가 있어서 예를 들어, 손으로 32 노드를 구동시키는 시간낭비를 막을 수 있다. 관리의 일부분중의 하나가 클러스터간의 보안을 완화시키는 것이다. root게정을 이용 다른 머신에 rlogin을 한다는 것은 클러스터상태에서는 아주 중요한 일이지만, 외부로 열려있는 네트웍의 경우는 아주 위험한 일이 된다.

diskless booting이 아주 매력적으로 보일지 모르지만, 각 호스트가 자신의 하드 드라이브를 부팅시키는 것 이외로 해야할 일이 많다. 여기서는 이러한 diskless booting은 생략하기로 한다.

마지막으로, 파일시스템이 정상작동을 해야하며 최소한 모든 노드간 /home 디렉토리는 공유해야한다. 다른 파일 시스템은 사용하는 유저의 요구에 따라서 공유될 수 있다.

2.2 일반적인 셋업

앞에서 언급했던 것과 같이, 이 문서는 매우 단순한 모형을 가정한다. 클러스터는 두개 혹은 그 이상의 리눅스 박스들로 구성되어 있고 이러한 박스들은 빠른 이더넷 스위치로 연결되어 있다.(허브를 이용할 수도 있지만 좀더 느리다.) 그중 하나의 노드는 LAN에 연결 되어있는 게이트웨이로 사용된다. 그러한 게이트웨이 노드는 종종 "로그인 노드"라고 불리우며 키보드와 모니터, 마우스를 갖고있다. 다른 노드들은 "머리없는(headless)" 즉, 키보드와 모니터, 마우스를 갖고 있지 않고 단지 "컴퓨터 노드"라고 불리운다. 다음의 다이어 그램은 일반적인 셋업형태를 볼 수 있다.

            ---------------------
            |      SWITCH       |
            --------------------
             |  |   |   |
  -----------|  |   |   |     (gateway)
  |    ---------||--|   |------| |-----------LAN----->
  |    |         |             | |
node4 node3   node2          node1-----------|----------|
                     (HOST NODE;login node)  |          | 
                                             |          |
                                        -----------   |---|
                                        |ooooooooo|   |   |
                                        |ooooooooo|   -----
                                        -----------
                                     Keyboard/Mouse/Monitor

2.3 요구사항

클러스터를 만들고 모니터링하는데는 리눅스 관리 기술이 요구된다. 이러한 기술은 이 문서의 범위를 넘어서기때문데 다루지 않는다. 기본적으로 네트워킹에 관한 지식, 주소부여, 부팅, 커널형성, 이더넷 드라이버, NSF, 패키지 설치, 컴파일과 같은 것들이 성공적인 관리에 필요한 요소이다. 이러한 내용들에 관해서는 LDP (Linux Docu mentation Project http://metalab.unc.edu/LDP)에서 필요한 자료를 얻을 수 있을 것이다.(역자주: 물론 http://kldp.org에도 수많은 자료들을 얻을 수 있다.) 또한 Beowulf HOWTO에 관한 문서도 http://metalab.unc.edu/LDP/HOWTO/Beowulf-HOWTO에서 얻을 수 있다.


다음 이전 차례