Saturday, August 21, 2010

"Det er vel ingen som kjører VMWARE frivillig i 2010 ?"

Windows Server 2008 kom som et friskt pust i 2008 med sin første ordentlige type 1 Hypervisor.
Type 2 hypervisors fra MS er f.eks Virtual Server 2005 R2, Virtual PC, og Windows Virtual PC i Windows 7. Sistnevnte er en motor som lar maskinen kjøre XP-Mode, med tilgang til applikasjoner sømløst fra Win 7 (Tilhører MED-V løsningen til MS som er i Microsoft Desktop Optimazion Pack 2010).

Felles for disse type 2 Hypervisorene er at de ikke støtter x64 VM.
Dette er selvsagt støttet i Hyper-V, og Microsoft tok for alvor opp kampen mot vmware.

I Windows Server 2008 R2 har de gjort ytterligere forbedringer, og komt med noe som kvalifiserer seg som en god kandidat i kampen mot verdens beste oppfinnelse, nemlig CSV.

Clustered Shared Volume er en 'share everything'-modell som lar flere Noder i clusteret aksessere samme volum. Dette gir også andre muligheter og forbedringer, som støtte for Live Migration uten nedetid.
Før måtte man bruke Quick Migration. For å optimalisere dette måtte man ikke ha flere VM på samme LUN, da det i praksis er LUNet som blir 'feilet over' til en annen node. Dersom man hadde flere VM på samme LUN, ble alle disse berørt av Quick Migration, som medførte nedetide under flyttingen. Dette er altså en saga blott i 2008 R2, og det er enklere å implementere Hyper-V i Failover Cluster enn noen gang.

En annen faktor som spiller inn i valget av virtualisering, er selvfølgelig kostnad.

Eksempel på regnestykke:

Dersom man kjøper en Windows Server 2008 R2 Enterprise lisens, kan man gjøre følgende:

