Forklift upgrade i drift

2011-11-01

Tänk dig ett Oracle RAC databaskluster som kör ett kassasystem som behöver vara uppe mer eller mindre hela dygnet. Tänk dig vidare ett EMC CX3 disksystem som servar disk till sagda kluster. Tänk dig sen att kunden ber dig byta ut disksystemet mot ett nyare. I drift. Det finns några olika sätt att reagera på ett sånt önskemål - antingen kan man bryta ihop och utbilda sig till lokförare, man kan börja svettas okontrollerat eller man kan le inombords och säga "det ordnar vi" då man vet att kunden kör ASM.

ASM är Oracles egna filsystem, som fungerar både för enskilda databaser och kluster. Det är implementerat via Oracles databasmotor och ser på många sätt ut precis som om det vore en databas i sig, även om den saknar datafiler. ASM har fler features än jag skulle kunna beskriva i ett blogginlägg, men den feature som jag tänkte belysa här är ASMs förmåga att balansera data på diskarna - och vad det innebär för möjligheter om man tänker lite utanför lådan.

Ponera att man har en diskgrupp i ASM so är uppbygd av en LUN med fem diskar. Jag kan lägga till diskar i LUNet på diskskåpet och få ASM att upptäcka dettai drift och sprida datat över den nya ytan (förutsatt att du har patchrelase 10.2.0.3 eller högre). Jag kan också lägga till ett nytt LUN och be diskgruppen spänna över detta LUN också, återigen med resultatet att ASM sprider datat (och därmed också lasten) över dessa diskar. Now for the fun part: du kan ta bort diskar eller LUNar från en diskgrupp också, varpå ASM återigen balanserar datat på de diskar som är kvar.

Således kan man i exemplet jag nämnde i början rulla in ett nytt diskskåp i hallen, skapa LUNar, tilldela dessa till Oracleservrarna, införliva dem i ASM-diskgrupperna, låta ASM balansera om diskarna och sedan börja plocka bort de gamla LUNarna, ett efter ett. Det tar ett tag, men då man kan göra detta i drift med minimal påverka för användarna spelar inte det någon jätteteater. En tisdageftermiddag sitter man där med allt data migrerat till det nya skåpet och vi kan vissla på trucken som kör iväg det gamla skåpet till skroten.

Nu är det inte *riktigt* så enkelt; i Oracle 10.2 har man voting- och OCR-diskar att ta hänsyn till. Dessa ska gå att flytta i drift, men Oracles klusterstack är lite lurig att ha att göra med i den här versionen, så om man inte har den absolut senaste patchreleasen på 10.2 skulle jag inte rekommendera att laborera med OCR eller votingdisken i drift. Från och med ASM 11.2 kan man utan vidare ha OCR och votingdiskar som ASM-volymer, och då försvinner särbehandlingen av dessa.

Vi hade ingen tanke på att byta ut disksystemet när vi designade det här klustret, men med ASM har man alltid valmöjligheter. Det är dessutom ett av de snabbaste filsystemen för Oracle på marknaden idag. Lägg till det att det ingår i Oracle och är riktigt lättadministrerat så är det en klar vinnare i min bok!