Megaraid CLI hay còn được gọi tắt MegaCLI là một công cụ thao tác trên dòng lệnh command line nhằm quản lý các controller của dòng LSI MegaRaid. MegaCLI có thể quản lý thông tin, giám sát tình trạng về raid, tạo xóa raid.

1. Kiểm tra thông tin card RAID đang sử dụng

Sử dụng lspci để kiểm tra thông tin card RAID mà bạn đang sử dụng

yum install -y pciutils 
lspci -knn | grep 'RAID bus controller'

MegaCLI chỉ sử dụng được đối với dòng LSI MegaRaid cho nên đến bước này nếu đúng là card RAID của bạn là dòng LSI MegaRaid thì chúng ta tiếp tục theo dõi bài viết để cùng xem xem: MegaCLI sử dụng như thế nào?

2. Các khái niệm cơ bản

  • Adapter: Physical controller mà chúng ta sử dụng, được biểu diễn bởi ID (đa số là 0)
  • Enclosure: Là các chassis backplan dùng để gắn các ổ vật lý , biểu diễn bởi các id, giống như: 32, 33…
  • Physical Drives: Là các ổ cứng vật lý được gắn vào slot (khe) ổ cứng tương ứng biểu diễn bằng các id: 0, 1, 2, …
  • Virtual Drives: Là các ổ Logical được Raid từ các ổ Physical biểu diễn bằng các id: 0, 1, 2, … Nó bao gồm các thông tin như cấp độ Raid (0,1,5,10…) các ổ Physical được sử dụng, strip size ,…

3. Cài đặt MegaCLI

Nội dung bài viết sẽ tập trung chủ yếu vào cài đặt sử dụng MegaCLI trên Linux (CentOS7, Ubuntu18). Chúng ta có thể download file cài đặt tại trang chủ

Cài đặt MegaCLI trên CentOS7

yum install sg3_utils wget git -y
git clone https://github.com/nhanhoadocs/ghichep-megacli.git
rpm -ivh ghichep-megacli/MegaCli8.07.14/Linux/MegaCli-8.07.14-1.noarch.rpm
echo "alias megacli='/opt/MegaRAID/MegaCli/MegaCli64'" >> /root/.bashrc
source /root/.bashrc

Cài đặt MegaCLI trên Ubuntu18

sudo apt-get install wget sg3_utils git -y
git clone https://github.com/nhanhoadocs/ghichep-megacli.git
sudo dpkg -i ghichep-megacli/MegaCli8.07.14/Linux/megacli_8.07.14-1_all.deb
echo "alias megacli='/opt/MegaRAID/MegaCli/MegaCli64'" >> /root/.bashrc
source /root/.bashrc

4. Các lệnh thao tác cơ bản với MegaCLI

Hiển thị trạng thái tổng quan hệ thống

megacli -ShowSummary -aALL

Hiển thị thông tin chi tiết của SAS/SATA

megacli -AdpAllInfo -aALL
megacli -CfgDsply -aALL
megacli -AdpEventLog -GetEvents -f events.log -aALL && cat events.log

Hiển thị thông tin ngắn gọn

megacli -EncInfo -aALL

Thông tin về các đổ đĩa vật lý (Physical Devices)

megacli -PDList -aALL
megacli -PDList -a0

Thông tin về các ổ đĩa được RAID(Virtual Devices)

megacli -LDInfo -Lall -aALL

Thông tin về Pin của card RAID (Batery Backup Unit – BBU)

megacli -AdpBbuCmd -aALL

5. Các lênh quản trị nâng cao

Cho phép cảnh báo báo động trong chế độ im lặng

megacli -AdpSetProp AlarmSilence -aALL

Vô hiệu hóa cảnh báo báo động

megacli -AdpSetProp AlarmDsbl -aALL

Bật lại cảnh báo báo động

megacli -AdpSetProp AlarmEnbl -aALL

Xem thông tin về trạng thái đọc tuần tự và độ trễ giữa các lần đọc tuần tự

megacli -AdpPR -Info -aALL

Thông tin về tốc độ đọc tuần tự

megacli -AdpGetProp PatrolReadRate -aALL

Để giảm mức sử dụng tài nguyên tuần tự xuống 2% tránh ảnh hưởng đến hiệu suất chung

megacli -AdpSetProp PatrolReadRate 2 -aALL

Vô hiệu quá đọc tuần tự

megacli -AdpPR -Dsbl -aALL

Bắt đầu một quá trình quét đọc tuần tự một cách thủ công

megacli -AdpPR -Start -aALL

Để dừng quá trình quét đọc tuần tự

megacli -AdpPR -Stop -aALL

Kiểm tra cảnh báo đọc tuần tự

megacli -AdpEventLog -GetSinceReboot -warning -fatal -a0 

Tắt bộ đệm vật lý tránh mất dữ liệu trong quá trình không có UPS dự phòng điện

megacli -LDGetProp EnDskCache -LAll -aALL

