12 joulukuun, 2021

STEP-BY-STEP: Miten määrittää SQL SERVER 2008 R2 VARAKLUSTERI instanssi Windows SERVER 2008 R2 AZURE tai AZURE pino

9.heinäkuuta 2019, tuki SQL Server 2008 ja 2008 R2 päättyy. Se tarkoittaa säännöllisten tietoturvapäivitysten loppua. Jos kuitenkin siirrät nämä SQL Server-esiintymät Azureen tai Azureen pinoon (viittaan yksinkertaisesti molempiin Azureksi oppaan loppuosassa), Microsoft antaa sinulle kolmen vuoden laajennetut tietoturvapäivitykset ilman lisämaksua. Jos käytät tällä hetkellä SQL Server 2008/2008 R2: ta etkä pysty päivittämään SQL Serverin myöhempään versioon ennen 9.heinäkuuta asetettua määräaikaa, haluat hyödyntää tätä tarjousta sen sijaan, että kohtaisit tulevaisuuden tietoturvahaavoittuvuuden. Unpatched esimerkiksi SQL Server voisi johtaa tietojen häviämisen, seisokkeja tai tuhoisa tietomurto.

yksi haasteista, joita kohtaat ajaessasi SQL Server 2008/2008 R2: ta Azuressa, on korkean käytettävyyden varmistaminen. Toimitiloissa saatat käyttää SQL Server Failover Cluster (FCI)-instanssia korkean käytettävyyden vuoksi, tai mahdollisesti käytät SQL Server-palvelua virtuaalikoneessa ja luotat käytettävyyteen VMware HA-tai Hyper-V-klusterissa. Azureen siirryttäessä mikään näistä vaihtoehdoista ei ole käytettävissä. Seisokkeja Azure on hyvin todellinen mahdollisuus, että sinun täytyy ryhtyä toimiin lieventää.

vähentääkseen seisokkien mahdollisuutta ja saadakseen Azuren 99,95% tai 99.99% SLA, sinun täytyy hyödyntää SIOS DataKeeper. DataKeeper korvaa Azuren jaetun tallennustilan puutteen ja mahdollistaa SQL Server FCI: n rakentamisen Azuressa, joka hyödyntää paikallisesti liitettyä tallennustilaa kussakin instanssissa. SIOS DataKeeper ei ainoastaan tue SQL Server 2008 R2: ta ja Windows Server 2008 R2: ta kuten tässä oppaassa on dokumentoitu, se tukee mitä tahansa Windows Server-versiota 2008 R2: sta Windows Server 2019: ään ja mitä tahansa SQL Server-versiota SQL Server 2008: sta SQL Server 2019: ään.

tässä oppaassa käydään läpi kahden solmun SQL Server 2008 R2 Failover Cluster Instancen (FCI) luominen Azuressa, joka toimii Windows Server 2008 R2: ssa. Vaikka SIOS DataKeeper tukee myös klustereita, jotka kattavat Käytettävyysalueita tai alueita, tässä oppaassa oletetaan, että jokainen solmu sijaitsee samalla Azuren alueella, mutta eri Vikakohteissa. SIOS Datakeeperiä käytetään SQL Server 2008 R2 FCI: n luomiseen tarvittavan jaetun tallennustilan sijasta.

Pre-requirements

Active Directory
tässä oppaassa oletetaan, että sinulla on olemassa oleva Active Directory-toimialue. Voit hallita omia Verkkotunnusohjaimiasi tai käyttää Azure Active Directory-toimialueen palveluita. Tämän opetusohjelman yhdistämme verkkotunnuksen nimeltä contoso.paikallinen. Tietenkin luot yhteyden omaan verkkotunnukseesi, kun seuraat tätä opetusohjelmaa.

avoimet Palomuuriportit
– SQL Server:1433 Oletusasteelle
– Load Balancer Health Probe: 59999
– DataKeeper: nämä palomuurisäännöt lisätään Windowsin isäntäpohjaiseen palomuuriin automaattisesti asennuksen aikana. Lisätietoja avattavista satamista on SIOS-asiakirjoissa.
– muista, että jos sinulla on jokin verkkopohjainen suojaus, joka estää portit klusterin solmujen välillä, sinun on otettava huomioon myös nämä portit siellä.

