글 싣는 순서
                                                                                        상. CUCM 업그레이드
                                                                                        하. CUELM으로 라이센스 마이그레이션
        

2012년 12월 20일경에 발표된 CUCM 9.1.1은 최신 버전으로 가장 많은 기능과 시스템 안정성을 제공합니다. 현재 CUCM을 사용중인 기업에서 CUCM 9.1.1로 업그레이드를 하기 위한 방법에 대해 살펴보겠습니다. 처음에는 단편으로 기획하였지만, 내용이 많아져서 2편으로 나누었습니다. 라이센스 부분도 만만치 않아서 다음장으로 넘깁니다. 


CUCM 업그레이드 방식
CUCM은 3.x 부터 9.1 버전까지 약 13년에 걸쳐 개발되었습니다. CUCM은  처음 윈도우즈 OS를 사용하지만, CUCM 5.x 버전부터는 리눅스기반으로 전환하였으며,  Red Hat Linux OS의 버전 업그레이드에 맞추어 아래그림과 같이 CUCM의 OS에 적용하였습니다.  

CUCM의 버전에 에 따라 다양한 업그레이드 방식이 필요해졌습니다. 크게 아래와 같이 세가지로 구분합니다. 

  • W1 Upgrade (Windows OS에서 Linux OS로 변경하는 업그레이드)
    가장 복잡하며, 설치 시간이 오래 걸리는 방식으로 CUCM 4.x 이하 버전에서 CUCM 5.x 이상 버전으로 업그레이드 시에 발생합니다. 요즘은 대부분의 CUCM은 5.x 이상 버전이므로 거의 발생하지 않는 업그레이드 방식입니다.  

  • L2 Upgrade (Linux OS는 같으며, CUCM만을 업그레이드 하는 방식)
    CUCM 5.x , 6.x 버전은 RHEL 3 (Red Hat Enterprise Linux)를, CUCM 7.x와 8.0, 8.5는 RHEL 4를, CUCM 8.6과 9.x 버전은 RHEL 5를 사용합니다. 따라서, CUCM 7.x 버전에서 8.5로 업그레이드할 경우에는 OS는 바뀌지 않고, CUCM 어플리케이션만 업그레이드를 합니다. 소요 시간은 약 20-30분 정도입니다.


    CUCM 5.x는 크게 Active Partition과 Inactive Partition으로 구분합니다. 평상 시에는 Active Partition을 이용하여 시스템을 구동하지만, 업그레이드와 같은 작업은 Inactive Partiton에 설치한 후에 Inactive Partition을 Active Partition으로 변경합니다. 만일 업그레이드에 문제가 발생하게 되면, 다시 Active Partition을 변경하여 원복을 하는 것이 특징입니다.

    L2 Upgrade는 OS를 변경하지 않고, Inactive Partition에 CUCM 업그레이드 버전과 데이타베이스를 설치하며, 기존 CUCM 구성정보를 마이그레이션하는 작업을 수행한 후 "Switch Version"을 합니다.


  • Refresh Upgrade (Linux OS와 CUCM을 모두 업그레이드 하는 방식)
    Refresh Upgrade는 리눅스 OS와 CUCM 어플리케이션을 모두 업그레이드하는 방식으로, CUCM 8.5 이하버전에서 CUCM 9.1로 업그레이드 하는 경우입니다.  


    Refresh Upgrade 는 OS를 업그레이드 하는 것이므로 기존의 CUCM의 정보와 CDR 값을 추출하여 Common Partiton으로 옮긴 후에 OS를 업그레이드 하는 과정을 거칩니다.  이 때에는 몇 번의 재부팅이 발생하며, 재설치하는 것과 거의 동일한 시간이 소요됩니다.


정리하면, 리눅스기반의 CUCM 5,x 이상 버전의 업그레이드 L2 Upgrade와 Refresh Upgrade 두 가지 방식이 있으며, 리눅스 기반의 CUCM은 파티션 구조로 되어 있어 Appliance to Appliance Model 업그레이드 방식을 채택하였습니다. 


