서명: 24시간 365일 서버/인프라를 지탱하는 기술
저자: 이토 나오야 등저
역자: 진명조

출판사: 제이펍
출간일: 2009. 04. 22
ISBN: 9788996241003






1장 서버/인프라 구축 입문 …… 다중화 / 부하분산의 기본

 1.1다중화의 기본
  다중화란
  다중화의 본질
  라우터 장애시의 대응
  웹 서버 장애시의 대응
  장애극복
  장애검출 …… 헬스체크
  Active/Backup 구성 만들기
  서버를 효과적으로 활용하자 …… 부하분산

 1.2웹 서버의 다중화 DNS 라운드로빈
  DNS 라운드로빈
  DNS 라운드로빈의 다중화 구성 예
  보다 편하게 시스템 확장하기 …… 로드밸런서

 1.3웹 서버의 다중화 IPVS를 이용한 로드밸런서
  DNS 라운드로빈과 로드밸런서의 차이
  IPVS …… 리눅스로 로드밸런서 구성
  스케줄링 알고리즘
  IPVS 사용하기
  로드밸런서 구축하기
  L4스위치와 L7스위치
  L4스위치의 NAT구성과 DSR구성
  동일 서브넷인 서버를 부하분산할 경우 주의사항

 1.4라우터 및 로드밸런서의 다중화
  다중화란
  다중화 프로토콜 VRRP
  VRRP의 구조
  keepalived의 구조상의 문제
  keepalived 다중화
  keepalived 응용


2장 한 단계 높은 서버/인프라 구축 …… 다중화, 부하분산, 고성능 추구

 2.1리버스 프록시 도입 아파치 모듈
  리버스 프록시 입문
  HTTP 요청 내용에 따른 시스템의 동작 제어
  시스템 전체의 메모리 사용효율 향상
  리버스 프록시의 도입
  웹 서버가 응답하는 데이터의 버퍼링의 역할
  아파치 모듈을 이용한 처리의 제어
  진보된 RewriteRule의 설정 예
  mod_proxy_balancer로 여러 호스트로 분산하기

 2.2캐시서버 도입 Squid, emcached
  캐시서버 도입
  Squid 캐시서버
  memcached에 의한 캐시

 2.3MySQL 리플리케이션 단시간에 장애복구하기
  DB서버가 멈춘다면?
  MySQL 리플리케이션 기능의 특징과 주의점
  리플리케이션의 원리
  리플리케이션 구성을 만들기까지
  리플리케이션 시작
  리플리케이션 상황 확인

 2.4MySQL 슬레이브 + 내부 로드밸런서 활용 예
  MySQL 슬레이브 활용방법
  슬레이브 참조를 로드밸런서 경유로 수행하는 방법
  내부 로드밸런서의 주의점 …… 분산방법은 DSR로 하라

 2.5고속, 경량의 스토리지 서버 선택
  스토리지 서버의 필요성
  이상적인 스토리지 서버
  HTTP를 스토리지 프로토콜로 이용하기
  남은 과제


3장 무중단 인프라를 향한 새로운 연구 …… DNS 서버, 스토리지 서버, 네트워크
 3.1DNS서버의 다중화
  DNS서버 다중화의 중요성
  주소변환 라이브러리를 이용한 다중화와 문제점
  서버팜에서의 DNS 다중화
  VRRP를 이용한 구성
  DNS서버의 부하분산
  정리

 3.2스토리지 서버의 다중화 DRBD로 미러링 구성
  스토리지 서버의 장애 대책
  스토리지 서버의 동기화 문제
  DRBD
  DRBD의 설정과 실행
  DRBD의 장애극복
  NFS서버를 장애극복할 때 주의점
  백업의 필요성

 3.3네트워크의 다중화 Bonding 드라이버, RSTP
  L1, L2 구성요소의 다중화
  장애발생 포인트
  링크의 다중화와 Bonding 드라이버
  스위치의 다중화
  스위치의 증설
  RSTP
  정리

 3.4VLAN 도입 유연한 네트워크 구성
  서버팜에서 유연성이 높은 네트워크
  VLAN 도입이 가져오는 이점
  VLAN의 기본
  VLAN의 종류
  서버팜에서 활용
  열쇠는 물리적 구성의 단순화


4장 성능향상, 튜닝 …… 리눅스 단일 호스트, 아파치, MySQL

 4.1리눅스 단일 호스트 부하의 진상규명
  단일 호스트의 성능 끌어내기
  추측하지 말라, 계측하라
  병목 규명작업의 기본적인 흐름
  부하란 무엇인가
  Load Average를 계산하는 커널 코드 확인
  CPU사용률과 IO대기율
  멀티CPU와 CPU사용률
  CPU사용률이 계산되는 원리
  프로세스 어카운팅의 커널 코드 확인
  쓰레드와 프로세스
  ps, sar, vmstat 사용법
  OS튜닝이란 부하의 원인을 알고 이를 제거하는 것

 4.2아파치 튜닝
  웹 서버 튜닝
  웹 서버가 병목현상?
  아파치의 병렬처리와 MPM
  httpd.conf 설정
  Keep-Alive
  아파치 이외의 선택방안 검토

 4.3MySQL 튜닝의 핵심
  MySQL 튜닝의 핵심
  메모리 관련 파라미터 튜닝
  메모리 관련 체크툴 …… mymemcheck


5장 효율적인 운용 …… 안정된 서비스를 향해
 5.1서비스의 가동감시 Nagios
  안정된 서비스 운영과 서비스의 가동감시
  Nagios의 개요
  Nagios의 설정
  웹 관리화면
  Nagios의 기본적인 사용법
  Nagios 응용법
  정리

 5.2서버 리소스 모니터링 Ganglia
  서버 리소스 모니터링
  모니터링 툴
  Ganglia …… 대량의 노드에 적합한 그래프화 툴
  아파치 프로세스의 상태 그래프화

 5.3서버관리의 효율화 Puppet
  효율적인 서버관리를 실현하는 툴 Puppet
  Puppet의 개요
  Puppet의 설정
  설정파일 작성방법
  로그 통지
  운용
  자동 설정관리 툴의 장단점

 5.4데몬의 가동관리 daemontools
  데몬이 비정상 종료했을 경우
  daemontools
  데몬의 관리방법
  daemontools의 팁

 5.5네트워크 부트의 활용 PXE, initramfs
  네트워크 부트
  네트워크 부트의 동작 …… PXE
  네트워크 부트의 활용 예
  네트워크 부트를 구성하기 위해

 5.6원격관리 관리회선, 시리얼 콘솔, IPMI
  원격 로그인
  네트워크 장애 대비
  시리얼 콘솔
  IPMI
  정리

 5.7웹 서버 로그관리 syslog, syslog-ng, cron, rotatelogs
  웹 서버 로그 집약, 수집
  집약과 수집
  로그 집약 …… syslog와 syslog-ng
  로그 수집
  로그서버의 역할과 구성
  정리


6장 서비스의 무대 뒤 …… 자율적인 인프라, 다이나믹한 시스템 지향

 6.1Hatena의 내부
  Hatena의 인프라
  확장성과 안정성
  운용효율 향상
  전원효율 - 리소스 이용률 향상
  자율적인 인프라 지향

 6.2DSAS의 내부
  DSAS란
  시스템 구성 상세
  DSAS의 미래






 

+ Recent posts