1. Installere OS`et på hardwaren som støtter Hardware virtualization (Intel-VT eller AMD-V)
2. Installer KUN Hyper-V-rollen på server
3. Installere 4 VM med Windows Server 2008 R2 Enterprise.

Dette gir regnestykket 1+4 = 5. Man får da tilgang til 5 versjoner av Windows server, til summen av 1.
Her har man altså Hypervisoren inkludert og integrert i operativsystemet, så hvorfor skal man da i det hele tatt vurdere en tredjepart ?
Vmware i seg selv koster penger, og dersom man skulle hatt tilsvarende løsning der med 5 instanser av Windows Server 2008 R2, måtte man da ha kjøpt 5 lisenser.

Så tilbake til overskriften ? Det er vel ingen som kjører VMWARE frivillig i 2010 ?

Wednesday, August 18, 2010

Strømbrudd -> diskhavari -> SQL = merde...

I mine 5 år i bransjen, har jeg opplevd til tider daglig, korrupte SQL-databaser.

Hvorfor skjer dette ?

SQL er en server som genererer mye I/O, og kanskje mest av alt kjent for å konsumere det som er av RAM på maskinen, dersom det ikke er satt opp noe tak for dette.

( Sette MAX RAM til 1GB:

EXEC sys.sp_configure N'show advanced options', N'1' RECONFIGURE WITH OVERRIDE



GO


EXEC sys.sp_configure N'max server memory (MB)', N'1024'


GO


RECONFIGURE WITH OVERRIDE


GO


EXEC sys.sp_configure N'show advanced options', N'0' RECONFIGURE WITH OVERRIDE


GO


)
 
SQL sin måte å forhindre datakorrupsjon på, er 'Page Verify' innstillingen på hver enkelt database. Denne anbefales å sette til Checksum. Dette vil gi deg best sikkerhet, men samtidig ta ørlite mer av maskinens ressurser.
 
Dersom uhellet alikevel er ute, og det har oppstått datakorrupsjon, vil du etter all sansynlighet finne informasjon om dette i errorloggen til SQL-server.
Det kan f.eks gi melding om at databasen ikke kan åpnes siden er er merket 'SUSPECT'. I de verste tilfellene så merker ikke brukeren noe av korrupsjonen, da databasene er online, men samtidig skadet. Mistanken her kommer først når dataene ikke samsvarer med det brukeren faktisk hadde forventet. F.eks negativt resultat i regnskapsrapporter :-)
 
Dette vil man kunne avklare om man kjører en sjekk på databasen:
 
dbcc checkdb ('userdatabase')
 
Denne kommandoen sjekker databasen, og fikser eventuelt moderate feil. Skulle den gi melding om feil som krever ytterligere behandling, bør du krysse det du har om at du har fersk backup.
 
Desverre er ikke dette alltid tilfelle, og man må derfor sette på takstameteret og begynne feilrettingen.
 
Hvordan redde data fra korrupt databaase:
 
Dersom basen er online, kan man gjøre følgende:
 
1. Sette databasen i single_user mode. ( alter database userdatabase set single_user )
2. dbcc checkdb ('userdatabase', 'repair_allow_data_loss') <-- Denne gjør faktisk det du tror
3. dbcc checkdb ('userdatabase') . Kjør denne for å se at den ikke rapporterer flere feil.
4. Sette databasen i multi_user mode. ( alter database userdatabase set multi_user )
5. Databasen er klar til drift.
 
Dersom databasen er merket 'SUSPECT' og man ikke får tilgang:
 
1. Sette databasen i 'nødsituasjon'. alter database userdatabase set emergency
2. Databasen er nå i 'emergency', tilsvarende read-only.
3. BCP...  Bulk Copy Program. Brukes til å eksportere data fra tabeller, og dumpes enten til disk, eller til en ny SQL-database.

Husk: Alltid ha fersk backup. I de tilfellene det ikke er fullversjon av SQL installert, så vil det heller ikke være anledning til å kjøre SSIS-pakker (backupjobber, vedlikehold m.m).
Man kan da enkelt sette opp et .bat-script som gjør denne jobben.

Dette kan kjøres på kveld/nattestid,og kopiere data til filserver, eller annet område.

Net stop mssqlserver /Y
xcopy "c:\program files\microsoft sql server\mssql\data\*.*" P:\backup /C /Y
Net start mssqlserver

Application Virtualization

App-v teknologi er basert på en overtagelse i 2006 av Sofricity, Inc.
Softricity war en pioneer på virtualisering på applikasjonsnivået og har utviklet programvaren siden 2001. Etter overtagelsen har Microsoft forbedret produktet ytterligere på mange områder som globalisering/lokalisering, sikkerhet og skalerbarhet.

Microsoft Application Virtualization Components:

- Application Virtualization Management Server
- Application Virtualization Management Console
- Application Virtualization Client
- Application Virtualization Management Management Web Service
- Application Virtualization Streaming Server
- Application Virtualization Sequencer

Som du kan se over, så er det mangen komponenter som må installeres og konfigureres for å kunne utnytte App-V i sin helhet. Jeg vil i et senere innlegg vise installasjon og oppsett av hver av disse.



App-why ? (Fordeler)


Application Virtualization handler om å 'koble av' en applikasjon fra operativsystemet, som gjør at den kan bli kjørt lokalt på en maskin uten å være installert.
Dette blir gjort av en Sequencer, - en prosess som monitorerer installasjonen, og bruken av programmet. Dette inkluderer filer, registerinformasjon osv. Til slutt blir det kopiert til en SFT-fil. Siden applikasjonen nå har alt den trenger, kan den bli kjørt mer stabilt på maskinen siden den er korrekt konfigurert.

Utrulling av applikasjoner er også enklere, og mindre tidkrevende enn ved vanlige klient-installasjoner, da man kan publisere App-V-klienten via GPO, og streame applikasjonene ut til klientene, - ferdigkonfigurert.
App-V gir også muligheten til å kjøre flere instanser av samme applikasjon, men i forskjellige versjoner på samme maskin, - uten konflikter.