Basic terms
- RAID: Redundant Array of Independent Disks. It's a data storage virtualization technology.
- Controller: The hardware that manages the RAID array.
- Unit: A virtual drive that consists of one or more physical drives.
- Drive: A physical hard drive or SSD.
- Rebuild: The process of recreating lost data on a new drive.
- Parity: A mathematical method to recreate data lost from a disk in the array.
- Striping: Data is split across multiple disks.
- Mirroring: Data is duplicated on two or more disks.
Debugging
When debugging, it's important to check the status of your RAID controller and units regularly. If you see a status of DEGRADED
, this means one or more drives have failed. If you see a status of REBUILDING
, this means the RAID is currently rebuilding data on a new drive.
MegaCli Commands
-
View Adapter Information:
MegaCli -AdpAllInfo -aALL
-
View the Configuration of the Controller:
MegaCli -CfgDsply -aALL
-
List All Drives:
MegaCli -PDList -aALL
-
View the Physical Disk Information:
MegaCli -PDInfo -PhysDrv [Enclosure:Slot] -aALL
-
Check the Virtual Drive (Logical Drive) Information:
Copy codeMegaCli -LDInfo -Lall -aALL
-
View the Battery Backup Unit (BBU) Status:
MegaCli -AdpBbuCmd -aALL
-
Check for Consistency of RAID Configuration:
MegaCli -LDCC -aALL
-
Rebuild a Drive:
MegaCli -PDRbld -Start -PhysDrv [Enclosure:Slot] -aALL MegaCli -PDRbld -Stop -PhysDrv [Enclosure:Slot] -aALL MegaCli -PDRbld -ShowProg -PhysDrv [Enclosure:Slot] -aALL
-
Identify a Failed Drive:
MegaCli -PDList -aALL | grep -E 'Slot Number|Firmware state' # OR MegaCli -CfgDsply -aALL | awk '/Physical Disk:/{print ""; print; next} /Slot Number|Firmware state|Enclosure Device ID:|Inquiry Data|Device Id/{print}'
-
Replace a Failed Drive:
MegaCli -PDOffline -PhysDrv [Enclosure:Slot] -aALL MegaCli -PDMarkMissing -PhysDrv [Enclosure:Slot] -aALL MegaCli -PDPrpRmv -PhysDrv [Enclosure:Slot] -aALL
-
View Event Log:
MegaCli -AdpEventLog -GetEvents -f events.log -aALL
-
Silence Alarm:
MegaCli -AdpSetProp AlarmSilence -aALL
mdadm commands
- To create a RAID 5 array:
mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda1 /dev/sdb1 /dev/sdc1
- To view the status of the RAID:
cat /proc/mdstat
- To stop a raid array:
mdadm --stop /dev/md0
- To remove a failed disk:
mdadm --manage /dev/md0 --remove /dev/sda1
- To add a new disk to the array:
mdadm --manage /dev/md0 --add /dev/sdd1
Please note these commands are general and your RAID setup and commands may differ.
tw_cli Commands
tw_cli
is a command line tool for managing 3ware RAID controllers. Here are some basic commands:
- To check the status of the RAID controller:
tw_cli info c0
- To check the status of a unit:
tw_cli /c0/u0 show
- To check the status of a drive:
tw_cli /c0/p0 show
- To silence an alarm:
tw_cli /c0 silence
- To rebuild a unit:
tw_cli /c0/u0 start rebuild disk=1
- To delete a unit:
tw_cli /c7/u2 del
- To disable a drive:
tw_cli /c0/p1 remove
- To enable a drive:
tw_cli /c0/p1 add
- To show events:
tw_cli /c0 show events
- To show all physical drives:
tw_cli /c0 show phy
Conclusion
Understanding the RAID server and different command tools is important to manage, maintain, and monitor the RAID Server controllers and units to prevent data loss and smooth operation.
About me
I was recently hired as a System Administrator to handle a variety of RAID servers. My job involves a mix of analyzing and setting up these servers, keeping an eye on their performance, writing scripts to make things run smoother, and putting together dashboards to keep everything easy to track and manage.
My Email: hi@ericgit.me
Top comments (0)