Maskiner/Dell 2650

From Programvareverkstedet
Jump to navigation Jump to search

Veldig Viktige Ting

  • Deaktiver USB-kontrolleren i BIOS, ellers blir litt av RAM-en din korrupt
  • Slå av alt som ligner på framebuffer, ellers får du ikke bilde på remote-konsollet, bare "Remote console not available"
  • Oppgrader firmware på RAID-kontrolleren, om den er for gammel henger boksen etter noen måneder

Remote management

Dell Remote Access Controller (DRAC) gir deg remote-konsoll, booting og gode ting. Den har webinterface, og potensielt telnet og seriellkonsoll. IP-adressen er på 192.168.215.0/24-nettet, og du finner den ved å slå opp boksnavn-mgmt.pvv.ntnu.no i DNS. For å komme inn på konsollet til knakelibrak kan du f.eks. sette IP på maskinen din til 192.168.215.9 og åpne https://knakelibrak-mgmt/ på en maskin med sun-java6-plugin installert.

Slå på telnet

Du trenger å slå på telnet for å kunne bytte passord på DRAC-en(!). Det gjør du slik:

  • Logg inn på https://<maskin>-mgmt/ (default login root/calvin)
  • Gå inn på Debug -> Command Debug
  • Skriv d3debug propset ENABLE_TELNET=TRUE
  • Gå inn på Debug -> Command Debug igjen
  • Skriv dra3reset 1 1

DRAC-en skal nå lytte på telnet, og kan bruke enten telnet eller racadm til å gjøre ting.

Bytte passord

racadm config -g cfgUserAdmin -o cfgUserAdminPassword -i 1 <passord>

Slå av og på

  • serveraction powerdown
  • serveraction powerup
  • serveraction powercycle

help serveraction har noen til.

For å se om den er på eller ikke, kjør getmodinfo:

[root]# getmodinfo
#<group>     <module>    <presence>  <pwrState>  <health>  <svcTag>
 1  ---->     chassis    Present        OFF      Normal    GCM7V0J

Telnet-konsoll

Du kan få opp selve konsollet via telnet, så lenge du ikke har blandet inn noe framebuffer-helvete. Dritkult! Du får det opp ved å kjøre følgende:

  • connect video

Du får et kort glimt av noe greier med en gang, men det er ikke sjans i havet for å klare å lese det. Det som står er dette:

   KEYMAPPING FOR CONSOLE REDIRECTION:

     Use the "<ESC>R<ESC>r<ESC>R" key sequence for <CTRL-ALT-DEL>
     Use the "<ESC><n>" key sequence for the Function <n> Key.
         for <n> = 1,2,3, ..., 9
     Use the "<ESC>0" key sequence for the Function 10 Key.
     Use the "<ESC>!" key sequence for the Function 11 Key.
     Use the "<ESC>@" key sequence for the Function 12 Key.
     Use the "<ESC>h" key sequence for the Home Key.
     Use the "<ESC>k" key sequence for the End Key.
     Use the "<ESC>+" key sequence for the Insert Key.
     Use the "<ESC>-" key sequence for the Delete Key.
     Use the "<ESC>?" key sequence for the Page Up Key.
     Use the "<ESC>/" key sequence for the Page Down Key.
     Use the "<ESC>^Cx" key sequence for <CTRL-x> where:
         ^C is <CTRL-c>, and x is one of h, i, j, m.
     Use the "<ESC>^Ax" key sequence for <ALT-x> where:
         ^A is <CTRL-a>, and x is any letter, a through z.

Du kan koble fra konsollet igjen og returnere til DRAC-prompten med <Enter>~. eller <Enter>~~. om du er i en SSH-sesjon (trykk space etter hver tilde om du har norsk tastatur). Sliter du med å få det til kan du bare drepe hele telnet-sesjonen med ^] (Ctrl-AltGr-9 på norsk tastatur) og skrive quit.

Den greia er egentlig ganske kul. Det står mer om den på http://www.dell.com/downloads/global/power/ps2q06-20060122-McGary.pdf