Enable bộ đệm

megacli -LDGetProp DisDskCache -LAll -aALL

Kiểm tra RAID hiện có là 0, 1, 5, 10…

megacli -LDInfo -L0 -a0 |grep -i raid

6. Xóa cấu hình Foregin

Đối với các ổ có dính cấu hình RAID trước đó sẽ có State là Foregin và không thể sử dụng để cấu hình RAID hay chuyển JBOD. Chúng ta cần phải xóa hết các Foregin trước khi sử dụng disk

Kiểm tra các ổ có Foregin

megacli -CfgForeign -Scan -aALL
# or 
megacli -PDList -aALL | grep "Foreign State:"

Xóa cấu hình Foregin

megacli -CfgForeign -Clear -a0

7. Cấu hình RAID

Lưu ý: Việc cấu hình RAID trên MegaCLI cần phải thao tác cẩn thận cần phải thực hiện tránh thao tác với các ổ đang sử dụng, có dữ liệu

Lấy Adapter ID, Enclosure ID, Slot ID

megacli -PDList -aALL | egrep 'Adapter|Enclosure|Slot'

Kết quả sơ bộ như sau

Adapter #0
Enclosure Device ID: 252
Slot Number: 0
Enclosure position: N/A
Enclosure Device ID: 252
Slot Number: 1
Enclosure position: N/A
Enclosure Device ID: 252
Slot Number: 2
Enclosure position: N/A
Enclosure Device ID: 252
Slot Number: 3
Enclosure position: N/A
Enclosure Device ID: 252
Slot Number: 4
Enclosure position: N/A
Enclosure Device ID: 252
Slot Number: 5
Enclosure position: N/A
Enclosure Device ID: 252
Slot Number: 6
Enclosure position: N/A
Enclosure Device ID: 252
Slot Number: 7
Enclosure position: N/A
Enclosure Device ID: 252
Slot Number: 8
Enclosure position: N/A
Enclosure Device ID: 252
Slot Number: 9
Enclosure position: N/A

Ở ví dụ trên chúng ta có thể thấy các thông tin sau

Atapter ID    --> 0
Enclosure ID  --> 252
Slot Number   --> 0,1,2,3,4,5,6,7,8,9

Kiểm tra lại các ổ nếu đang được sử dụng bởi Logical Device

megacli -LDInfo -Lall -aALL
# or
megacli -LdPdInfo -aALL

Cấu hình RAID

megacli -CfgLdAdd -r0 [252:2,252:3] -a0
megacli -CfgLdAdd -r1 [252:2,252:3] -a0
megacli -CfgLdAdd -r5 [252:2,252:3,252:4,252:5] -a0
megacli -CfgLdAdd -r6 [252:2,252:3,252:4,252:5,252:6] -a0
megacli -CfgLdAdd -r50 raid0[252:2,252:3,252:4] raid1[252:5,252:6,252:7] -a0
megacli -CfgLdAdd -r60 raid0[252:2,252:3,252:4,252:5] raid1[252:6,252:7,252:8,252,9] -a0

Lưu ý:
– Raid 0 khuyến cáo tối thiểu 2 ổ
– Raid 1 khuyến cáo tối thiểu 2 ổ
– Raid 5 khuyến cáo tối thiểu 3 ổ
– Raid 6 khuyến cáo tối thiểu 4 ổ

– …

8. Cấu hình JBOD

Lưu ý: Tương tự cấu hình RAID, việc cấu hình JBOD trên MegaCLI cần phải thao tác cẩn thận cần phải thực hiện tránh thao tác với các ổ đang sử dụng, có dữ liệu

List kiểm tra các Physical Devices

megacli -PDList -aALL

Show kiểm tra lại các Virtual Devices

megacli LDInfo -Lall -a0

Kiểm tra JBOD đã được enable hay chưa

megacli AdpGetProp EnableJBOD -aALL

Enabe JBOD nếu chưa được cấu hình

megacli AdpSetProp EnableJBOD 1 -a0

Lấy Adapter ID, Enclosure ID, Slot ID

megacli -PDList -aALL | egrep 'Adapter|Enclosure|Slot'

Set trạng thái các disk cần chuyển qua Non-RAID (JBOD) là GOOD – Sẵn sàng sử dụng

megacli -PDMakeGood -PhysDrv[32:4, 32:5, 32:6] -Force -a0

Set các disk trên về JBOD

megacli -PDMakeJBOD -PhysDrv[32:4, 32:5, 32:6] -a0

Kiểm tra bằng cách sử dụng lsblk của linux

9. Tổng kết

Bài viết đã hướng dẫn các bạn sử dụng cơ bản MegaCLI để thao tác tạo RAID, JBOD, … trên các server sử dụng LSI MegaRaid. Bài viết sẽ được bổ sung nếu có thêm các câu lệnh sử dụng hữu ích trong quá trình vận hành.

Bài viết được đăng lại từ Github của Nhân Hòa Software Company