Share point rbs in depth englisch
-
Upload
samuel-zuercher -
Category
Technology
-
view
2.731 -
download
0
description
Transcript of Share point rbs in depth englisch
SharePoint 2010 and Remote BLOB Storage
Thierry Gasser
What is Remote BLOB Storage?
RBS is a feature of SQL 2008 and R2 !
Provides the ability to store BLOBs outside of a SQL database
Includes one easy Filestream provider which can be used to store BLOBs on an NTFS filesystem
SharePoint 2010 fully supports 3rd party Filestream
Why Remote BLOB Storage?
Pro:
- Potential performance improvements when storing for BLOBs that are
larger than 1 MB
- Potential storage cost savings from SAN to Fileshare (SAS)
- In environments with frequent updates, fragmentation issues are easier
to address
Cons:
- RBS out of the box does not support• Database snapshots• Database mirroring• Encryption
- More admin to manage the farm and SQL
- Recommended to use a 3rd party provider which cost money.
Process Flow – Saving a FileSharePoint WFE
SharePoint Object Model
BLOB StoreProvider Library
BLOBStore
SQL Server
ContentDB
ConfigDB
2. Enforce Business
Logic
RBS Client Library Relational Access
1. Save Request
3. Save BLOB
4. Write BLOB
5. Return BLOB ID
6. Save Metadata & BLOB ID
7. Back to User
Install and Configuration
Step 1 - Enable FILESTREAM
Install and Configuration
Step 2 - Enable FILESTREAM support in SQL
EXEC sp_configure filestream_access_level, 2Reconfigure
Install and Configuration
Step 3 - Provision a BLOB Store – Create Master Key
use [WSS_Content]if not exists (select * from sys.symmetric_keys where name = N'##MS_DatabaseMasterKey##')create master key encryption by password = N'Admin Key Password !2#4'
Install and Configuration
Step 4 - Provision a BLOB Store – Add Filestream Filegroup
use [WSS_Content]if not exists (select groupname from sysfilegroups where groupname=N'RBSFilestreamProvider')alter database [WSS_Content] add filegroup RBSFilestreamProvider contains filestream
Install and Configuration
Step 5 - Provision a BLOB Store – Add File to Filegroup
use [WSS_Content]alter database [WSS_Content] add file (name = RBSFilestreamFile, filename = 'c:\Blobstore\WSS_Content') to filegroup RBSFilestreamProvider
Install and Configuration
Step 6 - Enable RBS on First SharePoint Server
msiexec /qn /lvx* rbs_install_log.txt /i RBS_X64.msi TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME="WSS_Content" DBINSTANCE="DC" FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider_1
On Subsequent Servers
msiexec /qn /lvx* rbs_install_log.txt /i RBS_X64.msi DBNAME="WSS_Content" DBINSTANCE="DBInstanceName" ADDLOCAL="Client,Docs,Maintainer,ServerScript,FilestreamClient,FilestreamServer"
Install and Configuration
Step 7 - Use PowerShell to activate provider
$site = get-spsite http://siteurl$rbss = $site.ContentDatabase.RemoteBlobStorageSettings$rbss.Installed()True$rbss.Enable()$rbss.SetActiveProviderName($rbss.GetProviderNames()[0])$rbss
Enabled ActiveProviderName MinimumBlobStorageSize UpgradePersistedProperties --------- ---------------------- ---------------------------- ------------------------------
True FileStoreProvider_1 0 { }
Installation – Next Steps
RBS works at the database level. When you create another database in the same farm
1. [Run the SQL commands]2. msiexec /qn /lvx* rbs_install_Log.txt /i rbs_X64.msi
REMOTEBLOBENABLE=1 FILESTREAMPROVIDERENABLE=1 DBNAME=<WSS_Content> FILESTREAMSTORENAME=FilestreamProvider_1 ADDLOCAL=EnableRBS,FilestreamRunScript DBINSTANCE=<DBInstanceName>>
3. [PowerShell to Enable Provider]
Advanced Configuration
Use PowerShell Configure the minimum size of content to be stored in the BLOB
Files smaller than this will be stored in the content database
$db = Get-SPContentDatabase –Site http:/[URL of site collection]$db.RemoteBlobStorageSettings.MinimumBlobStorageSize = [number of bytes]#db.Update()
NTFS Configuration Best Practices
Configure AV to quarantine rather than delete infected files
Disable the generation of 8.3 names when files are created
fsutil behavior set disable8dot3 1
Disable updating the last access time for a file when it is accessed
fsutil behavior set disablelastaccess 1
NTFS Configuration Best Practices
Perform regular defragmentation of volume(s) holding BLOB data
Disk quotas can be used to restrict storage
Configure the cluster size for volume(s) to host BLOB data to 64 KB
This must be done when the volume is formatted
format F: /FS:NTFS /V:MyFILESTREAMContainer /A:64K
When should I use RBS with SharePoint?
I am a SharePoint Foundation user
- Limitations on database size with SQL 2008 Express
require the use of RBS.
- Automatically configure RBS + FILESTREAM for WSS
3.0 users during upgrade!
I am an enterprise user with a large amount of content in SharePoint
- MS recommendation is approximately 1TB or more,
though you can still save costs if you have less data.
- Research and planning are needed. Talk to providers!
Performance Impact, some sample
SharePoint expects providers to have the following performance impact:
- Throughput: 5 -10% degradation
- Average Response time: Impact should be minimal as file size increases
- SQL CPU Usage: 20% for small files, minimal impact for large files
RBS and Sharepoint 2010: File Read Performance with 128 users
File Size
RBS APIs Enabled? No Yes No Yes No Yes
Requests/sec 489 486 235 241 135 137
Avg. Response Time(seconds) 0.26 0.26 0.54 0.53 0.94 0.93
SQL CPU Usage (%) 37 47 26 28 21 20
75 KB 256 KB 512 KB
Read Throughput
Read Throughput After Bulk load
0
2
4
6
8
10
12
256K 512K 1MObject Size
MB
/se
c
Database
Filesystem
How do I Migrate BLOB Data to RBS?
Use Power shell Commandlet - Migrate
- Moves BLOBs from current location to the current
Active RBS Provider store.
- Does deep copy of BLOBs – one BLOB at a time
- Live Migration – no downtime is required
- Migration process can be terminated and resumed
Migrate()
Use PowerShell to EXTERNALIZE all content
$site = get-spsite http://siteurl$rbss = $site.ContentDatabase.RemoteBlobStorageSettings$rbss.Migrate()
Migrate()
Use PowerShell to INTERNALIZE all content
$site = get-spsite http://siteurl$rbss = $site.ContentDatabase.RemoteBlobStorageSettings$rbss.SetActiveProviderName(“”)$rbss.Migrate()$rbss.Disable() $rbss
Enabled ActiveProviderName MinimumBlobStorageSize UpgradePersistedProperties --------- ---------------------- ---------------------------- ------------------------------
False 0 { }
Backup and Restore
Order of Operations
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.