MegaCli 是管理 LSI(現為 Broadcom)MegaRAID 系列硬件 RAID 控制器的強大命令行工具,適合在缺乏圖形界面的環境中進行精細的存儲配置和監控。
下面為您梳理其下載安裝、核心用法和典型應用場景。
?? 工具概覽與獲取安裝
MegaCli 是 Broadcom 提供的用于管理基于 MegaRAID 控制器的硬件 RAID 的命令行工具 。它支持在 Windows、Linux 及 VMware ESXi 等多種操作系統上運行,允許您通過命令行直接配置、監控和管理 RAID 卡及其下的物理磁盤、虛擬磁盤(RAID 陣列)等 。
- 下載地址:工具可從 Broadcom(博通)官方網站 下載。您可以通過訪問 Broadcom 支持網站,搜索 "MegaCLI" 來找到對應的最新版本下載頁面 。一個常見的版本是
8-07-14_MegaCLI.zip。 - 安裝示例(以 CentOS 系統為例):
- 使用
rpm -ivh MegaCli-8.07.14-1.noarch.rpm命令安裝下載的 RPM 包 。 - 安裝后,主程序通常位于
/opt/MegaRAID/MegaCli/目錄下,可執行文件可能是MegaCli或MegaCli64。 - 為了方便使用,建議創建軟鏈接到系統命令路徑,例如:
ln -s /opt/MegaRAID/MegaCli/MegaCli64 /usr/bin/megacli。 - 對于 Ubuntu 等 Debian 系系統,可能需要先使用
alien工具將 rpm 包轉換為 deb 包后再安裝 。 - 如果執行命令時報告缺少
libncurses.so.5等庫文件,需要安裝相應的依賴庫,例如ncurses-compat-libs(CentOS)或libncursesw5(Ubuntu)。
- 使用
?? 核心命令與使用方法
使用 MegaCli 前,通常需要確認操作的適配器(RAID 卡)編號,默認為 -a0(適配器0)。使用 -aALL 可操作所有適配器。
下表匯總了最常用的一些操作命令:
| 操作類別 | 命令示例 | 功能說明 |
|---|---|---|
| 信息查看 | megacli -AdpAllInfo -aALL |
查看 RAID 卡適配器的詳細信息 。 |
megacli -PDList -aALL |
列出所有物理磁盤的詳細信息 。 | |
megacli -LDInfo -Lall -aALL |
查看所有虛擬磁盤(RAID 陣列)的信息 。 | |
| RAID配置 | megacli -CfgLdAdd -r1 [32:6,32:7] -a0 |
使用指定槽位的磁盤創建 RAID 1 。 |
megacli -CfgLdDel -L1 -a0 |
刪除編號為 1 的虛擬磁盤 。 | |
| 磁盤管理 | megacli -PDHSP -Set -PhysDrv [32:7] -a0 |
將指定磁盤設置為全局熱備盤 。 |
megacli -PDOffline -PhysDrv [32:7] -a0 |
將指定物理磁盤設置為離線狀態 。 | |
megacli -PDOnline -PhysDrv [32:7] -a0 |
將指定物理磁盤設置為在線狀態 。 | |
| 狀態監控 | megacli -AdpBbuCmd -aAll |
查看 RAID 卡電池(BBU)信息 。 |
megacli -PDRbld -ShowProg -PhysDrv [32:7] -a0 |
查看物理磁盤重建進度 。 |
?? 典型應用場景舉例
-
創建新的 RAID 1 陣列
假設希望用機箱(Enclosure)ID 為 32、槽位(Slot)為 6 和 7 的兩塊新硬盤創建一個 RAID 1(鏡像)陣列 。- 步驟一:使用
megacli -PDList -aALL確認這兩塊磁盤的Firmware state為Unconfigured(good)(未配置良好)。 - 步驟二:執行命令
megacli -CfgLdAdd -r1 [32:6,32:7] -a0創建陣列 。 - 步驟三:創建成功后,無需重啟服務器 。執行
echo "- - -" > /sys/class/scsi_host/hostX/scan命令觸發系統重新掃描 SCSI 總線(X 為具體的主機編號),之后使用lsblk命令即可看到新出現的磁盤設備(如/dev/sdb),之后便可對其進行分區、格式化等操作 。
- 步驟一:使用
-
快速定位并更換故障硬盤
當 RAID 陣列出現磁盤故障,狀態變為 Degraded(降級)時,需要快速找到壞盤并更換 。- 步驟一:使用
megacli -PDList -aALL查看所有物理盤,重點關注Media Error Count(介質錯誤計數)和Other Error Count(其他錯誤計數)非零或Firmware state顯示為Failed(失敗)的磁盤,并記錄其Enclosure Device ID和Slot Number。 - 步驟二:更換新硬盤后,系統可能會自動開始重建。若無,可嘗試手動觸發重建:
megacli -PDRbld -Start -PhysDrv [EID:S] -a0(其中EID為機箱 ID,S為槽位號)。使用megacli -PDRbld -ShowProg -PhysDrv [EID:S] -a0查看重建進度 。
- 步驟一:使用
-
處理外來配置(Foreign Configuration)
當從另一臺服務器拆下帶有 RAID 信息的硬盤插入本機時,可能會檢測到外來配置 。- 步驟一:使用
megacli -cfgforeign -scan -a0掃描是否存在外來配置 。 - 步驟二:如果確認要清空這些配置以使用磁盤,可執行
megacli -cfgforeign -clear -a0清除外來配置 。此操作會破壞原磁盤上的數據,請謹慎確認。
- 步驟一:使用
?? 重要注意事項
- 操作風險:創建或刪除 RAID、設置熱備盤等操作會破壞數據。在執行前務必反復確認操作的磁盤和 RAID 卷是否正確 。
- 兼容性:MegaCli 主要適用于 LSI/Broadcom 的 MegaRAID 系列控制器。在使用前,可通過
lspci | grep -i mega或dmesg | grep -i raid等命令確認服務器是否使用此類 RAID 卡 。 - 狀態解讀:密切關注物理磁盤的
Media Error Count和Other Error Count,非零值可能預示磁盤潛在問題 。虛擬磁盤的State為Optimal表示最優,Degraded表示降級(有磁盤故障)。
浙公網安備 33010602011771號