CUCM 9.x 업그레이드 하기전 고려사항
CUCM 9.x로 업그레이드하기 위해서는 대부분 Refresh Upgrade를 해야합니다. 업그레이드 시에 발생하는 다양한 환경에 대해 고민해 보겠습니다. 

  • 업그레이드 전에 DRS 백업은 필수
    L2 업그레이드는 옵션이지만, Refresh Upgrade는 필수입니다. 

  • CUCM 8.5이하 버전에서 업그레이드 시 가장 최근의 COP 파일 설치 (ciscocm.refresh_upgrade_v1.1cop.sgn)

  • CUCM의 다운타임을 최소화 하기 위해 Publisher를 완벽하게 업그레이드 한 후에 Subscriber를 업그레이드 
    Publihser를 "Switch Version"하여 정상동작 여부를 확인한 후여 Subscriber 를 순차적으로 실행하빈다. 

  • CUCM 9.x는 별도의 라이센스 관리서버인 ELM을 사용하므로 ELM을 Publisher와 함께 사용할 지 별도의 ELM서버를 구축할 지를 고려
    ELM을 이용한 라이센스 마이그레이션은 나중에 살펴보겠습니다.

  • 서버가 교체되는 지 기존 서버를 활용하는 지를 고려
    MCS 서버의 경우가 해당하며, 아래 사이트에서 확인합니다. 
    http://www.cisco.com/en/US/partner/prod/collateral/voicesw/ps6790/ps5748/ps378/
    prod_brochure0900aecd8062a4f9.html 


  • 기존 CUCM Version별로 업그레이드 방식에 차이가 있음을 고려

  • UCSS가 있을 경우 PUT(Product Update Tool)을 이용하여 소프트웨어와 라이센스를 수령
    PUT 사이트는 다음과 같습니다. 
    http://tools.cisco.com/gct/Upgrade/jsp/index.jsp


CUCM 버전에 따른 업그레이드 고려 사항
시스코의 CUCM Software Compatibility Matrix를 아래 주소에서 확인하시고, 자료에서는 Direct Upgrade가 가능한 버전에 대한 정보를 제공합니다. 만일, 현재의 버전이 Direct Upgrade가 지원되지 않으면, Direct Upgrade가 지원되는 마이너 릴리즈로 업그레이드를 해야 합니다. 
http://www.cisco.com/en/US/docs/voice_ip_comm/cucm/compat/ccmcompmatr.html#wp278167


CUCM 8.6으로 부터의 업그레이드
CUCM 8.6은 CUCM 9.x와 동일한 RHEL 5 OS를 사용하므로 L2 업그레이드가 수행됩니다. 또한, 서버를 교체하지 않고 기존 MCS 또는 UCS 서버를 그대로 활용할 수 있으므로 9.x 라이센스만 수령하면 업그레이드에는 별 어려움없이 진행될 것입니다. 

CUCM 8.5 이하 버전으로 부터의 업그레이드  
CUCM 8.5 이하 버전은 RHEL 5 OS를 사용하지 않으므로 RU(Refresh Upgrade)가 진행됩니다. 우선 현재 사용중인 CUCM의 버전이 Direct Upgrade가 지원되는 지 않되는 지 확인해야 합니다.  아래 그림에서 보이는 버전은 Direct Upgrade가 가능한 버전입니다. 



현재 CUCM 7.1.2 버전을 사용중이라면, Direct Upgrade를 위해 7.1(3) 또는 CUCM 7.1(5) 버전으로 업그레이드하는 Two-Step 업그레이드를 해야 합니다. 만일, CUCM 5.x를 사용중이라면 7.1.3으로 Major 업그레이드를 거쳐야합니다. 


CUCM 9.x로 마이그레이션하기 - Basic
서버를 기준으로 CUCM 업그레이드 고려하면 아래그림과 같이 두 가지로 고려할 수 있습니다. 같은 서버에서 소프트웨어만 업그레이드하는  "In-Place Server Flash Cut" 와 소프트웨어 뿐만아니라 서버까지 교체하는 "New Server Migration"입니다.

같은 서버에서 9.x로 업그레이드 (In-Place Server Flash Cut)
대부분 CUCM 8.5나 8.6 에서 구매한 MCS나 UCS 서버를 이용하여 업그레이드할 경우에 해당합니다. 방식은 Publisher를 업그레이드한 후에 Subscriber를 업그레이드합니다. 그리고 Publisher 부터 "Switch version"하여 완료합니다. 


