이 문서에서는 AireOS WLC(Wireless LAN Controller)에서 Cisco IOS® XE 기반 Catalyst 9800 WLC로의 마이그레이션의 특정 활용 사례에 대해 설명합니다.
이 문서에서는 AireOS WLC 및 9800 WLC가 이미 구성되어 있고 마이그레이션 준비가 되었다고 가정합니다. 또한 네트워크에서 액세스 포인트로 연결할 수 있는 TFTP/SFTP 서버를 구성했다고 가정합니다.
이는 네트워크 관리자가 무선 클라이언트에 대한 다운타임을 최대한 최소화하려는 마이그레이션입니다. 이 문서에서는 두 컨트롤러 모델 간의 컨피그레이션 마이그레이션에 대해서는 다루지 않으며, 컨트롤러를 변경할 때 AP(액세스 포인트)가 한 번만 재부팅되도록 AP 사전 다운로드를 자동화하는 데에만 중점을 둡니다.
이 문서는 8.10 및 17.4.1을 실행하는 9800-L 및 3504 시나리오를 기반으로 작성되었지만 9800-CL,9800-40,9800-80, 5520,8540, vWLC 및 8510은 물론 모든 소프트웨어 버전에 유사하게 적용되어야 합니다.
WLANPoller 버전 3.1이 필요합니다.
9800 버전 17.9는 이전 버전에서 출시되고 AireOS 8.x 소프트웨어에서 출시될 경우 17.3.7을 통한 업그레이드 경로가 필요합니다. 이 문서를 사용하여 8.5 WLC와 17.9 9800 간의 원활한 전환을 수행할 수 없습니다. 단일 사전 다운로드를 달성하려면 이 문서를 사용하여 17.3.7에 대한 사전 다운로드를 수행한 다음 AP가 WLC에서 그 이후의 일반적인 프로세스를 사용하여 17.9를 다운로드하도록 해야 합니다. AireOS 버전에서 Cisco IOS XE 버전 17.12, 17.15 이상도 마찬가지입니다.
2세대 9800 컨트롤러(CW9800)는 최신 릴리스만 실행할 수 있으며 AireOS에서 CW9800 컨트롤러로 마이그레이션하는 경우 AireOS 코드를 실행하는 AP가 17.15 이상을 실행하는 WLC로 직접 마이그레이션할 수 없으므로(CW9800은 이전 버전의 코드를 실행할 수 없음) 이 문서에 설명된 절차가 절대적으로 필요합니다. 이 문서에 설명된 대로 액세스 포인트가 AireOS WLC에 연결된 상태에서 WLANpoller를 사용하여 중간 릴리스를 미리 로드하면 마이그레이션이 원활해질 수 있습니다.
17.3.5/17.3.6/17.3.7 이전 버전을 실행하는 동안 AP가 17.9 코드를 다운로드하는 경우, 17.9 이미지를 설치할 공간이 부족하다고 불평합니다. 17.9 이전의 9800 릴리스로 이동하는 경우에는 이 업그레이드 경로가 필요하지 않습니다(업그레이드 경로가 있는지 확인하려면 9800 릴리스 정보를 확인하십시오). AireOS에서 오는 것은 16.12 9800에서 오는 것과 같습니다.)
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
업그레이드 중 다운타임을 최소화하기 위해 네트워크 관리자는 일반적으로 AP 사전 다운로드를 사용합니다. 이 기능을 사용하면 컨트롤러가 새 코드를 이미 다운로드했지만 아직 해당 새 코드를 리부팅하지 않은 경우 AP가 클라이언트를 서비스하는 동안 새 코드를 이미 다운로드할 수 있습니다. 즉, WLC가 새 코드로 재부팅될 때 AP는 새 코드로 부팅하기 위해 한 번만 재부팅됩니다.
AP 사전 다운로드가 없으면 AP는 WLC가 새 코드에 온라인으로 돌아올 때까지 기다려야 합니다. 그러면 AP가 새 코드를 다운로드하고, 동시에 다운로드한 다음 재부팅하여 다시 참가해야 함을 알 수 있습니다.
AP 사전 다운로드는 클라이언트 다운타임을 줄이는 것 외에도 브랜치가 WAN 연결이 적거나 WAN 연결의 지연 시간으로 인해 이러한 AP에 대한 새 코드를 다운로드하는 데 오랜 시간이 걸리는 경우에 유용합니다. AP 사전 다운로드를 사용할 때 AP가 클라이언트를 서비스하는 동안 다운로드가 발생합니다.
그러나 마이그레이션의 경우 두 개의 개별 컨트롤러(AireOS를 실행하는 컨트롤러와 Cisco IOS XE를 실행하는 컨트롤러)를 처리하는 것이 문제이며, 이 경우 AP가 다른 컨트롤러에서 코드를 미리 다운로드할 수 있도록 AP 사전 다운로드를 사용할 수 있는 내장된 수단이 없습니다. 그 해결책은 프로그래밍 가능성과 자동화에 있습니다.
이 문서에서는 간단한 프로세스의 자동화(공개적으로 사용 가능한 WLAN Poller 툴 사용, Enterprise WLAN-Poller 버전 참조)에 대해 설명합니다.
이점은 실제 마이그레이션/리부팅에서 코드 다운로드를 제거하고 한 번의 리부팅 사이클로 제한하는 데 있습니다.
가장 쉬운 방법은 지정된 버전에 대한 모든 AP 이미지가 포함된 AP 번들 파일을 다운로드하는 것입니다. the cisco.com 다운로드 섹션으로 이동하여 원하는 릴리스의 9120 Embedded Wireless Controller 파일을 다운로드합니다. 각 AP 모델에 대한 CAPWAP AP 이미지가 포함된 .tar 파일입니다. 모든 .tar 콘텐츠를 TFTP/SFTP 서버로 추출하기만 하면 됩니다.
Mac 또는 Windows용 WLAN 폴러를 다운로드한 후에는 네트워크 및 컨피그레이션에 맞게 수정해야 할 파일이 몇 개 있습니다.
WLANPoller가 실행되면 WLC에 연결하고 조인된 AP와 모든 AP에 대한 SSH를 확인합니다. 그런 다음 WLC 및 AP에서 특정 명령 목록을 실행합니다.
이 파일에는 WLAN Poller가 실행될 때마다 AireOS WLC에서 실행되는 명령 목록이 포함되어 있습니다. 기본적으로 이 파일에 있는 모든 명령이 필요하지 않으므로 이 파일 내용을 다음 2개로 줄이십시오.
show time
show ap summary
여기에는 추적 및 로깅 목적으로만 WLC에 조인된 AP와 시간이 나열됩니다.
이 파일에는 x800 Series(1800,2800,3800)의 AP로 전송되는 명령 목록이 포함되어 있습니다.
기존 명령 집합을 삭제하고 다음 명령으로 대체합니다.
show clock
archive download-sw /no-reload tftp://192.168.1.12/%apimage%
이전 예의 IP 주소를 TFTP 또는 SFTP 서버 세부사항의 IP로 바꾸십시오.
이 단계는 대상 AP 모델의 여러 레벨에 따라 달라집니다.
cmdlist_cos_qca 파일은 9117 및 9130 액세스 포인트에서만 명령을 실행합니다. cmdlist_cos_bcm 파일은 9115 및 9120 액세스 포인트에서만 명령을 실행합니다.
cmdlist_cos 파일은 1800s/2800/3800/1540/1560 AP에서 명령을 실행합니다.
참고: WLAN Poller 버전 3.2. 9105 AP는 cmdlist_cos_bcm과 함께 실행되는 것이 이상적이지만 cmdlist_cos와 함께 실행됩니다. 이는 향후 릴리스에서 변경될 수 있습니다.
따라서 사용 중인 AP에 따라 이러한 파일 중 하나 이상에 명령을 작성해야 합니다.
두 번째 요령은 올바른 AP 모델에 올바른 AP 이미지를 지정해야 한다는 것입니다. 직전에 제공된 예는 ap1g5 이미지 파일을 실행하는 1815 AP에서 실행되었습니다. %apimage% 키워드(포함된 백분율 문자)는 WLANPoller가 실제 ap 이미지 파일 이름으로 대체할 특수 키워드입니다.
편의를 위해 AP 모델 및 해당 모델이 실행하는 이미지가 나와 있습니다.
| 1815/1540/1840 | ap1g5 |
| 1810/1830/1850 | ap1g4 |
| 2800/3800/4800/1560 | ap3g3 |
| 1700/2700/3700 | ap3g2(또는 8.10 릴리스의 3700AP용 c3700) |
| 9105 | ap1g8 |
| 9115/9120 | ap1g7 |
| 9117 | ap1g6 |
| 9130 | ap1g6a |
config.ini는 기본 컨피그레이션 파일이며 특정 필드에 대해 변경해야 합니다. 이 섹션에서는 기본값에서 변경해야 하는 필드만 다룹니다.
wlc_user: <enter the username of the AireOS WLC>
wlc_pasw: <enter the password of the AireOS WLC>
wlc_enable: <re-enter the username of the AireOS WLC>
ap_user: <enter the username for the AP SSH connection>
ap_pasw: <enter the password for the AP SSH connection>
ap_enable: <enter the enable password for the AP SSH connection>
ipaddr: <enter the IP address of the AireOS WLC>
기본적으로 지금까지 지침을 따랐을 경우, 현재 AireOS WLC에 연결된 모든 AP는 스크립트의 영향을 받습니다.
한 번에 여러 AP를 일괄 처리하려는 경우 여러 가지 방법이 있습니다.
config.ini 파일에서 필드의 주석 처리를 제거하고 AP 이름 ap_name_filter = 접두사를 입력할 수 있습니다.
예를 들면 다음과 같습니다.
ap_name_filter = Branch1-
이 필터는 이름이 Branch1-로 시작하는 WLC에 조인된 모든 AP에 연결됩니다.
좀 더 구체적으로 설명하려면 다음 중 하나를 사용할 수 있습니다. config.ini 파일의 필드
샘플 CSV 파일은 wlanpoller와 함께 제공되며 스크립트가 연결해야 하는 AP 이름 및 IP 목록을 입력할 수 있습니다.
wlanpoller 스크립트를 실행합니다. 그런 다음 연결 세부사항을 표시하고 WLC에서 보았고 SSH가 가능한 AP의 양을 알려줍니다. 모든 오류는 끝에 있는 오류 섹션에 표시될 수 있습니다.
Enterprise-WlanPoller-Mac-3.0-Bundle % ./wlanpoller
* Detected local address : 192.168.1.63
* Logging to syslog server : 192.168.1.63
* Logging to console enabled : False
* Logging to file : ./logs/20210125_wlanpoller.log
* Using TFTP address : 192.168.1.63
* Using TFTP IPv6 address : self
* Using FTP address : 192.168.1.63
* WLC Type AirOS[1] 9800[2] : 1
* Transfer mode : tftp
* Poller enable : True
* Event enable : False
* DFS trace enable : False
* WLC config backup : False
* WLC AP crash upload : False
* WLC Support Bundle upload : False
============================================================
Summary
============================================================
Total APs : 1
Processed APs : 1
Failed APs : 0
============================================================
Errors
============================================================
지금까지 스크립트가 제대로 실행되었는지 확인하려면 먼저 백업 이미지가 대상 Cisco IOS XE 코드인지 각 AP를 확인할 수 있습니다.
AP CLI의 show version이 모두 성공한 경우 이 시점에 표시됩니다.
AP Running Image : 8.10.142.0
Primary Boot Image : 8.10.142.0
Backup Boot Image : 17.4.1.6
WLANpoller /logs 폴더에서 오류가 발생한 경우 WLANpoller 스크립트 자체의 타임스탬프가 있는 로그 파일을 찾습니다.
스크립트는 정상적으로 실행되었지만 전송이 실패할 수 있습니다. WLANpoller의 /data 폴더에서 WLAN Poller가 WLC 및 AP에 대해 설정한 SSH 세션의 결과를 찾고 문제를 식별할 수 있습니다. 다음은 TFTP 서버가 온라인 상태가 아닌 예입니다.
username % pwd
/Users/username/Downloads/Enterprise-WlanPoller-Mac-3.0-Bundle/data/2021/01/25
username % ls
cos_1815AP.log wlc_WLCNico.log
username % cat cos_1815AP.log
<run timestamp='2021-01-25T14:37:30.888559' device='cos' hostname='1815AP' model='AIR-AP1815I-E-K9' version='8.10.142.0'>
<cmd string='show clock'>
show clock
*13:38:02 UTC Mon Jan 25 2021
1815AP#
</cmd>
<cmd string='archive download-sw /no-reload tftp://192.168.1.12/ap1g5'>
archive download-sw /no-reload tftp://192.168.1.12/ap1g5
Starting download AP image tftp://192.168.1.12/ap1g5 ...
It may take a few minutes. If longer, please abort command, check network and try again.
-=O=- # # # #
curl: (28) Error
%Error opening tftp://192.168.1.12/ap1g5 (Error 28: Operation timeout)
Image transfer failed
1815AP#
</cmd>
</run>
username %
이제 AP를 9800으로 이동하면 AP가 현재 파티션으로 조인하려고 시도하며, 코드가 다르지만 백업 파티션에 올바른 코드 버전이 있음을 확인한 다음 재부팅합니다.
컨피그레이션 부팅 경로 2를 추가한 다음 %confirm% reload 명령을 이 텍스트 파일에 추가하면 몇 초 더 빨리(첫 번째 조인 시도를 저장) 할 수 있습니다. 그러면 백업 파티션이 새 활성 파티션으로 설정되고 9800 WLC 가입을 시도할 시간을 주지 않고 즉시 재부팅됩니다. AP가 즉시 재부팅된 다음 올바른 코드 버전으로 9800에 조인합니다.
%confirm% 키워드는 키워드 뒤에 reload 명령과 같은 "[confirm]" 프롬프트가 필요한 경우 필요합니다. 그러면 프롬프트가 자동으로 수락됩니다.
Cmdlist_cos.txt:
show clock
capwap ap secondary-base dummy 192.168.2.1
capwap ap primary-base <9800 name> <9800 IP>
| 개정 | 게시 날짜 | 의견 |
|---|---|---|
7.0 |
21-Aug-2026
|
재인증 |
6.0 |
17-Oct-2025
|
CW9800 컨트롤러로 활용 사례 설명 |
5.0 |
18-Aug-2025
|
최신 IOS XE 소프트웨어 릴리스, 형식 지정 |
4.0 |
26-Aug-2024
|
9105 AP에 대한 참고 사항이 추가되었습니다. |
3.0 |
18-Jan-2024
|
마지막 단계에서 마지막 메모를 추가하여 몇 초 더 절약했습니다. |
1.0 |
08-Jun-2022
|
최초 릴리스 |