come installare Storage Manager su debian Etch / Lenny 64bit

x3400_F

 

Mi sono posto un problema (anche se ormai è arcinoto che "non ci si deve porre domande a cui non si sa rispondere" ...) : come faccio a monitorare i controller serveraid dei server ibm?
E' vero che i dischi hanno il led ed in caso di failure diventa arancione, ma se mi sfugge può succedere che si rompa prima un disco e non me ne accorga e che poi se ne rompa un altro fino a quando me ne accorgerei senza dubbio causa morte del server.

[questo è un vecchio post revisionato]
Il server in uso è un IBM X3400 con 3 controller sata/sas molto recenti:
  • ServeRAID 8k (1)
  • ServeRAID 8s (2)
ai quali sono collegate tre batterie di dischi sata: l' 8k gestisce il backplane anteriore mentre ciascun 8s una batteria di dischi a sè stante.
ServeRaid 8k e 8s come tutti i controller ServeRaid sono prodotti dalla Adaptec e rimarcati da IBM.

Il sistema operativo è Debian Lenny 64bit (amd64), ma tutta la guida è stata testata anche su Etch 64bit (amd64).
 


 

 

Ho cominciato a documentarmi a partire dal sito IBM: grave, gravissimo errore. Cercare qualcosa in quel sito è come cercare un ago in un pagliaio.
Il software di monitoraggio e gestione del raid IBM lo chiama  Raid Manager. Ho scaricato 2 iso da 600MB, ho letto 3 manuali (rigorosamente pdf da 150 pg l'uno) per non venire a capo di nulla. Il risultato finale è che sono riuscito facilmente a far funzionare arcconf che è il manager da console, mentre per l'interfaccia grafica in java, bestemmie a catinelle. L'applicazione si avvia ma non c'è verso di collegarsi a localhost per ottenere le info sullo stato dei controller.

Stavo per rinunciare e ad adattarmi al solo arcconf, quando mi sono imbattuto in uno sparuto nugolo di anime pie di ubuntu che mi ha illuminato. Esiste un pacchetto mantenuto da Adaptec (che poi ho scoperto essere, guarda caso, quasi identico a quello di IBM) ASM - Adaptec Storage Manager.

La faccio breve e vado a descrivere gli step necessari per l'installazione di quanto necessario e le modifiche da apportare affinchè il tutto funzioni.

preparazione: installo alien e altri pacchetti che torneranno utili a StorMan per funzionare:

apt-get install alien libc6-dev libstdc++5 ia32-libs lib32gcc1 lib32stdc++6 

download:
Questa è la parte piu insidiosa di tutto il processo.

In primis bisogna trovare il modello Adaptec corrispondente al ServeRaid. Sfortunatamente non sono ancora riuscito a trovare una tabella di equiparazione tra la nomeclatura IBM e di Adaptec, quindi lo si può leggere solo sul controller ed è necessario aprire il case:


 

Nel caso del ServeRaid 8s il corrispettivo modello Adaptec è il 4805SAS.

Ora il download vero e proprio: ci si potrebbe aspettare che le versioni piu recenti dello Storage Manager supportino anche tutti i prodotti supportati dalle versioni precedenti: non è cosi. La versione corretta di Storage Manager la si scopre a partire da questa pagina e selezionando il controller corretto.
As esempio, per il ServeRaid 8s (aka 4805SAS) la versione corretta è la 5.20 scaricabile da qui. La 5.30 invece non supporta il ServeRaid 8s, contrariamente a quanto ci si potrebbe aspettare:

versione 5.20 versione 5.30
Compatible Products
Adaptec RAID 3085
Adaptec RAID 31205
Adaptec RAID 31605
Adaptec RAID 3405
Adaptec RAID 3805
Adaptec RAID 4800SAS
Adaptec RAID 4805SAS
Adaptec SCSI RAID 2130SLP
Adaptec SCSI RAID 2230SLP
Adaptec Serial ATA II RAID 2420SA
Adaptec Serial ATA II RAID 2820SA
Compatible Products
Adaptec RAID 3085
Adaptec RAID 31205
Adaptec RAID 31605
Adaptec RAID 3405
Adaptec RAID 3805

[OT]
Tempo fa, non ricordo per quale controller avevo installato la versione 4.10 che necessita di qualche trick: quindi riporto qui la procedura per l'installazione della versione 4.10 nel caso in cui fosse necessaria a qualcuno.
[/OT]

Finalmente sono pronto per il download:

mkdir /tmp/storman
wget -c http://download.adaptec.com/raid/storage_manager/asm_linux_x64_v5_20_17414.rpm 

ls -lh
totale 46M
-rw-r--r-- 1 root root 46M 21 ott  2007 asm_linux_x64_v5_20_17414.rpm


creo il pacchetto deb:
(nota: davanti a scripts ci va "meno" "meno")

alien --scripts asm_linux_x64_v5_20_17414.rpm

ls -lh
totale 91M
-rw-r--r-- 1 root root 46M 21 ott  2007 asm_linux_x64_v5_20_17414.rpm
-rw-r--r-- 1 root root 46M  3 ott 16:51 storman_5.20-1_amd64.deb


installazione:

 dpkg -i storman_5.20-1_amd64.deb

durante l'installazione si ha un messaggio d'errore del quale non ci si deve preoccupare, lo si sistema dopo:

Configuro storman (5.20-1) ...
starting Adaptec Storage Manager agent ...
cut: fields and positions are numbered from 1
Usare `cut --help' per ulteriori informazioni.
cut: fields and positions are numbered from 1
Usare `cut --help' per ulteriori informazioni.

l'installazione si conclude con questo messaggio:

Installation completed successfully.
The application can be started by running: /usr/StorMan/StorMan.sh

apporto qualche modifica che, con un po di esperimenti, ho scoperto essere necessaria:

ln -s /usr/bin/sort /bin/sort 
cd /usr/StorMan 
cp stor_agent stor_agent.ori 
sed -e "s/0-6/\ 1-6/g" -i stor_agent 
chmod +x arcconf 
chmod +x hrconf 
chmod +x *.sh 
chmod +x stor_agent 

sistemo l'errore visto in fase di installazione:

rm /etc/init.d/stor_agent
ln -s /usr/StorMan/stor_agent /etc/init.d/stor_agent

aggiungo l'agent agli script in avvio

update-rc.d stor_agent defaults 

update-rc.d: warning: /etc/init.d/stor_agent missing LSB style header
 Adding system startup for /etc/init.d/stor_agent ...
   /etc/rc0.d/K20stor_agent -> ../init.d/stor_agent
   /etc/rc1.d/K20stor_agent -> ../init.d/stor_agent
   /etc/rc6.d/K20stor_agent -> ../init.d/stor_agent
   /etc/rc3.d/S20stor_agent -> ../init.d/stor_agent
   /etc/rc5.d/S20stor_agent -> ../init.d/stor_agent

Aggiungo al PATH (per il solo root) la directory dello Storage Manager editando il file /etc/profile ed aggiungendo ":/usr/StorMan"

vim /etc/profile

if [ "`id -u`" -eq 0 ]; 
then   
   PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/StorMan" 
else   
   PATH="/usr/local/bin:/usr/bin:/bin:/usr/games" 
fi    

questo è quello che, infine, ottengo:

cd /usr/StorMan

ls -lh
totale 28M
-rwxrwx--x 1 root root 1,6M 21 set  2007 arcconf
drwxrwx--- 3 root root 4,0K  3 ott 16:53 help
-rwxrwx--x 1 root root 2,0M 21 set  2007 hrconf
-rwxrwx--- 1 root root 1,7K 21 set  2007 index.html
drwxrwx--- 4 root root 4,0K 12 ott  2006 jre
-rwxrwx--- 1 root root 1,1M 21 set  2007 libstdc++.so.5
-rwxrwx--- 1 root root 1,7M 21 set  2007 libSTORARC.so
-rwxrwx--- 1 root root 2,6M 21 set  2007 libSTORIROC.so
-rwxrwx--- 1 root root  31K 21 set  2007 libSTORUTIL.so
-rwxrwx--- 1 root root  45K 21 set  2007 libXp.so.6
-rw-r--r-- 1 root root  796  3 ott 16:54 RaidAgnt.pps
-rwxrwx--- 1 root root   61 21 set  2007 RaidDev.pps
-rwxrwx--- 1 root root   72 21 set  2007 RaidDrv.pps
-rw-r--r-- 1 root root 3,6K  3 ott 16:54 RaidErrA.log
-rw-r--r-- 1 root root    0  3 ott 16:53 RaidErr.log
-rw-r--r-- 1 root root 2,7K  3 ott 16:54 RaidEvtA.log
-rw-r--r-- 1 root root  823  3 ott 16:54 RaidJob.ser
-rwxrwx--- 1 root root  676 21 set  2007 RaidLog.pps
-rwxrwx--- 1 root root 8,9M 21 set  2007 RaidMan.jar
-rwxrwx--- 1 root root 9,4M 21 set  2007 RaidManS.jar
-rw-r--r-- 1 root root  634  3 ott 16:53 RaidNLst.ser
-rw-r--r-- 1 root root  525  3 ott 16:54 RaidSLst.ser
-rw-r--r-- 1 root root  157  3 ott 16:54 RaidSMTP.ser
-rwxrwx--- 1 root root  19K 21 set  2007 README.TXT
-rwxrwx--x 1 root root 1,7K  3 ott 16:56 stor_agent
-rwxr-x--- 1 root root 1,7K  3 ott 16:55 stor_agent.ori
-rwxrwx--x 1 root root 4,3K 21 set  2007 StorAgnt.sh
-rwxrwx--x 1 root root 4,1K 21 set  2007 StorMan.sh
-rwxrwx--- 1 root root    0  3 ott 16:53 sun-jre150linuxx64.tgz
-rw-r--r-- 1 root root  899  3 ott 16:53 SystemID
-rwxrwx--- 1 root root 1,9K 21 set  2007 tweak.pl

Storage Manager ci offre un set di tool per l'amministrazione dei controller ServeRaid 8S e 8K:

  • arcconf: è un tool testuale che riporta moltissime informazioni e che è in grado, a quanto pare, di aggiornare il firmware del controller senza riavviare il server, ma non l'ho mai provato.
  • hrconf: è un tool testuale molto simile ad arcconf.
  • RaidMan.sh: è un tool grafico in java che consente di amministrare con facilità gli array raid e di impostare gli account di posta ai quali inviare le notifiche di failure oltre che gli avvisi acustici.
arcconf

  | UCLI |  Adaptec uniform command line interface
  | UCLI |  Version 5.20 (B17414)
  | UCLI |  (C) Adaptec 2003-2007
  | UCLI |  All Rights Reserved

 COPYBACK      | toggles controller copy back mode
 CREATE        | creates a logical device
 DATASCRUB     | toggles the controller background consistency check mode
 DELETE        | deletes one or more logical devices
 FAILOVER      | toggles the controller autotomatic failover mode
 SNAPSHOT      | creates a copy of a logical device
 GETCONFIG     | prints controller information
 GETLOGS       | gets controller log information
 GETSTATUS     | displays the status of running tasks
 GETVERSION    | prints version information for all controllers
 IDENTIFY      | blinks LEDS on device(s) connected to a controller
 KEY           | installs a Feature Key onto a controller
 MODIFY        | performs RAID Level Migration or Online Capacity Expansion
 RESCAN        | checks for new or removed drives
 ROMUPDATE     | updates controller firmware
 SETALARM      | controls the controller alarm, if present
 SETCONFIG     | restores the default configuration
 SETCACHE      | adjusts physical or logical device cache mode
 SETNAME       | renames a logical device given its logical device number
 SETPRIORITY   | changes the priority of a current logical device task
 SETSTATE      | manually sets the state of a physical or logical device
 TASK          | performs a task such as build/verify on a physical or logical device
hrconf

  | UCLI |  Adaptec uniform command line interface
  | UCLI |  Version 5.20 (B17414)
  | UCLI |  (C) Adaptec 2003-2007
  | UCLI |  All Rights Reserved

 BACKUP        | saves the current configuration to a file
 CREATE        | creates a logical device
 DELETE        | deletes one or more logical devices
 GETCONFIG     | prints controller information
 GETSTATUS     | displays the status of running tasks
 GETVERSION    | prints version information for all controllers
 IDENTIFY      | blinks LEDS on device(s) connected to a controller
 RESCAN        | checks for new or removed drives
 RESTORE       | restores a configuration from a saved file
 ROMUPDATE     | updates controller firmware
 SETBOOT       | marks a logical device bootable
 SETCONFIG     | restores the default configuration
 SETSTATE      | manually sets the state of a physical or logical device
 TASK          | performs a task such as build/verify on a logical device

Un esempio delle informazioni che arcconf raccoglie sul ServeRaid 8K:

./arcconf GETCONFIG 1
Controllers found: 3
----------------------------------------------------------------------
Controller information
----------------------------------------------------------------------
   Controller Status                        : Optimal
   Channel description                      : SAS/SATA
   Controller Model                         : IBM ServeRAID 8k   
   Controller Serial Number                 : C912E0
   Physical Slot                            : 0
   Installed memory                         : 256 MB
   Copyback                                 : Disabled
   Background consistency check             : Enabled
   Automatic Failover                       : Enabled
   Defunct disk drive count                 : 0
   Logical devices/Failed/Degraded          : 1/0/0
   --------------------------------------------------------
   Controller Version Information
   --------------------------------------------------------
   BIOS                                     : 5.2-0 (15411)
   Firmware                                 : 5.2-0 (15411)
   Driver                                   : 1.1-5 (2449)
   Boot Flash                               : 5.1-0 (15411)
   --------------------------------------------------------
   Controller Battery Information
   --------------------------------------------------------
   Status                                   : Optimal
   Over temperature                         : No
   Capacity remaining                       : 100 percent
   Time remaining (at current draw)         : 5 days, 10 hours, 40 minutes

----------------------------------------------------------------------
Logical device information
----------------------------------------------------------------------
Logical device number 0
   Logical device name                      : Drive 1
   RAID level                               : 5
   Status of logical device                 : Optimal
   Size                                     : 1668062 MB
   Stripe-unit size                         : 256 KB
   Read-cache mode                          : Enabled
   Write-cache mode                         : Enabled (write-back)
   Write-cache setting                      : Enabled (write-back) when protected by battery
   Partitioned                              : Yes
   Protected by Hot-Spare                   : No
   Bootable                                 : Yes
   Failed stripes                           : No
   --------------------------------------------------------
   Logical device segment information
   --------------------------------------------------------
   Segment 0                                : Present (0,0)      WD-WCANY3572505
   Segment 1                                : Present (0,1)      WD-WCANY3672295
   Segment 2                                : Present (0,2)      WD-WCANY3622392
   Segment 3                                : Present (0,3)      WD-WCANY3572622
   Segment 4                                : Present (0,4)      WD-WCANY3572437
   Segment 5                                : Present (0,5)      WD-WCANY3621474
   Segment 6                                : Present (0,6)      WD-WCANY3677375
   Segment 7                                : Present (0,7)      WD-WCANY3572424


----------------------------------------------------------------------
Physical Device information
----------------------------------------------------------------------
      Device #0
         Device is a Hard drive
         State                              : Online
         Supported                          : Yes
         Transfer Speed                     : SATA 3.0 Gb/s
         Reported Channel,Device            : 0,0
         Reported Location                  : Enclosure 0, Slot 0
         Reported ESD                       : 2,0
         Vendor                             : WDC
         Model                              : WD2500YS-23SHB0
         Firmware                           : 20.06C04
         Serial number                      : WD-WCANY3572505
         Size                               : 238475 MB
         Write Cache                        : Enabled (write-back)
         FRU                                : None
         S.M.A.R.T.                         : No

Lancio RaidMan.sh l'interfaccia grafica in java: non serve installare la java virtual machine perchè il pacchetto contiene quanto necessario.

Se si sta lavorando su un server sprovvisto di X si può sfruttare l'X forwarding di ssh accedendo al server con il comando:

ssh -X user@server

e verificando di aver i seguenti pacchetti installati sul server:
debian etch: x11-common xbase-clients
debian lenny: xauth
 

x3400:/usr/StorMan# ./StorMan.sh 

Dopo aver inserito la password di root vedo correttamente i controller, i volumi e i dischi.
Noto con piacere che l'interfaccia ha quello che cercavo, ovvero un meccanismo di notifica via mail.

Ecco gli screenshots:





Faccio ripartire l'agent di Storage Manager:

/etc/init.d/stor_agent stop 
/etc/init.d/stor_agent start 

ps aux |grep Sto 
root 8797 0.0 0.0 10592 1324 pts/1 S 20:45 0:00 sh /usr/StorMan/StorAgnt.sh 
root 8810 5.1 3.1 887332 65396 pts/1 Sl 20:45 0:04 ./jre/bin/java -Djava.compiler=NONE -cp /usr/StorMan/RaidMan.jar com.ibm.sysmgt.raidmgr.agent.ManagementAgent 

ora lo testo: stacco un disco a caldo (nel mio caso non ci sono dati importanti, sono in una situazione di test). Ecco che l'agent mi invia la mail con la notifica di failure:

This message was generated by the Adaptec Storage Manager Agent.
Please do not reply to this message.

Event Description:
Logical device failed: controller 2, logical device 1 ("Device 1").


Event Type:

Error Event Source: storage@x3400.2v.ntw Date: 04/13/2008 Time: 09:03:30 PM CEST

alcuni riferimenti:

enjoy!

Ottima guida l'url per lo

Ottima guida l'url per lo storage manager lo trovi adesso:

http://download.adaptec.com/raid/storage_manager/asm_linux_x64_v5_20_17414.rpm

@seba grazie della

@seba
grazie della segnalazione ! ciao

Invia nuovo commento

Il contenuto di questo campo è privato e non verrà mostrato pubblicamente.
  • Indirizzi web o e-mail vengono trasformati in link automaticamente
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Linee e paragrafi vanno a capo automaticamente.

Maggiori informazioni sulle opzioni di formattazione.

CAPTCHA
Questa domanda serve per verificare che tu sia un visitatore umano (non un computer) e per prevenire lo spam
9 + 3 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.