가장 손쉽게 업그레이드를 하는 방법이며, 위의 순서를 다시금 살펴 보겠습니다.

    1. 백업
      DRS를 이용하여 sFTP로 CUCM 구성정보와 CDR 등을 백업합니다. 

    2. CUCM Publisher를 업그레이드
      CUCM 업그레이드는 자동으로 Inactive 파티션으로 업그레이드 파일을 전송합니다.

    3. CUCM Subscriber를 업그레이드
      CUCM 클러스터 내의 모든 서버를 순차적으로 업그레이드 합니다.

    4. CUCM Publisher에서 "Switch Version"
      정해진 작업 시간 (주로 야간)에 CUCM Publisher를 Switch Version하여 모든 서비스가 정상 동작하는 것을 확인합니다. 

    5. CUCM Subscriber에서 "Switch Version"
      CUCM 클러스터 내의 모든 서버를 순차적으로 "Switch Version"햐여 서비스가 정상 동작하는 것을 확인합니다.

    6. ELM에 라이센스 업데이트
      새롭게 설치된 ELM서버나 CUCM Publisher의 ELM 서버에 라이센스를 업그레이드합니다. 


새로운 서버로 CUCM 9.x 업그레이드하기(New Server Migration)
주로 CUCM 7.x 이하버전과 CUCM 8.0 버전에 도입된 제품들이 해당합니다. 새로운 서버로 마이그레이션을 하기 위해서 경우에 따라 다소 복잡합니다. CUCM 8.0이나 CUCM 7.1(3) 정도의 제품에서는 UCS 서버로의 마이그레이션으로 직접 업그레이드가 가능하지만, CUCM 5.x나 6.x 버전은 중간 서버를 이용한 Bridge Upgrade를 해야 합니다. 




우선은 직접 업그레이드를 하는 것을  살펴보겠습니다. 마이그레이션의 가장 중요한 이슈는 기존의 CUCM 구성 정보를 신규 서버에 그대로 옮기는 것입니다. 따라서, 기존 서버에서 실행한 DRS 백업을 새로운 서버에서 복구하는 것이 핵심입니다. 

    1. 백업
      향상 업그레이드 작업 전에는 CUCM 구성정보와 CDR을 백업합니다.

    2. 신규 서버에 기존 CUCM 버전으로 클러스터 구성
      신규 서버에 현재 운영중인 CUCM과 동일버전으로 클러스터를 구성합니다. 기존 서버에서 백업 받은 CUCM 구성정보를 그대로 복원하기 위해서 입니다. 

    3. 신규 서버에 DRS 백업 정보를 복원
      기존에 백업받은 정보를 신규 서버에 복원합니다. CUCM 9.x의 라이센스는 ELM에서 관리하므로 라이센스는 나중에 ELM으로 업데이트합니다. 

    4. 신규 클러스터를 CUCM 9.x로 업그레이드
      이제 기존 서버의 데이타를 정확하게 복원되었음을 확인한 후에 CUCM 9.x로 Direct Upgrade를 합니다. 만일 기존의 CUCM버전이 CUCM 9.X로 Direct Upgrade할 수 없다면, CUCM 9.x로 Direct Upgrade할 수있는 CUCM 7.1(3)또는 CUCM 6.1(5)로 먼저 업그레이드 한 후에 진행합니다.  

    5. 신규 클러스터 "Switch Version"
      정해진 작업시간에 CUCM Publisher 부터 순차적으로 "Switch Version"하여 서비스가 정상동작하는 지를 확인합니다. 

    6. ELM에 라이센스 업데이트
      ELM에 라이센스를 업데이트합니다.


CUCM 9.x로 마이그레이션 - Advanced (Bridge Upgrade)
지금까지 CUCM 9.x로 업그레이드를 하기 위한 기본적인 내용을 다루었다면, 지금부터는 가장 복잡한 Bridge Upgrade를 살펴보겠습니다. 

