Hướng dẫn kiểm tra thông tin Hardware RAID LSI trên server của 123host chạy CentOS

Các server được thuê tại 123host thông thường đều sử dụng Hardware RAID card của HP và LSI. Trong bài này sẽ hướng dẫn các bạn kiểm tra thông tin status HDD, Raid Array của Card Raid HP đối với hệ điều hành Centos.

Kiểm tra thông tin card RAID sử dụng

Để kiểm tra hệ thống của bạn đang sử dụng card RAID loại nào, trước hết, bạn cần cài đặt gói lspci:

yum install pciutils

lspci -knn | grep 'RAID bus controller'

Ví dụ như trường hợp này, server sử dụng card raid LSI

Trong trường hợp sử dụng lệnh:

lspci -knn

Sẽ hiện đầy đủ thông tin loại card Raid đang sử dụng:

Cài đặt phần mềm quản lý Raid card với các loại card của LSI

Đối với các server sử dụng card raid LSI:

wget https://ginernet.com/downloads/MegaCli-8.07.14-1.noarch.rpm

rpm -Uhv MegaCli-8.07.14-1.noarch.rpm

  • MegaCli sẽ được cài đặt vào trong /usr/sbin

  • Hoặc trong thư mục /opt/MegaRAID/MegaCli/

Một số thao tác cơ bản

Trường hợp MegaCli cài đặt trong /usr/sbin, có thể gõ trực tiếp câu lệnh : Megacli [option]

Trường hợp MegaCli cài đặt trong  /opt/MegaRAID/MegaCli/MegaCli64, cần gõ full path: /opt/MegaRAID/MegaCli/MegaCli64 [option]

Kiếm tra toàn bộ thông tin về card RAID

/opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -aAll

Khi thực hiện lệnh này, một số thông tin như:

Thông tin về card Raid. Như trong trường hợp này, hệ thống đang sử dụng card Raid ServeRAID M1015 SAS/SATA Controller, ko có battery.

  • Thông tin về Virtual Disk, Phisical disk. Như trong trường hợp này, hệ thống co 2 ổ Physical, chạy 1 Virtual Drive, không có ổ nào bị Fail.

  • Hệ thống đã bật auto rebuild để tự động rebuild lại array trong trường hợp disk lỗi và có hot spare hoặc thay thế ổ lỗi:

Kiểm tra thông tin của Physical Disk

Để hiển thị thông tin về các thông tin của Physical Disk, sử dụng câu lệnh sau:

/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL

  • Ví dụ thông tin của 1 Physical Disk
  • Các ổ đĩa được định danh bằng vị trí Enclosure Device ID:Slot Number.

  • Trong đó bạn cần lưu ý tới trạng thái của dòng Firmware state:
    • Online, Spun Up: Ổ đĩa vẫn hoạt động bình thường
    • Failed : Ổ đĩa đã hư, cần thay thế.
    • Rebuild : Hệ thống đang rebuild lại.
    • Hotspare, Spun Up : Ổ đĩa được cấu hình làm hot spare.
    • Unconfigured(good) : Ổ đĩa chưa được cấu hình
    • Unconfigured(Bad): Ổ đĩa chưa được cấu hình nhưng lỗi phần cứng
  • Trong trường hợp bạn cần xem thông tin chính xác chỉ 1 Physical disk nào đó, có thể sử dụng câu lệnh sau:

/opt/MegaRAID/MegaCli/MegaCli64 -PDInfo -PhysDrv [E:S] -aALL

  • Trong đó E:S là Enclosure Device ID:Slot Number. Ví dụ cần xem thông tin của ổ đĩa có Enclosure Device ID 64, Slot Number 0

/opt/MegaRAID/MegaCli/MegaCli64 -PDInfo -PhysDrv [64:0] -aALL

Kiểm tra thông tin của Logical Disk (Virtual devices)

Để kiểm tra, ta sử dụng câu lệnh:

/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -Lall -aALL

Trong đó ta cần lưu ý một số thông số như:

  • State:
    • Optimal: Raid ở trạng thái hoạt động bình thường
    • Degraded: Bị fail 1 hoặc nhiều Physical Disk trong Array cần thay thế và rebuild lại.

