12 KiB
- Documentation : https://www.dell.com/support/kbdoc/en-uk/000177280/how-to-use-the-poweredge-raid-controller-perc-command-line-interface-cli-utility-to-manage-your-raid-controller
- Status de cette page : unstable / bullseye
PERCCLI est un utilitaire en ligne de commande permettant de gérer les contrôleurs RAID de Dell.
Dans notre usage PERCCLI remplace MegaCLI. PERCCLI est en réalité un rebranding du logiciel StorCLI édité par Broadcom.
Installation
PERCCLI
Version à installer par défaut.
On télécharge perccli
et on l'installe dans /usr/local/sbin/perccli
:
# curl -A notcurl -OL https://dl.dell.com/FOLDER09770976M/1/PERCCLI_7.2313.0_A14_Linux.tar.gz
# bsdtar -xOf PERCCLI_7.2313.0_A14_Linux.tar.gz PERCCLI_7.2313.0_A14_Linux/perccli-007.2313.0000.0000-1.noarch.rpm |
bsdtar -C /usr/local/sbin/ -'s|\./opt/MegaRAID/perccli/perccli64|perccli|' -xf- ./opt/MegaRAID/perccli/perccli64
PERCLLI2
Version à installer uniquement pour les adaptateurs Dell PERC H965i.
On télécharge perccli2
et on l'installe dans /usr/local/sbin/perccli2
:
# curl -A notcurl -OL https://dl.dell.com/FOLDER09970165M/1/perccli2_8.4.0.22_linux.tar.gz
# bsdtar -xOf perccli2_8.4.0.22_linux.tar.gz perccli2_8.4.0.22_linux/perccli2-008.0004.0000.0022-1.x86_64.rpm | bsdtar -C /usr/local/sbin/ -'s|\./opt/MegaRAID/perccli2/perccli2|perccli2|' -xf- ./opt/MegaRAID/perccli2/perccli2
Pierre de rosette
| PERCCLI | MegaCLI | Description |
|------------------------------------+-----------------------------------------+-------------------|
| perccli /call show all
| megacli -adpallinfo -aALL
| Adaptateurs |
| perccli /call/eall/sall show all
| megacli -pdlist -aALL
| Disques physiques |
| perccli /call/vall show all
| megacli -LDInfo -Lall -aALL
| Disques virtuels |
| perccli /call show events
| megacli -AdpEventLog -GetEvents -aALL
| Logs |
| perccli /call show alilog
| megacli -AdpAlILog -aALL
| NVRAM logs |
Documentation de Broadcom traduisant les commandes MegaCLI
en equivalant
StorCLI
(équivalant à PERCCLI
).
Explications
Syntaxe de la ligne de commande
La commande perccli
permet d'agir sur différents éléments des cartes RAID. Ci-dessous se trouve la liste des premiers arguments supporté par la commande associée à leurs éléments, X
correspond à l'index (commençant à 0) de cet élément :
/cX
: un contrôleur/eX
: un ¿berceau? (enclosure)/sX
: un emplacement (slot)/vX
: un disque virtuel/dX
: un groupe de disques/fall
: la configuration externe (foreign configuration)/pX
: un disque physique/lnX
: une ligne (Lane)/bbu
: la batterie (battery backup unit)/cv
: le cache (cache vault)
Par exemple pour avoir l'état du premier controleur (son index est donc 0) il faut faire perccli /c0 show
.
Pour avoir une sortie en JSON d'une commande il suffit de la suffixer avec l'argument J
. Par exemple pour avoir l'état du la batterie du premier contrôleur en JSON il faut exécuter perccli /c0/bbu show J
.
Exemple de sortie de la commande
# perccli show
CLI Version = 007.2313.0000.0000 Mar 07, 2023
Operating system = Linux 6.1.0-16-amd64
Status Code = 0
Status = Success
Description = None
Number of Controllers = 1
Host Name = parbackup4bis
Operating System = Linux 6.1.0-16-amd64
System Overview :
===============
-------------------------------------------------------------------------
Ctl Model Ports PDs DGs DNOpt VDs VNOpt BBU sPR DS EHS ASOs Hlth
-------------------------------------------------------------------------
0 PERCH755Front 16 4 1 0 1 0 Opt On - N 0 Opt
-------------------------------------------------------------------------
Ctl=Controller Index|DGs=Drive groups|VDs=Virtual drives|Fld=Failed
PDs=Physical drives|DNOpt=Array NotOptimal|VNOpt=VD NotOptimal|Opt=Optimal
Msng=Missing|Dgd=Degraded|NdAtn=Need Attention|Unkwn=Unknown
sPR=Scheduled Patrol Read|DS=DimmerSwitch|EHS=Emergency Spare Drive
Y=Yes|N=No|ASOs=Advanced Software Options|BBU=Battery backup unit/CV
Hlth=Health|Safe=Safe-mode boot|CertProv-Certificate Provision mode
Chrg=Charging | MsngCbl=Cable Failure
Abréviations de la sortie standard
De nombreuses abréviations sont utilisées dans la sortie standard, en voici une liste non exhaustive :
- ASOs : Advanced Software Options
- AWB : Always WriteBack
- AftrLD : Identify Freespace After LD
- AftrVD : Identify Freespace After VD
- Alms : Alarm count
- Arr : Array Index
- B : Blocked
- BBU : Battery backup unit/CV
- BT : Background Task Active
- C : Cached IO
- CBShld : Copyback Shielded
- CFShld : Configured shielded
- CO : Cache Offload
- CR : CacheCade(Read)
- CW : CacheCade(Read/Write)
- Cac : CacheCade
- CertProv : Certificate Provision mode
- Chrg : Charging
- Cl : Cluster
- Cmp : Compatible Profile
- Consist : Consistent
- Cpybck : CopyBack
- Ctl : Controller Index
- Curr : Current Profile
- DG : Drive Group
- DGs : Drive groups
- DHS : Dedicated Hot Spare
- DID : Device ID
- DNOpt : Array NotOptimal
- DS3 : Dimmer Switch 3
- DS : DimmerSwitch
- Dflt : Default Profile
- Dgd : Degraded
- Dgrd : Degraded
- EHS : Emergency Spare Drive
- EID : Enclosure Device ID
- F : Foreign
- FC : Flush Commands
- FP : Fast Path
- FSpace : Free Space Present
- FUA : Force Unit Access
- Fld : Failed
- FreSpc : Freespace available before expansion
- Frgn : Foreign
- GHS : Global Hotspare
- HA : High Availability
- HD : Hidden
- HSPShld : Hotspare shielded
- Hlth : Health
- IOPs : IO per second
- InDwdCnt : Invalid Dword Count
- Intf : Interface
- InvalDwdCnt : Invalid Dword count
- LosOfDwrdSynCnt : Loss of Dword synchronization count
- LsDwSyCnt : Loss of Dword system Count
- MD : Max Disks
- MaxAHCIDev : Maximum AHCI Devices
- MaxLD : Maximum Logical Drives
- MaxPCIeDev : Maximum PCIe Devices
- MaxPhyDrv : Maximum Physical Drives
- Med : Media Type
- Msng : Missing
- MsngCbl : Cable Failure
- MsngCbl : Missing Cable
- N : No
- NR : No Read Ahead
- NdAtn : Need Attention
- NoArrExp : Without Array Expansion
- OCE : Online Capacity Expansion
- OfLn : OffLine
- Offln : Offline
- Onln : Online
- Opt : Optimal
- Optl : Optimal
- Optm : Optimal Profile
- PD : Physical drive count
- PDC : Drive Cache
- PDC : PD Cache
- PDs : Physical drives
- PI : Protection Info
- PNO : Phy Number
- PS : Power Supply Count
- Pdgd : Partially degraded
- Pend : Pending Profile
- PhyNo : Phy Number
- PhyResetPrbCnt : Phy reset problem count
- ProdID : Product ID
- ProfID : Profile ID
- R : Read Ahead Always
- RC : Read Commands
- RF : Reduced Feature Set
- RO : Read Only
- RW : Read Write
- Rbld : Rebuild
- Re : Recovery
- Read RT : Average Read Response Time
- Rec : Recovery
- RepInProg : Repair in progress
- RnDiErCnt : Running Disparity Error Count
- Row : Row Index
- RungDispartyErrCnt : Running Disparity error count
- SED : Self Encrypting Drive
- SIM : SIM Count
- SR : Sectors Read
- SS : Safe Store
- SSHA : Single server High Availability
- SW-FUA : Sectors written with FUA
- SW : Sectors written
- Safe : Safe-mode boot
- SeSz : Sector Size
- SlotBP : Bays On Port
- Sntze : Sanitize
- Sp : Spun
- Span : Span Index
- T : TransitioTRANS=TransportReady
- TSs : Temperature Sensor count
- Temperature : Temperature in Degree Celsius
- Total RT : Average Total Response Time
- Type : Drive Type
- UBUnsp : UBad Unsupported
- UBad : Unconfigured Bad
- UGShld : UGood shielded
- UGUnsp : UGood Unsupported
- UGood : Unconfigured Good
- Unkwn : Unknown
- VD : Virtual Drive
- VDs : Virtual drives
- WB : WriteBack
- WBSup : Write Back Support
- WC-FUA : Write Commands with FUA
- WT : WriteThrough
- Write RT : Average Write Response Time
- X : Not Available/Not Installed
- Xfer Rate : Transfer Rate
- Y : Yes
- dflt : Default
- sCC : Scheduled
- sPR : Scheduled Patrol Read
- us : micro seconds
Utilisation
Avoir un aperçu des contrôleurs RAID d'un système
# perccli /c0/bbu show all
CLI Version = 007.2313.0000.0000 Mar 07, 2023
Operating system = Linux 5.10.0-24-amd64
Status Code = 0
Status = Success
Description = None
Number of Controllers = 1
Host Name = foo
Operating System = Linux 5.10.0-24-amd64
System Overview :
===============
---------------------------------------------------------------------------
Ctl Model Ports PDs DGs DNOpt VDs VNOpt BBU sPR DS EHS ASOs Hlth
---------------------------------------------------------------------------
0 PERCH750Adapter 8 10 4 0 4 0 Opt On - N 0 Opt
---------------------------------------------------------------------------
Ctl=Controller Index|DGs=Drive groups|VDs=Virtual drives|Fld=Failed
PDs=Physical drives|DNOpt=Array NotOptimal|VNOpt=VD NotOptimal|Opt=Optimal
Msng=Missing|Dgd=Degraded|NdAtn=Need Attention|Unkwn=Unknown
sPR=Scheduled Patrol Read|DS=DimmerSwitch|EHS=Emergency Spare Drive
Y=Yes|N=No|ASOs=Advanced Software Options|BBU=Battery backup unit/CV
Hlth=Health|Safe=Safe-mode boot|CertProv-Certificate Provision mode
Chrg=Charging | MsngCbl=Cable Failure
Mode d'emploi
Actions sur les disques physiques
Localiser un disque
Faire clignoter un disque :
controler=0 ; enclosure=252 ; slot=0
perccli "/c${controler}/e${enclosure}/s${slot}" start locate
Arrêter le clignotement d’un disque :
controler=0 ; enclosure=252 ; slot=0
perccli "/c${controler}/e${enclosure}/s${slot}" stop locate
Passer un disque en OFFLINE
controler=0 ; enclosure=252 ; slot=0
perccli "/c${controler}/e${enclosure}/s${slot}" set offline
Passer un disque en ONLINE
!!! ATTENTION !!! ATTENTION !!! ATTENTION !!!
L’erreur fatale à ne pas commettre lorsque vous constatez un disque en état Firmware state: Failed est de le forcer à revenir Online. En effet, cela force à repasser en mode RAID sans reconstruction et vous pouvez dire adieu à votre système de fichiers. NE FAITES DONC PAS :
controler=0 ; enclosure=252 ; slot=0
perccli "/c${controler}/e${enclosure}/s${slot}" set online
Passer un disque en missing
controler=0 ; enclosure=252 ; slot=0
perccli "/c${controler}/e${enclosure}/s${slot}" set online
Ça le sort du RAID.
Contrôler la rotation d'un disque rotatif
Stopper la rotation d’un disque, dans le but de le retirer :
controler=0 ; enclosure=252 ; slot=0
perccli "/c${controler}/e${enclosure}/s${slot}" spindown
Activer la rotation d’un disque :
controler=0 ; enclosure=252 ; slot=0
perccli "/c${controler}/e${enclosure}/s${slot}" spinup
Lancer la reconstruction d’un disque
controler=0 ; enclosure=252 ; slot=0
perccli "/c${controler}/e${enclosure}/s${slot}" start rebuild
Contrôler la reconstruction d’un disque
controler=0 ; enclosure=252 ; slot=0
perccli "/c${controler}/e${enclosure}/s${slot}" show rebuild
Actions sur les disques virtuels
Extensions à chaud d’un disque virtuel
controler=0 ; virtual=239 ; size=1337
perccli "/c${controler}/v${virtual}" expand "Size=$size"
Suivre l'extension d'un disque virtuel
controler=0 ; virtual=239
perccli "/c${controler}/v${virtual}" show expansion
Actions sur les controleurs disques
Accéder aux logs d’un controller
controler=0
perccli "/c${controler}" show alilog