DataKeeper Service Account
Create a Domain account. Määritämme tämän tilin, kun asennamme DataKeeper. Tämä tili on lisättävä paikalliseen Järjestelmänvalvojat-ryhmään kullakin klusterin solmulla.

luo ensimmäinen SQL Server-instanssi Azuressa

tämä opas hyödyntää SQL Server 2008r2sp3: a Windows Server 2008R2-kuvassa, joka on julkaistu Azure Marketplacessa.

kun annat ensimmäisen oikeusasteen sinun täytyy luoda uusi Saatavuusjoukko. Tämän prosessin aikana muista lisätä Vikakohteiden määrää 3: een. Tämä mahdollistaa kaksi klusterin solmut ja tiedostonjako todistaja kukin oleskella omassa vika verkkotunnus.

jos virtuaaliverkkoa ei ole vielä määritetty, anna ohjatun luontiohjauksen luoda uusi verkko sinulle.

kun instanssi on luotu, siirry IP-kokoonpanoihin ja Tee yksityinen IP-osoite staattiseksi. Tämä on tarpeen SIOS DataKeeper ja on paras käytäntö ryhmitelty tapauksissa.

varmista, että virtuaalinen verkko on määritetty asettamaan DNS-palvelimen paikalliseksi Windows-MAINOSOHJAIMEKSI, jotta voit liittyä toimialueen myöhemmin.

kun virtuaalikoneet on provisioitu, lisää vähintään kaksi ylimääräistä levyä kuhunkin instanssiin. Premium tai Ultra SSD suositellaan. Poista välimuistin käytöstä SQL-lokitiedostoissa käytetyillä levyillä. Ota käyttöön vain luku-välimuisti levyllä, jota käytetään SQL-tiedostoissa. Katso SQL Serverin suorituskykyohjeet Azure-virtuaalikoneissa saadaksesi lisätietoja tallennuksen parhaista käytännöistä.

luo toinen SQL Server-instanssi Azuressa

noudata samoja ohjeita kuin yllä, paitsi muista sijoittaa tämä ilmentymä samaan virtuaaliverkkoon ja Käytettävyysasetukseen, jonka loit 1.instanssin kanssa.

luo File Share Witness (FSW) – instanssi

jotta Windows Server Failover Cluster (WSFC) toimisi optimaalisesti sinun on luotava toinen Windows Server-instanssi ja asetettava se samaan Käytettävyysasetukseen kuin SQL Server-instanssit. Asettamalla sen samaan Saatavuusasetukseen varmistat, että jokainen klusterisolmu ja FSW asuvat eri Vikakohteissa, varmistaen, että klusteri pysyy verkossa, Jos koko Vikakohde sammuu. Tämä tapauksissa ei vaadi SQL Server, se voi olla yksinkertainen Windows Server kuin kaikki se tarvitsee tehdä on isäntä yksinkertainen tiedostojenjako.

tämä instanssi isännöi wsfc: n vaatimaa tiedostonjakotodistusta. Tämän instanssin ei tarvitse olla samankokoinen, eikä se vaadi lisälevyjen liittämistä. Sen ainoa tarkoitus on isännöidä yksinkertaista tiedostojenjakoa. Sitä voidaan itse asiassa käyttää muihin tarkoituksiin. Minun lab ympäristössä minun FSW on myös minun domain controller.

Uninstall SQL Server 2008 R2

kumpaankin varattuun SQL Server-instanssiin on jo asennettu SQL Server 2008 R2. Ne on kuitenkin asennettu erillisinä SQL Server-instansseina, ei ryhmiteltyinä instansseina. SQL Server on poistettava kustakin näistä tapauksista ennen kuin voimme asentaa klusterin instanssi. Helpoin tapa tehdä se on ajaa SQL-Asetukset alla esitetyllä tavalla.

kun suoritat asetukset.exe / Action-RunDiscovery näet kaiken, joka on esiasennettuna

setup.exe /Action=RunDiscovery

suoritan asetukset.exe / Action=Uninstall /FEATURES=SQL, AS, RS, IS, Tools /INSTANCENAME=MSSQLSERVER käynnistää uninstall-prosessin

setup.exe /Action=Uninstall /FEATURES=SQL,AS,RS,IS,Tools /INSTANCENAME=MSSQLSERVER