Bridge Upgrade가 필요한 이유는 신규 서버가 기존의 CUCM 버전을 지원하지 않을 때 필요합니다. 기존에 MCS7845-H2 서버와 CUCM 6.1 버전을 사용하고, 신규 UCS 서버에 CUCM 9.x로 업그레이드를 한다고 가정해 보겠습니다. 신규 UCS서버는 CUCM 8.0(2)이상 버전을 지원하므로 신규 UCS 서버에 CUCM 6.1을 설치할 수 없습니다. 이는 기존의 CUCM구성정보를 DRS백업으로 신규 서버에 넘길 수 없다는 것을 의미합니다. 



위의 그림은 Bridge Upgrade에 대한 설명입니다. 다시 설명하면, 기존의 CUCM 버전과 새로운 CUCM 버전을 모두 지원하는 서버를 중간에 두어 기존의 CUCM 구성정보를 자연스럽게 마이그레이션 하는 것입니다. 

MCS 서버별로 지원하는 CUCM 버전에 대한 사항은 아래 URL에서 확인할 수 있습니다.

http://www.cisco.com/en/US/partner/prod/collateral/voicesw/ps6790/ps5748/ps378/prod_brochure0900aecd8062a4f9.html 

Bridge Upgrade에 가장 효과적인 서버는 MCS7845I3로 CUCM 7.1(3) 이상 버전을 모두 지원할 뿐만 아니라 CUCM 6.1(5)과 CUCM 4.3(2) 버전을 지원하므로 가장 효율적으로 업그레이드를 수행할 수 있습니다. 

또한, Bridge Upgrade중에도 기존 CUCM에서 사용하던 만큼의 라이센스가 추가로 필요합니다. 이는 따로 구매할 필요없이 시스코 라이센싱팀에 문의하시거나 TAC 케이스로 진행하시면, 임시 라이센스를 발급받을 수 있습니다. 

Bridge Upgrade는 기존 CUCM을 "New Server Migration"을 통해 Bride Server로 CUCM 구성 정보를 옮긴 후에 "In-Place Server Flash Cut"을 통해 CUCM 9.x로 업그레이를 한 후에 CUCM 구성 정보를 신규 UCS 서버로 옮기는 것입니다. 이는 매우 복잡한 과정을 거치므로 Bridge Upgrade를 피하는 것이 가장 좋은 방법입니다. 



BAT 파일을 이용한 CUCM 9.x 마이그레이션
실제 Bridge Upgrade는 매우 복잡한 과정을 거치므로 BAT를 이용한 방법을 고려해 보겠습니다. BAT는 Bulk Administration Tool의 약자이며, CUCM의 구성 정보에 대한 정보를 액셀 파일로 다운로드 받을 수 있을 뿐만 아니라 대상 전화기에 대한 일괄적인 설정 변경 등을 수행할 수 있습니다. 

BAT 파일을 이용한 CUCM 9.x로 마이그레이션을 위해서는 기존 CUCM 버전을 7.1 이상 버전으로 업그레이드를 해야 합니다. MCS 서버가 지원하는 최신 CUCM 버전으로 업그레이드를 할수록 더 많은 정보를 추출할 수 있습니다.  CUCM 7.1이상 버전에서 BAT로 추출한 정보는 데이타베이스의 정보이며, CUCM 9.x에 그대로 주입할 수 있습니다. 

아래 그림은 BAT를 이용한 방법을 간략히 설명한 것입니다. 

BAT를 이용하기 위해서는 아래 그림처럼 메뉴바에서 Bulk Administration >> "Import / Export" >> Export를 선택합니다. 



BAT로 정보를 추출하기 위한 임의의 TAR 파일명을 적어주시고, 모든 세부항목을 선택합니다.  CUCM 9.1의 경우에 세부 항목은 다음과 같습니다. 거의 모든 정보를 BAT로 추출하고, 다시 구성할 수 있습니다. 


BAT를 이용할 경우에는 기존 CUCM과 신규 CUCM을 구성하여 ICT (Inter-Cluster Trunk)로 연결한 후에 전화기들을 넘기는 것을 추천합니다. 


시스템 다운타임을 최소화하기 위한 방안
지금까지 CUCM 9.x로 업그레이드하는 다양한 방법을 살펴보았습니다. 업그레이드가 복잡한 과정을 거치더라도 서비스 다운타임을 최소하기 위해서는 다음을 고려하는 것이 좋습니다.


