Skip to main content
NetApp Knowledge Base

What are the ONTAP maintenance mode commands

not set
Last Updated:

Applies to

  • ONTAP 9
  • maintenance mode


The ONTAP maintenance mode is used for low level commands where there is only a rudimentary kernel loaded and no disk I/O is active.

There are (2) ways to boot into the ONTAP Maintenance mode.
  • First, on boot, you can hit the Ctrl-C key sequence:
All rights reserved.
* Press Ctrl-C for Boot Menu. *
^CBoot Menu will be available.

then select Option 5 from the Boot Menu

(5)  Maintenance mode boot.

  • The second is to boot directly into maintenance mode with

LOADER> boot_ontap maint

The complete list of commands available, current as of ONTAP 9.8:
You have selected the maintenance boot option:
the system has booted in maintenance mode allowing the following operations to be performed:        
?                       acorn
acpadmin                aggr
bootargs                cdpd
cna_flash               coredump_save
coredump_show           coredump_zero
disk                    disk_list
disk_shelf              diskcopy
dumpblock               environment
fctest                  fru_led
ha-config               halt
help                    ifconfig
led_off                 led_on
lldp                    nicadmin
nv8                     psmadmin
raid_config             sasadmin
sasstat                 scsi
sldiag                  storage
stsb                    sysconfig
systemshell             ucadmin
version                 vmdisk_object_store
vmservices              vol
Type "help <command>" for more details.

For some of the more commonly used commands, their details are as follows:

*> aggr
The following commands are available; for more information
type "aggr help <command>"
clear_rpbits        options             rename              snaprestore_cancel
destroy             quota_off           restrict            status
offline             read_fsid           rewrite_fsid        undestroy
online              rebuildtree

*> disk
usage: disk <options>
Options are:
        assign {<disk_name> | all | [-T <storage type> | -shelf <shelf name>] [-n <count>] | auto} [-p <pool>]                      {[-o <ownername>] [-s <sysid>] | [-copy-ownership-from <disk-name>]} [-c block|advanced_zoned] [-f] - assign a disk to a filer or all unowned disks by specifying "all"  or <count> number of unowned disks
        ddr_label {repair | print | delete | dumpraw | rm_qualtable | modify [-c]                                            -o <offset> -v <value> | start_scan | pause_scan | resume_scan | error_scan | rediscover | reinit } [-f]                   [-d all | <disk_list>]
        dumpevents { sanown | config_checker | raid } - Dumps the sanown/config-checker/raid event queue since boot
        encrypt { lock | rekey | destroy | revert_original | sanitize | show }                                               - perform tasks specific to self-encrypting disks
        partition { { -n { 2 | 3 } [-u <pool_uuid>] } | { -n <num_parts> -u <pool_uuid> } } [-i <part_idx> -b <raw_blks>].. <disk_name> - partition a disk
        power_cycle [ -f ] { [-d <disk_list>] | [ -c <channel_name> [ -s <shelf_number> ] ] }                                - power-cycle one or more disks
        reassign {-s <old_sysid>} [-d <new_sysid>] [-p <partner_sysid>]- reassign disks from old filer
        remove_ownership [<disk_name> | all | -s <sysid>] [-f] - revert/remove disk ownership
(9.5+)  sanitize { start | abort | status | release } - sanitize one or more disks                                                  sanown_stats {start| stop| show }- collect sanown event stats
        show [-o <ownername> | -s <sysid> | -n | -v | -a]  - lists disks and owners
        unfail [-s] <disk_name>     - unfail a disk  (-s  not valid in maintenance mode)
        unpartition {<disk_name> | all} - unpartition a partitioned disk or unpartition all the partitioned disks

*> diskcopy
diskcopy -s <source-disk-name> -d <destination-disk-name>
diskcopy -i -s <source-disk-name> -d <destination-disk-name> to invoke skip mode immediately
use -n <sectors> option to use a default size different than 4096 sectors
use -o to do no retries of I/O's at the SCSI layer (USE WITH CAUTION!)
(9.5+) use -r <MB>, greater than 2MB to tune report size instead of using default progress report for every 100MB
*> ha-config
    ha-config modify { controller | chassis } { ha | non-ha | mcc | mcc-2n | default }
    ha-config show

*> storage
usage: storage <subcommand>
subcommands are:
        disable adapter <name>
        enable adapter <name>
        help <sub_command>
        trace info { adapter [<adapter_name>] | device [<device_name>] | ses_drv | disk_shelf [<disk_shelf_name>] | ses_proc | all }
        trace dump { adapter [<adapter_name>] | device [<device_name>] | ses_drv | disk_shelf [<disk_shelf_name>] | ses_proc | all } -f <out_file>
        rename switch <oldname> <newname>
        release disks [ -f ]
        release { mc | tape } <name>
        shelf identify <shelf-name> { on | off }
        show adapter [ -a ] [ <name> ]
        show disk [ -a | -x | -p | -T ] [ <name> ]
        show expander [ -a ] [ <expander-name> ]
        show bridge [ -v ] [ <bridge-name> ]
        show fabric
        show fault [ -a ] [ -v ] [ <shelf-name> ]
        show hub [ -a ] [ -e ] [ <hub-name> ]
        show initiators [-a]
        show mc [ <name> ]
        show port [ <name> ]
        show shelf [ -a ] [ -e ] [ <shelf-name> ]
        show switch [ <name> ]
        show tape [ <name> ]
        show tape supported [ -v ]
        show acp [ -a ]
        stats tape <name>
        stats tape zero <name>
        power_cycle shelf -h
        power_cycle shelf start [-f] -c <channel_name> [-s <shelf_id>]
        power_cycle shelf completed
        bridge log

*>ucadmin modify -m <fc | cna> -t <initiator | target> -f <adapter_name> Note that the -t parameter is only required for fc mode.

Additional Information


NetApp provides no representations or warranties regarding the accuracy or reliability or serviceability of any information or recommendations provided in this publication or with respect to any results that may be obtained by the use of the information or observance of any recommendations provided herein. The information in this document is distributed AS IS and the use of this information or the implementation of any recommendations or techniques herein is a customer's responsibility and depends on the customer's ability to evaluate and integrate them into the customer's operational environment. This document and the information contained herein may be used solely in connection with the NetApp products discussed in this document.