suoritan asetukset.exe / Action-RunDiscovery vahvistaa asennuksen poistamisen valmistuneen

setup.exe /Action-RunDiscovery

suorita tämä asennuksen poisto uudelleen 2. tapauksessa.

lisää instanssit Verkkoalueeseen

kaikki kolme näistä instansseista on lisättävä Windows-Verkkoalueeseen. Kuten edeltävät edellytykset-osiossa mainittiin, sinulla on oltava pääsy olemassa olevaan Windows Active Directoryyn. Meidän tapauksessamme liitymme Contoso-nimiseen valtakuntaan.paikallinen.

lisää Windowsin Vikaklusterointiominaisuus

Vikaklusterointiominaisuus on lisättävä kahteen SQL Server-ilmentymään

Add-WindowsFeature Failover-Clustering

Asenna Convenience Rollup Update Windows Server 2008 R2 SP1

on kriittinen päivitys ( kb2854082), joka tarvitaan Windows Server 2008 R2-instanssin määrittämiseen Azuressa. Tämä päivitys ja paljon muuta sisältyvät kätevään Windows Server 2008 R2 SP1: n Rollup-päivitykseen. Asenna tämä päivitys kumpaankin SQL Server-instanssiin.

Format tallennustila

lisälevyt, jotka liitettiin, kun kaksi SQL Server-ilmentymää varattiin, on muotoiltava. Tee seuraavat kunkin äänenvoimakkuuden kunkin instanssin.

Microsoft best practices says the following …

” NTFS allocation unit size: Datalevyä muotoiltaessa on suositeltavaa käyttää 64 KB: n jakoyksikön kokoa data-ja lokitiedostoille sekä TempDB: lle.”

Suorita klusterin validointi

Suorita klusterin validointi sen varmistamiseksi, että kaikki on valmis ryhmitettäväksi.

Import-Module FailoverClustersTest-Cluster -Node "SQL1", "SQL2"

raporttisi sisältää varoituksia varastoinnista ja verkostoitumisesta. Voit jättää nämä varoitukset huomiotta, koska tiedämme, ettei jaettuja levyjä ole ja että palvelimien välillä on vain yksi verkkoyhteys. Voit myös saada varoituksen verkon sitomisjärjestyksestä, joka voidaan myös jättää huomiotta. Jos havaitset virheitä, sinun on käsiteltävä niitä ennen kuin jatkat.

koska ”potentiaalisia Klusterilevyjä” ei ole saatavilla, ensimmäinen testi heittää varoituksen ja kaikki myöhemmät levytesti ohitetaan. Tämä on odotettavissa, koska käytämme vain paikallisia levyjä kopioidaan sios DataKeeper.
Validate Network Communication tests varoittaa vain yhden verkon on käytettävissä klusterin solmut. Voit jättää tämän varoituksen huomiotta, koska verkon redundanssia käsitellään virtuaalikerroksessa Azurella.

virhe testattaessa klusterin validointia?

olen törmännyt tähän virheeseen muutaman kerran ja yritän vielä selvittää, millä ehdoilla tämä tapahtuu. Joskus huomaat, että test-cluster ei toimi kuten on kuvattu forum post.