Nháy đèn led phía trước của ổ đĩa

  • Để xác định một ổ đĩa được cắm ở slot nào phía trước server, ta có thể sử dụng câu lệnh sau để nháy đèn led của ổ đĩa. Ví dụ để nháy đèn led của ổ đĩa có Enclosure Device ID 64, Slot Number 0:
  • Bật chức năng xác định vị trí ổ trên Card Raid

/opt/MegaRAID/MegaCli/MegaCli64 -AdpSetProp \{UseDiskActivityforLocate -1\} -aALL

  • Nháy đèn ổ có vị trí  Enclosure Device ID 64, Slot Number 0:

/opt/MegaRAID/MegaCli/MegaCli64 -PdLocate -start -physdrv[64:0] -aALL

  • Stop việc nháy đèn ổ có vị trí  Enclosure Device ID 64, Slot Number 0:

/opt/MegaRAID/MegaCli/MegaCli64 -PdLocate -stop -physdrv[64:0] -aALL

 

Add/Remove Hot spare disk

Việc cấu hình cho 1 ổ đĩa làm Global hot spare hoặc dedicated hot spare cho riêng 1 hoặc 1 vài Raid Array nào đó có tác dụng trong trường hợp 1 disk trong array bị lỗi, hệ thống sẽ tự động dùng ổ hot spare để thay thế và rebuild lại Raid Array ngay lập tức, mà không cần chờ nhân viên quản lý thực hiện thao tác thay thế bằng tay ổ đĩa. Như vậy sẽ hạn chế được rủi ro trong trường hợp khi đang thao tác tay để thay ổ đĩa, array raid tiếp tục bị fail 1 ổ nào đó dẫn tới việc toàn bộ Array bị hỏng.

  • Yêu cầu: Raid card cần phải bật chức năng auto rebuild. Hoặc có thể tự bật nếu chưa bằng câu lệnh:

/opt/MegaRAID/MegaCli/MegaCli64 -AdpAutoRbld -Enbl -a0

Add hot spare disk

Ví dụ trong trường hợp này, ta cần add dedicated hot spare cho Array Raid trên card raid có ID 0:

  • Ổ đĩa cần thao tác là ổ có  giá trị [E:S] là [64:2], trạng thái chưa config:

Trong trường hợp ổ đĩa có Foreign State: Foreign, ta cần thực hiện các câu lệnh sau để clear config của ổ đĩa:

  • Kiểm tra toàn bộ hệ thống có bao nhiêu ổ đang ở state là Foreign

/opt/MegaRAID/MegaCli/MegaCli64 -CfgForeign -Scan -aALL

  • Như vậy ta đã có thể xác định chỉ có duy nhất ổ cần thao tác là foreign, sử dụng câu lệnh sau để chuyển clear các raid config cũ của ổ đĩa này:

/opt/MegaRAID/MegaCli/MegaCli64 -CfgForeign -Clear -aALL

  • Kiểm tra lại thông tin ổ vừa thao tác, trạng thái đã chuyển sang None:

/opt/MegaRAID/MegaCli/MegaCli64 -PDInfo -PhysDrv [64:2] -aALL

 

Ta sử dụng câu lệnh sau để thực hiện với các giá trị:

  • PhysDrv[64:2] : ID ổ đĩa sử dụng
  • a0 : 0 là ID của card raid, trong trường  hợp hệ thống chỉ có 1 card, có thể để giá trị là aAll thay vì a0.

/opt/MegaRAID/MegaCli/MegaCli64 -PDHSP -Set -PhysDrv[64:2] -a0

  • Hệ thống đã add ổ hot spare thành công:

  • Ổ đĩa sẽ được chuyển trạng thái sang Hotspare, Spun Up.

Remove hot sapare

Để remove ổ hot spare mới add ở phần trên, ta có thể sử dụng câu lệnh:

/opt/MegaRAID/MegaCli/MegaCli64 -PDHSP -Rmv -PhysDrv[64:2] -a0

  • Trạng thái của ổ đĩa sẽ chuyển lại qua Unconfigured(good), Spun Up

Thay thế ổ bị lỗi trong trường hợp có hot spare

Nếu 1 ổ đĩa bị hư, Array Raid ID 0 báo Degraded

Ổ đĩa được cấu hình hot spare sẽ tự động được sử dụng để sync dữ liệu rebuild lại raid array

  • Ta có thể sử dụng lệnh sau để hiện thị tiến trình rebuild:

