Cisco Switch OS (IOS) upgrade using USB

Cisco Switch는 IOS와 Nexus가 있습니다. 

그 중 IOS (Catalyst) upgrade 하는 방법에 대해서 소개하겠습니다.

 

OS upgrade를 진행하기전 사전작업이 필요합니다.

 

1. upgrade 할 OS 선택

2. OS file 

3. USB 

 

우선 upgrade할 OS를 선택해야합니다.

OS를 upgrade하는 이유는 여러가지 있습니다.

- 사용하는 버전의 OS가 Critial error 가 있어 business 상 문제 발생을 예방하기 위해

- Cisco가 더이상 지원하지 않는 경우 (Security update... )

- 연동성 (버전마다 다르기 때문)

 

여러 문제들을 파악한 후 OS를 선택합니다. 

아마 대부분 Recommend 를 사용할거라고 생각합니다. 

네트워크의 특성상 신기술, 신기능 보다는 안정성이 중요하기 때문에

Reference가 없다면 절대 사용하지 않는 admin도 있음(바꾸고 싶은데 Reference가 없으면 찾아오라고 하는 경우도 있음)

그리고 Software 특성상 오류가 없을수가 없기 때문에 update 되고 reference가 많은 Recommend OS를 주로 사용.

 

그렇게 OS 를 선택했다면 OS File을 Cisco 홈페이지에서 다운로드 받습니다. (계정, 권한 필요)

OS file을 다운로드 했다면 USB로 copy 해줍니다. 

 

OS file 이 들어있는 USB가 준비되었다면 스위치에 USB를 꽂습니다. (대부분 전면부에 위치합니다) 

스위치에서 다음과 같이 command를 입력합니다.

 

sw# show boot 

sw# dir flash:

sw# copy usbflash0: [os file] flash: 

sw# boot system flash:package.conf

sw# install flash:[os file] activate commit

sw# show ver

sw# show boot

sw# install remove inactive

sw# dir flash

 

이제 명령어를 한 줄 씩 설명하겠습니다.

 

show boot

현재 os 의 boot file 경로를 보여줍니다. (어떤 경로에 있는 file을 통해서 boot 할 것 인지) 

한 스위치에 여러 버전의 os file이 있을 수도 있기 때문에 원하는 os로 boot 하려면 정확한 경로 지정이 필요합니다.

(upgrade 자체와는 관련없지만 현재 상태 확인을 위해서 진행합니다)

 

dir flash: 

윈도우의 dir 명령어와 동일하게 flash에 존재하는 파일의 목록을 보여줍니다. (리눅스라면 ls) 

(마찬가지로 upgrade와 관련 없지만 현재 어떤 file들이 존재하는지 파악 > 용량이 부족할 수도 있음)

 

copy usbflash0: [os file] flash: 

usb에 있는 os file을 flash로 copy 하는 명령어 입니다. 

[os file] 부분은 upgrade 하고자하는 file을 입력하면 됩니다. 

copy 완료까지 수십 초 ~ 수 분 소요될 수도 있습니다.

(여러 장비를 동일한 버전으로 빠르게 업그레이드 하고 싶다면 usb에 os 하나만 넣는게 좋습니다)

(어차피 다 입력하기 귀찮아서 tab으로 진행하는데 여러 os file 있다면 귀찮습니다)

 

 

boot system flash:package.conf

boot 경로를 재지정해줍니다.

해당 명령어는 bundle os에서 install 로 upgrade할 때는 처음에 안먹힙니다. (package.conf가 없음)

 

install flash: [os file] activate commit 

copy 가 완료된 file로 upgrade를 진행합니다.

upgrade 도중에 reboot 할 거냐는 질문이 나옵니다. y를 누르지 않으면 reboot 되지 않기 때문에 

잘 보고 있다가 입력하시면 됩니다.

 

show ver

upgrade가 완료되고 reboot이 끝나면 해당 명령어를 통해 버전을 확인합니다.

 

show boot

upgrade가 잘 진행되어도 다시 한번 확인합니다.

upgrade가 잘 진행이 안되면 boot 경로를 재지정 해줘야합니다.

(boot system flash:package.conf)

 

install remove inactive 

사용하지 않는 os file을 삭제합니다. (구 버전 os file)

 

dir flash

remove inactive 명령어가 제대로 실행되서  구버전 os file이 삭제되었는지 확인합니다.

 

 

** 

bundle mode에서 install 로 upgrade할 때에 잘못 진행할 경우 무한 boot에 빠지는 경우가 있습니다.

제가 본 경우는 package conf file이 없는데 boot variable(boot 경로)가 package.conf로 지정되어서

reboot 했는데 해당 file이 없어서 찾다가 reboot를 무한으로 반복하는 경우가 있습니다. 

 

boot 경로 제대로 지정하겠다고 boot sysytem 명령어 여러번 반복할 경우 이상하게 들어갈 수도 있습니다.

 

boot system 명령어를 입력했는데 show boot에는 보이지 않을 수도 있습니다. (입력한 상태 != 저장된 상태) 

해당 경우는 write를 통해서 저장을 진행하면 제대로 명령어가 들어간걸 확인할 수 있습니다.