위의 과정에서 전화기 펌웨어 사전 업그레이드를 CUCM 9.x에서 사용할 전화기 펌웨어로 사전에 업그레이드하는 것이 효과적입니다. CUCM이 업그레이드 된 후에 전화기들은 TFTP를 통해 새로운 전화기 펌웨어를 다운로드 받으므로 많은 전화기들이 동시에 TFTP서버로 트래픽을 송수신합니다. 생각보다 많은 시간이 소요될 수 있습니다.

전화기 업그레이드시에 조심해야 할 사항을 간단히 정리합니다.

  • Peer-to-Peer Image Distribution 활용
    전화기가 최초에 TFTP 서버로 부터 이미지를 다운로드 받으면 자신이 TFTP 서버가 되어 다른 전화기에 직접 이미지를 내려줍니다. 이에 대한 자세한 사항은 "
    2009/11/09 - [Cisco UC Manager] - CUCM에서 전화기 펌웨어 분배하기"를 참조하시기 바랍니다. 

  • TFTP 서비스의 파라미터 변경
    TFTP 서비스에서 동시에 전화기에게 다운로드할 수 있는 수는 기본적으로 500대입니다. 이를 최대 3,000 대까지 확장할 수 있습니다. 파라미터는 "Maximum Serving Count"이며, Cisco TFTP (Active) 파라미터에서 "Advanced" 를 선택해야 보입니다.

  • 펌웨어 버전에 따른 업그레이드 순서 고려
    모든 SIP기반의 7900 Series 전화기들은 8.5(2)SR1 이상 버전으로 업그레이드를 하기 위해서는 반드시 8.5(2) 버전으로  업그레이드 한 후에 다시 상위 버전으로 업그레이드를 해야합니다. 관련된 사항은 아래 URL을 참조하시기 바랍니다.

    http://www.cisco.com/en/US/docs/voice_ip_comm/cuipph/firmware/8_5_2/english/release/notes/7900_852SR1.html


    또한, 8941 및 8945 전화기들은 최신 버전은 9.3(2)이상 버전으로 업그레이드를 하기 위해서는 반드시 9.3(1)버전을 거쳐야합니다.  9.3(2) 이상 버전의 펌웨어가 사이즈가 커서 이런 과정이 필요합니다. 자세한 사항은 아래 URL을 참조하시기 바랍니다. 

    http://www.cisco.com/en/US/docs/voice_ip_comm/cuipph/8941_8945/firmware/9_3_2/english/release_notes/P415_BK_RF066255_00_rn-9_3_2-8941-8945.html

    그리고,  8941 및 8945전화기는 9.3(1)에서는 "Secure by Default"가 적용되어서 Device Pack을 8.0(3)이상으로 반드시 업그레이드 해야 합니다. 이 내용도 위의 URL에 있으니 참조하시기 바랍니다. 

    현재까지 알려진 이슈는 위와 두 가지이지만, 전화기 펌웨어 업그레이드 전에 Release Notes를 먼저 참조하는 것이 실수를 줄이는 길입니다.


Windows 기반의 CUCM 4.x에서 업그레이드 하기
W1 Upgrade 에 대한 이야기는 "[연재] CUCM 7.x로 업그레이드 하기"에 자세히 기술되어 있으므로 아래의 링크를 참조하시기 바랍니다. 여기에서는 L2 Upgrade와 RU Upgrade에 대한 내용을 주로 다룹니다. 


마치며
CUCM 9.x 업그레이드를 위한 다양한 방법을 살펴보았습니다. "[연재] CUCM 7.x로 업그레이드하기"에서는 CUCM 4.x에서 업그레이드를 다루었다면, 이번글은 CUCM 5.x와 6.x 사용자들이 신규 서버를 이용하여 마이그레이션하는 부분에 초점을 맞추었습니다. CUCM 업그레이드는 매우 쉽고 편리하게 업그레이드를 할 수 있는 것이 장점이긴 하지만, 몇 단계 메이저 업그레이드를 건너 뛰거나 서버가 교체될 경우에는 약간의 복잡한 과정을 거칩니다.

