本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本文介紹使用HTTP伺服器重新映像Cisco Nexus儀表板節點的步驟,提供清晰的逐步指導,確保通過遠端HTTP託管映像部署進行標準化和高效的節點重新映像。
本文件所述內容不限於特定軟體和硬體版本。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
當Cisco Nexus Dashboard節點由於系統損壞、不支援的更新或無法訪問的GUI而發生故障時,管理員可以使用HTTP伺服器上託管的ISO重新映像該節點。該過程包括下載Nexus Dashboard ISO,將其託管在Web伺服器上,並使用CIMC(思科整合管理控制器)通過HTTP對映和引導ISO。這可實現高效的遠端節點恢復或重新安裝,作為群集恢復的一部分。
要通過HTTP伺服器執行ND重新映像,需要執行以下步驟:
步驟1.從思科網站下載韌體。
開啟software.cisco.com/download。
步驟2.訪問Nexus Dashboard介面並從可用版本選項中選擇適當的軟體版本(例如3.2(2m))。
舉例來說:
步驟3.將Nexus Dashboard軟體ISO映像複製到HTTP伺服器。
示例: http://x.x.x.x/iso/
步驟4.通過SSH/控制檯連線到思科整合管理控制器。
# ssh admin@cimc_ip
其中cimc_ip是CIMC IP地址。
舉例來說:
# ssh admin@x.x.x.x
admin@x.x.x.x's password:
system#
system# scope vmedia
system /vmedia #
將.iso映像對映到HTTP伺服器。
system /vmedia # map-www volume_name http://http_server_ip_and_path iso_file_name
其中:
volume_name是卷的名稱。
http_server_ip_and_path是HTTP伺服器的IP地址和.iso檔案位置的路徑。
iso_filename是.iso檔案的名稱。
附註:http_server_ip_and_path與iso_filename之間存在空格。
system /vmedia # map-www apic http://x.x.x.x/iso/ nd-dk9.3.2.2m.iso
Server username: admin
Server password:
Confirm password:
附註:輸入憑證並按Enter鍵。
檢查對映狀態:
system /vmedia # show mappings detail
The Map-Status must be shown as OK.
For Example:
system /vmedia # show mappings detail
Volume apic:
Map-Status: OK
Drive-Type: CD
Remote-Share: http://x.x.x.x/iso/
Remote-File:nd-dk9.3.2.2m.iso
Mount-Type: www
Mount-Options: noauto,username=admin,password=********3
system /vmedia #
如果對映失敗或在對映過程中出現錯誤,可以使用unmap命令刪除現有對映,然後再次嘗試對映。
Server # scope vmedia
Server /vmedia # show mappings
Volume Map-status Drive-type remote-share remote-file mount-type
------ ---------- ------------ ------------------- ------------------- -----------
Huu OK removable http://x.x.x.x/ rhel-server-6.1-x86_6.iso www
Server /vmedia # unmap Huu
Server /vmedia # show mappings
Volume Map-status Drive-type remote-share remote-file mount-type
------ ---------- ------------ ------------------- ------------------- -----------
連線到SOL以監控安裝過程:
system /vmedia # connect host
CISCO Serial Over LAN:
Press Ctrl+x to Exit the session
步驟5.從CIMC GUI的KVM控制檯重新通電。
Choose Power > Power Cycle System (cold boot) to power cycle the controller.
在SOL控制檯上:在引導過程中觀看螢幕,並準備在適當的時間按F6鍵以進入引導選擇選單。
舉例來說:
您還必須輸入BIOS密碼。預設密碼為password。
在啟動選擇選單中,選擇Cisco CIMC對映的vDVD2.00選項作為一次性啟動裝置。
步驟6.返回CIMC CLI並監控Connect Host的輸出。
監控CIMC cli ,當收到以下消息時:要加速安裝,請在接下來的10分鐘內輸入iso url,然後輸入帶有Nexus控制面板映像的http伺服器URL。
Boot000A* UEFI: Cisco CIMC-Mapped vDVD2.00 PciRoot(0x1)/Pci(0x8,0x1)/Pci(0x0,0x3)/USB(1,0)/USB(2,0)/Unit(3)/CDROM(1,0x35,0x5597ed)..BO'
+ return 1
+ '[' -n '' ']'
++ mount
++ grep /run/install/repo
++ cut -f 1 -d ' '
++ tr -d '[:digit:]'
++ true
+ usbdevice=
+ mkdir /mnt/usbdata
+ '[' -n '' ']'
+ '[' true = true ']'
+ read_iso_url
+ dmesg --console-off
+ true
+ echo 'To speed up the install, enter iso url. Type '\''skip'\'' to use local media:'
To speed up the install, enter iso url. Type 'skip' to use local media:
+ echo ' Either http://server/path/to/file or nfs:server:/path/to/file are supported'
Either http://server/path/to/file or nfs:server:/path/to/file are supported
+ read -r -p '? ' url
http://x.x.x.x197.204.4/iso/DCApps/ND/nd-dk9.3.2.1i.iso << Enter the http server details >>
+ '[' http://x.x.x.x197.204.4/iso/DCApps/ND/nd-dk9.3.2.1i.iso = skip ']'
+ '[' http://x.x.x.x197.204.4/iso/DCApps/ND/nd-dk9.3.2.1i.iso = '' ']'
+ '[' http = nfs: ']'
+ echo http://x.x.x.x197.204.4/iso/DCApps/ND/nd-dk9.3.2.1i.iso
+ grep -q '\[.*\]'
++ awk -F '/|:' '{print $4}'
+ urlip=x.x.x.x197.204.4
+ '[' -z x.x.x.x197.204.4 ']'
+ break
+ dmesg --console-on
+ '[' -n http://x.x.x.x197.204.4/iso/DCApps/ND/nd-dk9.3.2.1i.iso ']'
+ '[' http://x.x.x.x197.204.4/iso/DCApps/ND/nd-dk9.3.2.1i.iso '!=' skip ']'
+ dmesg --console-of
步驟 7. 輸入HTTP URL後,引導過程將繼續。
附註:選擇static選項,系統將要求您輸入介面名稱、管理IP地址和網關。
+ set +e
+ configured=0
+ interface=none
+ addr=none
+ gw=none
+ '[' 0 -eq 0 ']'
+ echo 'Configuring network interface'
Configuring network interface
+ echo 'type static, dhcp, bash for a shell to configure networking, or url to re-enter the url: '
type static, dhcp, bash for a shell to configure networking, or url to re-enter the url:
+ read -p '? ' ntype
? static << Enter the static to configure the networking >>
+ case $ntype in
+ configure_static
+ '[' none '!=' none ']'
附註:在鍵入靜態命令後,它將列出CIMC介面,選擇正確的介面。如果您選擇了錯誤的介面,則資料包丟失率將為100%,然後,在三次嘗試執行ping失敗後,它會再次要求選擇正確的介面,直到資料包丟失為0(如果您不知道介面),請依次選擇所有介面。
例如
+ echo 'Available interfaces'
Available interfaces
+ ls -l /sys/class/net
total 0
lrwxrwxrwx 1 root root 0 Aug 12 03:53 eno5 -> ../../devices/pci0000:40/0000:40:03.1/0000:46:00.0/0000:47:01.0/0000:49:00.0/0000:4a:00.0/0000:4b:00.0/net/eno5
lrwxrwxrwx 1 root root 0 Aug 12 03:53 eno6 -> ../../devices/pci0000:40/0000:40:03.1/0000:46:00.0/0000:47:01.0/0000:49:00.0/0000:4a:00.0/0000:4b:00.1/net/eno6
lrwxrwxrwx 1 root root 0 Aug 12 03:53 enp1s0f0 -> ../../devices/pci0000:00/0000:00:01.1/0000:01:00.0/net/enp1s0f0
lrwxrwxrwx 1 root root 0 Aug 12 03:53 enp1s0f1 -> ../../devices/pci0000:00/0000:00:01.1/0000:01:00.1/net/enp1s0f1
lrwxrwxrwx 1 root root 0 Aug 12 03:51 lo -> ../../devices/virtual/net/lo
+ read -p 'Interface to configure: ' interface
Interface to configure: enp1s0f0 << select the correct interface >>
+ read -p 'address: ' addr
附註:ND-NODE-L4需要格式為enp1s0fX的介面名稱,其中X是數字識別符號。SE-NODE-G2需要enoX格式,其中X是數字。
步驟8. 正確的介面檢查。
進入介面後,它將嘗試ping http伺服器,如果選定的介面正確,則資料包丟失率必須為0%,並開始從http伺服器提取映像。
舉例來說:在進入正確介面時出現0%的資料包丟失後。
Interface to configure: enp1s0f0
+ read -p 'address: ' addr
address: x.x.x.x/24
+ read -p 'gateway: ' gw
gateway:x.x.x.x
+ ip addr add x.x.x.x/24 dev enp1s0f0
+ ip link set enp1s0f0 up
+ ip route add default via x.x.x.x
++ seq 1 6
+ for count in $(seq 1 6)
+ ping -c 1 x.x.x.x
PING x.x.x.x (x.x.x.x): 56 data bytes
---x.x.x.x ping statistics ---
1 packets transmitted, 0 packets received, 100% packet loss
+ sleep 20
+ for count in $(seq 1 6)
+ ping -c x.x.x.x
PING x.x.x.x (x.x.x.x): 56 data bytes
64 bytes from x.x.x.x : seq=0 ttl=63 time=0.512 ms
---x.x.x.x ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 0.512/0.512/0.512 ms
+ configured=1
+ break
+ '[' 1 -eq 0 ']'
+ set -e
+ tmpiso=/tmp/cdrom.iso
+ echo 'Fetching http://x.x.x.x/iso/DCApps/ND/nd-dk9.3.2.2f.iso to /tmp/cdrom.iso'
Fetching http://x.x.x.x/iso/DCApps/ND/nd-dk9.3.2.2f.iso to /tmp/cdrom.iso >> started fetching the apic image from HTTP server
+ '[' http = nfs: ']'
+ download http://x.x.x.x/iso/DCApps/ND/nd-dk9.3.2.2f.iso /tmp/cdrom.iso
+ local url=http://x.x.x.x/iso/DCApps/ND/nd-dk9.3.2.2f.iso dest=/tmp/cdrom.iso tries=5
+ wget --server-response --no-check-certificate --tries=5 --progress=dot:mega --read-timeout=60 --output-document=/tmp/cdrom.iso.tmp http://x.x.x.x197.204.4/iso/DCApps/ND/nd-dk9.3.2.2f.iso
--2025-08-12 09:39:08-- http://x.x.x.x197.204.4/iso/DCApps/ND/nd-dk9.3.2.2f.iso
Connecting to x.x.x.x:80... connected.
HTTP request sent, awaiting response...
HTTP/1.1 200 OK
Date: Tue, 12 Aug 2025 09:39:09 GMT
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_wsgi/3.4 Python/2.7.5
Last-Modified: Tue, 10 Jun 2025 06:51:41 GMT
ETag: "2c66bd000-6373220f3b940"
Accept-Ranges: bytes
Content-Length: 11918888960
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: application/octet-stream
Length: 11918888960 (11G) [application/octet-stream]
Saving to: '/tmp/cdrom.iso.tmp'
如果您選擇了錯誤的介面,則資料包丟失率將為100%,在三次嘗試ping失敗後,它會再次要求選擇正確的介面。
舉例來說:進入錯誤介面後出現100%資料包丟失。
+ read -p 'Interface to configure: ' interface
Interface to configure: enp11s0
+ read -p 'address: ' addr
address: x.x.x.x/24
+ read -p 'gateway: ' gw
gateway: x.x.x.x
+ ip addr add x.x.x.x/24 dev enp11s0
+ ip link set enp11s0 up
+ ip route add default via x.x.x.x
++ seq 1 2
+ for count in '$(seq 1 2)'
+ ping -c 1 x.x.x.x
PING x.x.x.x (x.x.x.x) 56(84) bytes of data.
From x.x.x.x icmp_seq=1 Destination Host Unreachable
--- x.x.x.x ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
+ sleep 20
+ for count in '$(seq 1 2)'
+ ping -c 1 x.x.x.x
PING x.x.x.x (x.x.x.x) 56(84) bytes of data.
From x.x.x.x icmp_seq=1 Destination Host Unreachable
--- x.x.x.x ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
+ sleep 20
+ '[' 0 -eq 0 ']'
+ echo 'Configuring network interface'
Configuring network interface
+ echo 'type static, dhcp, bash for a shell to configure networking, or url to re-enter the url: ' <>
type static, dhcp, bash for a shell to configure networking, or url to re-enter the url:
+ read -p '? ' ntype
?
保持監控CIMC CLI並等待約40-50分鐘,您將在cli上獲得以下輸出。
+ log 'Shutting down Atomix Installer'
+ echo 'Shutting down Atomix Installer'
Shutting down Atomix Installer
+ log 'reboot: Power down'
+ echo 'reboot: Power down'
reboot: Power down
+ sleep 5
+ poweroff
+ ec[ 533.195532] sysrq: Emergency Sync
ho s
[ 533.195563] sysrq: Emergency Sync
[ 533.212106] sysrq: Emergency Sync
[ 533.212117] sysrq: Emergency Remount R/O
[ 533.212189] sysrq: Power Off
[ 533.212226] kvm: exiting hardware virtualization
[ 533.213874] EXT4-fs (sdf1): re-mounted. Opts: (null). Quota mode: none.
[ 533.215431] sd 1:0:0:0: [sdf] Synchronizing SCSI cache
[ 533.215749] EXT4-fs (dm-3): re-mounted. Opts: (null). Quota mode: none.
[ 533.216395] EXT4-fs (dm-1): re-mounted. Opts: (null). Quota mode: none.
[ 533.217221] EXT4-fs (sdf6): re-mounted. Opts: (null). Quota mode: none.
[ 533.217689] EXT4-fs (sdf4): re-mounted. Opts: (null). Quota mode: none.
[ 533.218965] Emergency Remount complete
[ 533.218997] Emergency Sync complete
[ 533.218997] Emergency Sync complete
[ 533.219002] Emergency Sync complete
[ 533.359024] sd 1:0:0:0: [sdf] Stopping disk
+ echo s
+ echo s
+ echo u
+ echo o
+ log 'Nap time'
+ echo 'Nap time'
Nap time
+ true
+ sleep 60
[ 535.571545] megaraid_sas 0000:41:00.0: megasas_disable_intr_fusion is called outbound_intr_mask:0x40000009
[ 535.692202] ACPI: PM: Preparing to enter system sleep state S5
[ 535.706849] reboot: Power down
步驟9. 關閉電源後退出SOL
等待,直到您在SOL控制檯中看到消息關閉,然後按下Ctrl和x(Ctrl+x)從SOL退出,然後再次登入CIMC並再次更改範圍。
(i) Change the scope to virtual media again:
system# scope vmedia
system /vmedia #
(ii) Unmap the .iso image that you mapped in 2.c:
system /vmedia # unmap volume_name
At the Save mapping prompt, enter yes if you want to save the mapping or no if you do not want to save the mapping. For example:
system /vmedia # unmap apic
Save mapping? Enther 'yes' or 'no' to confirm (CTRL-C to cancel) → yes
system /vmedia #
(iii) Connect back to SOL again:
system /vmedia # connect host
關閉電源後,您需要使用KVM重新開啟系統電源,然後繼續執行後續步驟。
步驟x.x.x.x首次啟動設定
[ 274.210045] nd_bootstrap.sh[2628]: INFO[0174] bootDisk: found disk=/dev/sdf bootPart=/dev/sdf4 espPart=/dev/sdf3
[ 274.224041] nd_bootstrap.sh[2628]: INFO[0174] boot devices/filesystems have been mounted
[ 274.236038] nd_bootstrap.sh[2628]: INFO[0174] |12231-start| ["expand-stub.bash" "/boot/efi/EFI/atx-current/kernel.efi"]
[ 274.251228] nd_bootstrap.sh[2628]: INFO[0174] |12231-out | 21870+1 records in
[ 274.262061] nd_bootstrap.sh[2628]: INFO[0174] |12231-out | 21870+1 records out
[ 274.272065] nd_bootstrap.sh[2628]: INFO[0174] |12231-out | 11197856 bytes (11 MB, 11 MiB) copied, 0.0716082 s, 156 MB/s
[ 274.287060] nd_bootstrap.sh[2628]: INFO[0174] |12231-out | 0+1 records in
[ 274.297060] nd_bootstrap.sh[2628]: INFO[0174] |12231-out | 0+1 records out
[ 274.307049] nd_bootstrap.sh[2628]: INFO[0174] |12231-out | 187 bytes copied, 7.2325e-05 s, 2.6 MB/s
[ 274.566030] nd_bootstrap.sh[2628]: INFO[0175] |12231-out | 102375+1 records in
[ 274.576055] nd_bootstrap.sh[2628]: INFO[0175] |12231-out | 102375+1 records out
[ 274.588059] nd_bootstrap.sh[2628]: INFO[0175] |12231-out | 52416297 bytes (52 MB, 50 MiB) copied, 0.329377 s, 159 MB/s
[ 274.604075] nd_bootstrap.sh[2628]: INFO[0175] |12231-out | 0+1 records in
[ OK ] Finished atomix-boot-setup.
[ 274.615055] nd_bootstrap.sh[2628]: INFO[0175] |12231-out | 0+1 records out
Starting Initial cloud-init job (pre-networking)...
[ 274.634046] nd_bootstrap.sh[2628]: INFO[0175] |12231-out | 82 bytes copied, 9.4287e-05 s, 870 kB/s
[ 274.656064] nd_bootstrap.sh[2628]: INFO[0175] |12231-exit | rc=0
[ 274.666047] nd_bootstrap.sh[2628]: INFO[0175] Boot() duration=175321
[ 274.837851] cloud-init[12253]: Cloud-init v. 24.1.3-0ubuntu1~22.04.5 running 'init-local' at Tue, 12 Aug 2025 09:53:39 +0000. Up 274.82 seconds.
Press any key to run first-boot setup on this console...
Starting Nexus Dashboard setup utility
Welcome to Nexus Dashboard 3.2.2f
Press Enter to manually bootstrap your first master node..
步驟11.配置Nexus Dashboard管理介面的管理員密碼和管理網路
Starting Nexus Dashboard setup utility
Welcome to Nexus Dashboard 3.2.2f
Press Enter to manually bootstrap your first master node...
Admin Password:
Reenter Admin Password:
Management Network:
IP Address/Mask: x.x.x.x/24
Gateway: x.x.x.x
重新輸入config?(y/N):否
System configured successfully
Initializing System on first boot. Please wait..
[ OK ] Listening on Network Service Netlink Socket.
[ OK ] Finished Initial cloud-init job (pre-networking).
[ OK ] Reached target Preparation for Network.
Starting Network Configuration...
[ OK ] Started Network Configuration.
[ OK ] Reached target Network.
Starting Wait for Network to be Configured...
步驟12. Nexus儀表板節點已準備登入。您可以使用其餘配置的管理介面IP登入到ND GUI
在控制檯上:
Ubuntu 22.04.4 LTS localhost ttyS0
# # #### # # # # ##### ##### # ##### # # ##### ### # ##### #####
# # # # # # # # # # # # # # # # # # # # # # # # # #
# # # ### # # # ##### # # ##### ##### ##### ##### # # ##### ##### # #
# # # # # # # # # # # # # # # # # # # # # # # # #
# # #### # # #### ##### ##### # # ##### # # ##### ### # # # # #####
System initialized successfully
[ 564.309561] cloud-init[12560]: Cloud-init v. 24.1.3-0ubuntu1~22.04.5 running 'modules:final' at Tue, 12 Aug 2025 09:58:28 +0000. Up 564.27 seconds.
ci-info: no authorized SSH keys fingerprints found for user ubuntu.
<14>Aug 12 09:58:29 cloud-init: #############################################################
<14>Aug 12 09:58:29 cloud-init: -----BEGIN SSH HOST KEY FINGERPRINTS-----
<14>Aug 12 09:58:29 cloud-init: 256 SHA256:vKu7Zj3MAP+vFOXaeW14HClEhAwrSpA9AqcUC4SZVlU root@localhost (ECDSA)
<14>Aug 12 09:58:29 cloud-init: 256 SHA256:I7eiUnQq6pZsoFPy+UxIUQ66jQOgHyG4zGuF6cAtSl0 root@localhost (ED25519)
<14>Aug 12 09:58:29 cloud-init: 3072 SHA256:SvodRIEgWzEAaQQdH2rlw0qLziBbv0e88VAGkt/ox14 root@localhost (RSA)
<14>Aug 12 09:58:29 cloud-init: -----END SSH HOST KEY FINGERPRINTS-----
<14>Aug 12 09:58:29 cloud-init: #############################################################
-----BEGIN SSH HOST KEY KEYS-----
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBf9S1BXcR48cWcIKhvfjLGYufJgycGIf1Yx8OpRsk4e1I+y80J/x5dfX90h+3cwt9kjH8IubMpleK66mlW+xd0= root@localhost
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGWTN7hoB2/dYSVA0gpV88FWh2iRD2hwJ2LMryhhhQHg root@localhost
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCeM+In/dciDwCKEPLV/97oIA5pHHRBRf0Lij5NcUwzYAf9q/m/lUsdzv2zVYc4WAJd8uX9ZxDAGa9D358Tvxh/lKzBKqNQpQdAjyby6IGGui+UK9Mq1RVxoUkFtIIJ97IzaBoR9ScnucMXpu5mp5OAjws+VrUhKk1XNFAui1QgW507I0Xk+2AaR/W0rwJCQRsHx3orDxCwJkDQDiQQAf/SrvSnuAe/8pSuCuvscqPjZeIF7LnJ6dAms0XXrhbxRQ8c4q/Ud6RL2sKjinlZPfqsbVFSpjbJ9m4jtXvuGE5llyJbS1FcU8DsFbkY6HH9JQru49iXcd5mKt7fyPg0ypp7Hl+2g07mEcYlEMBXxNZw+HqNW27xp0ZkRfWO+Zl2t0s6DjM0LHWqV0wZLYqqBTlQIkhf2irM6mr7s2bVAcvEsuZzG9d7uY8aC/CR5GwkgKW8s4oI7m56ccdRPHV0qQFXnBybBToUInmIK+1fxtaUXYbQbQ83wxNOvG7O55gDsws= root@localhost
-----END SSH HOST KEY KEYS-----
[ 564.364630] cloud-init[12560]: Cloud-init v. 24.1.3-0ubuntu1~22.04.5 finished at Tue, 12 Aug 2025 09:58:29 +0000. Datasource DataSourceAtomix [sources=/var/lib/cloud/seed/atomix][dsmode=net]. Up 564.36 seconds
Please wait for system to boot : [########################################] 100%
System up, please wait for UI to be online.
System UI online, please login to https://x.x.x.x to continue. << Access the Nexus Dashboard GUI via this URL >>
Ubuntu 22.04.4 LTS localhost ttyS0
localhost login:
在KVM上:
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
29-Aug-2025
|
初始版本 |