Golden ISO (GISO) とは
Golden ISO (GISO) とは、ベース ISO ファイル (ncs5500-mini-x-<release>.iso) に含まれる基本パッケージだけではなく、
下記のような追加のオプションパッケージ、SMU、及び初期 Configuration ファイルを含んだカスタム ISO ファイルとなります。
- オプションパッケージ (k9sec/mgbl/ospf/isis など)
- XR SMU
- Sysadmin SMU
- Host SMU
- 初期 Configuration ファイル
Golden ISO の利点
Golden ISO を使用しない場合は、初期インストール/バージョンアップ/Disaster Recovery 時には、
通常以下のようなオペレーションを実施することになります。
- ベース ISO イメージ (ncs5500-mini-x-<release>.iso) で初期インストールを行う (システム再起動が発生)
- MgmtEth の IPv4 アドレス設定を行う
- 追加のオプションパッケージをインストールする
- 必要となる SMU をインストールする (SMU によっては複数回システム再起動が発生する場合あり)
- 必要となる Configuration を適用する
Golden ISO を使用する場合は、上記全てのオペレーションを以下のオペレーションのみで実施することができます。
- Golden ISO (GISO) で初期インストールを行う (システム再起動が発生)
特に、SMU 適用による複数回のシステム再起動や手作業による Configuration 適用が必要なくなるため、
インストール作業のオペレーションコストを削減することができます。
Golden ISO の作成方法
事前に準備するもの
- Linux サーバ: Python 2.7 がインストールされたもの (root 権限が必要)
Golden ISO (GISO) 作成手順
- GISO 作成用のツールを取得する
- GISO に含めるベース ISO、オプショナルパッケージ、SMU、初期 Configuration ファイルを準備する
- GISO 作成 Python スクリプトを使用して GISO を作成する
1. Golden ISO 作成ツールの取得
Golden ISO (GISO) 作成 Python スクリプト gisobuild.py を下記どちらかの方法にて取得します。
# git clone https://github.com/ios-xr/gisobuild
RP/0/RP0/CPU0:NCS5500#run cp -i /pkg/bin/gisobuild.py /harddisk:/gisobuild.py
RP/0/RP0/CPU0:NCS5500#dir harddisk:
RP/0/RP0/CPU0:NCS5500#copy harddisk:/gisobuild.py tftp://<TFTP-Server>/gisobuild.py
2. Golden ISO に含めるファイルの準備
本ドキュメントでは下記のようなディレクトリ構成であるとします。
# tree
.
├── gisobuild
│ ├── gisobuild.py
│ ├── LICENSE
│ └── README.md
├── ncs5500-651
│ ├── ncs5500-isis-2.1.0.0-r651.x86_64.rpm
│ ├── ncs5500-k9sec-3.1.0.0-r651.x86_64.rpm
│ ├── ncs5500-mgbl-3.0.0.0-r651.x86_64.rpm
│ ├── ncs5500-mini-x-6.5.1.iso
│ ├── ncs5500-mpls-2.1.0.0-r651.x86_64.rpm
│ ├── ncs5500-mpls-te-rsvp-3.1.0.0-r651.x86_64.rpm
│ └── ncs5500-ospf-2.0.0.0-r651.x86_64.rpm
└── NCS-55A1a.cfg
上記例では SMU が含まれておりませんが、SMU が ISO/RPM ファイルと同じディレクトリに含まれている場合も手順は同じになります。
3. Golden ISO の作成
GISO 作成ツールを使って GISO を作成します。
# sudo python gisobuild/gisobuild.py -i ncs5500-651/ncs5500-mini-x-6.5.1.iso -r ncs5500-651 -c NCS-55A1a.cfg -l 022360B
上記 GISO 作成ツールのオプションの意味は以下になります。
- -i (必須): ベース ISO ファイルを指定 (image)
- -r (オプション): オプションパッケージ/SMU ファイルのあるパスを指定 (repository)
- -c (オプション): 初期 IOS-XR コンフィグファイルを指定
- -l (オプション): GISO ファイルにユーザ管理ラベルを付与可能
以下、参考までに上記ツールを実行した際の出力例となります。
# sudo python gisobuild/gisobuild.py -i ncs5500-651/ncs5500-mini-x-6.5.1.iso -r ncs5500-651 -c NCS-55A1a.cfg -l 022360B
System requirements check [PASS]
Golden ISO build process starting...
6.5.1
Platform: ncs5500 Version: 6.5.1
XR-Config file (/nobackup/taisasak/GISO/NCS-55A1a.cfg) will be encapsulated in Golden ISO.
Scanning repository [/nobackup/taisasak/GISO/ncs5500-651]...
Building RPM Database...
Total 6 RPM(s) present in the repository path provided in CLI
[ 1] ncs5500-k9sec-3.1.0.0-r651.x86_64.rpm
[ 2] ncs5500-ospf-2.0.0.0-r651.x86_64.rpm
[ 3] ncs5500-isis-2.1.0.0-r651.x86_64.rpm
[ 4] ncs5500-mgbl-3.0.0.0-r651.x86_64.rpm
[ 5] ncs5500-mpls-te-rsvp-3.1.0.0-r651.x86_64.rpm
[ 6] ncs5500-mpls-2.1.0.0-r651.x86_64.rpm
Following XR x86_64 rpm(s) will be used for building Golden ISO:
(+) ncs5500-ospf-2.0.0.0-r651.x86_64.rpm
(+) ncs5500-k9sec-3.1.0.0-r651.x86_64.rpm
(+) ncs5500-mpls-te-rsvp-3.1.0.0-r651.x86_64.rpm
(+) ncs5500-isis-2.1.0.0-r651.x86_64.rpm
(+) ncs5500-mgbl-3.0.0.0-r651.x86_64.rpm
(+) ncs5500-mpls-2.1.0.0-r651.x86_64.rpm
...RPM compatibility check [PASS]
Building Golden ISO...
Summary .....
XR rpms:
ncs5500-ospf-2.0.0.0-r651.x86_64.rpm
ncs5500-k9sec-3.1.0.0-r651.x86_64.rpm
ncs5500-mpls-te-rsvp-3.1.0.0-r651.x86_64.rpm
ncs5500-isis-2.1.0.0-r651.x86_64.rpm
ncs5500-mgbl-3.0.0.0-r651.x86_64.rpm
ncs5500-mpls-2.1.0.0-r651.x86_64.rpm
XR Config file:
router.cfg
...Golden ISO creation SUCCESS.
Golden ISO Image Location: /nobackup/taisasak/GISO/ncs5500-goldenk9-x-6.5.1-022360B.iso
上記例の「ncs5500-goldenk9-x-6.5.1-022360B.iso」が作成された GISO となります。
Golden ISO 使用時の注意点
- iPXE シェルから boot コマンドによる GISO を指定したインストールはサポートされておりません。
参考情報