- RSS フィードを購読する
- 新着としてマーク
- 既読としてマーク
- ブックマーク
- 購読
- 印刷用ページ
- 不適切なコンテンツを報告
2021-01-22 10:18 PM 2023-03-30 03:41 PM 更新
はじめに
このドキュメントでは Cisco Digital Network Architecture Center (DNA Center) のリカバリ用 ISO イメージファイルを DNA Center にアップロードし、筐体に挿したままにしてある書き込みプロテクトのかかっていない USB メモリに ISO イメージの書き込みを行う手順を説明します。
これにより、物理的なアクセスなしに DNA Center のリカバリを行うことができます。
通常はマニュアルどおり PC で ISO イメージファイルを USB メモリに書き込んでください。
ISO イメージファイルのアップロード
Software Download から入手した ISO イメージを DNA Center 上にアップロードします。
% scp -P 2222 ./DNAC-SW-2.1.2.5.iso maglev@192.0.2.31:/data/tmp/ Welcome to the Cisco DNA Center Appliance maglev@192.0.2.31's password: DNAC-SW-2.1.2.5.iso 0% 12MB 1.3MB/s 5:04:57 ETA
SCP を用いてアップロードを行うことが多いですが、不安定な VPN を経由するなどの場合、SCP が切断される場合があります。
% scp -P 2222 ./DNAC-SW-2.1.2.5.iso maglev@192.0.2.31:/data/tmp/ Welcome to the Cisco DNA Center Appliance maglev@192.0.2.31's password: DNAC-SW-2.1.2.5.iso 73% 17GB 833.5KB/s 2:01:52 ETAclient_loop: send disconnect: Broken pipe lost connection
通信が切断する可能性がある場合はアップロードの途中からの再開が可能な rsync または sftp を使用することをおすすめします。
途中でアップロードが停止した場合、rsync であれば再度コマンド実行、sftp であれば reput (put -a) にてアップロードを再開できます。
GUI アプリケーションを使用する場合は各アプリケーションのガイドに従ってください。
% rsync --partial --progress --rsh=ssh -e "ssh -p 2222" ./DNAC-SW-2.1.2.5.iso maglev@192.0.2.31:/data/tmp/DNAC-SW-2.1.2.5.iso Welcome to the Cisco DNA Center Appliance maglev@192.0.2.31's password: DNAC-SW-2.1.2.5.iso 412623936 1% 18.45MB/s 0:20:47 または % sftp -oPort="2222" maglev@192.0.2.31 Welcome to the Cisco DNA Center Appliance maglev@192.0.2.31's password: Connected to 192.0.2.31. sftp> sftp> put DNAC-SW-2.1.2.5.iso Uploading DNAC-SW-2.1.2.5.iso to /data/tmp/DNAC-SW-2.1.2.5.iso
ISO イメージファイルの検証
ISO イメージファイルの検証用の RSA 鍵とシグネチャファイルもアップロードして、ISO イメージファイルの検証を行います。
[Thu Jan 21 10:16:39 UTC] maglev@192.0.2.31 (maglev-master-192-0-2-31) tmp $ pwd /data/tmp [Thu Jan 21 10:17:08 UTC] maglev@192.0.2.31 (maglev-master-192-0-2-31) tmp $ ls -l total 23427732 -rw-r--r-- 1 maglev maglev 23989983232 Jan 21 10:12 DNAC-SW-2.1.2.5.iso -rw-r--r-- 1 maglev maglev 256 Jan 20 14:52 DNAC-SW-2.1.2.5.sig -rw-r--r-- 1 maglev maglev 451 Jan 20 14:51 dnac2.1.2.5_cisco_image_verification_key.pub [Thu Jan 21 10:26:16 UTC] maglev@192.0.2.31 (maglev-master-192-0-2-31) tmp $ sha512sum DNAC-SW-2.1.2.5.iso 903681091ea6520a180a1ba97dfa1674b4d76caafbf0271512562a1b0eba89e322eb11eedc6c3aac60ce2803e8e733ea378a790a1dfe038273e88b564245a3b5 DNAC-SW-2.1.2.5.iso [Thu Jan 21 10:31:11 UTC] maglev@192.0.2.31 (maglev-master-192-0-2-31) tmp $ openssl dgst -sha512 -verify dnac2.1.2.5_cisco_image_verification_key.pub -signature DNAC-SW-2.1.2.5.sig DNAC-SW-2.1.2.5.iso Verified OK
SHA 512 Checksum 値は Software Download ページにて確認可能です。
USB メモリのデバイス名確認
DNA Center に挿したままにしてある USB メモリのデバイス名を確認します。lsblk でマウントされていないデバイスを確認すればよいですが、念の為 /dev/disk/by-id なども確認することをおすすめします。
下記の例では USB メモリは /dev/sda になります。デバイス名は絶対に間違いのないようにしてください。
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdd 8:48 0 3.5T 0 disk `-sdd1 8:49 0 3.5T 0 part /data/maglev/srv/ndp sdb 8:16 0 446.1G 0 disk |-sdb4 8:20 0 398.2G 0 part /data |-sdb2 8:18 0 47.7G 0 part / |-sdb3 8:19 0 239M 0 part /boot/efi `-sdb1 8:17 0 1M 0 part loop0 7:0 0 128G 0 loop [SWAP] sdc 8:32 0 1.8T 0 disk |-sdc2 8:34 0 937.4G 0 part /data/maglev/srv/maglev-system |-sdc3 8:35 0 168G 0 part /var `-sdc1 8:33 0 681.8G 0 part /data/maglev/srv sda 8:0 1 28.9G 0 disk [Thu Jan 21 13:30:39 UTC] maglev@192.0.2.31 (maglev-master-192-0-2-31) tmp $ ls -l /dev/disk/by-id | grep usb lrwxrwxrwx 1 root root 9 Jan 20 14:50 usb-TOSHIBA_USB_FLASH_DRIVE_9492E503FAB9E251200210F3-0:0 -> ../../sda [Thu Jan 21 13:39:58 UTC] maglev@192.0.2.31 (maglev-master-192-0-2-31) tmp $ sudo fdisk -l /dev/sda [sudo] password for maglev: Disk /dev/sda: 28.9 GiB, 30966546432 bytes, 60481536 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes
必要に応じて、デバイスを mount して中身を確認し、umount てください。下記例では Catalyst 9800 の ISO イメージファイルが書き込まれた USB メモリであることが分かります。
[Thu Jan 21 13:42:00 UTC] maglev@192.0.2.31 (maglev-master-192-0-2-31) tmp $ mount -l | grep sda [Thu Jan 21 13:42:36 UTC] maglev@192.0.2.31 (maglev-master-192-0-2-31) tmp $ mkdir ./USB [Thu Jan 21 13:42:44 UTC] maglev@192.0.2.31 (maglev-master-192-0-2-31) tmp $ sudo mount /dev/sda /data/tmp/USB mount: /dev/sda is write-protected, mounting read-only [Thu Jan 21 13:43:27 UTC] maglev@192.0.2.31 (maglev-master-192-0-2-31) tmp $ ls ./USB/ C9800-CL-mono-universalk9.16.12.04a.SPA.pkg C9800-CL-rpboot.16.12.04a.SPA.pkg EFI boot boot.catalog images packages.conf [Thu Jan 21 13:44:25 UTC] maglev@192.0.2.31 (maglev-master-192-0-2-31) tmp $ sudo umount /dev/sda
[Thu Jan 21 13:44:28 UTC] maglev@192.0.2.31 (maglev-master-192-0-2-31) tmp $ ls ./USB [Thu Jan 21 13:44:33 UTC] maglev@192.0.2.31 (maglev-master-192-0-2-31) tmp $
dd コマンドでの書き込み
dd コマンドで ISO イメージファイルを USB メモリに書き込みます。ターゲットのデバイス名を誤った場合は当該ディスクが破壊され Fast Init による Virtual Volume の初期化が必要になりますので絶対に間違わないようご注意ください。
// CIMC KVM を使用可能な場合
sudo dd if=/data/tmp/DNAC-SW-2.1.2.5.iso of=/dev/sda bs=4M
// SSH ターミナルで実行の場合は SSH 切断に備えて nohup ... & で backgroud に回すことを推奨 [Thu Jan 21 15:07:11 UTC] maglev@192.0.2.31 (maglev-master-192-0-2-31) tmp $ sudo nohup dd if=/data/tmp/DNAC-SW-2.1.2.5.iso of=/dev/sda bs=4M & [1] 74625 nohup: ignoring input and appending output to 'nohup.out' [Thu Jan 21 15:07:32 UTC] maglev@192.0.2.31 (maglev-master-192-0-2-31) tmp $ jobs [1]+ Running sudo nohup dd if=/data/tmp/DNAC-SW-2.1.2.5.iso of=/dev/sda bs=4M &
Background Job にした場合、dd コマンドの出力は nohup.out に出力されますので、ls -l コマンドで nohup.out のサイズが 0 byte でなくなることが書き込み終了の目安です。念の為、sync を実行してバッファの書き出しを行ってください。
なお、sudo nohup .. & としてるため nohup.out の参照は sudo cat nohup.out で行う必要があります。
[Fri Jan 22 00:19:14 UTC] maglev@192.0.2.31 (maglev-master-192-0-2-31) tmp $ ls -al total 23427752 drwxr-xr-x 3 maglev maglev 4096 Jan 21 15:07 . drwxr-xr-x 11 root root 4096 Dec 28 11:56 .. -rw-r----- 1 maglev maglev 23989983232 Jan 21 15:00 DNAC-SW-2.1.2.5.iso -rw-r--r-- 1 maglev maglev 256 Jan 20 14:52 DNAC-SW-2.1.2.5.sig drwxr-x--- 2 maglev maglev 4096 Jan 21 13:42 USB -rw-r--r-- 1 maglev maglev 451 Jan 20 14:51 dnac2.1.2.5_cisco_image_verification_key.pub -rw------- 1 root root 98 Jan 21 17:07 nohup.out
[Fri Jan 22 00:19:45 UTC] maglev@192.0.2.31 (maglev-master-192-0-2-31) tmp
$ sync
[Fri Jan 22 00:19:16 UTC] maglev@192.0.2.31 (maglev-master-192-0-2-31) tmp $ sudo cat nohup.out [sudo] password for maglev: 5719+1 records in 5719+1 records out 23989983232 bytes (24 GB, 22 GiB) copied, 7190.3 s, 3.3 MB/s
書き込んだ USB メモリの中身の確認
dd コマンドによる書き込みの終わった USB メモリを mount して中身を確認します。
install-artifacts/packages/ にパッケージ情報がありますので、Package.yaml を探してパッケージのバージョンを確認し、目的のバージョンであることを確認します。パッケージのバージョン情報は DNA Center の Release Note に記載されています。(追記: 現行バージョンでは install-artifacts/release-metadata/release-metadata.yaml に DNA Center としてのバージョン情報が記載されています)
[Fri Jan 22 02:27:35 UTC] maglev@192.0.2.31 (maglev-master-192-0-2-31) ~ $ mount -l | grep sda [Fri Jan 22 02:27:37 UTC] maglev@192.0.2.31 (maglev-master-192-0-2-31) ~ $ cd /data/tmp [Fri Jan 22 02:27:40 UTC] maglev@192.0.2.31 (maglev-master-192-0-2-31) tmp $ ls DNAC-SW-2.1.2.5.iso DNAC-SW-2.1.2.5.sig USB dnac2.1.2.5_cisco_image_verification_key.pub nohup.out // mount point となるディレクトリが無い場合は作成してください。 [Fri Jan 22 02:27:40 UTC] maglev@192.0.2.31 (maglev-master-192-0-2-31) tmp $ ls -al USB total 8 drwxr-x--- 2 maglev maglev 4096 Jan 21 13:42 . drwxr-xr-x 3 maglev maglev 4096 Jan 21 15:07 .. [Fri Jan 22 02:27:48 UTC] maglev@192.0.2.31 (maglev-master-192-0-2-31) tmp $ sudo mount /dev/sda /data/tmp/USB [sudo] password for maglev: mount: /dev/sda is write-protected, mounting read-only [Fri Jan 22 02:29:05 UTC] maglev@192.0.2.31 (maglev-master-192-0-2-31) tmp $ ls ./USB/install-artifacts/packages/ 00-system 09-command-runner 18-ndp-platform 01-rbac-extensions 10-device-onboarding 19-ndp-base-analytics 02-platform-ui 11-base-provision-core 20-ndp-ui 03-ncp-system 12-access-control-application 21-assurance 04-automation-core 13-sd-access 22-dnac-platform 05-machine-reasoning 14-sensor-automation 23-dnac-search 06-network-visibility 15-application-registry 24-system-commons 07-image-management 16-application-policy 25-cloud-connectivity-tethering 08-path-trace 17-ssa 26-cloud-connectivity-data-hub [Fri Jan 22 02:29:28 UTC] maglev@192.0.2.31 (maglev-master-192-0-2-31) tmp $ cat ./USB/install-artifacts/packages/00-system/system-packages/Package.yaml manifestVersion: v2 kind: Package name: "system" version: "1.5.255" displayName: System abstract: Underlying system infrastructure for Cisco DNA Center. description: | Provides underlying system infrastructure for Cisco DNA Center like application life cycle management, backup & restore, high availability, authentication, authorization, security, etc. It can be updated through system updates. appstacks: - maglev-system:1.5.255 services: - maglev-system/agent:1.4.4.37 - maglev-system/event-manager:1.4.4.37 - maglev-system/monitoring-grafana:1.4.4.37 - maglev-system/kibana-logging:1.4.4.37 - maglev-system/workflow-ui:1.4.4.37 - maglev-system/remedycontroller:1.4.4.37 - maglev-system/jaeger:1.4.4.37
リカバリ作業
リカバリの前に、現行の DNA Center のデータをバックアップします。
CIMC KVM で F6 を User Defined Macro に登録して、マニュアルに従って USB メモリからリカバリを行います。
上記でアップロードした DNA Center の ISO イメージファイルなどは消去されます。
リカバリ後、USB メモリが挿さったままであれば、 再度 ISO イメージファイルをアップロードすることで物理的なアクセスなしにリカバリ作業を行うことができます。
参考情報
Cisco DNA Center Second-Generation Appliance Installation Guide, Release 2.1.2