Installasjon av OS

Debian

Debian-installer fyrer per default opp et framebuffer, og da dreper den remote-konsollet (som nevnt i Veldig Viktige Ting ovenfor). Du kan få den til å slutte med det ved å gi den boot-opsjonen "debian-installer/framebuffer=off". Det aktuelle entryet i pxelinux.cfg/default kan f.eks. se slik ut:

append vga=normal initrd=lenny/i386/initrd.gz -- quiet debian-installer/framebuffer=off

Ting å tenke på om du bruker web-konsollet

Om du bruker web-konsollet er det en del ting som blir litt krøkkete. Dette gjelder faktisk IKKE i telnet-konsollet, så det er bare å gå for telnet med en gang :-)

Når du kommer inn i selve installeren hender det at Enter-tasten oppfører seg som Back eller Escape i steden for Enter. Bruk i så fall Enter-tasten på numpaden.

Om du valgte Norsk tastatur finnes det ikke noen bindestrek der, så det kan bli litt vanskelig å installere openssh-server for å kunne komme seg inn på maskinen. Men det er bare å kjøre "loadkeys us", så havner bindestrek på det vanlige stedet på et norsk tastatur.

Nå kan du i prinsippet SSH-e inn, men om du er purist kan du legge inn statisk IP i /etc/network/interfaces først. Da må du nok til med "loadkeys no-latin1" igjen (flaks du har bindestrek nå), for ellers klarer du ikke å skrive slash. Selv nøyde jeg meg med ipv4-adressen i første omgang, og la til IPv6-adressen via SSH.

RAID-konfigurasjon med afacli

Afacli er et program fra Dell for å konfigurere RAID på 2650-er og lignende.

Installer debian-pakken fra vårt lokale repos.

Om du får noen IOCTL-feilmeldinger er det sikkert noe galt med /dev/afa0. Prøv følgende quickfix:

rm /dev/afa0; mknod /dev/afa0 c $(awk '$2 == "aac" {print $1}' /proc/devices|head -n1) 0

Informerende kommandoer

Liste ut disker:

$ afacli

FASTCMD> open afa0
Executing: open "afa0"

AFA0> disk list
Executing: disk list

B:ID:L  Device Type     Blocks    Bytes/Block Usage            Shared Rate
------  --------------  --------- ----------- ---------------- ------ ----
0:00:0   Disk            35566478  512         Initialized      NO     160 
0:01:0   Disk            35566478  512         Initialized      NO     160 
0:02:0   Disk            143374650 512         Initialized      NO     160 

AFA0> exit

Liste ut RAID-devicer (i dette tilfellet er den ene disken glemt, se info om dette nedenfor):

FASTCMD> open afa0
Executing: open "afa0"

AFA0> container list
Executing: container list
Num          Total  Oth Chunk          Scsi   Partition
Label Type   Size   Ctr Size   Usage   B:ID:L Offset:Size
----- ------ ------ --- ------ ------- ------ -------------
 0    Reconf 68.3GB            Valid   
 /dev/sda             System          
62    Mirror 68.3GB            None    0:01:0 64.0KB:68.3GB 
                                         --- Missing ---

Få liv i speil når afacli har glemt den ene disken

Når man booter dell-bokser mens den ene disken i mirroret er ute, blir den ofte litt forvirret. Om du nettopp har satt en disk inn igjen og opplevd at den fortsatt står som --Missing-- etter at du har kjørt controller rescan, da er denne guiden for deg.

AFA0> container list
Executing: container list
Num          Total  Oth Chunk          Scsi   Partition
Label Type   Size   Ctr Size   Usage   B:ID:L Offset:Size
----- ------ ------ --- ------ ------- ------ -------------
 0    Mirror 33.8GB            Open    0:02:0 64.0KB:33.8GB 
 /dev/sda             ROOTVOL          0:00:0 64.0KB:33.8GB 

 1    Mirror 33.8GB            Open    0:01:0 64.0KB:33.8GB
 /dev/sdb             data               -- Missing --

