SAA Server Management Guide
Overview
SAA (SuperServer Automation Assistant) is Supermicro's official CLI tool for automating server management tasks. It supports both in-band (local OS) and out-of-band (BMC/CMM) operations, single or multiple system management.
For complete command reference, see SAA Help Reference
Usage Modes
Single System Out-Of-Band (OOB)
Operates on single BMC/CMM remotely:
saa -i <BMC_IP> -u <USER> -p <PASSWORD> -c <COMMAND> [OPTIONS]
Single System In-Band
Operates on local OS (no -i option). In-Band mode requires root privileges to access hardware interfaces directly.
Note: Only commands that access hardware require sudo. Help queries (-h) do not need sudo. Before executing In-Band commands, ask user for <SUDO_PASSWORD>. Never store or log the password.
echo <SUDO_PASSWORD> | sudo -S saa -c <COMMAND> [OPTIONS]
Single System Remote In-Band
Operates on remote OS via SSH:
# Remote_INB: Direct OS access
saa -I Remote_INB --oi <OS_IP> --ou <OS_USER> --op <OS_PASSWORD> -c <COMMAND> --remote_saa /path/to/saa
# Remote_RHI: Through Redfish Host Interface
saa -I Remote_RHI --oi <OS_IP> --ou <OS_USER> --op <OS_PASSWORD> -u <BMC_USER> -p <BMC_PASS> -c <COMMAND> --remote_saa /path/to/saa
Multiple Systems Management
Replace -i with -l for batch operations:
saa -l <IP_LIST_FILE> -u <USER> -p <PASSWORD> -c <COMMAND> [OPTIONS]
Global Options
| Option | Description |
|---|---|
-h |
Show help information |
-v |
Verbose output |
-i |
BMC/CMM IP address |
-l |
System list file for batch operations |
-u |
BMC/CMM user ID |
-p |
BMC/CMM password |
-f |
Password file (more secure than -p) |
-c |
Command name |
-I |
Interface: Redfish_HI, Remote_INB, Remote_RHI |
--port |
Custom ports (format: "RMCP:623,HTTPS:443") |
--batch_count |
Concurrent executions for batch operations |
--show_multi_full |
Show status of all systems in batch |
--journal_level |
Log level (0-6: silent to verbose) |
Command Categories
Health Management
CheckOOBSupport,CheckAssetInfo,CheckSystemUtilizationCheckSensorData,SystemPFA,MemoryHealthCheckChassisIntrusion,AlertManage,CheckSelfTest,SuperDiag
BIOS Management
GetBiosInfo,UpdateBios,GetCurrentBiosCfg,ChangeBiosCfgLoadDefaultBiosCfg,SetBiosPassword,GetDmiInfo,ChangeDmiInfoGetBootOption,SetBootOption,SetHttpBoot
BMC Management
GetBmcInfo,UpdateBmc,GetBmcCfg,ChangeBmcCfgGetBmcLANCfg,ChangeBmcLANCfg,SetBmcPasswordGetBmcUserList,SetBmcUserList,BmcReset
Power Management
GetPowerStatus,SetPowerAction,GetPsuInfo,UpdatePsuPowerPolicy,CpuPowerManage,DcmiManage
Storage Management
GetRaidControllerInfo,GetRaidCfg,ChangeRaidCfgGetNvmeInfo,ControlNVMe,GetSmartDataGetPMemInfo,GetVROCCfg,ChangeVROCCfg
Firmware Updates
UpdateBios,UpdateBmc,UpdateCpld,UpdateGpuGetFirmwareInventoryInfo
Event Logs
GetEventLog,ClearEventLogGetMaintenEventLog,ClearMaintenEventLog
Virtual Media
MountIsoImage,UnmountIsoImageMountFloppyImage,UnmountFloppyImage,GetVmInfo
Security Management
SecureBootManage,BiosRotManage,BmcRotManageGetLockdownMode,SetLockdownModeTpmManage,GetTpmInfo,AttestationSecureEraseDisk,SecureEraseRaidHdd
GPU Management
GetGpuInfo,UpdateGpu,DiagGpuStatus,GetGpuLog,GpuPowerManage
Common Examples
Get System Information
# Get BIOS info (OOB)
saa -i 192.168.1.100 -u ADMIN -p ADMIN -c GetBiosInfo
# Get firmware inventory
saa -i 192.168.1.100 -u ADMIN -p ADMIN -c GetFirmwareInventoryInfo
# Get BMC info (In-Band)
echo <SUDO_PASSWORD> | sudo -S saa -c GetBmcInfo
Health Monitoring
# Check sensor data (temperature, fan, voltage)
saa -i 192.168.1.100 -u ADMIN -p ADMIN -c CheckSensorData
# Check system utilization
saa -i 192.168.1.100 -u ADMIN -p ADMIN -c CheckSystemUtilization
# Get event log
saa -i 192.168.1.100 -u ADMIN -p ADMIN -c GetEventLog
Power Control
# Get power status
saa -i 192.168.1.100 -u ADMIN -p ADMIN -c GetPowerStatus
# Power actions: on, off, cycle, reset
saa -i 192.168.1.100 -u ADMIN -p ADMIN -c SetPowerAction --action on
saa -i 192.168.1.100 -u ADMIN -p ADMIN -c SetPowerAction --action cycle
Firmware Updates
# Update BIOS (OOB)
saa -i 192.168.1.100 -u ADMIN -p ADMIN -c UpdateBios --file BIOS.bin
# Update BMC
saa -i 192.168.1.100 -u ADMIN -p ADMIN -c UpdateBmc --file BMC.bin
# Update BIOS (In-Band, local)
echo <SUDO_PASSWORD> | sudo -S saa -c UpdateBios --file BIOS.bin
Configuration Management
# Export BIOS configuration
saa -i 192.168.1.100 -u ADMIN -p ADMIN -c GetCurrentBiosCfg --file bios_cfg.txt
# Apply BIOS configuration
saa -i 192.168.1.100 -u ADMIN -p ADMIN -c ChangeBiosCfg --file bios_cfg.txt
# Export/Import BMC configuration
saa -i 192.168.1.100 -u ADMIN -p ADMIN -c GetBmcCfg --file bmc_cfg.txt
saa -i 192.168.1.100 -u ADMIN -p ADMIN -c ChangeBmcCfg --file bmc_cfg.txt
Multiple Systems (Batch Operations)
# Update BIOS across fleet
saa -l servers.txt -u ADMIN -p ADMIN -c UpdateBios --file BIOS.bin
# Check health across fleet with full status
saa -l servers.txt -u ADMIN -p ADMIN -c CheckSensorData --show_multi_full
Getting Command Help
Always check command-specific options before use:
saa -h -c <COMMAND>
# Examples
saa -h -c UpdateBios
saa -h -c SetPowerAction
saa -h -c ChangeBmcCfg
IP List File Format
For multiple systems management (-l option):
# Single IPs
192.168.1.100
192.168.1.101
# IP range
192.168.1.102-110
# With credentials per line (optional)
192.168.1.100,ADMIN,password123
Best Practices
- Get help first: Run
saa -h -c <COMMAND>before using unfamiliar commands - Test on single system: Before batch operations, verify on one server
- Use password files: Use
-f password.txtinstead of-pin scripts for security - Backup configurations: Export configs before making changes
- Check compatibility: Verify firmware versions match your hardware platform
- Monitor batch jobs: Use
--show_multi_fullto track multi-system progress
Troubleshooting
- Connection failed: Verify BMC IP, credentials, and network connectivity
- Permission denied: Check BMC user has sufficient privileges
- Command not supported: Some commands are platform-dependent (see user guide)
- Special characters in password: Quote the password or use
-foption
Reference Files
- SAA Help Reference - Complete
saa -houtput with all commands - Command Help Directory - Detailed help for each command (217 files)
- Example:
./reference/commands/UpdateBios.txtfor UpdateBios command details - Each file contains: description, required/optional arguments, usage modes, and examples
- Example:
Scripts
export_help.sh - Script to regenerate all help documentation
# Regenerate help files (default: ./reference) ./scripts/export_help.sh # Specify custom output directory ./scripts/export_help.sh /path/to/output