RAID-övervakning 3Ware

Inledning

Att använda RAID är ett bra steg till att öka driftsäkerheten på en server. Med minst RAID 1 så kan en disk gå sönder utan att du förlorar data eller att systemet kraschar. Men har man ingen övervakning så man inte vet om en disk är sönder eller inte, så spelar RAID inte lika stor roll längre. I denna artikel så visar vi hur du på ett smidigt sätt kan övervaka din RAID i Linux så du vet när en trasig disk bör bytas ut.

Vilken typ av RAID-kontroller har jag?

TWCli

Med TWCli kan du hantera din 3Ware-kontroller med textbaserade kommandon. Programmet finns tillgängligt på de flesta plattformar och i denna artikel ska vi fokusera på TWCli och Linux.

3Ware

Är du osäker på att vilken RAID-kontroller du har och inte vill göra en omstart av servern för att se under bootning, så kan du skriva följande kommando i en terminal:

dmesg |grep 3ware

Har du en 3Ware-kontroller så får du en liknande output nedan:

[    1.590710] 3ware 9000 Storage Controller device driver for Linux v2.26.02.014.
[    1.818376] scsi0 : 3ware 9000 Storage Controller
[    1.818516] 3w-9xxx: scsi0: Found a 3ware 9000 Storage Controller at 0xdfa20000, IRQ: 17. 0:1:0:0: Direct-Access     LSI      Logical Volume   3000 PQ: 0 ANSI: 6

Övervakning

De två mest vanliga sett att övervaka en RAID är antingen att vara fysiskt vid servern och se ifall någon lampa på servern indikerar att en disk är trasig, dock så är detta inte så praktiskt när servern står i en serverhall och det visar även bara om en disk är trasig inte om det är något fel på RAID'n

Det andra sättet är att via en terminal använda programmet TWCli och få mer djupgående information om din RAID. För att se över din RAID använd följande kommando:

tw_cli /c0 show all
(c0 indikerar vilken kontroller du kollar på, oftast är det 0 om du bara har en)

Automatisera

Det är inte optimalt för dig att manuellt behöva kolla av din RAID hela tiden, så istället så ska vi automatisera processen.

För den här guiden behöver du följande:

  • SFTP-klient (SCP/WinSCP)
  • Fungerande SMTP-klient så som postfix eller liknande
  • Texteditor (nano eller vim)
  1. Börja med att ladda hem och packa up TWCli. Nedladdningen kräver att du accepterar deras avtal innan du kan ladda ner filen.

    Du bör hitta filen tw_cli.x86_64 i tdmCliLnx.tgz. Här kan du använda dig av en dator med GUI och sedan använda SCP/WinSCP för att flytta över filen till servern.

  2. Börja med att flytta TWCli till /usr/local/bin/:

    mv tw_cli.x86_64 /usr/local/bin/tw_cli
    
  3. Navigera till /usr/local/bin/, skapa en fil som heter raidcheck.sh, editera och klistra in följande kod:

    #3ware
    #!/bin/bash
    STATUS=`/usr/local/bin/tw_cli /c0 show |grep DEGRADED |awk '{print $3}' |head -1`;
    STATUS_CHECK=${STATUS,,};
    
    if [ $STATUS_CHECK == degraded ]
    then
    echo -e "Subject: RAID WARNING @ `hostname` - A drive has status: $STATUS"|/usr/sbin/sendmail your@email.com
    echo -e "Warning, your raid is $STATUS_CHECK!";
    fi
    

    Du behöver byta ut your@email.com i skriptet ovan, till den e-postadress som ska ta emot varningar för RAID:en.

  4. För att göra raidcheck.sh körbar:

    chmod +x raidcheck.sh
    
  5. Öppna crontab och klistra in följande:

    10  *   *   *   *   /usr/local/bin/raidcheck.sh
    

Att tänka på!

Skriptet är gjort för att fungera på de flesta distributionerna, men det är inte någon garanti att det passar just din server.

Vi rekommenderar dig att testa att det verkligen fungerar innan du sätter det i skarp drift.

Hittar du inte det du söker?

Kontakta oss gärna för mer information. Vi hjälper dig att komma fram till den bästa lösningen för dina behov.

Skicka e-post Ring 0200-23 88 00