Test-ClusterUnable to Validate a Cluster Configuration. The operation has failed. The action validate a configuration did not completeThere is an error in XML document (5, 73). Attempt by methodMicrosoft.Xml.Serialzation.GeneratedAssembly.XmlSerialzationReaderClusterPrep.Config.Read4_As...Bolean) to access methodMS.Internal.ServerClusters.Validation.TestAssemblyCollection.Add(MS.Internal.ServerClusters.V....Failed

jos tämä tapahtuu sinulle, olen löytänyt seuraavan korjauksen, jota suositellaan forum post toimii minulle.

Inside C:\Windows\System32\WindowsPowerShell\v1.0 make a copy of powershell_ise.exe.config file (make a copy inside C:\Windows\System32\WindowsPowerShell\v1.0)- rename it to powershell.exe.configOpen it with notepad- delete current config line and paste:<?xml version="1.0" encoding="utf-8" ?><configuration> <system.xml.serialization> <xmlSerializer useLegacySerializerGeneration="true"/> </system.xml.serialization></configuration>- save and run test-cluster

vaikka tämän korjauksen avulla voit suorittaa testiklusterin Powershellista, olen huomannut, että validoinnin suorittaminen GUI: n kautta aiheuttaa virheen, vaikka tämä korjaus. Minulla on kysely Microsoftille nähdäksesi, onko heillä ratkaisu, mutta toistaiseksi jos haluat suorittaa klusterin validoinnin, sinun on ehkä käytettävä Test-Clusteria Powershellissa.

Create the Cluster

Best practices for creating a cluster in Azure would be to use Powershell to create a cluster, specifying a staattinen IP-osoite. Powershell antaa meille mahdollisuuden määrittää staattisen IP-osoitteen, kun taas GUI-menetelmä ei. Valitettavasti Azuren DHCP: n toteutus ei toimi hyvin WSFC: n kanssa, joten jos käytät GUI-menetelmää, päädyt päällekkäiseen IP-osoitteeseen klusterin IP-osoitteena, joka on vahvistettava ennen kuin klusteri on käyttökelpoinen.

olen kuitenkin havainnut, että tyypillinen uuden klusterin powershell-komento-StaticAddress-komennolla ei toimi. Päällekkäisen IP-osoitteen ongelman välttämiseksi meidän on turvauduttava klusteriin.exe apuohjelma ja suorita seuraava komento.

cluster /cluster:cluster1 /create /nodes:"sql1 sql2" /ipaddress:10.0.0.100/255.255.255.0

Lisää tiedosto Share Witness

seuraavaksi meidän on lisättävä tiedosto Share Witness. On 3rd server me provised kuten FSW, luo kansio ja jakaa sen alla. Sinun on myönnettävä Cluster Name Object (CNO) luku – /kirjoitusoikeudet sekä Jaa-että Suojaustasoilla alla esitetyllä tavalla.

kun jako on luotu, suorita ohjattu Cluster Quorum-ohjattu asetusohjelma yhdellä klusterin solmuista ja noudata alla esitettyjä ohjeita.

Asenna DataKeeper

Asenna DataKeeper kuhunkin kahteen SQL Server cluster-solmuun kuten alla on esitetty.

Tässä kohdassa määritämme toimialueen tilin, jonka lisäsimme kuhunkin paikalliseen Toimialueen järjestelmänvalvojat-ryhmään.

Määritä DataKeeper

kun DataKeeper on asennettu kumpaankin klusterin solmuun, olet valmis määrittämään Datakeeperin.

huomautus-yleisin virhe seuraavissa vaiheissa on turvallisuuteen liittyvä, useimmiten jo olemassa olevat Azure-Turvaryhmät estävät vaaditut portit. Tutustu SIOS-dokumentaatioon varmistaaksesi, että palvelimet voivat kommunikoida vaadittujen porttien yli.

ensin on liityttävä kumpaankin solmuun.

jos kaikki on määritetty oikein, sinun pitäisi sitten nähdä seuraavat palvelimen Yleiskatsausraportissa.

seuraavaksi Luo uusi työpaikka ja noudata alla esitettyjä ohjeita

valitse Kyllä Tässä, jos haluat rekisteröidä DataKeeper-Taltioresurssin käytettävissä olevaan tallennustilaan

täytä edellä mainitut vaiheet kunkin määriä. Kun olet valmis, sinun pitäisi nähdä seuraavat WSFC UI.

olet nyt valmis asentamaan SQL Serverin klusteriin.

huomautus-tässä vaiheessa toistettu taltio on saatavilla vain solmulla, jolla on tällä hetkellä saatavilla olevaa tallennustilaa. Se on odotettavissa, joten älä huoli!

Asenna SQL Server ensimmäiseen solmuun

jos haluat skriptata asennuksen, olen sisällyttänyt alla olevan esimerkin SQL Server 2008 R2: n skriptatusta klusterin asennuksesta klusterin ensimmäiseen solmuun. Komentosarja solmun lisäämiseksi olemassa olevaan klusteriin löytyy alempana oppaasta.

tottakai sopeudu ympäristöösi.

c:\SQLServerFull\setup.exe /q /ACTION=InstallFailoverCluster /FEATURES=SQL /INSTANCENAME="MSSQLSERVER" /INSTANCEDIR="C:\Program Files\Microsoft SQL Server" /INSTALLSHAREDDIR="C:\Program Files\Microsoft SQL Server" /SQLSVCACCOUNT="contoso\admin" /SQLSVCPASSWORD="xxxxxxxxx" /AGTSVCACCOUNT="contoso\admin" /AGTSVCPASSWORD="xxxxxxxxx" /SQLDOMAINGROUP="contoso\SQLAdmins" /AGTDOMAINGROUP="contoso\SQLAdmins" /SQLCOLLATION="SQL_Latin1_General_CP1_CI_AS" /FAILOVERCLUSTERGROUP="SQL Server 2008 R2 Group" /FAILOVERCLUSTERDISKS="DataKeeper Volume E" "DataKeeper Volume F" /FAILOVERCLUSTERIPADDRESSES="IPv4;10.0.0.101;Cluster Network 1;255.255.255.0" /FAILOVERCLUSTERNETWORKNAME="SQL2008Cluster" /SQLSYSADMINACCOUNTS="contoso\admin" /SQLUSERDBLOGDIR="E:\MSSQL10.MSSQLSERVER\MSSQL\Log" /SQLTEMPDBLOGDIR="F:\MSSQL10.MSSQLSERVER\MSSQL\Log" /INSTALLSQLDATADIR="F:\MSSQL10.MSSQLSERVER\MSSQLSERVER" /IAcceptSQLServerLicenseTerms

jos haluat käyttää käyttöliittymää, seuraa sitä alla olevien kuvakaappausten kera.

suorita ensimmäisessä solmussa SQL Server-asetukset.

Valitse Uusi SQL Server Failover Cluster asennus ja noudata ohjeita kuten kuvassa.

valitse vain tarvitsemasi vaihtoehdot.

huomaa, että tässä asiakirjassa oletetaan, että käytät SQL Serverin Oletusesitystä. Jos käytät nimettyä esiintymää, sinun on varmistettava, että lukitset portin, jota se kuuntelee, ja käytät tätä porttia myöhemmin, kun määrität kuormituksen tasapainottajan. Sinun on myös luotava kuormitussääntö SQL Server-Selainpalvelulle (UDP 1434), jotta voit muodostaa yhteyden nimettyyn instanssiin. Kumpikaan näistä kahdesta vaatimuksesta ei kuulu tässä oppaassa, mutta jos tarvitset nimetty esimerkiksi se toimii, jos teet nämä kaksi lisävaihetta.

tässä sinun tulee määrittää käyttämätön IP-osoite

Siirry Datahakemistot-välilehteen ja siirrä tiedot ja lokitiedostot. Tämän oppaan lopussa puhumme tempdb: n siirtämisestä ei-peilattuun DataKeeper-volyymiin optimaalisen suorituskyvyn saavuttamiseksi. Toistaiseksi, pidä se vain yhdellä ryhmitetyillä levyillä.

Asenna SQL Server toiseen solmuun

alla on esimerkki komennosta, jonka voit suorittaa lisätäksesi SQL Server 2008 R2-solmun olemassa olevaan klusteriin.

c:\SQLServerFull\setup.exe /q /ACTION=AddNode /INSTANCENAME="MSSQLSERVER" /SQLSVCACCOUNT="contoso\admin" /SQLSVCPASSWORD="xxxxxxxxx" /AGTSVCACCOUNT="contoso\admin" /AGTSVCPASSWORD="xxxxxxxx" /IAcceptSQLServerLicenseTerms

jos haluat käyttää käyttöliittymää, seuraa sitä seuraavien kuvakaappausten kera.

Suorita SQL Server-asetukset uudelleen toisessa solmussa ja valitse Lisää solmu SQL Server-Vikasietorykelmään.

Congratulations olet melkein valmis! Koska Azure ei kuitenkaan tue vastikkeetonta ARP: tä, meidän on määritettävä sisäinen Kuormanalennin (ILB), joka auttaa asiakkaan uudelleenohjauksessa seuraavien vaiheiden mukaisesti.

Päivitä SQL Cluster IP-osoite

jotta ILB toimisi kunnolla, sinun täytyy ajaa seuraava komento jostakin klusterin solmusta. It SQL Cluster IP: n avulla SQL Cluster IP-osoite voi vastata ILB health-koettimeen ja samalla asettaa aliverkon maskin arvoon 255.255.255.255, jotta vältetään IP-osoitteen ristiriidat kuntokoettimen kanssa.

cluster res <IPResourceName> /priv enabledhcp=0 address=<ILBIP> probeport=59999 subnetmask=255.255.255.255

huomautus – en tiedä, onko se onnenpotku, mutta joskus olen suorittanut tämän komennon ja näyttää siltä, että se toimii, mutta se ei suorita työtä ja minun on suoritettava se uudelleen. Miten voin kertoa, jos se toimi on katsomalla aliverkon maski SQL Server IP resurssi, jos se ei ole 255.255.255.255 niin tiedät, että se ei toimi onnistuneesti. Se voi olla yksinkertainen GUI Päivitä ongelma, joten voit myös yrittää käynnistää klusterin GUI tarkistaa aliverkon maski päivitettiin.

kun se toimii onnistuneesti, ota resurssi pois käytöstä ja tuo se takaisin verkkoon, jotta muutokset tulevat voimaan.

luo Kuormitussalancer

viimeinen vaihe on luoda kuormitussalancer. Tässä tapauksessa oletamme, että olet käynnissä Oletustilanteessa SQL Server, kuuntelee portilla 1433.

yksityinen IP-osoite, jonka määrität load Balanceria luodessasi, on täsmälleen sama osoite, jota SQL Server FCI käyttää.

lisää vain kaksi SQL Server-instanssia taustapooliin. Älä lisää FSW backend allas.

tässä kuormitustasaussäännössä sinun on otettava kelluva IP käyttöön

validoi klusteri

ennen kuin jatkat, suorita klusterin validointi vielä kerran. Klusterin Validointiraportin pitäisi palauttaa samat verkko-ja tallennusvaroitukset kuin ensimmäisellä ajollasi. Olettaen, ettei uusia virheitä tai varoituksia ole, klusterisi on määritetty oikein.

Edit sqlserv.exe-asetustiedosto

kansiossa C:\Program tiedostot (x86)\Microsoft SQL Server\100\Työkalut\Binn loimme sqlps.exe.asetustiedosto ja sqlservr.exe.asetustiedostossa on seuraavat rivit:

<configuration> <startup> <supportedRuntime version="v2.0.50727"/> </startup></configuration>

nämä tiedostot, oletuksena, ei ole olemassa ja voidaan luoda. Jos tämä tiedosto(t) on jo olemassa asennusta varten, <supportedRuntime version=”v2.0.50727″/> rivi on yksinkertaisesti sijoitettava <startup>…</startup> alaosioon <configuration>…</configuration> section. Tämä pitäisi tehdä molemmilla palvelimilla.

testaa klusteri

yksinkertaisin testi on avata SQL Server Management Studio passiiviselle solmulle ja muodostaa yhteys klusteriin. Jos pystyt yhdistämään, onnittelut, teit kaiken oikein! Jos et saa yhteyttä älä pelkää, et olisi ensimmäinen, joka tekee virheen. Kirjoitin blogiartikkeli auttaa vianmääritys ongelma. Klusterin hallinta on täsmälleen sama asia kuin perinteisen jaetun tallennusklusterin hallinta. Kaikki on ohjattu Failover Cluster Managerin kautta.

valinnainen – siirrä Tempdb

optimaalisen suorituskyvyn vuoksi olisi suositeltavaa siirtää tempdb paikalliseen, replikoimattomaan SSD: hen. SQL Server 2008 R2 vaatii kuitenkin tempdb: n olevan ryhmitetyllä levyllä. SIOS on ratkaisu kutsutaan ei-peilattu Volume resurssi, joka käsittelee tätä kysymystä. Olisi suositeltavaa luoda ei-peilattu tilavuus resurssi paikallisen SSD ja siirtää tempdb siellä. Paikallinen SSD-asema ei kuitenkaan ole pysyvä, joten sinun on huolehdittava siitä, että kansio, jossa on tempdb, ja kyseisen kansion käyttöoikeudet luodaan uudelleen joka kerta, kun palvelin käynnistyy uudelleen.

Vastaa

Sähköpostiosoitettasi ei julkaista.