Table of Contents
NetApp E-Series related tipps and tricks
account on NetApp E-Series CLI
user: shellUsr password: wy3oo&w4
account on Dell MD devices CLI
user: shellUsr password: DF4m/2>
revive drives from CLI automatically
vdmRecoverAllRAIDVols 1,1
show current status of DA issues?
sobs "class=CrushDrives" vdmShowDriveList getConsoleOutput
settings for VKI_EDIT_OPTIONS to enable debug
vdmEnableCrushBackgroundOps=0 vdmCrushDisableLegacyDriveRevive=0
next steps for the titan issue:
reseat drive with yellow sign clear VKI_EDIT_OPTIONS reboot controllers with pause in between
Debug sessions after DA issue session 1 session 2 session 3 session 4
change SND type from generic to dmmm
[root@nesh-gpfs1 mmfs]# mmchconfig updateNsdType=/root/xxx mmchconfig: Command successfully completed mmchconfig: 6027-1371 Propagating the cluster configuration data to all affected nodes. This is an asynchronous process. [root@nesh-gpfs1 mmfs]#
referenced input file contains NSD name and the type dmm for dm-multipath or generic for /dev/sdX http://www.ibm.com/support/knowledgecenter/STXKQY_4.2.0/com.ibm.spectrum.scale.v4r2.pdg.doc/bl1pdg_underlyingmultipathdevice.htm
some unsorted E-Series console commands grabbed from remote sessions:
chall iopShowIoMethod ioPerfMonEnable iopTrack iopTrack 1 vdall luall 3 (?) iopPerfMonRestart evfShowVol($i,99,0,0,0,0,0,0,0,0)
A support bundle prodices lots of files. In state-capture-data.txt
some diagnostc information can be found. amenck$ grep Executing state-capture-data.txt
shows the commands.
fox:120-91_20161220 amenck$ grep -h Executing * Executing dqlist(0,0,0,0,0,0,0,0,0,0) on controller A: Executing productInventoryShow(0,0,0,0,0,0,0,0,0,0) on controller A: Executing evfShowOwnership(0,0,0,0,0,0,0,0,0,0) on controller A: Executing cmgrShow(0,0,0,0,0,0,0,0,0,0) on controller A: Executing vdmShowDriveList(0,0,0,0,0,0,0,0,0,0) on controller A: Executing vdmShowRAIDVolList(0,0,0,0,0,0,0,0,0,0) on controller A: Executing vdmDrmShowMgr(0,0,0,0,0,0,0,0,0,0) on controller A: Executing evfShowVol(2049,99,0,0,0,0,0,0,0,0) on controller A: Executing evfShowVol(2050,99,0,0,0,0,0,0,0,0) on controller A: Executing evfShowVol(2051,99,0,0,0,0,0,0,0,0) on controller A: Executing evfShowVol(16384,99,0,0,0,0,0,0,0,0) on controller A: Executing vdmShowVGInfo(1,0,0,0,0,0,0,0,0,0) on controller A: Executing vdmShowDirtyStripes(0,1,0,0,0,0,0,0,0,0) on controller A: Executing vdall(0,0,0,0,0,0,0,0,0,0) on controller A: Executing vdmShowVols(0,0,0,0,0,0,0,0,0,0) on controller A: Executing bmgrShow(15,0,0,0,0,0,0,0,0,0) on controller A: Executing bidShow(255,0,0,0,0,0,0,0,0,0) on controller A: Executing ionShow(12,0,0,0,0,0,0,0,0,0) on controller A: Executing ionShow(99,0,0,0,0,0,0,0,0,0) on controller A: Executing discreteLineTableShow(0,0,0,0,0,0,0,0,0,0) on controller A: Executing ssmShowSubTree(2,99,0,0,0,0,0,0,0,0) on controller A: Executing ssmShowSubTree(2,0,0,0,0,0,0,0,0,0) on controller A: Executing ssmShowSubTree(2,1,0,0,0,0,0,0,0,0) on controller A: Executing ssmShowSubTree(2,2,0,0,0,0,0,0,0,0) on controller A: Executing ssmShowSubTree(2,3,0,0,0,0,0,0,0,0) on controller A: Executing ssmDumpEncl(100,0,0,0,0,0,0,0,0,0) on controller A: Executing dcmmShow(1,0,0,0,0,0,0,0,0,0) on controller A: Executing excLogShow(0,0,0,0,0,0,0,0,0,0) on controller A: Executing hwLogShow(0,0,0,0,0,0,0,0,0,0) on controller A: Executing spmShowMaps(0,0,0,0,0,0,0,0,0,0) on controller A: Executing spmShow(0,0,0,0,0,0,0,0,0,0) on controller A: Executing getObjectGraph_MT(1,0,0,0,0,0,0,0,0,0) on controller A: Executing getObjectGraph_MT(4,0,0,0,0,0,0,0,0,0) on controller A: Executing getObjectGraph_MT(8,0,0,0,0,0,0,0,0,0) on controller A: Executing ccmShowState(0,0,0,0,0,0,0,0,0,0) on controller A: Executing netStateCapture(0,0,0,0,0,0,0,0,0,0) on controller A: Executing sysCheckStack(0,0,0,0,0,0,0,0,0,0) on controller A: Executing taskInfoAll(4096,0,0,0,0,0,0,0,0,0) on controller A: Executing tpgmShowSummary(0,0,0,0,0,0,0,0,0,0) on controller A: Executing sasStateCapture(0,0,0,0,0,0,0,0,0,0) on controller A: Executing ccmShowCacheStore(0,0,0,0,0,0,0,0,0,0) on controller A: Executing hcvhShow(0,0,0,0,0,0,0,0,0,0) on controller A: Executing admStateCapture(0,0,0,0,0,0,0,0,0,0) on controller A: Executing dsmShow(1,0,0,0,0,0,0,0,0,0) on controller A: Executing sstorStateCapture(0,0,0,0,0,0,0,0,0,0) on controller A: Executing ioshipShow(0,0,0,0,0,0,0,0,0,0) on controller A: Executing ioshipShowLoadBalanceAll(11,0,0,0,0,0,0,0,0,0) on controller A: Executing fdiCapture(0,0,0,0,0,0,0,0,0,0) on controller A: Executing fcmAnalyze(-1,1,0,0,0,0,0,0,0,0) on controller A: Executing bdbmShowBackupDatabaseInfo(0,0,0,0,0,0,0,0,0,0) on controller A: Executing arvmStateCapture(0,0,0,0,0,0,0,0,0,0) on controller A: Executing concatCapture(1,0,0,0,0,0,0,0,0,0) on controller A: Executing concatCapture(2,0,0,0,0,0,0,0,0,0) on controller A: Executing pitmCapture(0,0,0,0,0,0,0,0,0,0) on controller A: Executing pitmShow(): Executing pitmShowCGs(): Executing pitmShowCGViews(): Executing pitmCapturePITGroups(1,0,0,0,0,0,0,0,0,0) on controller A: Executing pitmCapturePITGroups(2,0,0,0,0,0,0,0,0,0) on controller A: Executing pitmCaptureViewRepos(1,0,0,0,0,0,0,0,0,0) on controller A: Executing pitmCaptureViewRepos(2,0,0,0,0,0,0,0,0,0) on controller A: Executing dcdShow(0,0,0,0,0,0,0,0,0,0) on controller A: Executing dcdmShow(0,0,0,0,0,0,0,0,0,0) on controller A: Executing tpvmCaptureRepositoryVols(1,0,0,0,0,0,0,0,0,0) on controller A: Executing tpvmCaptureRepositoryVols(2,0,0,0,0,0,0,0,0,0) on controller A: Executing tpvmCaptureRepositoryVols(3,0,0,0,0,0,0,0,0,0) on controller A: Executing tpvmCaptureRepositoryVols(4,0,0,0,0,0,0,0,0,0) on controller A: Executing safeShowFeatureStates(0,0,0,0,0,0,0,0,0,0) on controller A: Executing fbiShow(0,0,0,0,0,0,0,0,0,0) on controller A: Executing fbmShow(0,0,0,0,0,0,0,0,0,0) on controller A: Executing vdmShowDiskPools(0,0,0,0,0,0,0,0,0,0) on controller A: Executing arvmStatisticsCapture(0,0,0,0,0,0,0,0,0,0) on controller A: Executing rpaShowState(0,0,0,0,0,0,0,0,0,0) on controller A: Executing lockShow(0,0,0,0,0,0,0,0,0,0) on controller A: Executing vdmShowOosPieces(0,0,0,0,0,0,0,0,0,0) on controller A: Executing pasShow(129,0,0,0,0,0,0,0,0,0) on controller A: Executing iopDetuneShowAverages(0,0,0,0,0,0,0,0,0,0) on controller A: Executing iopDetuneShowMax(0,0,0,0,0,0,0,0,0,0) on controller A: Executing iopDetuneShow(0,0,0,0,0,0,0,0,0,0) on controller A: Executing dnmShowEnclosures(0,0,0,0,0,0,0,0,0,0) on controller A: Executing ftdcrShow(0,0,0,0,0,0,0,0,0,0) on controller A: Executing ftdcmShow(0,0,0,0,0,0,0,0,0,0) on controller A: Executing dqcfgShow(0,0,0,0,0,0,0,0,0,0) on controller A: Executing vkiMemShow(0,0,0,0,0,0,0,0,0,0) on controller A: Executing iosFdShow(0,0,0,0,0,0,0,0,0,0) on controller A: Executing xcpylStateCapture(0,0,0,0,0,0,0,0,0,0) on controller A: Executing pdmShow(3,1,0,0,0,0,0,0,0,0) on controller A: Executing wlcIoLoggerStatusShow(0,0,0,0,0,0,0,0,0,0) on controller A: Executing wlcPerfLoggerStatusShow(0,0,0,0,0,0,0,0,0,0) on controller A: Executing vdmShowExclOpAgents(0,0,0,0,0,0,0,0,0,0) on controller A: Executing lemShow(2,0,0,0,0,0,0,0,0,0) on controller A: Executing dqlist(0,0,0,0,0,0,0,0,0,0) on controller B: Executing productInventoryShow(0,0,0,0,0,0,0,0,0,0) on controller B: Executing evfShowOwnership(0,0,0,0,0,0,0,0,0,0) on controller B: Executing cmgrShow(0,0,0,0,0,0,0,0,0,0) on controller B: Executing vdmShowDriveList(0,0,0,0,0,0,0,0,0,0) on controller B: Executing vdmShowRAIDVolList(0,0,0,0,0,0,0,0,0,0) on controller B: Executing vdmDrmShowMgr(0,0,0,0,0,0,0,0,0,0) on controller B: Executing evfShowVol(2049,99,0,0,0,0,0,0,0,0) on controller B: Executing evfShowVol(2050,99,0,0,0,0,0,0,0,0) on controller B: Executing evfShowVol(2051,99,0,0,0,0,0,0,0,0) on controller B: Executing evfShowVol(16384,99,0,0,0,0,0,0,0,0) on controller B: Executing vdmShowVGInfo(1,0,0,0,0,0,0,0,0,0) on controller B: Executing vdmShowDirtyStripes(0,1,0,0,0,0,0,0,0,0) on controller B: Executing vdall(0,0,0,0,0,0,0,0,0,0) on controller B: Executing vdmShowVols(0,0,0,0,0,0,0,0,0,0) on controller B: Executing bmgrShow(15,0,0,0,0,0,0,0,0,0) on controller B: Executing bidShow(255,0,0,0,0,0,0,0,0,0) on controller B: Executing ionShow(12,0,0,0,0,0,0,0,0,0) on controller B: Executing ionShow(99,0,0,0,0,0,0,0,0,0) on controller B: Executing discreteLineTableShow(0,0,0,0,0,0,0,0,0,0) on controller B: Executing ssmShowSubTree(2,99,0,0,0,0,0,0,0,0) on controller B: Executing ssmShowSubTree(2,0,0,0,0,0,0,0,0,0) on controller B: Executing ssmShowSubTree(2,1,0,0,0,0,0,0,0,0) on controller B: Executing ssmShowSubTree(2,2,0,0,0,0,0,0,0,0) on controller B: Executing ssmShowSubTree(2,3,0,0,0,0,0,0,0,0) on controller B: Executing ssmDumpEncl(100,0,0,0,0,0,0,0,0,0) on controller B: Executing dcmmShow(1,0,0,0,0,0,0,0,0,0) on controller B: Executing excLogShow(0,0,0,0,0,0,0,0,0,0) on controller B: Executing hwLogShow(0,0,0,0,0,0,0,0,0,0) on controller B: Executing spmShowMaps(0,0,0,0,0,0,0,0,0,0) on controller B: Executing spmShow(0,0,0,0,0,0,0,0,0,0) on controller B: Executing getObjectGraph_MT(1,0,0,0,0,0,0,0,0,0) on controller B: Executing getObjectGraph_MT(4,0,0,0,0,0,0,0,0,0) on controller B: Executing getObjectGraph_MT(8,0,0,0,0,0,0,0,0,0) on controller B: Executing ccmShowState(0,0,0,0,0,0,0,0,0,0) on controller B: Executing netStateCapture(0,0,0,0,0,0,0,0,0,0) on controller B: Executing sysCheckStack(0,0,0,0,0,0,0,0,0,0) on controller B: Executing taskInfoAll(4096,0,0,0,0,0,0,0,0,0) on controller B: Executing tpgmShowSummary(0,0,0,0,0,0,0,0,0,0) on controller B: Executing sasStateCapture(0,0,0,0,0,0,0,0,0,0) on controller B: Executing ccmShowCacheStore(0,0,0,0,0,0,0,0,0,0) on controller B: Executing hcvhShow(0,0,0,0,0,0,0,0,0,0) on controller B: Executing admStateCapture(0,0,0,0,0,0,0,0,0,0) on controller B: Executing dsmShow(1,0,0,0,0,0,0,0,0,0) on controller B: Executing sstorStateCapture(0,0,0,0,0,0,0,0,0,0) on controller B: Executing ioshipShow(0,0,0,0,0,0,0,0,0,0) on controller B: Executing ioshipShowLoadBalanceAll(11,0,0,0,0,0,0,0,0,0) on controller B: Executing fdiCapture(0,0,0,0,0,0,0,0,0,0) on controller B: Executing fcmAnalyze(-1,1,0,0,0,0,0,0,0,0) on controller B: Executing bdbmShowBackupDatabaseInfo(0,0,0,0,0,0,0,0,0,0) on controller B: Executing arvmStateCapture(0,0,0,0,0,0,0,0,0,0) on controller B: Executing concatCapture(1,0,0,0,0,0,0,0,0,0) on controller B: Executing concatCapture(2,0,0,0,0,0,0,0,0,0) on controller B: Executing pitmCapture(0,0,0,0,0,0,0,0,0,0) on controller B: Executing pitmShow(): Executing pitmShowCGs(): Executing pitmShowCGViews(): Executing pitmCapturePITGroups(1,0,0,0,0,0,0,0,0,0) on controller B: Executing pitmCapturePITGroups(2,0,0,0,0,0,0,0,0,0) on controller B: Executing pitmCaptureViewRepos(1,0,0,0,0,0,0,0,0,0) on controller B: Executing pitmCaptureViewRepos(2,0,0,0,0,0,0,0,0,0) on controller B: Executing dcdShow(0,0,0,0,0,0,0,0,0,0) on controller B: Executing dcdmShow(0,0,0,0,0,0,0,0,0,0) on controller B: Executing tpvmCaptureRepositoryVols(1,0,0,0,0,0,0,0,0,0) on controller B: Executing tpvmCaptureRepositoryVols(2,0,0,0,0,0,0,0,0,0) on controller B: Executing tpvmCaptureRepositoryVols(3,0,0,0,0,0,0,0,0,0) on controller B: Executing tpvmCaptureRepositoryVols(4,0,0,0,0,0,0,0,0,0) on controller B: Executing safeShowFeatureStates(0,0,0,0,0,0,0,0,0,0) on controller B: Executing fbiShow(0,0,0,0,0,0,0,0,0,0) on controller B: Executing fbmShow(0,0,0,0,0,0,0,0,0,0) on controller B: Executing vdmShowDiskPools(0,0,0,0,0,0,0,0,0,0) on controller B: Executing arvmStatisticsCapture(0,0,0,0,0,0,0,0,0,0) on controller B: Executing rpaShowState(0,0,0,0,0,0,0,0,0,0) on controller B: Executing lockShow(0,0,0,0,0,0,0,0,0,0) on controller B: Executing vdmShowOosPieces(0,0,0,0,0,0,0,0,0,0) on controller B: Executing pasShow(129,0,0,0,0,0,0,0,0,0) on controller B: Executing iopDetuneShowAverages(0,0,0,0,0,0,0,0,0,0) on controller B: Executing iopDetuneShowMax(0,0,0,0,0,0,0,0,0,0) on controller B: Executing iopDetuneShow(0,0,0,0,0,0,0,0,0,0) on controller B: Executing dnmShowEnclosures(0,0,0,0,0,0,0,0,0,0) on controller B: Executing ftdcrShow(0,0,0,0,0,0,0,0,0,0) on controller B: Executing ftdcmShow(0,0,0,0,0,0,0,0,0,0) on controller B: Executing dqcfgShow(0,0,0,0,0,0,0,0,0,0) on controller B: Executing vkiMemShow(0,0,0,0,0,0,0,0,0,0) on controller B: Executing iosFdShow(0,0,0,0,0,0,0,0,0,0) on controller B: Executing xcpylStateCapture(0,0,0,0,0,0,0,0,0,0) on controller B: Executing pdmShow(3,1,0,0,0,0,0,0,0,0) on controller B: Executing wlcIoLoggerStatusShow(0,0,0,0,0,0,0,0,0,0) on controller B: Executing wlcPerfLoggerStatusShow(0,0,0,0,0,0,0,0,0,0) on controller B: Executing vdmShowExclOpAgents(0,0,0,0,0,0,0,0,0,0) on controller B: Executing lemShow(2,0,0,0,0,0,0,0,0,0) on controller B: fox:120-91_20161220 amenck$
reset GUI password
revive controller when database is corrupt
When using disks of a newer system (e.g. disks from 5700 or 2800 in 5600), the primary database might get corrupted which results in controller lockdowns. The symptoms might look strange, as one controller reports the primary and alternate controllers in OPTIMAL state while the other controller reports a lockdown.
This can be cleared from the serial console:
-> VKI_EDIT_OPTIONS Edit Application Scripts (disabled) Enter 'I' to insert statement; 'D' to delete statement; 'C' to clear all options; '+' to enable debug options; 'Q' to quit i Enter statements to insert (exit insert mode with newline only): dbmWipeAllAtSOD=1 Edit Application Scripts (disabled) 1) dbmWipeAllAtSOD=1 Enter 'I' to insert statement; 'D' to delete statement; 'C' to clear all options; '+' to enable debug options; 'Q' to quit + Edit Application Scripts (enabled) 1) dbmWipeAllAtSOD=1 Enter 'I' to insert statement; 'D' to delete statement; 'C' to clear all options; '-' to disable debug options; 'Q' to quit q Commit changes to NVSRAM? (y/n) y value = 0 = 0x0
After that, the lockdown must be cleared which results in controller reboot:
-> lemClearLockdown
clear recovery state from CLI
To clear the recovery state of the system either the GUI can be used, or the following command can be issued:
-> cancelDatabaseRecoveryMode_MT SYMbol process complete, retCode: RETCODE_OK value = 0 = 0x0 ->
wipe single disk with the following command. That command has two options: option 1: reboot option 0: disk need to be resated
dsmWipe <devnum>,0 dsmWipe <devnum>,1
display SAS addresses of attached drawers in the EBODs
The E5700 system at a customer was delivered with wrong or not set SAS IDs for a couple of drawers. This caused the system to malfunction. To repair this behavior two methods are available:\n
- use commands to connect to the IOM from the controller shell and issue manufacturing commands to set the MAC adddresses manually. This method needs the manufacturing account.
- follow a procedure to trigger an automated repair by the software on the IOM or on the controller. This procedure is limited to one (misconfigured) drawer at a time
procedure to trigger selfhealing on all drawers of a Trafford tray:
- power off the system
- disconnect all SAS cabling to the particular box
- remove both fan units in the back of the box
- unplug the snake cables of drawers 2-5
- put back the fan units
- power on the system and wait for two minutes. The routine shall repair the missing MAC Address information
- power off the system and repeat with the other drawers (steps 3-6)
SAS address of the system can be displyed used the sasShowAllExpanders command
-> sasShowAllExpanders ..................................................................... SAS Expanders ............................................................................ Ch : DevH : ParH : EnclH : SEPH : Lvl : Phys : Slots : SAS Address : Encl Logical ID : VendorID : ProductID : FW : Base? : Sub? : T/S/D : C: --- : ----- : ----- : ----- : ----- : --- : ---- : ----- : ---------------- : ---------------- : -------- : ---------------- :- --- : ----- : ---- :- ----- : -: 0 : 0x9 : 0x1 : 0x2 : 0x18 : 1 : 46 : 46 : 500a098b9a2ad0bf : 0000000000000000 : NETAPP : Sandhawk : 9030 : Yes : No : 0/A/0 : Y: 0 : 0xb : 0x9 : 0x4 : 0x32 : 2 : 17 : 12 : 500a098bdc06403f : 0000000000000000 : NETAPP : Traf DCM : 0645 : No : Yes : 0/A/1 : Y: 0 : 0xc : 0x9 : 0x6 : 0x4c : 2 : 17 : 12 : 500a098bdc05e03f : 0000000000000000 : NETAPP : Traf DCM : 0645 : No : Yes : 0/A/2 : Y: 0 : 0xf : 0x9 : 0x8 : 0x66 : 2 : 17 : 12 : 500a098bdc06003f : 0000000000000000 : NETAPP : Traf DCM : 0645 : No : Yes : 0/A/3 : Y: 0 : 0x10 : 0x9 : 0xa : 0x80 : 2 : 17 : 12 : 500a098bdc03e03f : 0000000000000000 : NETAPP : Traf DCM : 0645 : No : Yes : 0/A/4 : Y: 0 : 0x13 : 0x9 : 0xc : 0x9a : 2 : 17 : 12 : 500a098bdc06203f : 0000000000000000 : NETAPP : Traf DCM : 0645 : No : Yes : 0/A/5 : Y: 1 : 0xa : 0x5 : 0x3 : 0x19 : 1 : 46 : 46 : 500a098b9a23f0bf : 0000000000000000 : NETAPP : Sandhawk : 9030 : Yes : No : 0/B/0 : Y: 1 : 0xd : 0xa : 0x5 : 0x33 : 2 : 17 : 12 : 500a098bdc06503f : 0000000000000000 : NETAPP : Traf DCM : 0645 : No : Yes : 0/B/1 : Y: 1 : 0xe : 0xa : 0x7 : 0x4d : 2 : 17 : 12 : 500a098bdc05f03f : 0000000000000000 : NETAPP : Traf DCM : 0645 : No : Yes : 0/B/2 : Y: 1 : 0x11 : 0xa : 0x9 : 0x67 : 2 : 17 : 12 : 500a098bdc06103f : 0000000000000000 : NETAPP : Traf DCM : 0645 : No : Yes : 0/B/3 : Y: 1 : 0x12 : 0xa : 0xb : 0x81 : 2 : 17 : 12 : 500a098bdc03f03f : 0000000000000000 : NETAPP : Traf DCM : 0645 : No : Yes : 0/B/4 : Y: 1 : 0x15 : 0xa : 0xd : 0x9b : 2 : 17 : 12 : 500a098bdc06303f : 0000000000000000 : NETAPP : Traf DCM : 0645 : No : Yes : 0/B/5 : Y: 2 : 0x9 : 0x1 : 0x2 : 0x11 : 1 : 46 : 46 : 500a098b9a23f0bf : 0000000000000000 : NETAPP : Sandhawk : 9030 : Yes : No : 0/B/0 : Y: 2 : 0xa : 0x9 : 0x3 : 0x1e : 2 : 17 : 12 : 500a098bdc06503f : 0000000000000000 : NETAPP : Traf DCM : 0645 : No : Yes : 0/B/1 : Y: 2 : 0xb : 0x9 : 0x4 : 0x2b : 2 : 17 : 12 : 500a098bdc05f03f : 0000000000000000 : NETAPP : Traf DCM : 0645 : No : Yes : 0/B/2 : Y: 2 : 0xc : 0x9 : 0x5 : 0x38 : 2 : 17 : 12 : 500a098bdc06103f : 0000000000000000 : NETAPP : Traf DCM : 0645 : No : Yes : 0/B/3 : Y: 2 : 0xd : 0x9 : 0x6 : 0x45 : 2 : 17 : 12 : 500a098bdc03f03f : 0000000000000000 : NETAPP : Traf DCM : 0645 : No : Yes : 0/B/4 : Y: 2 : 0xe : 0x9 : 0x7 : 0x52 : 2 : 17 : 12 : 500a098bdc06303f : 0000000000000000 : NETAPP : Traf DCM : 0645 : No : Yes : 0/B/5 : Y: value = 0 = 0x0 ->
To check the status of the MAC address settings of the drawers issue the following commands from the controller unit with EBOD attached via SAS. The 'dcmFwd' command forwards subcommands to the IOM. Issuing 'dcmFwd' without parameter gives some help.<\n> The first example below shows the MACAddresses of channel 0 of drawer 0-4, while the second example shows channel 1.
dcmFwd "0-4","mfgMACAddressShow",0,1 dcmFwd "0-4","mfgMACAddressShow“,1,1
bring failed drive back into operation
In case a drive was set to state failed it can not be reanimated from the GUI. The drive can be removed and placed again into the array to issue a restart. Using the CLI it can be done without physical access to the system.<\n> The sequence is as followed:
- identify drive and get the according devnum
- reset the power of the drive
- check again
- if no change then force the drive state to optimal
-> vdmShowDriveTrays Total Drives: 120 Tray ID : 10 Tray WWN : 00000000000000000000000000000000 Slot Devnum DriveAddr DriveState ============================================ 01 0x00010100 0x000000015ab75660 Acc/GrA/Opt 02 0x00010101 0x000000015ab773c0 Acc/GrA/Opt [...] 52 0x00010133 0x000000015ab7ba40 Acc/GrA/Opt 53 0x00010134 0x000000015ab7d7a0 Acc/GrA/Opt 54 0x00010135 0x00000001256259e0 Acc/UnA/F 55 0x00010136 0x000000015ab81260 Acc/GrA/Opt 56 0x00010137 0x000000015ab82fc0 Acc/GrA/Opt 57 0x00010138 0x000000015ab84d20 Acc/GrA/Opt 58 0x00010139 0x000000015ab86a80 Acc/GrA/Opt 59 0x0001013a 0x000000015ab88200 Acc/GrA/Opt 60 0x0001013b 0x000000015ab89f60 Acc/GrA/Opt Tray ID : 11 Tray WWN : 500a09800b0c8b880000000000000000 Slot Devnum DriveAddr DriveState ============================================ 01 0x00010000 0x000000015ab76510 Acc/GrA/Opt 02 0x00010001 0x000000015ab78270 Acc/GrA/Opt 03 0x00010002 0x000000015ab79fd0 Acc/GrA/Opt [...] 57 0x00010038 0x000000015ab85bd0 Acc/GrA/Opt 58 0x00010039 0x000000015ab87930 Acc/GrA/Opt 59 0x0001003a 0x000000015ab890b0 Acc/GrA/Opt 60 0x0001003b 0x000000015ab8ae10 Acc/GrA/Opt value = 1 = 0x1 -> -> dstStartStop 0x00010135,1 value = 0 = 0x0 -> vdmShowDriveTrays Total Drives: 120 Tray ID : 10 Tray WWN : 00000000000000000000000000000000 Slot Devnum DriveAddr DriveState ============================================ 01 0x00010100 0x000000015ab75660 Acc/GrA/Opt 02 0x00010101 0x000000015ab773c0 Acc/GrA/Opt [...] 50 0x00010131 0x000000015ab77f80 Acc/GrA/Opt 51 0x00010132 0x000000015ab79ce0 Acc/GrA/Opt 52 0x00010133 0x000000015ab7ba40 Acc/GrA/Opt 53 0x00010134 0x000000015ab7d7a0 Acc/GrA/Opt 54 0x00010135 0x00000001256259e0 Acc/UnA/F 55 0x00010136 0x000000015ab81260 Acc/GrA/Opt 56 0x00010137 0x000000015ab82fc0 Acc/GrA/Opt 57 0x00010138 0x000000015ab84d20 Acc/GrA/Opt 58 0x00010139 0x000000015ab86a80 Acc/GrA/Opt 59 0x0001013a 0x000000015ab88200 Acc/GrA/Opt 60 0x0001013b 0x000000015ab89f60 Acc/GrA/Opt Tray ID : 11 Tray WWN : 500a09800b0c8b880000000000000000 Slot Devnum DriveAddr DriveState ============================================ 01 0x00010000 0x000000015ab76510 Acc/GrA/Opt 02 0x00010001 0x000000015ab78270 Acc/GrA/Opt [...] 57 0x00010038 0x000000015ab85bd0 Acc/GrA/Opt 58 0x00010039 0x000000015ab87930 Acc/GrA/Opt 59 0x0001003a 0x000000015ab890b0 Acc/GrA/Opt 60 0x0001003b 0x000000015ab8ae10 Acc/GrA/Opt value = 1 = 0x1 -> setDriveToOptimal_MT 0x00010135 ReturnCode: 0x1 = RETCODE_OK value = 1 = 0x1 -> vdmShowDriveTrays Total Drives: 120 Tray ID : 10 Tray WWN : 00000000000000000000000000000000 Slot Devnum DriveAddr DriveState ============================================ 01 0x00010100 0x000000015ab75660 Acc/GrA/Opt 02 0x00010101 0x000000015ab773c0 Acc/GrA/Opt [...] 51 0x00010132 0x000000015ab79ce0 Acc/GrA/Opt 52 0x00010133 0x000000015ab7ba40 Acc/GrA/Opt 53 0x00010134 0x000000015ab7d7a0 Acc/GrA/Opt 54 0x00010135 0x00000001256259e0 Acc/UnA/Opt 55 0x00010136 0x000000015ab81260 Acc/GrA/Opt 56 0x00010137 0x000000015ab82fc0 Acc/GrA/Opt 57 0x00010138 0x000000015ab84d20 Acc/GrA/Opt 58 0x00010139 0x000000015ab86a80 Acc/GrA/Opt 59 0x0001013a 0x000000015ab88200 Acc/GrA/Opt 60 0x0001013b 0x000000015ab89f60 Acc/GrA/Opt Tray ID : 11 Tray WWN : 500a09800b0c8b880000000000000000 Slot Devnum DriveAddr DriveState ============================================ 01 0x00010000 0x000000015ab76510 Acc/GrA/Opt 02 0x00010001 0x000000015ab78270 Acc/GrA/Opt [...] 58 0x00010039 0x000000015ab87930 Acc/GrA/Opt 59 0x0001003a 0x000000015ab890b0 Acc/GrA/Opt 60 0x0001003b 0x000000015ab8ae10 Acc/GrA/Opt value = 1 = 0x1 ->
As the status of the rive has now returned to Optimal the capacity can be added to the according DDP using the GUI.