So Welcome on one of the many technical blogs out there on the web. So what is special about this blog? Well absolutely nothing :) ... This is the place where I store handy information I don't want to forget, while hoping that in the process I'm also helping some other poor soul on the web that is facing similar issues, or is interested in similar topics.
So who am I?
My name is Mark Priem, I was build in 1981 and live in the Netherlands together with my two sons, Roan and Levi, and my Wife Mylene (note the capital W... You know who's boss now), who I all love to death.
Aside from spending as much time as possible with my family I enjoy sports and socializing face to face and online. Your average Joe right? The little time that is left I spend on technology; My main focus currently is SharePoint and cloud solutions, which I work with on a daily basis as part of my Job, Consultant at Microsoft. As I'm a Microsoft Certified Master in SharePoint 2010 I think I can say I know a thing or two about SharePoint, which I hope has a positive effect on the quality of my posts.
If however you find any misinformation or plain wrong content, please let me know. We all make mistakes right? :)
Please enjoy your stay and let me know what you think by commenting to my posts.
Thanks!
Mark
Deze post is een aangepaste post van twee jaar terug. Ik kreeg onlangs de vraag waar men informatie (specifiek informatie over patches) vandaan kan halen, dus ik dacht ik breng deze wederom onder de aandacht J
Mijn persoonlijke tip: Gebruik RSS feeds! Zie verderop in het document waar je de beschikbare feeds vindt!
Ik krijg vaak te horen dat men door de grote hoeveelheid informatie niet kan vinden wat men zoekt, of dat de structuur van onze sites onhandig is. Ik ben het hier niet helemaal mee eens en wil laten zien in onderstaande post, dat zonder Google Bing de informatie ook prima te vinden is.
Bijna alle informatie over onze producten is te vinden op Microsoft.com. Het probleem met Microsoft.com is dat er zo verschrikkelijk veel informatie voor handen is, en er zo veel mensen content editen, dat het lastig kan zijn informatie terug te vinden. Toch vind ik dat er op zich een goede structuur is, en met de juiste methoden de informatie prima te vinden is. Mensen beginnen gewoon op de verkeerde manier met informatie zoeken.
Waarschijnlijk 9 op de 10 mensen zal hun favoriete zoekmachine openen en via zoektermen proberen de vereiste informatie boven water te toveren. Dit werkt vaak goed, maar het kan vaak makkelijker. Het probleem met zoeken is dat men veelal niet kort kan verwoorden wat men precies zoekt, waardoor het moeilijk in zoektermen te vatten is. Vaak kom je net zo makkelijk aan informatie zonder een zoekmachine te gebruiken. Net als bij bijna elk ander bedrijf start het internetavontuur bij een internet portal, in dit geval http://www.microsoft.com
Zoals elke portal is dit de toegang tot alle informatie in het microsoft.com domein. Afhankelijk van het type informatie dat je zoekt, kan je kiezen voor een categorie en bijhorende site. Ik neem meestal het product als uitgangspunt en ga van daaruit verder, maar mocht jij een persoon zijn die op een andere manier navigeert, bijvoorbeeld vanuit het type informatie waarnaar je op zoek bent, kun je via bijvoorbeeld Solutions en Support ook bij dezelfde informatie komen. Ik ben van mening dat de keuze van de topbar bij de Microsoft site erg sterk is. In mijn geval kies ik dus voor Products en kies daar mijn product. In het geval van SharePoint moeten we even een tussenstop maken via de sitemap, en komen we alsnog bij de SharePoint portal. De menu's hier spreken ook voor zich, en via 'Informatiebronnen > Voor IT – Professionals' kom ik weer een stap dichter bij wat ik zoek. De daarop volgende informatie biedt wederom allerlei keuzen om verder te komen.
Had ik nu een meer functionele vraag of een developer vraag, dan had ik hier waarschijnlijk een andere keuze gemaakt. Dit nogmaals om te benadrukken dat de weg via de verschillende portals prima te volgen is, als je maar bij de bron begint, namelijk Microsoft.com.
Als je al ervaring hebt met onze sites dan weet je dat er een aantal bekende (sub)portals zijn, en vaak zal dat je startpunt zijn, maar van daaruit werkt het eigenlijk weer hetzelfde. Via de top navigatie en een aantal hops over verschillende pagina's kom je waar je zijn moet. De meest bekende portals zijn:
Als het puur om technische informatie gaat zoals informatie over het installeren of configureren van software, dan is Technet 'the place to be'. Sinds enige tijd maakt Technet gebruik van TechCentres, wat subsites zijn voor specifieke producten. Binnen een TechCentre is veelal de informatie heel netjes gegroepeerd, zoals te zien is op het Sharepoint TechCentre waar je via de producten heel snel al bij Resource Centers komt die gegroepeerd zijn op fases in de lifecycle van jouw infrastructuur. Ben je aan het plannen of uitrollen, zit je goed bij Plan & Deploy. Zoek je iets gerelateerd aan beheer, zit je goed bij Operate. Het spreekt allemaal voor zich!
Mocht het via deze weg toch nog niet mogelijk zijn de informatie te vinden, heeft Technet (en de meeste andere Microsoft.com sites) ook nog de zoekoptie, welke gebaseerd is op Bing:
Nu kan het zijn dat je de informatie die je zoekt niet kan vinden. Voornamelijk wanneer je met een specifiek vraagstuk zit, wat net even anders is dan gebruikelijk, loop je tegen de beperkingen aan van online documentatie. In zulke gevallen wil je terugvallen op lotgenoten en experts. Gelukkig zijn daar genoeg mogelijkheden voor. Communities hebben binnen microsoft.com een prominente plek onder http://www.microsoft.com/communities/default.mspx . Zo zijn er veel informatiebronnen als blogs, nieuwsgroepen, chats en community sites terug te vinden. Op elk van deze bronnen is het mogelijk in contact te komen met andere IT-pro's waaronder veel Microsoft medewerkers en MVPs. Voornamelijk de nieuwsgroepen en fora zijn veelbezochte locaties. Mocht je dus met vragen zitten of op de hoogte willen blijven van wat er voor problemen en vraagstukken spelen bij collega IT-ers, zorg dan dat je regelmatig een kijkje neemt op de nieuwsgroepen en fora.
Het op de hoogte blijven met de ontwikkelingen op bepaalde gebieden kan veel tijd in beslag nemen. Ook hier zijn er een aantal mogelijkheden, die dit een stuk makkelijker maken. Zo zijn er newsletters ,RSS feeds en zelfs tijdschriften waarop geabonneerd kan worden.Email newsletters kunnen aangevraagd worden via https://profile.microsoft.com/RegSysProfileCenter/SubCntDefault.aspx . Hier heb je de mogelijkheid te registreren voor heel veel verschillende newsletters, ook in de eigen taal.
Voor de RSS feeds bestaat er de Feeds directory op http://support.microsoft.com/selectindex/?target=rss , waar je kan registreren voor de laatste KB artikelen voor bepaalde technologieën of de Microsoft Security Bulletins. Even registreren in Outlook en.. VOILA! Binnen een paar seconden ben je op de hoogte van de laatste nieuwe content van bijvoorbeeld Age of Empires III – The warchiefs J
Zoals gezegd zijn er ook tijdschriften waarop geabonneerd kunnen worden. Microsoft Nederland heeft een aantal tijdschriften, die gratis zijn voor IT-pro's. Dit zijn MSDN .Net Magazine en Technet Magazine. Abonneren kan via:
.NET Magazine:https://profile.microsoft.com/RegSysProfileCenter/wizard.aspx?wizid=d7805d54-2171-4601-b654-55537eefb3bc&lcid=1033&fu=/belux/msdn/nl/community/netmagazine/subscribed.mspx
TechNet Magazine:http://technet.microsoft.com/nl-nl/cc514308.aspx
Zo zie je. Er zijn genoeg bronnen voor informatie, en als je weet wat je doet kan je prima de informatie vinden die je zoekt. Neem af en toe de tijd om je kennis bij te spijkeren en vergeet vooral de blogs op http://blogs.microsoft.nl, http://blogs.msdn.com en http://blogs.technet.com niet!
Als je clustert heb je shared resources, waaronder meestal ook storage. Ik heb geen dure hardware waarmee ik dat thuis voor elkaar kan boksen, dus de goedkoopste optie is iSCSI. Wij leveren gratis iSCSI software (het komt uit Storage Server) voor testomgevingen en kleine productieomgevingen.
iSCSI Software Target levert een software-based and hardware-onafhankelijk iSCSI disk subsystem, en maakt van elke windows server een storage device wat shared block-level storage levert over een IP netwerk.
In deze blog post laat ik zien hoe je snel een iSCSI disk beschikbaar stelt aan je cluster nodes. Ik ga niet in op recommended practices rondom Windows- en cluster inrichting, want dat laat ik over aan de Platform specialisten; ik ben maar een SharePoint nerd J.
Eerst bouw ik de iSCSI target, wat gewoon een normale Windows Server 2008 R2 installatie is met de iSCSI target software. Ik ga ervan uit dat jij als lezer snapt hoe je een Windows Server installeert. Zo niet, dan is deze post niet voor jou geschreven.
De configuratie is iets lastiger. Ik laat hier een voorbeeld zien van een enkele disk, maar je kunt er natuurlijk veel meer maken:
De iSCSI target is nu gereed om gebruikt te worden.
Om de target te kunnen benaderen moeten we de beide nodes configureren. Windows 2008 R2 wordt geleverd met standaard iSCSI initiator software welke te benaderen is via Administrative Tools > iSCSI Initiator.
Op beide nodes:
Alleen op Node 1:
Voila, uw iSCSI volume is klaar om gebruikt te gaan worden. Succes!!
Ik ben momenteel bezig bij een klant om het mogelijk te maken een SharePoint farm inclusief SQL server volledig unattended te deployen.Deze post laat een voorbeeld zien, hoe een SQL Server 2008 R2 cluster met de database engine via command line te installeren.
Er zijn uiteraard meerdere wegen naar Rome, en daarnaast vele zaken waar je bij productiesystemen rekening mee moet houden. Zaken die ik niet beschrijf om deze post kort en bondig te houden. Deze post is puur bedoeld als voorbeeld, waar vanuit verder gewerkt kan worden.
Meer informatie over SQL clustering is te vinden op: http://msdn.microsoft.com/en-us/library/ms189134.aspx
Een SQL server cluster maakt gebruik van de Windows Server clustering features, en voordat je een SQL cluster kunt installeren, moet er een Windows Cluster zijn met de volgende eigenschappen:
Verder hebben we het volgende nodig:
Ik ga er vanuit dat je weet hoe je twee servers installeert, en IP adressen, domain accounts en DNS records regelt. Zodra je dit alles hebt geregeld, maken we van beide Windows servers een cluster d.m.v. Powershell, gebruik makend van het setup account.
Eerst installeren we de cluster features en –tools op beide servers:
Import-Module ServerManagerAdd-WindowsFeature Failover-Clustering,RSAT-Clustering
Vervolgens testen we of de systemen gereed zijn om een cluster te vormen:
Import-Module FailoverClustersTest-Cluster server1,server2
In mijn geval kan ik wel een cluster vormen, maar heb ik warnings gekregen op bepaalde tests rondom disk en netwerk,wat klopt, want ik had nog geen Shared storage toegevoegd en heb slechts een enkele NIC (wat dus een single point of failure is voor de nodes).Voor meer informatie kan je kijken in het report, waar erg veel waardevolle informatie in staat rondom de tests en uitkomsten.
Nu kan ik het cluster gaan vormen, maar om een disk resource te kunnen maken in een clustergroup moet ik natuurlijk wel een disk hebben.Lees mijn blogpost @ voor een voorbeeld iSCSI implementatie.
Om het cluster te maken voeren we de volgende commando's uit:
Import-Module FailoverClustersNew-Cluster –Name ClusterNaam1 -Node server1,server2 –StaticAddress x.x.x.x [-IgnoreNetwork x.x.x.x/xx] –NoStorage$q = Get-ClusterAvailableDisk | Sort Size | Select -First 1Get-ClusterAvailableDisk | Add-ClusterDiskSet-ClusterQuorum -NodeAndDiskMajority $q.name
New-Cluster zal standaard proberen alle Shared Volumes meteen toe te voegen als cluster resource, en daarnaast voor elk beschikbaar netwerk een IP vragen om als resource op te voeren. Via –NoStorage kun je de disks later toevoegen, en via –IgnoreNetwork, kunt je netwerken negeren. Voor elke netwerk wat niet is opgenomen in de ignore list, moet je een shared IP opgeven in –StaticAddress.
Om een Node en Disk majority Quorum te kunnen maken, sorteer ik alle beschikbare disken op grootte en gebruik de kleinste voor het Quorum (volgens de boeken is 512MB genoeg, dus zo groot maak ik mijn Quorum disk, waardoor deze altijd de kleinste is [waarvoor zou je anders een kleine shared disk gebruiken??]).
Het cluster is nu gereed voor de SQL installatie.
SQL Server heeft .NET 3.5 SP1 nodig, dus voordat we de setup draaien voegen we eerste de juiste Windows Feature toe:
Import-Module ServerManager Add-WindowsFeature AS-NET-Framework
Om de SQL clustergroup te maken draaien we vervolgens de setup van het SQL installatie medium met de juiste parameters (ik heb een voorkeur voor het gebruik van een config file).
We maken op een textbestand aan met de volgende inhoud:
[SQLSERVER2008]QUIET="True"ACTION="InstallFailoverCluster"FEATURES="SQLENGINE,SSMS,ADV_SSMS"INSTANCENAME="SharePoint" INSTANCEID="SharePoint" INSTANCEDIR="C:\Program Files\Microsoft SQL Server" INSTALLSHAREDWOWDIR="C:\Program Files (x86)\Microsoft SQL Server"INSTALLSHAREDDIR="C:\Program Files\Microsoft SQL Server" SQLSVCACCOUNT="HOME\sa.SqlSvc"AGTSVCACCOUNT="HOME\sa.SqlAgent" SQLSVCPASSWORD="P@ssw0rd!"AGTSVCPASSWORD="P@ssw0rd!"INSTALLSQLDATADIR= "X:\SQLData" SQLCOLLATION="Latin1_General_CI_AS_KS_WS" FAILOVERCLUSTERGROUP="SQL Cluster Group" FAILOVERCLUSTERDISKS="Cluster Disk 1" FAILOVERCLUSTERIPADDRESSES="IPv4;192.168.1.46;Cluster Network 1;255.255.255.0" FAILOVERCLUSTERNETWORKNAME="CLUSTERNAAM2" SQLSYSADMINACCOUNTS="DOMEIN\USER"
In een nutshell vertel ik setup een installatie moet doen met alleen de database engine, management tools (advanced), de services onder bepaalde domain accounts moeten draaien, en het een cluster moet vormen. De parameters betekenen in het kort:
INSTANCENAME
Naam van de SQL instance
INSTANCEID
Instance ID wat gebruikt wordt in namen van folders en configuratie
INSTANCEDIR
De configuratiedirectory van de instance
INSTALLSHAREDWOWDIR
De installatiedirectory for 32 bit componenten
INSTALLSHAREDDIR
De installatiedirectory for 64 bit componenten
SQLSVCACCOUNT
SQL Server Service account
AGTSVCACCOUNT
SQL Agent Service account
SQLSVCPASSWORD
Password voor SQL Server Service account
AGTSVCPASSWORD
Password voor SQL Agent Service account
INSTALLSQLDATADIR
De default directory voor de database data
SQLCOLLATION
De default collation
FAILOVERCLUSTERGROUP
De naam van de clustergroup die SQL aanmaakt
FAILOVERCLUSTERDISKS
De shared disks die toegevoegd worden aan de cluster group
FAILOVERCLUSTERIPADDRESSES
Een nieuw shared IP adres en een verwijzing naar een bestaand cluster netwerk resource
FAILOVERCLUSTERNETWORKNAME
De clusternaam die SQL gaat gebruiken
SQLSYSADMINACCOUNTS
Accounts die toegevoegd dienen te worden aan sysadmin
Voor meer informatie over de beschikbare parameters zie: http://msdn.microsoft.com/en-us/library/ms144259.aspx
Ik heb hier gewoon wat waarden ingezet, maar wil je volledige automatisch deployed, zul je je config file moeten genereren, en wat logica in je scripts moeten bakken, zodat bijvoorbeeld de FAILOVERCLUSTERDISKS en FAILOVERCLUSTERIPADDRESSES, automatisch gevuld wordt met de juiste disks en NICS. Mijn gotcha's waren:
Op de eerste node draaien we dan vervolgens:
./Setup.exe /configurationfile=padnaarconfigfile.ini /IndicateProgress /IAcceptSQLServerLicenseTerms
De SQLSetup.log file is te vinden onder %temp%, maar persoonlijk had ik meer aan de logs onder padnaarsqlinstalldir \100\Setup Bootstrap\xxxxxxxx_xxxxxx\*.log.
Zodra de SQL installatie succesvol is afgerond, maak je op de andere Node ook een configuratiebestand aan. Ik gebruik hier als voorbeeld:
[SQLSERVER2008]QUIET="True"ACTION="AddNode"INSTANCENAME="SharePoint" SQLSVCACCOUNT="HOME\sa.SqlSvc"AGTSVCACCOUNT="HOME\sa.SqlAgent" SQLSVCPASSWORD="P@ssw0rd!"AGTSVCPASSWORD="P@ssw0rd!"
Op deze node draaien we vervolgens wederom:
Voila, het cluster is gereed. Wat nu rest is ervoor zorgen dat het A-record voor de clusternaam gewijzigd mag worden door het computer account wat voor het cluster is aangemaakt in AD. Als DNS AD integrated is, geef je het cluster computer account (dus niet de afzonderlijke nodes) via de DNS Server mmc snap-in FULL CONTROL op het A-record.
Aangezien ik in deze post alleen een installatie van de database engine behandel, hebben we geen Distributed Transaction Coordinator nodig. Ik kwam bij mijn zoektocht naar informatie echter een script tegen op http://www.sqlha.com/2009/09/02/creating-a-clustered-distributed-transaction-coordinator-msdtcdtc-using-powershell-method-1/ waarvan ik dacht COPY PASTE… Voor het geval ik of jij het ooit nodig heeft. Ik heb het niet getest, dus garantie tot de virtuele deur…
$clunm = "Windows failover cluster name"
$dtcdisknm = "Name of the disk resource to use with DTC"
$dtcdnsnm = "Name for DTC in DNS"
$dtcgrpnm = "Name of the DTC resource group"
$dtcipaddr = "IP address for DTC"
$dtcsubnet = "Subnet mask for DTC"
$dtcipresnm = "Name of the DTC IP address resource"
$dtcnetnm = "Name of the DTC network name resource"
$dtcresnm = "Name of the DTC resource name"
Add-ClusterGroup $dtcgrpnm -Cluster $clunm
Add-ClusterResource $dtcipresnm -ResourceType "IP Address" -Cluster $clunm -Group $dtcgrpnm
$ipres = Get-ClusterResource $dtcipresnm
$ipaddr = New-Object Microsoft.FailoverClusters.PowerShell.ClusterParameter $ipres,Address,$dtcipaddr
$subnet = New-Object Microsoft.FailoverClusters.PowerShell.ClusterParameter $ipres,Address,$dtcsubnet
$setparams = $ipaddr,$subnet
$setparams | Set-ClusterParameter
Add-ClusterResource $dtcnetnm -ResourceType "Network name" -Cluster $clunm -Group $dtcgrpnm
$nnres = Get-ClusterResource $dtcnetnm
$netnm = New-Object Microsoft.FailoverClusters.PowerShell.ClusterParameter $nnres,Address,$dtcdnsnm
$netnm | Set-ClusterParameter
Add-ClusterResourceDependency $dtcnetnm $dtcipresnm -Cluster $clunm
Add-ClusterResource $dtcresnm -ResourceType "Distributed Transaction Coordinator" -Cluster $clunm -Group $dtcgrpnm
Add-ClusterResourceDependency $dtcresnm $dtcnetnm -Cluster $clunm
Move-ClusterResource $dtcdisknm -Cluster $clunm -Group $dtcgrpnm
Add-ClusterResourceDependency $dtcresnm $dtcdisknm -Cluster $clunm