/opt/MegaRAID/MegaCli/MegaCli64 -PDRbld -ShowProg -PhysDrv[64:2] -a0

  • Sau khi quá trình sync dữ liệu giữa Array raid và ổ hot spare thành công. Bạn có thể tiến hành thay thế ổ đĩa bị lỗi trên hệ thống. Khi ổ đĩa được thay thế hoàn tất. Ổ đĩa mới được thay thế sẽ trở thành ổ hot spare mới.

Thay thế ổ bị lỗi trong trường hợp không có hot spare

Hệ thống đã bật auto rebuild

Yêu cầu: Raid card cần phải bật chức năng auto rebuild. Hoặc có thể tự bật nếu chưa bằng câu lệnh:

/opt/MegaRAID/MegaCli/MegaCli64 -AdpAutoRbld -Enbl -a0

Trong trường hợp bạn cần thay thế 1 ổ bị lỗi mà hệ thống không cấu hình hot spare. Bạn cần xác định chính xác ổ cần thay thế bằng các câu lệnh xác định ở các bước trước. Sau đó rút ổ đĩa, thay thế bằng ổ đĩa với dung lượng tương tự (Tốt nhất là giống hệt ổ đĩa cần thay từ dung lượng, hãng cung cấp, mã sản phẩm). Hệ thống sẽ tự  động rebuild lại raid sau khi nhận thấy ổ đĩa đã được thay. Bạn có thể tiến hành kiểm tra quá trình rebuild bằng câu lệnh:

/opt/MegaRAID/MegaCli/MegaCli64 -PDRbld -ShowProg -PhysDrv[E:S] -a0

Rebuild lại không sử dụng auto rebuild

Trong trường bạn không muốn sử dụng auto rebuild, và hệ thống đã tắt auto rebuild. Bạn cần thực hiện Offline ổ đĩa nếu ổ đĩa lỗi chưa chuyển status sang offline, set missing ổ đĩa, thay ổ đĩa mới vào hệ thống. Add lại ổ đĩa vào array.

Bạn có thể tự disable chế độ auto rebuild bằng câu lệnh:

/opt/MegaRAID/MegaCli/MegaCli64 -AdpAutoRbld -Dsbl -a0

Thực hiện thao tác

  • Trong trường hợp hệ thống không nhận diện ổ cứng của bạn trong OS, bạn có thể trực tiếp rút ổ đĩa ra ngoài và thay thế ổ khác.
  • Trường hợp ổ đĩa bị lỗi vẫn nhận trong OS, và trong config của card raid cần Set offline ổ đĩa, ví dụ ổ đĩa bị lỗi và cần thay thế vị trí  Enclosure Device ID 64, Slot Number 1 bị hư:

/opt/MegaRAID/MegaCli/MegaCli64 -PDOffline -physdrv[64:1] -a0

  • Ổ đĩa đã được set sang Offline

  • Rút ổ đĩa ra khỏi server và thay thế bằng ổ khác.
  • Trong trường hợp ổ mới cắm vào nhận thành Foreign, bạn có thể tiến hành clear như trong hướng dẫn ở  các mục trước.
  • Ổ đĩa mới được gắn vào với các thông số phù hợp để rebuild

  • Tiếp theo ta cần kiểm tra số lượng SPAN và số lượng disk trên SPAN bằng câu lệnh:

/opt/MegaRAID/MegaCli/MegaCli64 -CfgDsply -a0

 

 

  • Như vậy ổ mới được thay thế sẽ dùng để thay cho Array (SPAN) 0, Physical disk 1 ứng với thông tin là array0 row1.
  • Hoặc đơn giản bạn có thể kiểm tra các thông tin trên bằng câu lệnh

/opt/MegaRAID/MegaCli/MegaCli64 -Pdgetmissingdgetmissing -a0

  • Ta sử dụng câu lệnh sau để add ổ đĩa mới thay và array:

/opt/MegaRAID/MegaCli/MegaCli64 -PdReplaceMissing -PhysDrv[64:1] -array0 -row1 -a0

  • Lúc này trạng thái của ổ đĩa sẽ được chuyển qua Offline

  • Sử dụng câu lệnh sau để bắt đầu quá trình rebuild lại raid trên ổ mới thay ứng với [Enclosure Device ID:Slot Number]: [64:1]

/opt/MegaRAID/MegaCli/MegaCli64 -PDRbld -Start -PhysDrv[64:1] -a0

  • Trạng thái của ổ đĩa sẽ chuyển sang Rebuild

  • Bạn có thể kiểm tra tiến trình rebuild bằng câu lệnh:

/opt/MegaRAID/MegaCli/MegaCli64 -PDRbld -ShowProg -PhysDrv [64:1] -aALL

  • Như vậy bạn đã hoàn tất việc thay thế ổ cứng và rebuild lại raid array. Việc còn lại hiện tại bạn có thể kiếm 1 tách cafe rồi chờ cho quá trình rebuild hoàn tất.

Kiểm tra và clear Preserved Cache

Trong một vài trường hợp, khi hệ thống rebuild lại raid hoàn tất, tuy nhiên Raid card controller vẫn còn lưu cache của disk bị lỗi. Trong trường hợp này, Raid controller sẽ yêu cầu “manual intervention to boot” và sẽ hiện thông báo để bảo lưu cache trên hệ thống:

FW error description: 
 The current operation is not allowed because the controller has data in cache for offline or missing virtual drives.

Trong trường hợp này, ta có thể sử dụng câu lệnh sau để list các disk đang được lưu cache trên controller

/opt/MegaRAID/MegaCli/MegaCli64 -GetPreservedCacheList -a0

Hệ thống sẽ hiên thị thông tin nếu có, ví dụ:

Adapter #0
 Virtual Drive(Target ID 09): Missing.
 Exit Code: 0x00

Ta sử dụng câu lệnh sau để clear cache của ổ đĩa này trên raid controller với L09 là Target ID, a0 là Adapter 0

/opt/MegaRAID/MegaCli/MegaCli64-DiscardPreservedCache -L09 -a0

 Adapter #0
 Virtual Drive(Target ID 09): Preserved Cache Data Cleared.
 Exit Code: 0x00

Storcli

Đối với một số dòng raid card, bạn không thể sử dụng được Megacli. Bạn có thể thay thế bằng cách sử dụng Storcli. Storcli được dùng cho các card đời mới được cung cấp bởi Avago (hãng đã mua lại LSI).

Cài đặt

Bạn có thể tải về từ trang cung cấp của Broadcom tại đây , và chọn download mục MegaRAID Storcli – All OS.

Tiến hành giải nén file vừa download về. Cài đặt bằng cách truy cập vào thư mục Unified_storcli_all_os/Linux và cài đặt thông qua gói rpm được cung cấp trong đây:

Storcli sẽ được cài đặt tại /usr/sbin/storcli hoặc /opt/MegaRAID/storcli/storcli64

Một số câu lệnh thường dùng

Ví dụ trong trường hợp này storcli được cài đặt tại /opt/MegaRAID/storcli/storcli64

  • Hiên thị thông tin của card raid và config

/opt/MegaRAID/storcli/storcli64 show all

  • Hoặc câu lệnh sau để hiển thị config và thông tin của card raid adapter 0

/opt/MegaRAID/storcli/storcli64 /c0 show all

  • Sử dụng câu lệnh sau để show các physical disk

/opt/MegaRAID/storcli/storcli64 /call/eall/sall show

  • Sử dụng câu lệnh sau để xem quá trình rebuild disk của ổ đĩa có E:S 64:1

/opt/MegaRAID/storcli/storcli64 /call/e64/s1 show rebuild

  • Sử dụng câu lệnh sau để show thông tin của disk group

/opt/MegaRAID/storcli/storcli64 /call/dall show

  • Sử dụng câu lệnh sau để nháy đèn led xác định ổ đĩa với e và s được xác định ở các bước trước

/opt/MegaRAID/storcli/storcli64 /call/e64/s0 start locate

  • Sử dụng câu lệnh sau để stop việc locate

/opt/MegaRAID/storcli/storcli64 /call/e64/s0 stop locate

Rate This Article

2 Comments

  1. vuthang

    ban cho minh hoi khi minh check raid thi thong so Enclosure Device ID khong hien ID ma hien N/A co nghia la nhu nao ak? minh xin cam on

  2. Chào Anh, trong trường hợp giá trị E thể hiện N/A, có thể do ổ cứng Anh sử dụng không được support với card Raid mà Anh đang kiểm tra. Anh có thể sử dụng câu lệnh sau để kiểm tra log của card Raid rồi tìm kiếm chính xác lỗi mà card Raid trả về nhé:
    /opt/MegaRAID/MegaCli/MegaCli64 -AdpEventLog -GetEvents -f events -aAll

Leave A Comment?