지금까지 설명한 방식 중에 어떤 방식이 CUCM 설치 상황에 맞게 진행하시기 바랍니다.  


------------------------------------------------------------------------------

라인하트 (CCIEV #18487) 
ucwana@gmail.com (라인하트의 구글 이메일) 
http://twitter.com/ucwana (라인하트의 트위터 ) 
http://twitter.com/nexpertnet (넥스퍼트 블로그의 트위터, 최신 업데이트 정보 및 공지 사항) 
http://groups.google.com/group/cciev (시스코 UC를 공부하는 사람들이 모인 구글 구룹스) 
http://groups.google.com/group/ucforum (벤더에 상관없이 UC를 공부하는 사람들이 모인 구글 구룹스) 
정리하고 보니 나도 디지털 네이티브 ___________________________________________________________

Posted by 라인하트

댓글을 달아 주세요

  1. 박준구 2013.02.13 17:33 신고  댓글주소  수정/삭제  댓글쓰기

    와...깔끔한 정리 최고입니다..

  2. 허행균 2013.02.26 22:07 신고  댓글주소  수정/삭제  댓글쓰기

    자료 감사합니다. 많은 도움이 되겠습니다.

    질문 드리겠습니다.

    "BAT를 이용할 경우에는 기존 CUCM과 신규 CUCM을 구성하여 ICT (Inter-Cluster Trunk)로 연결한 후에 전화기들을 넘기는 것을 추천합니다. "

    좀더 자세하게 설명이 될수 있는지요?

    TAR 파일을 만드는것까진 알겠는데.. 어떤식으로 복원을 하는것인지?
    웹문서에도 자세한 내용은 없는것 같은데.

    cucm의 ip는 변경이 되어야 한다는 것인가요?

    실제 구현시 절차 등 자세한 설명을 부탁드려도 될까요?

    • 라인하트 2013.02.27 15:56 신고  댓글주소  수정/삭제

      안녕하십니까? 허행균님

      ICT를 통한 연결을 추천 드리는 이유는 신규 서버에 BAT 를 이용하여 복원한 후에 전화기를 차례로 넘기는 것을 의미합니다. IP 주소는 당연히 변경되어야 하는 것입니다. IP 변경을 하지 않는다면, 기존의 CUCM을 꺼야 하므로 ICT 연결은 의미가 없습니다.

  3. 2013.05.04 16:04  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

    • Favicon of http://www.nexpert.net BlogIcon 라인하트 2013.05.06 09:44 신고  댓글주소  수정/삭제

      비밀 댓글이라 매우 은밀한 대화인줄 착각했습니다.ㅋㅋ

      CUCM의 Partiton and CSS를 통해 멀티태넌트가 가능하지만, 관리하기가 복잡합니다.그래서, 시스코는 한 대의 서버에 여러개의 VM을 이용하여 멀티태넌트를 구현하도록 권장합니다. CUCM 소프트웨어에 대한 가격이 0달러이고, 사용자 라이센스만 존재합니다. 사용자 라이센스는 ELM에 의해 관리되므로 태넌트간의 사용자 공유도 편리합니다.

      가격은 Full UC를 위한 사용자 가격은 개인적으로 멜 주세요... ^^

  4. 2013.11.15 18:53  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  5. 2014.01.14 10:03  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

    • Favicon of http://www.nexpert.net BlogIcon 라인하트 2014.01.14 13:42 신고  댓글주소  수정/삭제

      CUCM 6.1.x 버전을 사용중이시군요.. ESW (Essential Software) 서비스를 구매하였다면, 7.x 버전이 아닌 6.x 대 버전은 업그레이드가 가능합니다. 7.x 버전으로 업그레이드를 원한다면 UCSS (메이저 릴리즈에 대한 업그레이드)를 구매해야 합니다.

      7937이 본사에서는 잘 되는 데 지사에서 오작동을 한다는 것이 네트워크 문제인지 장비 이상인지는 잘 모르겠습니다. 우선은 Ping과 TFTP 점검을 해 보시기 바랍니다. 사이의 VPN또는 방화벽 장비가 TFTP를 막을 수도 있습니다.