IBM®
메인 컨텐츠로 가기
    Korea [국가변경]    이용약관
 
 
   
        제품    서비스 & 솔루션    고객지원 & 다운로드    회원 서비스    
메인 컨텐츠로 가기

한국 developerWorks  >  리눅스  >

젠(Xen) 가상 서버로 고가용성 제공하기

IBM System Director의 가상 고가용성 관리자를 이용하여 젠 가상 서버의 고가용성을 구현하는 방법

developerWorks
문서 옵션

JavaScript가 필요한 문서 옵션은 디스플레이되지 않습니다.

영어원문

영어원문


제안 및 의견
피드백

난이도 : 초급

Da Shuang He, 소프트웨어 엔지니어, IBM
Zhou Ma, 소프트웨어 엔지니어, IBM

옮긴이 : 노경윤 dwkorea@kr.ibm.com

원문 게재일 : 2008 년 10 월 01 일
번역 게재일 : 2009 년 2 월 17 일

IBM® System Director의 가상 가용성 관리자(Virtual Availability Manager)를 통해 젠(Xen) 가상 서버의 고가용성을 구현하는 자세한 방법을 단계별로 알아보겠습니다. 가상 가용성 관리자는 IBM Director의 확장 패키지인 IBM System Director 가상화 관리자 패키지에 포함되었습니다. 이번 기사에서 선결 사항과 셋업에서 문제 해결 방법까지 가상 고가용성 성능을 실현하는 데 필요한 모든 단계를 알려줄 것입니다.

이 단계들은 IBM System Director의 가상 가용성 관리자를 이용하여 젠 가상 서버의 고가용성을 구현하는 데 도움이 될 것이다. 이 단계들은 IBM Blade Server HS21과 IBM Storage DS4300을 기초로 한다.

선결 사항

시작하려면 우선 수세 리눅스 10 SP1이 설치된 HS21 블레이드 서버가 세 대 있어야 한다. 공유 스토리지는 블레이드 서버 세 대 중 두 대가 blade2, blade3로 구성되어야 하고, 19GB 이상의 공유 스토리지가 있어야 한다.




위로


호스트 서버를 위한 환경 준비

호스트 서버를 위한 환경을 준비하기 위해 아래 작업을 단계별로 수행한다.

  1. 수세 10 SP1 설치 이미지 파일에서 필요한 소프트웨어 패키지를 설치한다.
    • heartbeat 버전 2.0.8 이상
    • ocfs2-tools 버전 1.2.2 이상
    • evms-ha 버전 2.5.5 이상
    • python-curses 버전 2.4.2 이상
    패키지들을 다른 소스를 통해 설치했다면, 버전이 정확히 일치하는지 확인해야 한다.
  2. ocfs2 패키지에 대한 패치가 적용된 버전 2.6.16.53 이상의 젠 커널을 설치한다.
  3. 방화벽 설정(필요한 이유와 작업할 내용은 아래와 같다)
    • 가상 가용성 관리자를 위해
    • NFS 서버와 SLP 데몬 서비스를 허용하기 위해
    • TCP 포트 3268, 3269, 15988, 15989, 6988과 UDP 포트 2407을 허용하기 위해
  4. 시스템 서비스에서 SLP(Service Location Protocol)를 비활성화한다.
  5. ls /dev/mapper 명령으로 공유 스토리지를 확인하라. 결과는 아래와 비슷할 것이다.
    3600a0b800017939900003573484f4be0
    3600a0b800017939900003573484f4be0-part1 
    3600a0b800017939900003573484f4be0-part4
    3600a0b800017939900003573484f4be0-part5
    control
    

    출력 결과가 다르게 보인다면, 다중 경로(multiple path)가 열리지 않은 것이다. chkconfig boot.multipath 명령을 실행해보고, chkconfig multipathd 명령으로 다중 경로를 열어야 한다.
  6. 두 호스트가 서로를 인식할 수 있는지 확인하라. 두 호스트 이름이 DNS에 설정되어 있다면, 두 호스트를 위한 DNS 서버를 제대로 설정하라. (DNS 서버에 등록하지 않고) 호스트 이름을 직접 설정하려면, 두 호스트가 호스트 이름으로 서로를 찾을 수 있도록 /etc/hosts 파일에 서로의 호스트 이름이 포함되도록 편집해야 한다.
  7. 두 호스트 blade2blade3의 날짜/시간 설정이 blade1 서버와 일치해야 한다. 그렇지 않으면, IBM Director 서버는 그것들이 오프라인이라고 가정한다.

