はじめに
このドキュメントでは、eXRバージョンでCisco IOS® XRソフトウェアを実行するルータのアップグレード用にゴールデンISO(GISO)を作成する方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- Cisco IOS XR ソフトウェア
- Cisco IOS XR ソフトウェアのインストールおよびアップグレード手順
- Linuxの基本コマンドとコマンドラインのナビゲーション
使用するコンポーネント
このドキュメントは、特定のハードウェアバージョンに限定されるものではありません。IOS XR 64ビットを実行するすべてのルータに適用されます。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
関連製品
このドキュメントは、次のバージョンのハードウェアにも使用できます。
- Cisco 9000 シリーズ ルータ
- Cisco 8000 シリーズ ルータ
- Cisco NCS 5700 シリーズ ルータ
- Cisco NCS 5500 シリーズ ルータ
- NCS 540および560ルータ
XRアップグレード用ゴールデンISO
通常、シスコはミニ/ベースISOとしてIOS-XRソフトウェアをリリースします。ミニ/ベースISOには、特定のプラットフォーム用の必須IOS-XRパッケージ、追加機能を実行するためのオプションパッケージのセット、およびSoftware Maintenance Upgrade(SMU)の形式でのバグ修正用のソフトウェアパッチが含まれています。 オプションパッケージとSMUはRPMパッケージ形式です。
ゴールデンISOツールは、ミニ/ベースISOの全内容を含むISOと、オプションパッケージおよびユーザが選択したSMUを作成します。ゴールデンISOが作成されると、iPXEブートに使用するか、現在の実行バージョンから新しいバージョンのIOS-XRへのSU(システムアップグレード)に使用できます。
注:ゴールデンISOの作成には、ミニ/ベースISOが必須です
gisobuild Pythonツール
このツールは、Linuxホスト上でネイティブに実行できます。あるいは、このツールはDockerを有効にしたLinuxシステム上で実行することもでき、公開された'cisco-xr-gisobuild'イメージをDocker Hubからプルする機能を持っています。この例はDebian 11.8で動作することを推奨します
このツールには、次の実行可能要件があります。
- python3 >= 3.6
- rpm >= 4.14
- cpio >= 2.10
- gzip >= 1.9
- 作成リポジトリ(_c)
- ファイル
- 等値情報
- mkisofs
- mksquashfs
- openssl
- unsquashfs
- 7z(オプション – ただし、機能の削減は不要)
- iso-read(オプション – ただし、機能は使用せずに削減できます)
- zip(オプション – ただし、機能は使用せずに削減できます)
- unzip(オプション – ただし、機能は使用せずに削減できます)
注:ネイティブのLinuxシステムでは、すべての依存関係が満たされているわけではないので、次のコマンド(sudoを使用する場合もあります)を実行して、ツールの依存関係をサポートされているディストリビューションにインストールできます。./setup/prep_dependency.sh
また、次のPython (>= 3.6)モジュールも必要です。
- データクラス
- defusedxml
- distutils
- 包装
- rpm
- yaml
Linuxホスト上でネイティブに動作させるために、次のディストリビューション、特にこのシナリオ用のDebianがテストされています。
- アルマLinux 8
- フェドラ34
- Debian 11.2
準備
は、必要なオプションパッケージとその理由を最初に確認する必要があります。不要なパッケージや過剰なパッケージをインストールすると、ディスク領域の使用率に関する問題が発生したり、インストール中に障害が発生したりする可能性があります。GISOを作成する前に、各プラットフォームの前提条件とディスク容量の要件を確認します。
必要なソフトウェアをダウンロードするには、公式のソフトウェアダウンロードサイト(シスコソフトウェアダウンロード)を参照してください。
スクリプトは、iso、ブリッジ修正、SMUなど、さまざまなファイルを統合するのに役立ちます。
gisobuild.pyスクリプトをサーバー上の特定の場所にコピーするために必要です。スクリプトはgisobuild Git Siteにあります。
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パッケージが簡略化のために使用され、7.9.21バージョン用のminiと設定ファイルもGISOに追加されます。
次のコマンドで見られるように、パッケージ、ミニ、および構成ファイルは/srcディレクトリにコピーされ、スクリプト実行コマンドの消去されたバージョンを作成します。
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 |
Mini.iso/Full.isoファイルへのパス |
—xrconfig XRCONFIG |
XR構成ファイルへのパス |
—labelラベル、-lラベル |
ゴールデンアイソラベル |
– クリーン |
続行する前に出力ディレクトリを削除してください |
—skip-image |
USBイメージを構築しない(ASR9Kプラットフォームではサポートされない) |
確認
インストールログに記載されているように、この例の場所を確認することで、GISOの作成を確認できます。ゴールデンISOイメージの場所: /gisobuild-master/src/output_gisobuild/asr9k-golden-x64-7.9.21-firstGiso.iso
次のイメージで示すように、initrd.img
は1.7 GBで、ここに含めたインストールパッケージが含まれています。
Debian GUIのGISO