소개
이 문서에서는 eXR 버전에서 Cisco IOS® XR 소프트웨어를 실행하는 라우터에서 업그레이드를 위한 Golden ISO(Golden ISO) 생성에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- Cisco IOS XR 소프트웨어
- Cisco IOS XR 소프트웨어 설치 및 업그레이드 절차
- Linux 기본 명령 및 명령행 탐색
사용되는 구성 요소
이 문서는 특정 하드웨어 버전으로 제한되지 않으며 IOS XR 64 Bit를 실행하는 모든 라우터에 적용됩니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
관련 제품
이 문서는 다음 하드웨어 버전에서도 사용할 수 있습니다.
- Cisco 9000 Series 라우터
- Cisco 8000 Series 라우터
- Cisco NCS 5700 Series 라우터
- Cisco NCS 5500 Series 라우터
- NCS 540 & 560 라우터
XR 업그레이드를 위한 Golden ISO
일반적으로 Cisco는 IOS-XR 소프트웨어를 미니/기본 ISO로 릴리스합니다. 여기에는 지정된 플랫폼에 대한 필수 IOS-XR 패키지, SMU(Software Maintenance Upgrade) 형식의 버그 픽스를 위한 추가 기능 및 소프트웨어 패치를 실행하는 옵션 패키지 집합이 포함됩니다. 옵션 패키지 및 SMU는 RPM 패키지 형식입니다.
Golden ISO 도구는 미니/기본 ISO의 전체 내용을 포함하는 ISO와 선택적 패키지 및 사용자 선택의 SMU를 생성합니다. Golden ISO가 생성되면 iPXE 부팅에 사용하거나 현재 실행 중인 버전에서 새 버전의 IOS-XR로 SU(시스템 업그레이드)에 사용할 수 있습니다.
참고: Mini/base ISO는 Golden ISO 생성에 필수적입니다.
gisobuild Python 도구
이 도구는 Linux 호스트에서 기본적으로 실행할 수 있습니다. 또는 Docker가 활성화된 Linux 시스템에서 이 툴을 실행할 수 있으며 Docker Hub에서 게시된 'cisco-xr-gisobuild' 이미지를 가져올 수도 있습니다. 예를 들어, Debian 11.8에서 작업하는 것이 좋습니다
이 툴에는 다음 실행 파일 요구 사항이 있습니다.
- python3 >= 3.6
- rpm >= 4.14
- cpio >= 2.10
- gzip >= 1.9
- createrepo_c
- 파일
- 아이소정보
- 메키소프
- mksquashfs
- openssl
- 언스쿼시프
- 7z(선택 사항 - 그러나 필요 시 기능 축소 가능)
- iso-read(선택 사항) - 그러나 기능 축소 가능
- zip(선택 사항 - 그러나 이 옵션을 사용하지 않으면 기능을 줄일 수 있음)
- unzip(선택 사항) - 그러나 이 옵션을 사용하지 않으면 기능을 줄일 수 있습니다.
참고: 모든 종속성이 충족되지 않은 네이티브 Linux 시스템에서는 다음 명령(sudo를 통해 실행)을 실행하여 지원되는 배포판에 툴 종속성을 설치할 수 있습니다. ./setup/prep_dependency.sh
또한 다음 Python(>= 3.6) 모듈이 필요합니다.
- 데이터 클래스
- defusexml
- 총판사
- 포장
- rpm
- 야말
Linux 호스트에서 기본적으로 실행하기 위해 다음 배포판이 테스트되었습니다. 특히 이 시나리오인 Debian에 대한 테스트입니다.
- Alma Linux 8
- 페도라 34
- 데비안 11.2
준비
먼저 필요한 옵션 패키지와 그 이유를 확인해야 합니다. 불필요한 또는 과도한 패키지를 설치하면 설치 중에 디스크 공간 사용률 문제와 오류가 발생할 수 있습니다. GISO를 생성하기 전에 각 플랫폼의 사전 요구 사항 및 디스크 공간 요구 사항을 확인합니다.
필요한 소프트웨어를 다운로드하려면 공식 소프트웨어 다운로드 사이트(Cisco Software Download)를 참조하십시오.
스크립트는 iso, 브리지 수정, SMU 등 다양한 파일을 통합하는 데 도움이 될 수 있습니다.
gisobuild.py 스크립트를 서버의 특정 위치에 복사하는 데 필요합니다. 스크립트는 gisobuild Git 사이트에 있습니다.
GISO 생성
다음은 이 스크립트 사용에 사용할 수 있는 인수의 요약입니다.
usage: gisobuild.py [-h] [--iso ISO] [--repo REPO [REPO ...]]
[--bridging-fixes BRIDGE_FIXES [BRIDGE_FIXES ...]]
[--xrconfig XRCONFIG] [--ztp-ini ZTP_INI] [--label LABEL]
[--no-label] [--out-directory OUT_DIRECTORY]
[--create-checksum] [--yamlfile CLI_YAML] [--clean]
[--pkglist PKGLIST [PKGLIST ...]] [--script SCRIPT]
[--docker] [--x86-only] [--migration] [--optimize]
[--full-iso]
[--remove-packages REMOVE_PACKAGES [REMOVE_PACKAGES ...]]
[--skip-usb-image] [--copy-dir COPY_DIRECTORY]
[--clear-bridging-fixes] [--verbose-dep-check] [--debug]
[--isoinfo ISOINFO] [--image-script IMAGE_SCRIPT]
[--version]
이 예에서는 ASR 9901용 GISO가 생성되고, ISIS 및 OSPF 패키지가 간결함에 사용되며, mini는 7.9.21 버전용이며, 컨피그레이션 파일도 GISO에 추가됩니다.
다음 명령에서 볼 수 있듯이, 패키지, mini 및 config 파일은 /src 디렉터리에 복사되며, 이 명령을 사용하면 스크립트 run 명령의 지워진 버전을 만들 수 있습니다.
root@debian:/gisobuild-master/src# ls
asr9k-9000v-nV-x64-1.0.0.0-r7921.x86_64.rpm
asr9k-mcast-x64-1.0.0.0-r7921.x86_64.rpm
asr9k-bng-ipoe-x64-1.0.0.0-r7921.x86_64.rpm
asr9k-mgbl-x64-1.0.0.0-r7921.x86_64.rpm
asr9k-bng-pppoe-x64-1.0.0.0-r7921.x86_64.rpm
asr9k-mini-x64-7.9.21.iso
asr9k-bng-supp-x64-1.0.0.0-r7921.x86_64.rpm
asr9k-mpls-te-rsvp-x64-1.0.0.0-r7921.x86_64.rpm
asr9k-bng-x64-1.0.0.0-r7921.x86_64.rpm
asr9k-mpls-x64-1.0.0.0-r7921.x86_64.rpm
asr9k-optic-x64-1.0.0.0-r7921.x86_64.rpm
asr9k-eigrp-x64-1.0.0.0-r7921.x86_64.rpm
asr9k-ospf-x64-1.0.0.0-r7921.x86_64.rpm
asr9k-isis-x64-1.0.0.0-r7921.x86_64.rpm
asr9k-services-x64-1.0.0.0-r7921.x86_64.rpm
asr9k-li-x64-1.0.0.0-r7921.x86_64.rpm
asr9k-m2m-x64-1.0.0.0-r7921.x86_64.rpm
lnt
lntmod
output_gisobuild
utils
validate
wrappers
exrmod
running-config-ASR9K
gisobuild.py
--------GISO CREATION--------
root@debian:/gisobuild-master/src# ./gisobuild.py --iso asr9k-mini-x64-7.9.21.iso --pkglist asr9k-isis-x64-1.0.0.0-r7921.x86_64.rpm asr9k-ospf-x64-1.0.0.0-r7921.x86_64.rpm --xrconfig running-config-ASR9K --label firstGiso --skip-usb-image --clean
System requirements check [PASS]
Platform: asr9k Version: 7.9.21
XR-Config file (/gisobuild-master/src/running-config-ASR9K) will be encapsulated in Golden ISO.
Warning: No RPMS or Optional Matching 7.9.21 packages found in repository
Building Golden ISO...
Summary .....
XR Config file:
router.cfg
...Golden ISO creation SUCCESS.
Golden ISO Image Location: /gisobuild-master/src/output_gisobuild/asr9k-golden-x64-7.9.21-firstGiso.iso
Creating USB Boot zip...
Skipping USB Boot Zip creation: Not supported for platform: asr9k
USB BOOT ZIP NEEDED?: Contact asr9k team to add support.
root@debian:/gisobuild-master/src#
다음은 이 GISO 생성에 사용되는 매개변수에 대한 간략한 설명입니다.
- iso ISO |
Mini.iso/Full.iso 파일의 경로 |
—xrconfig XRCONFIG |
XR 구성 파일의 경로 |
—label 레이블, -l 레이블 |
골든 ISO 레이블 |
- 정상 |
계속하기 전에 출력 디렉터리를 삭제합니다. |
—이미지 건너뛰기 |
USB 이미지 작성 안 함(ASR9K 플랫폼에서는 지원되지 않음) |
다음을 확인합니다.
설치 로그에서 언급하는 것처럼 이 예의 위치를 검토하여 GISO 생성을 확인할 수 있습니다. 골든 ISO 이미지 위치: /gisobuild-master/src/output_gisobuild/asr9k-golden-x64-7.9.21-firstGiso.iso
다음 그림에서 볼 수 initrd.img 있듯이, 우리가 포함했던 설치 패키지가 포함된 1.7GB입니다.
데비안 GUI의 GISO