호스트 환경을 위한 준비를 성공적으로 마쳤다. 이제 가상 가용성 관리자와 관련된 소프트웨어를 설치하자.




위로


가상 가용성 관리자 소프트웨어 설치

IBM Director 가상 가용성 관리자와 관련된 소프트웨어를 설치하려면 다음과 같다.

  1. blade1서버의 고가용성을 위한 서버(IBM Director 서버 5.20.2와 IBM Director 가상화 관리자 1.2 서버)에서 소프트웨어를 설치한다. Director 가상화 관리자는 가상 가용성 관리자 서버를 포함한다.
  2. 호스트 서버인 blade2blade3 서버(가상 가용성 관리자 에이전트를 포함하는 Director 에이전트 코어 서버 5.20.2 버전과 IBM Director 가상화 관리자 1.2 에이전트)에서 소프트웨어를 설치한다. 호스트 서버들에서 가상화 관리자 에이전트를 설치할 때, 마스터 이미지를 나중에 생성(create the master image later)하는 옵션과 물리적 서버를 가상 서버로 복제하지 않음(don't clone the physical server to a virtual server) 옵션을 선택한다.



위로


고가용성 팜 생성

고가용성 팜(farm)을 생성하기 위해 다음과 같이 한다.

  1. IBM Director 서버에 호스트들을 추가하고 그에 대한 접근을 요청한다. 그런 다음 호스트 속성을 점검한다. 목표(object)는 온라인이어야 하고, 에이전트 레벨은 레벨 1이어야 하며, 지원 프로토콜은 SSH와 CIM이다.

    호스트가 오프라인이거나 CIM 프로토콜을 지원하지 않는다면, service cimserverd status 명령을 내려 cimserverd 서비스가 호스트에서 실행 중인지 확인해 봐야 한다. cimserverd가 정지 상태라면 시작하라.

    호스트 에이전트 레벨이 레벨 0이라면, 임시로 방화벽을 닫고 IBM Director 서버에 호스트를 다시 추가한다.

  2. IBM System Director의 가상화 관리자 웹 인터페이스를 열고, Director 콘솔에서 가상 서버와 호스트(Virtual Servers and Hosts) 작업을 선택한다. IBM System Director의 가상화 관리자 웹 인터페이스가 열릴 것이다.
  3. 하드웨어와 소프트웨어(Hardware and Software) 노드 아래 있는 가상 팜 생성(Create Virtual Farm) 작업을 선택한다. 그러고 나서 다음과 같이 한다.
    1. HAFarm처럼 가상 팜의 이름을 입력한다.
    2. 팜의 성능으로 작업량 관리를 통한 고가용성(High Availability with workload management)을 선택한다.
    3. 이니셜 호스트로 blade2 호스트를 선택한다.
    4. 공유 스토리지로 WWN 스토리지를 입력한다.
    5. 팜 정책으로 재시작(Restart)을 선택한다.
    6. 타임아웃 에러가 생길 것이다. 지금 시점에서 가상 고가용성 관리자는 생성 작업을 완료할 수 없다.
    7. 생성 과정이 무사히 마쳐졌는지를 보려면 blade2 호스트에서 로그 파일(/opt/ibm/director/am/logs/aminfr.log)을 확인해보자.

      [07/08/08 13:49:23] startam [INFO]: Exiting startam().
      [07/08/08 13:49:24] amm [INFO]: amm_add_node Exit"

      이와 같은 로그가 있다면, 고가용성 팜 생성 작업은 이미 완료된 것이다.
    8. 고가용성 팜의 호스트 추가 작업을 선택하고, 팜이 생성된 후에 팜에 blade3 호스트를 추가한다. 성공적으로 생성되었을 것이다. 전 단계에서 보았던 것과 비슷한 로그를 볼 수 있을 것이다.
  4. 고가용성 팜이 성공적으로 생성되었는지 확실히 하려면 다음과 같이 한다.
    • 두 호스트의 /opt/ibm/director/am/mnt/keystore 폴더를 확인해 보자. 이 폴더는 동일해야 하고 파일이 네 개 있을 것이다.
    • 두 호스트의 /opt/ibm/director/am/mnt/clusterdata 폴더를 확인해 보자. 이 폴더는 동일해야 하고 파일이 세 개 있을 것이다.
    • 공유 스토리지의 파일 시스템 설정 파일인 /etc/ocfs2/cluster.conf를 확인해 보자. 두 호스트에서 이 파일의 내용은 같아야 한다.



위로


가상 서버 생성

가상 서버를 생성하기 위해서는 다음과 같이 한다.

  1. 수세 10 SP1 설치 이미지 파일의 내용을 /shared/tmp 같은 특정 폴더에 복사한다. 이 폴더는 쓰기 가능해야 한다.
  2. 마스터 이미지를 생성하기 위해 blade2 호스트에서 /opt/ibm/director/vm/im/suse_inst.py --dest=/shared/vm_master.img --src=/shared/tmp --net=local 명령을 실행한다.
  3. 마스터 이미지 파일을 /opt/ibm/director/am/mnt/images/masters/ 폴더에 복사한다.
  4. IBM 가상화 관리자의 웹 인터페이스로 가서, 템플릿과 배치(Templates and Deployment) 노드 아래 있는 시스템 템플릿 생성(Create System template) 작업을 열고, 마스터 이미지로 생성한 이미지를 선택한다.
  5. 하드웨어와 소프트웨어(Hardware and Software) 노드 아래 있는 가상 서버 생성(Create Virtual Server) 작업을 선택하고, blade2 호스트에서 가상 서버를 생성한다. 방금 만든 마스터 이미지 템플릿을 선택한다.
  6. 전 단계에서 만든 것보다 더 많은 가상 서버를 생성할 수도 있다.

고가용성 팜과 가상 서버 생성은 이것으로 끝났다. 이제 테스트를 하자.




위로


고가용성 활성화와 테스트

고가용성을 활성화하고 테스트하려면 다음과 같이 한다.

  1. 고가용성 능력을 활성화하기 위해 고가용성 기능 활성화(Activate HA Capabilitie) 작업을 선택한다. 모니터링 상태를 확인하기 위해 두 호스트에서 crm_mon 명령을 실행한다.
  2. blade2 서버의 전원을 끈다. 우리가 생성한 가상 서버가 blade3 호스트로 이동함을 볼 수 있을 것이다. 이는 가상 서버의 고가용성을 성공적으로 구현했음을 의미한다.



위로


환경 리셋

환경을 리셋하기 위해서는 다음과 같이 한다.

  1. 고가용성 기능(High Availability Capabilities)에서 고가용성 팜을 비활성화한다.
  2. 고가용성 팜에서 두 호스트를 제거한다.
  3. IBM System Director의 가상화 관리자에서 두 호스트와 고가용성 팜을 지운다.
  4. 두 호스트에서 /opt/ibm/director/am/bin/amDoctor purify 명령을 실행한다. 명령이 실패하면, 호스트를 리부팅하고 명령을 다시 실행한다.
  5. 각 호스트에서 마운트된 스토리지를 지운다. 현재 마운트된 스토리지를 알아보기 위해 evms_query volumes 명령을 실행한다. 아래와 비슷한 결과를 볼 수 있을 것이다.
    /dev/evms/600a0b8000179399000035794872607e_FS_Volume
    /dev/evms/sda1
    /dev/evms/sda2
    

  6. evms 명령을 실행한다. 그런 다음 dr:/dev/evms/600a0b8000179399000035794872607e_FS_Volume 명령으로 볼륨들을 지운다. 전부 기본 선택 사항대로 한다.
  7. 두 호스트를 다시 한 번 리부팅한다.

이제 모든 것을 다시 시작할 준비가 되었다.




위로


문제검사

두 호스트의 /opt/ibm/director/am/mnt/keystore와 /opt/ibm/director/am/mnt/clusterdata 폴더에 있는 파일이 서로 다르거나 스토리지 설정 파일인 /etc/ocfs2/cluster.conf의 내용이 서로 다르다면, 두 호스트가 서로의 호스트 이름을 알고 있는지 확인한다. 호스트 이름을 모른다면, 호스트 이름과 IP 주소를 /etc/hosts 파일에 추가한다.

고가용성 팜을 생성할 때나 팜에 호스트를 추가할 때, 또는 고가용성 팜 기동 시에 에러가 생겼다면 두 호스트에서 service cimserverd status 명령을 통해 cimserverd 서비스의 상태를 확인한다. 현재의 Director 에이전트에서 cimserverd가 갑자기 멈추었을 때도 같은 명령을 사용한다.



참고자료

교육

제품 및 기술 얻기
  • DB2®, Lotus®, Rational®, Tivoli®, WebSphere® 등 리눅스를 위한 IBM의 최신 체험판 소프트웨어들이 두 장의 DVD에 들어 있는 SEK for Linux를 주문해 보라.

  • developerWorks에서 바로 받을 수 있는 IBM 체험판 소프트웨어와 함께 리눅스에서 다음 개발 프로젝트를 진행해 보라.


토론


필자소개

Da Shuang He는 중국 상해에 있는 IBM 중국 개발 연구소의 소프트웨어 엔지니어다. 현재 시스템 관리 소프트웨어를 개발하며 스스로 부팅할 수 있는 서버와 원격 시스템 설치, 그리고 전원 관리와 관련된 일을 한다.


Ma Zhuo는 중국 상해에 있는 IBM 중국 개발 연구소의 소프트웨어 엔지니어다. 현재 가상화 솔루션 소프트웨어 작업을 하고 있다. 관심은 주로 가상화 솔루션과 시스템 관리 도구, 그리고 CIM과 WS 관리에 있다.




기사에 대한 평가


보다 나은 서비스를 제공하기 위함이오니 잠시 짬을 내어 이 양식을 제출하여 주십시오.



 


 


 


이 문서 북마킹 하기

mar.gar.in mar.gar.in naver naver eolin eolin del.icio.us del.icio.us





위로


IBM, the IBM logo, ibm.com, DB2, developerWorks, Lotus, Rational, Tivoli, and WebSphere are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. These and other IBM trademarked terms are marked on their first occurrence in this information with the appropriate symbol (® or ™), indicating US registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. See the current list of IBM trademarks. Linux is a trademark of Linus Torvalds in the United States, other countries, or both. Windows is a trademark of Microsoft Corporation in the United States, other countries, or both. 기타 회사, 제품, 및 서비스명은 다른 상표나 서비스 마크일 수 있습니다.

developerWorks 콘텐트를 다른 사이트에 전재하기:
developerWorks 콘텐트에 대한 저작권은 IBM에 있습니다. IBM의 서면 허가나 원본 저자의 허락이 없이는 전재를 금합니다. 저희 콘텐트를 전재하시려면 IBM developerWorks 담당자 에게 문의하십시오.
    IBM 소개 개인정보 보호정책 문의