Prologue ... 4 About CD Contents ... 6 Preview ... 8 Contents ... 10 Part 01 클러스터에 대하여 Chaoter 01 클러스터에 대하여 01 왜 클러스터인가? ... 26 02 클러스터에서 사용하는 개념 ... 32 03 클러스터가 할 수 있는 일 ... 39 Chapter 02 클러스터를 만들기 위한 준비(1) ... 46 01 하드웨어의 구조와 조합 ... 46 02 PU ... 53 03 메인보드 ... 63 04 메모리 ... 71 Chapter 03 클러스터를 만들기 위한 준비(2) ... 75 01 디스크와 컨트롤러 ... 75 02 네트워크 카드와 스위치 ... 80 03 전원 공급 장치와 UPS ... 85 04 케이스와 랙마운트 ... 88 05 그 밖에 주변 장비 ... 90 06 장치 설치와 지원 환경 ... 93 07 운영체제와 소프트웨어 ... 95 Chapter 04 스스로 설계하는 클러스터 가상 구축 사례들 ... 104 01 슈퍼컴퓨터급으로 구축하는 리눅스 클러스터 ... 104 02 구형 PC를 재활용해 만드는 리눅스 클러스터 ... 111 03 기존 리눅스 시스템을 묶어서 구축하는 클러스터 ... 114 04 리눅스와 윈도우 클러스터로 가변적으로 바꿀 수 있는 단일 클러스터 ... 116 Chpater 05 클러스터의 미래와 참고 자료들 ... 119 01 클러스터는 어떻게 발전할 것인가? ... 119 02 도움이 되는 웹사이트 ... 130 Part 02 로컬 디스크가 있는 노드로 만드는 리눅스 클러스터 Chapter 06 구축할 클러스터 미리보기 ... 138 01 클러스터의 설정과 사용 ... 138 02 앞으로의 진행 과정 ... 140 Chapter 07 헤드 노드에 리눅스 설치 ... 142 Chapter 08 커널 컴파일 ... 161 Chapter 09 네트워크와 서비스 설정 ... 188 01 네트워크 장치 설정 ... 188 02 채널 본딩 네트워크 설정하기 ... 190 03 호스트와 DNS 설정 ... 193 04 NFS 설정 ... 195 05 rsh, rlogin 설정 ... 204 06 PAM 인증 설정 ... 207 07 서비스 설정 최적화 ... 208 Chapter 10 방화벽 설정 ... 212 01 직접 방화벽 설정을 수정 ... 213 02 보안 도구를 사용한 방화벽 설정 ... 221 03 tcp wrapper 설정 ... 224 Chapter 11 프로그램 설치 ... 226 01 MPICH 설치 ... 226 02 PBS 설치 ... 230 Chapter 12 계산 노드에 리눅스 설치 ... 237 01 원격으로 리눅스 설치 ... 237 02 계산 노드의 설정 수정 ... 243 03 리눅스 설치 자동화 ... 250 04 dd를 이용한 하드 디스크 복사 ... 258 Chapter 13 그 밖에 남은 일들 ... 259 01 시간 동기화 설정 ... 259 02 사용자 계정 추가 ... 261 03 NIS를 사용한 계정 관리 ... 266 04 다른 노드의 빈 공간을 자동 마운트로 연결 ... 276 05 사용자별 디스크 사용량 제한 ... 279 06 UPS 관리 프로그램 설치 ... 282 Chapter 14 내가 만든 클러스터 벤치마킹 ... 286 01 netpipe ... 286 02 IMB ... 291 03 NPB ... 295 04 HPL ... 301 05 scaLAPACK ... 308 Part 03 로컬 디스크가 없는 노드로 만드는 리눅스 클러스터 Chapter 15 구출할 클러스터 미리보기 ... 318 01 클러스터의 설정과 사용 ... 318 02 앞으로의 진행 과정 ... 320 Chapter 16 헤드 노드에 리눅스 설치 ... 321 Chapter 17 헤드 노드와 계산 노드의 커널 컴파일 ... 340 01 헤드 노드의 커널 컴파일 ... 340 02 계산 노드의 커널 컴파일 ... 341 Chapter 18 계산 노드의 원격 부팅을 위한 준비 ... 347 01 DHCP 서버 설정 ... 348 02 tftp 설정 ... 349 03 Pxelinux를 사용한 네트워크 카드에서 원격으로 리눅스 부팅 ... 351 04 syslinux를 사용한 플로피 디스켓에서 원격으로 리눅스 부팅 ... 356 Chapter19 디스크가 없는 노드의 리눅스 이미지 준비 ... 359 Chapter 20 그 밖에 남은 일들 ... 367 01 PBS 설치 ... 367 02 사용자 계정 추가 ... 368 03 EIDE 하드디스크의 UDMA 설정 ... 369 04 다른 노드의 빈 공간을 자동 마운트로 연결 ... 276 05 디스크가 없는 노드 형식 클러스터 벤치마킹 ... 372 Part 04 리눅스 클러스터 사용과 관리 Chapter 21 MPICH, LAM/MPl ... 378 01 MPI, MPICH란? ... 378 02 MPICH 설치와 설정 ... 379 03 ssh를 사용하는 MPICH 설치 ... 381 04 MPI 프로그램 컴파일하기 ... 392 05 MPI 프로그램 실행하기 ... 397 06 mpd 데몬을 사용하는 MPICH ... 401 07 MPICH2 ... 406 08 MPICH 문제 해결 ... 413 09 Jumpshot ... 422 10 LAM/MPI ... 425 Chapter 22 PVM ... 429 01 pvm 시작하기 ... 429 02 pvm 프로그램 실행하기 ... 432 03 pvm 문제 해결 ... 433 04 xpvm ... 435 05 Pvmpov를 사용한 클러스터에서의 3D 그래픽 렌더링 ... 440 Chapter 23 PBS ... 452 01 작업 관리자란? ... 452 02 PBS 설치와 속성 설정 ... 456 03 작업 스크립트를 작성하고 실행 ... 461 04 그 밖에의 PBS 명령들 ... 470 05 xpbs ... 471 Chapter 24 유용한 관리 도구들 ... 481 01 ptools ... 481 02 SNMP ... 484 03 MRTG ... 491 04 Ganglia ... 497 05 ether-wake ... 504 Chapter 25 리눅스 클러스터 보안 ... 505 01 시스템 침입 방지 ... 506 02 nmap을 이용한 포트 스캐닝 ... 507 03 rpm을 사용한 파일 변경 추적 침입 탐지와 시스템 변경 확인 ... 511 04 Tripwire ... 513 05 해킹당한 서버에서 나타나는 전형적인 증상 ... 526 06 Forensic과 도구들 ... 533 Part 05 병렬 프로그래밍의 기초 Chapter 26 병렬 프로그램의 기본 개념 ... 541 01 SMP병렬 프로그램과 MPP병렬 프로그램의 차이 ... 542 02 병렬 프로그램 구조 분류(Flynn의 분류) ... 543 03 프로그램 내에서 메시지 전달 모델 ... 545 Chapter 27 MPI 프로그래밍 기초 ... 548 01 MPI 프로그램의 기본구조 ... 548 02 기본 MPI 프로그래밍 ... 550 03 MPI-2 프로그래밍 ... 562 04 기본 MPI 함수 ... 588 Chapter 28 PVM 프로그래밍 기초 ... 599 01 기본 PVM 프로그래밍 ... 599 02 기초 PVM 프로그램 예제 ... 600 03 기본 PVM 함수 ... 611 Chapter 29 내가 해보는 MPI 프로그래밍-암호깨기 ... 616 01 어떤 방법으로 암호를 깰까? ... 616 02 프로그램의 기본 구조 ... 618 03 C로 작성한 프로그램 ... 619 04 MPI로 병렬화한 프로그램 ... 623 05 임의의 길이로 된 암호문을 해독하는 프로그램 ... 629 Part 06 윈도우 클러스터 만들기 Chapter 30 구축할 클러스터 미리보기 ... 638 01 클러스터의 설정과 사용 ... 638 02 앞으로의 진행 과정 ... 640 Chapter 31 헤드 노드에 윈도우 설치 ... 645 Chapter 32 헤드 노드의 기본 설정 ... 653 01 윈도우 XP 테마 설정 ... 653 02 네트워크 장치에 주소 할당 ... 655 03 정품 인증 ... 660 04 Administrator 계정의 이름 변경 ... 662 Chapter 33 액티브 디렉토리 설치와 서비스 설정 ... 664 01 액티브 디렉토리 ... 664 02 액티브 디렉토리 설치 ... 666 03 액티브 디렉토리 설정 ... 672 04 DNS서버 설정 ... 677 05 DHCP서버 설정 ... 680 05 라우팅 및 원격 액세스 서버 구성 ... 684 Chapter 34 프로그램 설치 ... 689 01 원격 터미널 서버 구성 ... 689 02 Visual C++과 Fortran 설치 ... 702 03 MPICH 설치 ... 709 04 MPICH.NT를 소스 코드로 설치 ... 713 05 NT-MPICH 설치하기 ... 722 06 PVM 설치 ... 725 Chapter 35 계산 노드에 윈도우 설치 ... 732 01 원격 설치 서비스 준비 ... 732 02 첫 번째 계산 노드에 윈도우 원격 설치 ... 741 03 첫 번째 계산 노드에 프로그램 설치 ... 743 04 나머지 계산 노드에 윈도우 설치 ... 745 Part 07 윈도우 클러스터의 사용과 관리 Chapter 36 완성된 윈도우 클러스터 사용 ... 760 01 폴더와 드라이브 공유 ... 760 02 MPICH.NT를사용한병렬프로그램실행 ... 763 03 NT-MPICH를사용한병렬프로그램실행 ... 771 04 PVM 실행 ... 775 05 그 밖의 유지 관리 ... 779 06 윈도우 클러스터 보안 ... 785 Chapter 37 윈도우 클러스터 벤치마킹 ... 791 01 MPICH.NT에 포함된 예제 실행 ... 792 02 NPB로 윈도우 클러스터를 벤치마킹하기 ... 795 03 Cygwin으로 리눅스 프로그램을 컴파일해서 사용하기 ... 811 04 SFU로 리눅스 프로그램을 컴파일해서 사용하기 ... 822 Chapter 38 Windows 2003 Compute Cluster Server ... 826 01 MPICH.NT에 포함된 예제 실행 ... 792 02 윈도우 2003 Compute Cluster Server 들여다보기 ... 827 03 윈도우 2003 Compute Cluster Server로 구축하는 윈도우 클러스터 ... 831 04 윈도우 2003 Compute Cluster Server 관리 ... 845 05 윈도우 2003 Compute Cluster Server 사용 ... 850