3.2. OS Install

여러종류의 리눅스 버전, 제품들이 있으나 여기서 설치할 제품은 Redhat Linux 7.3 (Valhalla) 를 설치 하기로 한다. 본 HowTo 에서 제공하는 클러스터 제작 기법은 대규모 클러스터 (32 Node 이상) 에서는 그대로 적용이 안될수도 있다. 이유는 기본적으로 Beowolf Family 에서 클러스터 끼리의 File 공유는NFS (Network File System) 를 사용하고 있는데, 대량의 클러스터 를 NFS 로 묶을경우 심각한 I/O 병목현상이 일어나게 된다. 파일시스템과 관련하여 현재 많은 연구가 이뤄지고 있으며 좋은 결과물 들이 많이 나오고 있다. 그러나 여기서는 파일시스템의 세부 관련내용을 다루지 않을것이다. 준비가 되었으면 각 Node 에 Redhat 리눅스를 설치한다. 관리노드가 될 컴퓨터는 설치화면 에서 NFS Server 패키지를 반드시 선택 하도록 한다. 설치에 대해 궁금한것이 있다면 관련문서를 참고하기 바란다. 잘 모르겠으면 Full Install 후 쓸모없는 패키지를 하나씩 제거 하는것을 권장한다.

3.2.1. Bug patching, Software Upgrade

불행하게도 어떤 OS 든지 취약점이나 결함이 없는 것은 없다. Redhat Linux 도 예외는 아니며, 관련 버그와 업데이트 에 대해서 http://www.redhat.com/apps/support/errata/ 에 errata 문서로 상세히 기술해 놓았다. 필자가 반드시 권장하는 것은 gcc 관련 패키지를 change 하는 것이다. Redhat 7.x 대에 들어가서 gcc 관련 버그 리포팅은 이루 헤아릴수 없이 많이 나오고 있다. Redhat 7.3 의 기본 gcc 패키지는 놔두고 anonymous 계정으로 다음의 url 에서 gcc 2.95 버전을 다운 받는다. ftp:// mirror.oops.org/pub/Linux/Redhat/RPMS/7.3/gcc/ 해당 디렉토리의 파일들을 전부 다운 받아서 설치 해야 한다. 또는 http://gcc.gnu.org 에서 gcc 2.95 버전의 RPM 파일들을 다운받아서 설치해도 좋다. 설치하려는 gcc 버전이 현재것 보다 낮기 때문에 설치시 의존성 에러나 버전 에러가 날수 있다. 무시하고 설치하도록 하자.
[root@master root]# rpm -Uvh --force --nodeps gcc-2.95.4-3.ix86.rpm
명령으로 설치한다.

3.2.2. Tuning

필자의 경험상 서버 OS 의 커널튜닝 이나 최적화 세팅은 기본세팅 되어진 서버 의 성능보다 커다란 성능향상을 가져오지 못한다. (최고의 성능차이를 보인 것이 약 15% 정도였다 그것도 특정기능 에서만..) 물론 어플리케이션의 잘못된 설계나 DB 서버의 불안정한 모델링 등은 심각한 성능장애를 초래하기도 하는데 이런것들은 어디까지나 잘못된 것을 바로잡는 것이지, 튜닝이 아니다. 그걸 바로잡는 것은 여러분 몫이다. 리눅스 커널 튜닝이나 Device 튜닝에 대해서는 내용이 너무 방대하고 또 하드웨어에 특화된 내용들이 있을 수밖에 없기 때문에 여기서는 다루지 않을것이다. 별도의 좋은 문서들이나 책들을 참고하기 바란다.