SPCSEA 2013 - Setting up SharePoint 2013: Tips and Tricks and PowerShell Scripts


Published on

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

SPCSEA 2013 - Setting up SharePoint 2013: Tips and Tricks and PowerShell Scripts

  1. 1. 1 Setting up SharePoint 2013: Tips and Tricksand PowerShell Scripts Michael Noel USA
  2. 2. Michael Noel 2  Author of SAMS Publishing titles “SharePoint 2013 Unleashed,” “Exchange Server 2013 Unleashed”, “Windows Server 2012 Unleashed,” and over fifteen other titles with worldwide circulation of over a quarter million in 20 languages worldwide  Partner at Convergent Computing (www.cco.com / +1(510)444-5700) – San Francisco, U.S.A. based Infrastructure/Security specialists for SharePoint, AD, Exchange, Security
  3. 3. 3What we will coverWhat‟s new in Infrastructure in SharePoint 2013?SharePoint Architecture FundamentalsSharePoint Virtualization OptionsVirtualized Template Server CreationInstallation of the SharePoint 2013 BinariesPowerShell Scripting Installation Options
  4. 4. 4Outlining Changes and new Requirements for InstallationWhat‟s New in Infrastructure forSharePoint 2013
  5. 5. What‟s new in Infrastructure for SharePoint 2013 Software/Hardware Requirements  Windows Server 2008 R2 SP1 or Windows Server 2012 (Preferred)  SQL Server 2008 R2 w/SP1 or SQL Server 2012 (Preferred) Type Memory Processor Dev/Stage/Test server 8GB RAM 4 CPU „All-in-one‟ DB/Web/SA 24GB RAM 4 CPU Web/SA Server 12GB RAM 4 CPU DB Server (medium environments) 16GB RAM 8 CPU DB Server (small environments) 8GB RAM 4 CPU
  6. 6. What‟s new in Infrastructure for SharePoint 2013 Changes in Service Applications and New Service Applications  Office Web Apps is no longer a service application  Web Analytics is no longer service application, it‟s part of search  New service applications available and improvements on existing ones  App Management Service – Used to manage the new SharePoint app store from the Office Marketplace or the Application Catalog  SharePoint Translation Services – provides for language translation of Word, XLIFF, and PPT files to HTML  Work Management Service – manages tasks across SharePoint, MS Exchange and Project.  Access Services App (2013) – Replaces 2010 version of Access Services
  7. 7. What‟s new in Infrastructure for SharePoint 2013 New Service Applications  App Management Service – Used to manage the new SharePoint app store from the Office Marketplace or the Application Catalog  SharePoint Translation Services – provides for language translation of Word, XLIFF, and PPT files to HTML  Work Management Service – manages tasks across SharePoint, MS Exchange and Project.  Access Services App (2013) – Replaces 2010 version of Access Services
  8. 8. What‟s new in Infrastructure for SharePoint 2013 Distributed Cache Service A new Windows service – the Distributed Cache Service – is installed on each server in the farm when SharePoint is installed It is managed via the Services on Server page in central admin as the Distributed Cache service The config DB keeps track of which machines in the farm are running the cache service
  9. 9. What‟s new in Infrastructure for SharePoint 2013 Request Management (RM)  The purpose of the Request Management feature is to give SharePoint knowledge of and more control over incoming requests  Having knowledge over the nature of incoming requests – for example, the user agent, requested URL, or source IP – allows SharePoint to customize the response to each request  RM is applied per web app, just like throttling is done in SharePoint 2010
  10. 10. What‟s new in Infrastructure for SharePoint 2013 User Profile Sync – Three Options for Deployment  Option 1: Simple one-way Sync (a la SharePoint 2007)  Option 2: Two-way, possible write-back to AD options using small FIM service on UPA server (a la 2010)  Option 3: Full Forefront Identity Manager (FIM) Synchronization, allows for complex scenarios – Larger clients will appreciate this
  11. 11. What‟s new in Infrastructure for SharePoint 2013 Claims-based Authentication - Default SharePoint 2013 continues to offer support for both claims and classic authentication modes However claims authentication is THE default authentication option now  Classic authentication mode is still there, but can only be managed in PowerShell – it‟s gone from the UI  Support for classic mode is deprecated and will go away in a future release There also a new process to migrate accounts from Windows classic to Windows claims – the Convert-SPWebApplication cmdlet
  12. 12. What‟s new in Infrastructure for SharePoint 2013 Shredded Storage  Stores new versions of documents as „shredded BLOBs that are deltas of the changes  Promises to reduce storage size significantly
  13. 13. What‟s new in Infrastructure for SharePoint 2013 Team Mailboxes – Exchange 2013 Integration Documents are stored in SharePoint Emails are stored in Exchange Team Folders can receive emails and have their own email address Easy access to both from Outlook and SharePoint Unified compliance policy applies to both
  14. 14. What‟s new in Infrastructure for SharePoint 2013 Search – FAST Search now included  New Search architecture (FAST based) with one unified search  Personalized search results based on search history  Rich contextual previews
  15. 15. What‟s new in Infrastructure for SharePoint 2013 Mobile Device Improvements  Classic and Contemporary views for mobile browsers  Automatic Mobile Browser Redirection  Target different designs based on user agent string  Office Mobile Web Apps  Excel  PowerPoint  Word  Push notifications
  16. 16. 16Deciding the Ideal Farm Architecture Prior to InstallationArchitecting the Farm
  17. 17. Architecting the Farm Three Layers of SharePoint Infrastructure Web Service Apps Data
  18. 18. Architecting the Farm Small Farm Models „All-in-One‟ (Avoid)  DB and SP Roles Separate
  19. 19. Architecting the Farm Smallest Highly Available Farm  2 SharePoint Servers running Web and Service Apps  2 Database Servers (AlwaysOn FCI or AlwaysOn Availability Groups)  1 or 2 Index Partitions with equivalent query components  Smallest farm size that is fully highly available
  20. 20. Architecting the Farm Best Practice ‘Six Server Farm’  2 Dedicated Web Servers (NLB)  2 Service Application Servers  2 Database Servers (Clustered or Mirrored)  1 or 2 Index Partitions with equivalent query components
  21. 21. Architecting the Farm Ideal – Separate Service App Farm + Content Farm(s) • Separate farm for Service Applications • One or more farms dedicated to content • Service Apps are consumed cross- farm • Isolates „cranky‟ service apps like User Profile Sync and allows for patching in isolation
  22. 22. Architecting the Farm• Multiple Dedicated Large SharePoint Farms Web Servers• Multiple Dedicated Service App Servers• Multiple Dedicated Query Servers• Multiple Dedicated Crawl Servers, with multiple Crawl DBs to increase parallelization of the crawl process• Multiple distributed Index partitions (max of 10 million items per index partition)• Two query components for each Index partition, spread among servers
  23. 23. Architecting the Farm Best Practice Information Governance Architecture - Distribute
  24. 24. 24New Options for SharePoint InstallationSharePoint Virtualization
  25. 25. SP Server Virtualization Sample 1: Single Server Environment  Allows organizations that wouldn‟t normally be able to have a test environment to run one  Allows for separation of the database role onto a dedicated server  Can be more easily scaled out in the future
  26. 26. SP Server Virtualization Sample 2: Two Server Highly Available Farm  High- Availability across Hosts  All components Virtualized  Uses only two Windows Virt Licenses
  27. 27. SP Server Virtualization Sample 3: Mix of Physical and Virtual Servers Highest transaction servers are physical Multiple farm support, with DBs for all farms on the SQL cluster
  28. 28. SP Server Virtualization Scaling to Large Virtual Environments
  29. 29. Virtualization of SharePoint Servers Virtualization Performance Monitoring Processor (Host Only) • Network Bandwidth –  <60% Utilization = Good Bytes Total/sec  60%-90% = Caution – <40% Utilization = Good  >90% = Trouble – 41%-64% = Caution Available Memory – >65% = Trouble  50% and above = Good  10%-50% = OK • Network Latency - Output  <10% = Trouble Queue Length Disk – Avg. Disk sec/Read or – 0 = Good Avg. Disk sec/Write – 1-2= OK  Up to 15ms = fine – >2 = Trouble  15ms-25ms = Caution  >25ms = Trouble
  30. 30. Quick SP2013 Farm Provisioning with VMM 20121. Create new Virtual Guest (Windows Server 2008 R2)2. Install SP2013 Binaries. Stop before running Config Wizard3. Turn Virtual Guest into Template, modify template to allow it to be added into domain4. Add PowerShell script to run on first login, allowing SP to be added into farm or to create new farm
  31. 31. 31Automating and Customizing the Installation ExperienceInstallation of SharePoint
  32. 32. 32Installation of the SP Binaries Always, ALWAYS choose Complete for any production builds! Stand-alone installs SQL Server Express
  33. 33. 33Installation of the SP Binaries Choose the Index location during the install process…it will save you the trouble of moving it later Be sure to allocate sufficient space!
  34. 34. 34Installation of the SP Binaries Uncheck the box to run the Configuration Wizard Preferable to use PowerShell instead of the Wizard!
  35. 35. 35PowerShell Installation Nearly the entire process can be scripted and automated Allows for the creation of standardized database names (no GUIDs) Exception is User Profile Synch Service, which could be automated, but can be very tricky (requires special process) so is generally recommended to be done manually Sample install scripts written for our „SharePoint Unleashed‟ book are available on Toni Frankola‟s blog at http://tinyurl.com/SPFarm-Config
  36. 36. Sample Script 36(http://tinyurl.com/SPFarm-Config) $configType = read-host "Do you wish to create a new farm? (Y/N)" if ($ConfigType -eq "N") { $DatabaseServer = read-host "Preparing to join existing farm. Please specify the name of your SQL Server"; $ConfigDB = read-host "Next, specify the name of your Farm Configuration Database"; $Passphrase = read-host "Finally, please enter your Farm passphrase" -assecurestring } else { $DatabaseServer = read-host "Preparing to create a new Farm. Please specify the name of your SQL Server (ex SERVER or SERVERINSTANCE[,PORT])"; $FarmName = read-host "Please specify a name for your Farm (ex. SP2013Dev)"; $ConfigDB = $FarmName+"_ConfigDB"; $AdminContentDB = $FarmName+"_CentralAdminContent"; Write-Host "Please enter the credentials for your Farm Account (ex. COMPANYABCSP_Farm)"; $FarmAcct = Get-Credential; $Passphrase = read-host "Enter a secure Farm passphrase (must meet password complexity requirements)" -assecurestring; $Port = read-host "Enter a port number for the Central Administration Web App"; $Authentication = read-host "Finally, specify your authentication provider (NTLM/Kerberos)"; } if ($ConfigType -eq "N") { if((Get-PSSnapin | Where {$_.Name -eq "Microsoft.SharePoint.PowerShell"}) -eq $null) { Add-PSSnapin Microsoft.SharePoint.PowerShell; } Connect-SPConfigurationDatabase -DatabaseName $ConfigDB -DatabaseServer $DatabaseServer - Passphrase $Passphrase
  37. 37. Sample Script – Service Apps(http://tinyurl.com/SPFarm-Config) cls Remove-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue if((Get-PSSnapin | Where {$_.Name -eq "Microsoft.SharePoint.PowerShell"}) -eq $null) { Add-PSSnapin Microsoft.SharePoint.PowerShell; } function Start-SPService($ServiceInstanceTypeName) { $ServiceInstance = (Get-SPServiceInstance | Where {$_.TypeName -eq $ServiceInstanceTypeName}) if($ServiceInstance -ne $null -and $ServiceInstance.Status -ne "Online" -and $ServiceInstance.Status -ne "Provisioning") { $ServiceInstance | Start-SPServiceInstance } $i = 0; while(-not ($ServiceInstance.Status -eq "Online") -and $i -lt 10) { Write-Host -ForegroundColor Yellow "Waiting for the $ServiceInstanceTypeName service to provision..."; sleep 100; $ServiceInstance = (Get-SPServiceInstance | Where {$_.TypeName -eq $ServiceInstanceTypeName}) $i += 1; if($i -eq 10) { $continue = Read-Host "Service $ServiceInstanceTypeName has not yet been provisioned. Would you like to wait? (Y/N)" if($continue -eq "Y") {
  38. 38. 38Post-Installation Add additional farm members (via templates if possible) Configure Request Management for large farms (configurable via PowerShell) Put a hardware load balancer in front of SharePoint web front-ends (F5, A10, Kemp, etc.) Configure Backup, iFilters, any third-party web parts Create a SQL Maintenance Plan! Configure Security!
  39. 39. Post Installation: Configure Security Five Layers of SharePoint Security • Infrastructure Security and Best practices  Physical Security  Best Practice Service Account Setup  Kerberos Authentication • Data Security  Role Based Access Control (RBAC)  Transparent Data Encryption (TDE) of SQL Databases • Transport Security  Secure Sockets Layer (SSL) from Server to Client  IPSec from Server to Server • Edge Security  Inbound Internet Security (Forefront UAG/TMG) • Rights Management
  40. 40. Post Installation Create SQL Maintenance Plans• Implement SQL Maintenance Plans!• Include DBCC (Check Consistency) and either Reorganize Indexes or Rebuild Indexes, but not both!• Add backups into the maintenance plan if they don’t exist already• Be sure to truncate transaction logs with a T- SQL Script (after full backups have run…)
  41. 41. Post-Installation – Document SharePoint• Document all key settings in IIS, SharePoint, after installation• Consider monitoring for changes after installation for Config Mgmt.• Fantastic tool for this is the SPDocKit - can be found at http://tinyurl.com/spdockit
  42. 42. Thank you to our sponsors 42
  43. 43. Michael Noel Twitter: @MichaelTNoel www.cco.com Slides: slideshare.net/michaeltnoel Travel blog: sharingtheglobe.comSession Eval: http://tinyurl.com/spcsea