This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
storage:brocade_cmd [2021/03/31 17:40] manu |
storage:brocade_cmd [2025/05/15 11:38] (current) manu [Virtual Fabric] |
||
---|---|---|---|
Line 210: | Line 210: | ||
Download and install the new firmware (disruptive for most kind of switches): | Download and install the new firmware (disruptive for most kind of switches): | ||
<cli prompt='>'> | <cli prompt='>'> | ||
- | SAN32B_3_146:admin> firmwaredownload -p ftp | + | SAN32B_3_146:admin> firmwaredownload -p sftp 10.64.210.103,ibm,/export/software/v4.3.0,password |
- | 10.64.210.103,ibm,/v4.3.0/release.plist,password | + | |
Server IP: 10.64.210.103, Protocol IPv4 | Server IP: 10.64.210.103, Protocol IPv4 | ||
Checking system settings for firmwaredownload... | Checking system settings for firmwaredownload... | ||
Line 246: | Line 245: | ||
</cli> | </cli> | ||
+ | ==== FPGA upgrade ==== | ||
+ | |||
+ | The firmware download does not automatically update the FPGA firmware into the FPGA flash memory of the system. If an updated FPGA version is included in a Fabric OS firmware update, after the firmware download is completed, you must enter the fpgaupgrade command to update the FPGA firmware | ||
+ | <cli prompt='>'> | ||
+ | switch:admin> fpgaupgrade --latest | ||
+ | Current Latest | ||
+ | ------------------------- | ||
+ | 0x05.05 0x06.06 | ||
+ | </cli> | ||
+ | |||
+ | Upgrade FGPA to latest level | ||
+ | <cli prompt='>'> | ||
+ | switch:admin> fpgaupgrade | ||
+ | This is a disruptive operation and will require a power-cycle after the completion of the operation. | ||
+ | Do you want to continue (y/n) ? | ||
+ | y | ||
+ | Programming new FPGA, this may take a few minutes ... | ||
+ | Device #1 IDCODE is 0310A0DD | ||
+ | full-chip erasing Max 10 FPGA device(s) ... | ||
+ | programming Max 10 FPGA CFM0 block at sector 5 ... | ||
+ | ... | ||
+ | Exit code = 0... Success | ||
+ | Programmed new FPGA successfully. Please power-cycle for it to take effect. | ||
+ | </cli> | ||
+ | |||
+ | If not success, do not reboot the SAN switch, correct first the error | ||
+ | <cli prompt='>'> | ||
+ | switch:admin> reboot | ||
+ | </cli> | ||
==== SSH keys import ==== | ==== SSH keys import ==== | ||
Line 327: | Line 355: | ||
<cli prompt='>'> | <cli prompt='>'> | ||
switch:admin> zoneobjectrename "alias1","aliasold" | switch:admin> zoneobjectrename "alias1","aliasold" | ||
+ | </cli> | ||
+ | |||
+ | ==== Command to compare active zoning and defined ==== | ||
+ | |||
+ | Compare active and defined config | ||
+ | <cli prompt='>'> | ||
+ | san01:FID128:admin> cfgshow --transdiffsonly | ||
+ | No change in configuration defined | ||
+ | </cli> | ||
+ | |||
+ | If you have specific zone you wish to check you can go with the command zone –validate {zone_name}, example output: | ||
+ | <cli prompt='>'> | ||
+ | switch> zone --validate Z_linux002_storage001_FA8fB | ||
+ | Defined configuration: | ||
+ | zone: Z_linux002_storage001_FA8fB | ||
+ | A_storage001_FA8fb; a_linux002_hba_a | ||
+ | |||
+ | Effective configuration: | ||
+ | zone: Z_linux002_storage001_FA8fB | ||
+ | 50:00:09:72:08:28:55:3d | ||
+ | 21:00:00:1b:32:8c:71:c6 | ||
+ | </cli> | ||
+ | |||
+ | Count if a zone is available in active and defined config: | ||
+ | * 1 means, only available in one config | ||
+ | <cli prompt='$'> | ||
+ | $ ssh -l admin switch cfgshow | grep "zone" | sort | uniq -c | ||
+ | admin@switch's password: | ||
+ | 1 zone: zone_storage3257_FA7bA_RTPUS | ||
+ | 2 zone: zone_storage3791_10aA_fdsa | ||
+ | 2 zone: zone_storage3791_10agfda | ||
+ | 2 zone: zone_storage3791_efs | ||
+ | 2 zone: zone_storage3791_vfda | ||
+ | 2 zone: zone_storage3791_grw | ||
+ | 2 zone: zone_storage3791_fdsbaa | ||
+ | 2 zone: zone_storage3791_vfaf | ||
</cli> | </cli> | ||
Line 341: | Line 405: | ||
Check if the WWN, PID or alias is still connected or not into the whole fabric | Check if the WWN, PID or alias is still connected or not into the whole fabric | ||
<cli prompt='>'> | <cli prompt='>'> | ||
- | DCX01:FID128:admin> nodefind V7K5_C2_1 | + | DCX01:FID128:admin> nodefind 50:06:04:8a:d5:4f:23:10 |
Remote: | Remote: | ||
Type Pid COS PortName NodeName | Type Pid COS PortName NodeName | ||
- | N 15f8c0; 3;50:05:07:68:11:11:11:97;50:05:07:68:11:00:11:97; | + | N 40a500; 3;50:06:04:8a:d5:4f:23:10;50:06:04:8a:d5:4f:23:10; |
FC4s: FCP | FC4s: FCP | ||
- | Fabric Port Name: 2e:70:00:27:11:11:8d:04 | + | PortSymb: [38] "EMC SYMMETRIX 000000000001 " |
- | Permanent Port Name: 50:05:07:68:11:11:11:97 | + | NodeSymb: [38] "EMC SYMMETRIX 000000000001 " |
+ | Fabric Port Name: 20:02:00:05:1e:32:12:01 | ||
+ | Permanent Port Name: 50:06:04:8a:d5:4f:23:10 | ||
Device type: Physical Initiator+Target | Device type: Physical Initiator+Target | ||
- | Port Index: 368 | + | Port Index: 165 |
- | Share Area: Yes | + | Share Area: No |
Device Shared in Other AD: No | Device Shared in Other AD: No | ||
Redirect: No | Redirect: No | ||
Partial: No | Partial: No | ||
- | Aliases: V7K5_host1 V7K5_C2_1 | + | Aliases: Symm0001_alias1 |
DCX01:FID128:admin> nodefind V7K3_C2_4 | DCX01:FID128:admin> nodefind V7K3_C2_4 | ||
No device found | No device found | ||
</cli> | </cli> | ||
+ | |||
+ | Let’s analyze the output. | ||
+ | |||
+ | Remote means that this WWN is connected to another switch in the Fabric. | ||
+ | 40a500 – is a 24bit (Core PID format) FC Address. I mentioned FC Addressing in Fibre Channel addressing entry if you wish to refresh the knowledge. But in few words – First 8 bits are Domain ID, another 8 bits are Area ID, and last 8 bits are Node ID – 00 or AP_PA, so: | ||
+ | 40 – this is the Domain ID | ||
+ | a5 – this is the Area ID – a5 hex = 165 dec. As you can see this is exactly – our Port Index. | ||
+ | 00 – this is the Node ID – 00, because to this port only one Node is connected directly / No NPIV. If this switch required shared area addressing (basically more than 255), the first 8 bit of Node ID would be "borrowed" as Area ID as well. | ||
+ | Port Index: 165 – is already given (as hex) in Core PID Address. | ||
+ | |||
+ | <cli prompt='>'> | ||
+ | switch01> fabricshow | ||
+ | |||
+ | Switch ID Worldwide Name Enet IP Addr FC IP Addr Name | ||
+ | ------------------------------------------------------------------------- | ||
+ | 23: fffc17 10:00:00:05:1e:13:1c:22 192.168.100.3 0.0.0.0 >"switch01" | ||
+ | 24: fffc18 10:00:00:05:1e:13:6e:f2 192.168.100.3 0.0.0.0 "switch04" | ||
+ | 62: fffc3e 10:00:00:05:1e:13:0a:13 192.168.75.1 0.0.0.0 "switch02" | ||
+ | 64: fffc40 10:00:00:05:1e:55:63:3d 192.168.100.3 0.0.0.0 "switch05" | ||
+ | 101: fffc65 10:00:00:05:1e:55:33:11 192.168.75.2 0.0.0.0 "switch06" | ||
+ | 105: fffc69 10:00:00:05:1e:32:64:01 192.168.117.1 0.0.0.0 "switch07" | ||
</cli> | </cli> | ||
+ | |||
+ | Above we see the output of our Fabric. What interests us is the ID of the Switch. FFFCxx is the Address of the Domain Controller – xx represents the Domain ID. This is considered as the name/ID of the switch. And there it is – our Switch with Domain_ID=40 is switch05. | ||
<cli prompt='>'> | <cli prompt='>'> | ||
Line 1195: | Line 1284: | ||
Assign a port to a virtual fabric (port will be disabled for this operation) | Assign a port to a virtual fabric (port will be disabled for this operation) | ||
lscfg --config 99 -port 5 | lscfg --config 99 -port 5 | ||
+ | |||
+ | FIXME To use fosexec, you have to allow it into **configure** to authorize **Remote fosexec feature** | ||
Start a command under a specific fabric ID (FID)FID can be all | Start a command under a specific fabric ID (FID)FID can be all | ||
Line 1208: | Line 1299: | ||
Change activation licensed ports (Port on demand) | Change activation licensed ports (Port on demand) | ||
- | <cli prompt='#'> | + | <cli prompt='>'> |
sansw1:FID128:admin> switchshow | sansw1:FID128:admin> switchshow | ||
switchName: sansw1 | switchName: sansw1 | ||
Line 1224: | Line 1315: | ||
</cli> | </cli> | ||
- | <cli prompt='#'> | + | <cli prompt='>'> |
sansw1:FID128:admin> licenseshow | sansw1:FID128:admin> licenseshow | ||
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx: | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx: | ||
Line 1231: | Line 1322: | ||
</cli> | </cli> | ||
- | <cli prompt='#'> | + | <cli prompt='>'> |
sansw1:FID128:admin> licenseport --show | sansw1:FID128:admin> licenseport --show | ||
48 SFP-based ports are available in this switch | 48 SFP-based ports are available in this switch | ||
Line 1261: | Line 1352: | ||
Enable license (reserve) to a port or range 0-2 | Enable license (reserve) to a port or range 0-2 | ||
- | <cli prompt='#'> | + | <cli prompt='>'> |
sansw1:FID128:admin> licenseport --reserve 0-2 | sansw1:FID128:admin> licenseport --reserve 0-2 | ||
</cli> | </cli> | ||