Selv om disken er der:

AFA0> disk list
Executing: disk list

B:ID:L  Device Type     Blocks    Bytes/Block Usage            Shared Rate
------  --------------  --------- ----------- ---------------- ------ ----
0:00:0   Disk            71132000  512         Initialized      NO     160 
0:01:0   Disk            71132959  512         Initialized      NO     160 
0:02:0   Disk            71132000  512         Initialized      NO     160 
0:03:0   Disk            71132959  512         Initialized      NO     160 

For å få containeren med label 1 til å ta med disk 0:03:0 (som er den eneste som ikke allerede er i en container, kjør følgende:

container reconfigure /mirror 1 (0,3,0)

Da vil container list gi ca. dette:

AFA0> container list
Executing: container list
Num          Total  Oth Chunk          Scsi   Partition
Label Type   Size   Ctr Size   Usage   B:ID:L Offset:Size
----- ------ ------ --- ------ ------- ------ -------------
 0    Mirror 33.8GB            Open    0:02:0 64.0KB:33.8GB 
 /dev/sda             ROOTVOL          0:00:0 64.0KB:33.8GB 

 1    Reconf 33.8GB            Open    
 /dev/sdb             data            
62    Mirror 33.8GB            None    0:01:0 64.0KB:33.8GB 
                                       0:03:0 64.0KB:33.8GB 

Dette ser jo ikke helt riktig ut, men om du venter til den er ferdig med å synce vil det bli så meget bedre. Du ser status på syncingen ved å se på prosent-tallet nederst på skjermen, eller ved å kjøre "task list".

Etter at syncingen er fullført (tar maaange timer) vil ting atter se normale ut:

AFA0> container list
Executing: container list
Num          Total  Oth Chunk          Scsi   Partition
Label Type   Size   Ctr Size   Usage   B:ID:L Offset:Size
----- ------ ------ --- ------ ------- ------ -------------
 0    Mirror 33.8GB            Open    0:02:0 64.0KB:33.8GB
 /dev/sda             ROOTVOL          0:00:0 64.0KB:33.8GB

 1    Mirror 33.8GB            Open    0:01:0 64.0KB:33.8GB 
 /dev/sdb             data             0:03:0 64.0KB:33.8GB 

Hvis den nekter

Hvis du har røsket ut disken mens den rebuildet også, vil du få denne outputen:

FASTCMD> open afa0
Executing: open "afa0"

AFA0> container list
Executing: container list
Num          Total  Oth Chunk          Scsi   Partition
Label Type   Size   Ctr Size   Usage   B:ID:L Offset:Size
----- ------ ------ --- ------ ------- ------ -------------
 0    Reconf 68.3GB            Valid   
 /dev/sda             System          
62    Mirror 68.3GB            None    0:01:0 64.0KB:68.3GB 
                                         --- Missing ---

Da får du ikke lov å reconfigure containeren på vanlig måte:

AFA0> container reconfigure /mirror 0 (0,0,0)
Executing: container reconfigure /mirror=TRUE 0 (BUS=0,ID=0,LUN=0)
Command Error: <The specified function failed because the specified configuration is invalid.>

Hva enn du gjør, ikke slett container 0. Det gjorde jeg, og da mistet jeg alt :-P

Lage speil

Dette dokumentet forklarer fremgangsmåter for enkle RAID-operasjoner for Dell PowerEdge Expandable RAID Controller som finnes på Dell PowerEdge 2x50 maskiner. Administrasjonsverktøyet fra Dell heter afacli og kan utføre online speiling, diskbytte, resizing og mye mer uten forstyrrelser i tjenester.

Terminologi

disk:       Den fysiske disken.
container:  Logisk disk (også kjent som array) som består av en eller
            flere partisjoner på en eller flere disker. En
            single-layer container består av en eller flere
            partisjoner. En multi-layer container består av en eller
            flere containers.
controller: Den fysiske RAID-kontrolleren. En controller kan ha en
            eller flere containers, som igjen kan bestå av en eller
            flere containers, som igjen kan bestå av en eller flere
            disker.
task:       En oppgave på kontrolleren. Dette kan være
            bygging/gjenoppbygging av et speilsett eller
            RAID5-sett. En oppgave kan settes på pause, eller stoppes
            helt.

Sette inn nye disker

Gjør sånn for å sette inn ekstra disker uten å boote maskinen.

1. Sett inn to eller flere nye disker. Vent til du får grønne lys på
   diskene for å se at alt gikk ok.

   OBS! Det kan hende at en disk feiler ved innsetting eller uttak av
        en disk. Den vil da automatisk begynne gjenoppbygging dersom
        det er en speildisk. Jeg har ikke funnet årsaken til
        dette. Det kan være dårlig kontakt, eller det kan være en feil
        på kontrolleren. Eller det kan være noe annet uvisst.

2. Logg inn på boksen via SSH og start afacli med kommandoen:
        root@maskin ~:# afacli

3. List opp tilgjengelige kontrollere:
        FASTCMD> controller list
        Executing: controller list

        Adapter Name       Adapter Type       Availability       Clustering
        ------------       ------------       ------------       ------------
        afa0                PERC 3/Di         read/write           No

4. Åpne kontroller 0:
        FASTCMD> open afa0
        Executing: open "afa0"

5. Scan kontrolleren for nye disker:
        AFA0> controller rescan
        Executing: controller rescan

6. List opp diskene:
        AFA0> disk list
        Executing: disk list

        B:ID:L  Device Type     Blocks    Bytes/Block Usage            Shared
        ------  --------------  --------- ----------- ---------------- ------
        0:00:0   Disk            35566478  512         Initialized      NO
        0:01:0   Disk            35566478  512         Initialized      NO
        0:02:0   Disk            286749480 512         Initialized      NO
        0:03:0   Disk            286749480 512         Initialized      NO

   Observer at det nå er funnet to nye disker; nummer 2 og 3 i dette
   eksempelet.

   Dersom diskene ikke er «Initialized» så gjøres dette slik:
        AFA0> disk initialize 2
        Executing disk initialize "2"

        AFA0> disk initialize 3
        Executing disk initialize "3"

7. Undersøk om det er en container på diskene:
        AFA0> container list
        Executing: container list
        Num          Total  Oth Chunk          Scsi   Partition
        Label Type   Size   Ctr Size   Usage   B:ID:L Offset:Size
        ----- ------ ------ --- ------ ------- ------ -------------
         0    Mirror 16.9GB            Valid   0:00:0 64.0KB:16.9GB 
         /dev/sda             sysvol           0:01:0 64.0KB:16.9GB 

   Dersom det finnes en container å de nye diskene (se på SCSI ID),
   kan den benyttes eller slettes avhengig av om størrelsen
   passer.

   For å slette container 1:
        AFA0> container delete 1
        Executing: container delete 1

8. Lag ny container:
        AFA0> container create volume ((0,2,0),<antall MB>M)
        Executing: container create volume <0,2,0>,<størrelse>
        Container 0 created

9. List opp containere:
        AFA0> container list
        Executing: container list
        Num          Total  Oth Chunk          Scsi   Partition
        Label Type   Size   Ctr Size   Usage   B:ID:L Offset:Size
        ----- ------ ------ --- ------ ------- ------ -------------
         0    Mirror 16.9GB            Valid   0:00:0 64.0KB:16.9GB
         /dev/sda             sysvol           0:01:0 64.0KB:16.9GB

         1    Mirror    xGB            Valid   0:02:0 64.0KB:   xGB
         /dev/sdb

   Denne disken er nå ferdig og klar til bruk. Husk at den ikke er et
   speil før speildisken er ferdig.

10. Lag speil på disk 3 på container 1:
        AFA0> container create mirror /wait=false 1 (0,3,0)
        Executing: container create mirror ....

11. Se i task-listen:
        AFA0> task list
        Executing: task list

        Controller Tasks

        TaskId Function  Done%  Container State Specific1 Specific2
        ------ -------- ------- --------- ----- --------- ---------
          105   Scrub    18.2%      1      RUN   00000000  00000000

    Denne prosessen kan ta mange timer.

12. Du kan godt logge ut mens den jobber:
        AFA0> exit

13. Disken er klar til bruk, og den kan brukes mens den speiler. Husk
    at den ikke vil være et komplett speil før den er ferdig
    speilet. Disken fikk i dette eksempelet device-navnet /dev/sdb.

Reconditioning

Dette vil trolig si at man lader ut batteriet og lader det opp igjen.

Loggmelding (syslog):

 Mar 16 09:08:47 nimbus kernel: aacraid:Controller battery needs reconditioning.
 Mar 16 09:08:47 nimbus kernel: Please run your controller's management software.
nimbus# afacli
--------------------------------------------------------------------------------

DELL PowerEdge Expandable RAID Controller 2 Command Line Interface
Copyright 1998-2001 Adaptec, Inc. All rights reserved
--------------------------------------------------------------------------------

FASTCMD> open afa0
Executing: open "afa0"

AFA0> controller battery_recondition
Executing: controller battery_recondition

AFA0> exit
Executing: exit
nimbus:~#

Lenker/referanser

Dell PowerEdge Expandable RAID Controller 2, 2/Si, 3/Di, 3/Si http://support.ap.dell.com/docs/storage/romb26/

Dell Command Line Interface Reference

http://support.dell.com/support/edocs/storage/57kgr/cli/en/index.htm

Firmware-oppdatering

Les dette nøye! Det er mye særheter her!

Det viktiste er å oppgradere raid-kontrolleren. De gamle firmwarene har hatt en tendens til å være litt flaky.

Oppdatere DRAC

Nyeste versjon av Dell Remote Access Controller for 2650 er i skrivende stund versjon 3.38. Du kan installere denne ved å gjøre følgende:

Sett ip-adressen 192.168.215.4 på tftp-serveren (i skrivende stund decibel):

decibel:~# ifconfig eth0:0 192.168.215.4 netmask 255.255.255.0 up

Åpne DRAC-en (f.eks. https://knakelibrak-mgmt/) og klikk Update. Skriv inn følgende verdier:

  • Path: pe2650/drac/
  • IP: 192.168.215.4

Merk at filnavnet ikke skal være med, kun katalogen.

Klikk Update og vent til krampa tar deg. Det tar evigheter. Type 15-20 minutter eller noe.

Oppdatere BIOS

En gang klarte jeg å PXE-boote et floppy-image og oppdatere BIOSen med det. Men jeg klarte det aldri igjen, så det er ikke akkurat noe gulltriks. Du får gjerne "Not enough memory", siden PXE-programmet har spist akkurat litt for mye.

I steden kan du gjøre det via remote-konsollet, for i motsetning til RAID-kontrolleren er BIOSen faktisk lettest å oppgradere med remote-konsoll.

  • Åpne remote-konsollet i en maskin med sun-java6-plugin installert
  • Sørg for at maskinen booter fra floppy (f.eks. ved å boote den og sjekke i BIOS via remote-konsollet)
  • Velg Remote Access -> Remote Floppy Boot
  • Fyll inn følgende i TFTP-skjemaet:
    • IP: 192.168.215.4 (som skal peke på decibel, se ovenfor)
    • Path: pe2650/bios/a21.img
  • Start opp maskinen og flekk opp konsollet (Remote Access -> Console Redirect)
  • Følg instruksjonene på skjermen

Oppdatere raid-kontroller (PERC)

Dette må du trolig gjøre lokalt. Da jeg prøvde via remote-konsoll ble plutselig bildet helt hvitt, og da jeg kom til serverrommet så jeg at den hadde frosset før den kom så langt som å skrive noe til flashen. Kanskje like greit.

  • PXE-boot maskinen
  • Velg pe2650-raid.
  • Skriv "AFU" eller hva det var (det står midt i den svære beskjeden)
  • Følg instruksjonene på skjermen.