キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
3270
閲覧回数
0
いいね!
0
コメント
mnagao
Cisco Employee
Cisco Employee

 

 

はじめに

このドキュメントでは 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 ページにて確認可能です。

sha512sum.png

 

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 イメージファイルなどは消去されます。

f6-macro.png

 

リカバリ後、USB メモリが挿さったままであれば、 再度 ISO イメージファイルをアップロードすることで物理的なアクセスなしにリカバリ作業を行うことができます。

 

 

参考情報

Cisco DNA Center Second-Generation Appliance Installation Guide, Release 2.1.2

 

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします