Close Menu
DPC Virtual Tips
    Read More

    How to Patch the vCenter Server Appliance from the Command Line

    September 25, 2026

    How to Patch an ESXi Host Using the Command Line

    September 24, 2026

    Linux Memory Below 10%: How to Troubleshoot High Memory Usage

    September 15, 2026
    • Home
    • About Us
    • Contact
    • Cookie Policy
    • Comment Policy
    • Privacy Policy
    • Terms of Use
    DPC Virtual Tips
    • Home
    • Linux & Automation
    • HPC & Slurm
    • VMware & Virtualization
    • About Us
    • Contact
    DPC Virtual Tips
    Home » PowerFlex SCLI Command Guide: Monitor and Manage Your Cluster
    VMware & Virtualization

    PowerFlex SCLI Command Guide: Monitor and Manage Your Cluster

    By Danilo ChiacchioJanuary 13, 202513 Mins Read
    Facebook Twitter Pinterest LinkedIn Tumblr Email
    PowerFlex SCLI Command Guide: Monitor and Manage Your Cluster
    PowerFlex SCLI Command Guide: Monitor and Manage Your Cluster
    Share
    Facebook Twitter LinkedIn Pinterest Email

    The PowerFlex command-line interface (SCLI) gives administrators a direct way to inspect cluster roles, storage resources, device health, volume mappings, and performance counters. This guide collects practical SCLI commands for PowerFlex 4.5.x and explains what each query does—and what its output does not prove.

    The examples use a PowerFlex 4.5.2 lab. Names, IP addresses, resource counts, device paths, and reported states are specific to that environment. Replace them with values from your own cluster, and verify every command against the CLI reference for the installed release before using it in automation or production operations.

    If you are new to PowerFlex, start with Getting Started with Dell PowerFlex: Architecture and Key Components, which explains the roles of the MDM, SDS, SDC, and other components referenced throughout these SCLI examples.

    Accessing SCLI

    Dell documents SCLI as part of the MDM component. The PowerFlex 4.5.x CLI reference lists scli for Linux and VMware and siocli for Citrix Hypervisor (XenServer). The reference lists command names rather than a universal executable path, so use the location appropriate to the installed package and operating system.

    Before running most commands, authenticate to the PowerFlex management system. The management-system address is the reachable management endpoint for the deployment; it is not necessarily the IP address of the MDM whose role is Primary. Omit the password from the command line so SCLI prompts for it instead of exposing it in shell history:

    scli --login --management_system_ip <PFMP_INGRESS_IP_OR_DNS> --username <USERNAME>

    For example, if pfmp.lab.local resolves to the management endpoint and the account is named admin:

    scli --login --management_system_ip pfmp.lab.local --username admin

    The CLI session remains authenticated until the user logs out or the session expires. On first use, follow Dell’s release-specific instructions for trusting the management certificate. Use the exact CA filename present on the system; do not copy a malformed command copied from an extracted manual page.

    Direct commands to the Primary MDM

    SCLI commands operate against an MDM. When SCLI runs on the Primary MDM, the --mdm_ip option may be omitted. If SCLI runs on a Secondary MDM or on a separate host, specify the current Primary MDM address with --mdm_ip on each command:

    scli --mdm_ip <PRIMARY_MDM_IP> --query_cluster
    scli --mdm_ip <PRIMARY_MDM_IP> --query_all_sds

    Note: A command run from a Secondary MDM without targeting the Primary is not supported. Therefore, replace the draft’s broad statement that commands fail simply because the shell is not on the Primary: the shell can be elsewhere, provided the command is directed to the current Primary as Dell documents.

    SCLI login result from the lab environment
    SCLI login result from the lab environment
    SCLI command output showing an MDM targeting or role-related message
    SCLI command output showing an MDM targeting or role-related message
    PowerFlex MDM cluster output identifying the current Primary MDM
    PowerFlex MDM cluster output identifying the current Primary MDM

    As showed you before, our Primary MDM is the “SDS03”. To switch the Primary MDM ownership to another MDM, we can execute the following command (in this example, we are switching the Primary MDM ownership from SDS03 (192.168.255.73) to SDS01 (192.168.255.71)):

    scli --login --management_system_ip pfmp.lab.local --username admin
    scli --switch_mdm_ownership --new_primary_mdm_ip 192.168.255.71
    SCLI output after switching Primary MDM ownership to the selected MDM
    SCLI output after switching Primary MDM ownership to the selected MDM

    As shown in the above picture, we have switched the Primary MDM ownership from SDS03 to SDS01. We have tried to execute a command from SDS03, and we have received an error since this node is not the Primary MDM node anymore.

    The best approach is to log in to SDS01 and run the commands from there!

    Querying MDM Cluster Details

    To query the MDM Cluster details:

    scli --query_cluster
    SCLI query_cluster output showing PowerFlex MDM cluster roles and state
    SCLI query_cluster output showing PowerFlex MDM cluster roles and state

    This command helps understand the MDM cluster topology (whether a 3-node or 5-node cluster). Moreover, we can see the following details:

    — Virtual IP addresses and their associated interfaces (if in use);
    — The Primary MDM node;
    — The Secondary MDM node;
    — Tie-Breakers nodes;
    — Standby MDMs;
    — All IP addresses for each MDM node.

    Querying Storage Data Server (SDS) Nodes

    To query all Storage Data Server (SDS) nodes:

    scli --query_all_sds
    SCLI query_all_sds output listing SDS nodes and Protection Domains
    SCLI query_all_sds output listing SDS nodes and Protection Domains

    As shown in the above picture, eleven (11) SDS nodes exist, divided into two different Protection Domains (PD-0 and PD-1).

    Querying Protection Domain Details

    To query details of each Protection Domain:

    scli --query_protection_domain --protection_domain_name PD-0
    scli --query_protection_domain --protection_domain_name PD-1
    SCLI output for a PowerFlex Protection Domain query
    SCLI output for a PowerFlex Protection Domain query

    Querying Storage Pool Details

    To query a Storage Pool by Protection Domain and pool name, run:

    scli --query_storage_pool --protection_domain_name <PD_NAME> --storage_pool_name <SP_NAME>

    For example:

    scli --query_storage_pool --protection_domain_name PD-0 --storage_pool_name SP-SW_SSD-0
    scli --query_storage_pool --protection_domain_name PD-1 --storage_pool_name SP-SW_SSD-1
    SCLI output for a PowerFlex Storage Pool query
    SCLI output for a PowerFlex Storage Pool query

    Dell also documents querying by Storage Pool ID. Use names and IDs from the target system rather than copying the lab values.

    Querying Storage Data Client (SDC) Nodes

    To list registered SDCs, run:

    scli --query_all_sdc
    SCLI query_all_sdc output showing registered SDC details
    SCLI query_all_sdc output showing registered SDC details

    The standard output can include the SDC ID, name, IP address, connection state, GUID, operating-system type, loaded version, installed version, and read/write IOPS and bandwidth. Optional switches can request additional agent-status or MDM-address information, but do not attribute those fields to the default output unless you include and verify the relevant switches.

    Use Dell’s labels as printed: State and GUID are separate, and Loaded Version is distinct from Installed Version. A name can also be N/A; the SDC’s GUID is a useful stable identifier when checking which record you intend to manage.

    To install an SDC on VMware ESXi, see Connecting VMware ESXi to PowerFlex: A Step-by-Step SDC Installation Guide. To assign a more descriptive PowerFlex-side name to an existing SDC, see Rename PowerFlex SDCs with SCLI for a Clearer ESXi Inventory.

    The number of SDCs and the states shown in a screenshot are point-in-time values from the lab. A Connected SDC record does not by itself prove that every SDC-to-SDS data path is healthy. To check current SDC-to-SDS disconnections, Dell documents:

    scli --query_sdc_to_sds_disconnections

    Querying Details of a Specific Storage Data Server (SDS) Nodes

    To query details of a specific Storage Data Server (SDS) node:

    scli --query_sds --sds_name SDS01
    SCLI query_sds output showing details for one SDS node
    SCLI query_sds output showing details for one SDS node

    Querying Details of a Specific Disk Device on SDS Node

    To query details of a specific disk device for a Storage Data Server (SDS) node:

    scli --query_sds_device_info --sds_name SDS01 --device_path /dev/sdc
    SCLI output showing details for one storage device on an SDS
    SCLI output showing details for one storage device on an SDS

    Grabbing All Disk Devices of a Specific SDS

    As we know, each SDS node has local disk devices that are used to create a storage pool. If you need to get details of all disk devices of a specific SDS node, you can use the following command line – In this example, the SDS name is “SDS01” (replace it with your SDS name):

    scli --query_sds_device_info --sds_name SDS01 --all_devices | grep -i "Device ID:"

    As shown, this SDS node has four disk devices:

    SCLI output listing storage devices associated with one SDS
    SCLI output listing storage devices associated with one SDS

    Grabbing All Disk Devices on All SDS

    Otherwise, if you need to get all disk devices for all SDS nodes present on the PowerFlex environment, you can use the following command:

    scli --query_all_sds | grep "SDS ID" | awk -F':' '{print $3}' | sed 's/State//g' | sed 's/^ //' | while read sds; do
        echo "======================================================================="
    	echo "SDS Name: $sds"
        scli --query_sds_device_info --sds_name "$sds" --all_devices | egrep "Device ID:|Device State:|Aggregated State:"
        echo ""  # Adds a blank line for separation
    done

    This command has an enormous output, so it was cut (we are showing only the first entries).
    As shown, for each disk device, we can see its details such as device ID, device name, device path, and the device state – This command can be helpful to perform a disk device health check in a PowerFlex environment, for instance:

    SCLI device inventory output for the first SDS nodes in the cluster
    SCLI device inventory output for the first SDS nodes in the cluster

    Checking SDS Status

    Each SDS node has the “sds” daemon running on it. So, based on it, we can check the SDS connection status if the following command:

    scli --query_all_sds | grep "SDS ID:" | awk -F':' '{print $3, $4}' | sed 's/State //g' | awk '{print $1, "-", $2}' | sed 's/.$//'

    As shown, all SDS nodes are “Connected”:

    SCLI output summarizing SDS connection states in the lab
    SCLI output summarizing SDS connection states in the lab

    In case of problems with some SDS nodes (some network issues or something related that cause a network disconnection), we can see a different status than “Connected”. As shown, the SDS node “SDS05” is “Disconnected”:

    SCLI output showing an SDS with a disconnected status
    SCLI output showing an SDS with a disconnected status

    You can access the SDS as disconnected and perform some troubleshooting (e.g., checking the status of the SDS daemon and network connectivity).

    Checking SDS Maintenance Activity

    We can use the following command to check if there are any SDS nodes in maintenance mode:

    scli --query_all_sds | grep "SDS ID:" | grep "IN_MAINTENANCE" | awk -F' ' '{print $5 " - " $13}'

    If there is a node in maintenance mode, we will see it in the command output:

    SCLI output showing SDS maintenance-related state or activity
    SCLI output showing SDS maintenance-related state or activity

    Checking SDC and Data-Path Status

    In the same way as SDS, each SDC establishes a connection with the MDM cluster. So, we can see their connection status. We can use the following command:

    scli --query_all_sdc | grep "SDC ID:" | awk -F" " '{print $5 " - Status: " $9}'

    In the first output column, we can see the SDC name, followed by its status (Connected or Disconnected):

    SCLI output showing the registered SDC and its state
    SCLI output showing the registered SDC and its state

    Note: Do not equate State: Connected in an SDC inventory record with proof that every data-plane connection to every SDS is healthy.

    Grabbing all PowerFlex Volumes

    To grab all volumes in the PowerFlex environment:

    scli --query_all_volumes
    SCLI query_all_volumes output listing PowerFlex volumes
    SCLI query_all_volumes output listing PowerFlex volumes

    If you want to see the end-to-end workflow for creating and mapping a volume to a Linux SDC, see Adding and Mapping a New Volume to a Linux SDC. Mapping presents the block device to the host; partitioning and formatting it are separate steps.

    Querying Volume Creation Time

    For one known volume, query it by ID and inspect the Creation time field:

    scli --query_volume --volume_id <VOLUME_ID>

    To iterate through the volume IDs reported by query_all_volumes and print the creation time for each, use this Bash/GNU-tools example:

    scli --query_all_volumes | grep "Volume ID:" | awk -F' ' '{print $5}' | while read volume; do
    	echo "================================================"
        echo "Volume Name: $volume"
        scli --query_volume --volume_name $volume | egrep "Creation time:"
        echo ""  # Adds a blank line for separation
    done

    Since the output was enormous, it was cut:

    SCLI output showing volume creation times queried by volume ID
    SCLI output showing volume creation times queried by volume ID

    Querying Volume IOPS

    The following command will get the read-and-write IOPS details for all PowerFlex Volumes:

    scli --query_all_volumes | grep "Volume ID:" | awk -F' ' '{print $5}' | while read volume; do
    	echo "================================================"
        echo "Volume Name: $volume"
    	echo "Timestamp:" `date`
        scli --query_volume --volume_name $volume | egrep "Reads:|Writes:"
        echo ""  # Adds a blank line for separation
    done
    SCLI output showing point-in-time read and write IOPS for PowerFlex volumes
    SCLI output showing point-in-time read and write IOPS for PowerFlex volumes

    These are point-in-time counters in the query output, not a historical performance graph. To query metrics for each volume-to-SDC mapping, use Dell’s dedicated meters command:

    scli --query_volume_sdc_meters --volume_id <VOLUME_ID>

    With a volume ID and no SDC selector, this command reports metrics for all mappings of that volume, including IOPS, bandwidth, and average latency.

    Querying Volume Mappings

    After creating a volume, we must map it to an SDC to use it effectively. The following command lists all Volumes and which SDCs are using it:

    scli --query_all_volumes | grep "Volume ID:" | awk -F' ' '{print $5}' | while read volume; do
    	echo "================================================"
        echo "Volume Name: $volume"
        scli --query_volume --volume_name $volume | egrep "Mapping:|Host ID:"
        echo ""  # Adds a blank line for separation
    done
    SCLI output showing volume mapping details and associated hosts
    SCLI output showing volume mapping details and associated hosts

    These examples focus on cluster queries and inventory. For SDC-specific tasks, continue with Rename PowerFlex SDCs with SCLI for a Clearer ESXi Inventory or the ESXi SDC installation walkthrough.

    Put SCLI Queries to Work Safely

    SCLI can quickly show the PowerFlex cluster’s MDM roles, SDS and SDC inventory, device details, volume mappings, and point-in-time counters. Use the native query output when it provides the information you need, and avoid scripts that depend on fixed field positions in human-readable results.

    Before running an operational command, confirm the target MDM, resource name or ID, and the effect of the action. The queries in this guide are useful for learning and troubleshooting; validate the installed release’s CLI reference and test any parsing or automation in a lab before using it in production.

    External References

    • Dell — PowerFlex 4.5.x CLI Reference: Accessing SCLI Explains that SCLI is provided with the MDM component and lists the CLI command names for Linux, VMware, and Citrix Hypervisor.
    • Dell — PowerFlex 4.5.x CLI Reference: Login Documents credential-based and P12 certificate login syntax, secure password prompting, and the management certificate trust prerequisite.
    • Dell — PowerFlex 4.5.x CLI Reference: Command Format Explains the `–mdm_ip` option, when it can be omitted, and how to target the Primary MDM from a Secondary MDM or a separate CLI host.
    • Dell — PowerFlex 4.5.x CLI Reference: Switch MDM Ownership Provides the supported syntax for transferring Primary MDM ownership by the target MDM’s ID, IP address, or name.
    • Dell — PowerFlex 4.5.x CLI Reference: Query Cluster Documents the MDM cluster query, cluster modes, state, Primary and Secondary MDMs, virtual IP information, and the optional certificate details.
    • Dell — PowerFlex 4.5.x CLI Reference: Query All SDSs Describes how to list SDS nodes and the labels included in the output, such as SDS ID, name, state, IP, port, and version.
    • Dell — PowerFlex 4.5.x CLI Reference: Query an SDS Documents the detailed SDS query, including distinct membership, connection, SDS, device, and maintenance-job fields.
    • Dell — PowerFlex 4.5.x CLI Reference: Query SDS Device Information Documents queries for one device or all devices in one SDS and shows the device, physical, scanner, SMART, and RAID information returned.
    • Dell — PowerFlex 4.5.x CLI Reference: Query All SDCs Documents the SDC inventory query, optional output switches, and fields such as state, GUID, OS type, loaded and installed versions, and read/write counters.
    • Dell — PowerFlex 4.5.x CLI Reference: Query All Provides a system-wide summary, including aggregate SDC–SDS connectivity, SDS summary counts, maintenance activity, capacity, and Storage Pool information.
    • Dell — PowerFlex 4.5.x CLI Reference: Query a Protection Domain Documents how to retrieve aggregated information about a Protection Domain by its name or ID.
    • Dell — PowerFlex 4.5.x CLI Reference: Query a Storage Pool Documents how to query a Storage Pool by Protection Domain and pool name, or directly by Storage Pool ID.
    • Dell — PowerFlex 4.5.x CLI Reference: Query SDC-to-SDS Disconnections Documents a separate query for disconnections between SDCs and SDSs, distinct from the SDC inventory state.
    • Dell — PowerFlex 4.5.x CLI Reference: Query All Volumes Documents how to list volumes and filter results by Protection Domain, Storage Pool, or snapshot consistency group.
    • Dell — PowerFlex 4.5.x CLI Reference: Query a Volume Shows the volume ID/name selectors and output fields for creation time, read/write counters, and mappings.
    • Dell — PowerFlex 4.5.x CLI Reference: Query Volume SDC Meters Provides per-mapping read/write IOPS, bandwidth, and latency counters for a selected volume, SDC, or volume-to-SDC mapping.
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Previous ArticlePowerFlex Fault Sets Explained: Data Protection, Capacity, and Setup
    Next Article Build an SMB File Server on Dell PowerFlex: AD, GPO, and Quotas
    Danilo Chiacchio
    • LinkedIn

    Infrastructure Engineer with hands-on experience in virtualization, Linux, Windows Server, and enterprise infrastructure troubleshooting. I work with real-world infrastructure environments and technical labs, focusing on diagnosing problems, understanding root causes, and documenting practical solutions. DPC Virtual Tips was created to share hands-on troubleshooting guides, lab experiences, technical procedures, and lessons learned while working with technologies such as VMware, Linux, HPC/Slurm, networking, storage, and infrastructure automation with Python.

    Related Posts

    How to Patch the vCenter Server Appliance from the Command Line

    September 25, 2026

    How to Patch an ESXi Host Using the Command Line

    September 24, 2026

    How to Install VMware PowerCLI Offline (VCF PowerCLI)

    September 14, 2026

    Comments are closed.

    Search
    Categories
    • HPC & Slurm (12)
    • Linux & Automation (16)
    • VMware & Virtualization (42)
    Read More
    VMware & Virtualization

    How to Patch the vCenter Server Appliance from the Command Line

    By Danilo ChiacchioSeptember 25, 20268 Mins Read
    VMware & Virtualization

    How to Patch an ESXi Host Using the Command Line

    By Danilo ChiacchioSeptember 24, 20269 Mins Read
    Linux & Automation

    Linux Memory Below 10%: How to Troubleshoot High Memory Usage

    By Danilo ChiacchioSeptember 15, 20268 Mins Read
    Linux & Automation

    How to Resize ext4 and XFS Filesystems on RHEL 8

    By Danilo ChiacchioSeptember 14, 202614 Mins Read
    VMware & Virtualization

    How to Install VMware PowerCLI Offline (VCF PowerCLI)

    By Danilo ChiacchioSeptember 14, 202610 Mins Read
    Latest Posts

    How to Patch the vCenter Server Appliance from the Command Line

    September 25, 2026

    How to Patch an ESXi Host Using the Command Line

    September 24, 2026

    Linux Memory Below 10%: How to Troubleshoot High Memory Usage

    September 15, 2026
    Images from Gallery
    hpc main commands
    linux commands
    install rock linux
    lustre fs
    shell scripting
    vSAN Trace Files
    Categories
    • HPC & Slurm
    • Linux & Automation
    • VMware & Virtualization
    • Home
    • About Us
    • Contact
    • Cookie Policy
    • Comment Policy
    • Privacy Policy
    • Terms of Use
    Copyright © 2026, DPC Virtual Tips. All rights reserved.

    Type above and press Enter to search. Press Esc to cancel.