Wednesday, 28 September 2011

An Easy Way to Rename a VMDK Using a GUI

*The vSphere Client (including vSphere 5 Client) does not allow renaming of VMDK's using the GUI

Using vSphere Client:
1) Edit Settings of the Virtual Machine to be affected, and remove the Hard Disk to be renamed, taking note of the SCSI (X:X) ID

Using the free to download Veeam FastSCP or a pre-existing installation of Veeam Backup:
2) Connect to a host with access to the datastore containing the VMDK
3) Browse to the folder containing the VMDK
4) Right-click the ...-flat.vmdk file and rename as desired, leaving the -flat.vmdk at the end

5) Right-click the disk descriptor ...vmdk file and rename as desired

6) Right-click the renamed disk descriptor ...vmdk file and edit, changing the entry beneath '# Extent description' to point to the renamed ...-flat.vmdk file, and close saving changes

# Extent description
RW 73400320 VMFS "Windows 2008 R2 Enterprise-flat.vmdk"

Using vSphere Client:
7) Re-add the VMDK back to the virtual machine as an existing disk

Note: Veeam FastSCP 3.0 is not officially supported on 64-bit systems, and if trying the above with Veeam FastSCP 3.0 on a 64-bit system, the following error will be thrown "Retrieving the COM class factory for component with CLSID ... failed due to the following error: 800700c1." Solution is to either use Veeam Backup or install Veeam FastSCP on a 32-bit system.

Other ways to rename VMDK

1) Shutdown the VM and migrate to a different datastore
*Update: many thanks to gb for the following comment - "Under vSphere 5 migrating to a new datastore no longer renames the vmdk or any other files for that matter. However, It does rename the target directory."

2) Using vSphere CLI:
vmkfstools --server -E '[Datastore Name] Directory Name/examplevm.vmdk' '[Datastore Name] Directory Name/examplevm-renamed.vmdk'

3) Using the ESX/ESXi host console interface:

vmkfstools -E examplevm.vmdk examplevm-renamed.vmdk


This may be one of my most pointless posts ever, seeing as it is relatively straightforward to rename a vmdk from command line. Posting along the lines of it always being useful to be aware of different ways to do certain tasks.

What's New in the vSphere 5 Client GUI & Notes on Differences Between ESXi 4.1 and ESXi 5.0

Contents of this post:
1) What's new in the vSphere 5 Client GUI
2) Killing a Stuck VM in ESXi 5.0
3) Changes/Improved capabilites of ESXi 5.0 over ESXi 4.1
4) Some Additional Storage vMotion features in vSphere 5
5) VMFS-5

1) What's new in the vSphere 5 Client GUI

Home > Inventory

'Datastores' has been replaced by 'Datastores and Datastore Clusters'

Home > Administration

'Licensing Reporting Manager' has gone
'vCenter Solutions Manager' and 'Storage Providers' has come in

Home > Management

'VM Storage Profiles' has come in

Home > Inventory > Hosts and Clusters

Datacenter object additional options:
'New Datastore Cluster...'
'New vNetwork Distributed Switch...' has been renamed to 'New vSphere Distributed Switch...'
'Migrate Virtual Machine Networking...'

Guest machine object additional options:
'VM Storage Profile'

2) Killing a Stuck VM in ESXi 5.0

via an SSH connection to the ESXi 5.0 host
# esxcli vm process list
# esxcli vm process kill -t soft -w <World ID of the Virtual Machine to kill>

3) Changes/Improved capabilites of ESXi 5.0 over ESXi 4.1

*Source: (also interesting to see the comparison of ESXi 5.0 against other vendors type 1 hypervisor offerings)

'Advanced Troubleshooting: 'Tech Support Mode' has become the 'ESXi Shell'
SNMP: Limited support in ESXi 4.1 now has full support in ESXi 5.0
Serial Port Connectivity: Supported
Rapid deployment and central management of hosts via Auto Deploy: Supported
Custom image creation and management: Supported
Secure syslog: Supported
Management interface firewall: Supported

4) Some Additional Storage vMotion features in vSphere 5

Storage vMotion will work with Virtual Machines that have snapshots/linked clones.
Storage vMotion allows VMware to implement a new balancing technique for VMs based on storage usage and load – this feature is called Storage DRS.

5) VMFS-5

VMFS3 volumes can be upgraded to VMFS5 volumes via the online & non-disruptive 'Upgrade to VMFS-5' feature in the vSphere 5 Client GUI
*Recommended to create a new VMFS-5 filesystem rather than upgrading – if have the luxury of time to perform the Storage vMotion operations

The maximum size of a VMDK on VMFS-5 is still 2TB -512 bytes.
The maximum size of a non-passthru (virtual) RDM on VMFS-5 is still 2TB -512 bytes.
The maximum number of LUNs that are supported on an ESXi 5.0 host is still 256

VMFS-5 Enhancements over VMFS-3

Unified 1MB File Block Size – very large files can be created on VMFS-5 using 1MB file blocks.
Large Single Extent Volumes – with VMFS-5 the limit has been increased from 2TB to 60TB.
Smaller Sub-Block – this is now 8KB rather than the 64KB
Small File Support.
Increased File Count – VMFS-5 introduces support for greater than 100,000 files, a three-fold increase on the number of files supported on VMFS-3, which was ~ 30,000.
ATS Enhancement – this Hardware Acceleration primitive, Atomic Test & Set (ATS), is now used throughout VMFS-5 for file locking. ATS is part of the VAAI (vSphere Storage APIs for Array Integration.) This enhancement improves the file locking performance over previous versions of VMFS.

VMFS-3 to VMFS-5 Upgrades

Upgraded VMFS-5 can use the new 1KB small-files feature.
Upgraded VMFS-5 can be grown to ~ 60TB, same as a newly created VMFS-5.
Upgraded VMFS-5 has all the VAAI ATS improvements that a newly created VMFS-5 has.

Differences between newly created and upgraded VMFS-5 datastores:

VMFS-5 upgraded from VMFS-3 continues to use the previous file block size which may be larger than the unified 1MB file block size.
VMFS-5 upgraded from VMFS-3 continues to use 64KB sub-blocks and not new 8K sub-blocks.
VMFS-5 upgraded from VMFS-3 continues to have a file limit of 30720 rather than new file limit of > 100000 for newly created VMFS-5.
VMFS-5 upgraded from VMFS-3 continues to use MBR (Master Boot Record) partition type; when the VMFS-5 volume is grown above 2TB, it automatically & seamlessly switches from MBR to GPT (GUID Partition Table) with no impact to the running VMs.
VMFS-5 upgraded from VMFS-3 continue to have its partition starting on sector 128; newly created VMFS5 partitions will have their partition starting at sector 2048.

RDM - Raw Device Mappings

There is now support for passthru RDMs to be ~ 60TB in size.
Non-passthru RDMs are still limited to 2TB - 512 bytes.
Both upgraded VMFS-5 & newly created VMFS-5 support the larger passthru RDM.

Additional sources:

*Excellent post by MauroBonder in reply to posted question 'Difference between ESXi 4.1 and ESXi 5

Tuesday, 27 September 2011

Installing VMware vSphere 5.0 vCenter Server Complete

Quick walkthrough guide to install all the VMware Product Installers for VMware vSphere 5.0 vCenter on Windows 2008 R2

*Most of the installs that follow are run from the autorun menu of the VMware-VIMSetup-all-5.0.0... media.

1: vCenter Server

*Not necessary for vCenter server to be domain joined
1-1: Features → Install '.NET Framework 3.5.1' via Server Manager → Features → Add Features
*Be sure to only install .NET Framework 3.5.1 and not the WCF Activation component also (which forces IIS to be installed.)

1-2: Install vCenter Server from VMware vCenter Installer and follow the prompts to install (next → next → next type install)

2: vSphere Client

2-1: (already installed in 1-1) Install Microsoft .NET 3.5 SP1
2-2: Install Microsoft VJ# 2.0SE from VMware vCenter Installer and follow the prompts to install (next → next → next type install)

2-3: Install vSphere Client from VMware vCenter Installer and follow the prompts to install (next → next → next type install)

3: VMware vSphere Web Client (Server)

3-1: Install Adobe Flash Player (required for vSphere Web Client Administration Tool)
3-2: (recommended) Add localhost, FQDN, and IPAddresses of vCenter server to Internet Explorer trusted sites

3-3: Install VMware vSphere Web Client (Server) from VMware vCenter Installer and follow the prompts to install (next → next → next type install)
3-4: When the install is complete the following internet browser page will load https://localhost:9443/admin-app and from here register the vCenter Server

Can now login to the vSphere web client on https://localhost:9443/vsphere-client

4: VMware vSphere Update Manager

4-1: Install VMware vSphere Update Manager from VMware vCenter Installer and follow the prompts to install (next → next → next type install)

*vSphere 5 Update Manager will install a Microsoft SQL Server 2008 R2 Express instance, no need to create a 32-bit DSN as used to be the case with vSphere 4 Update Manager install (hurray!)

And we are done!

Monday, 26 September 2011

Dell Equallogic PS5000 Firmware Upgrade Walkthrough from V4.1.X via V4.3.X to V5.0.X

Specifically this walkthrough is to upgrade a PS5000 from V4.1.4 via V4.3.8 to V5.0.8, with iSCSI volumes accessed via Microsoft iSCSI Initiator. It is not possible to upgrade directly from V4.1.4 to V5.0.8.

*Edited notes from Dell Equallogic documentation:
"iSCSI Initiator and Operating System Considerations.pdf"

Space requirements for proper operations

Maintain 100GB per member or 5% free space (whichever is smaller) in the group.

Preliminary steps

2: Download v4.3.8 firmware zip/tar to a management station and extract the kit...tgz
3: Download v5.0.8 firmware zip/tar to a management station and extract the kit...tgz
4: Download latest Host Integration Toolkits

*Management Station = any device with network/serial connectivity to the Equallogic SAN

Pre-upgrade tasks on Windows servers connected using the Microsoft ISCSI Initiator (if not done already)

1: Increase TimeOutValue Parameter to Avoid Disk I/O Timeouts

Increase the value of the REG_DWORD TimeOutValue parameter -
- to at least 60 seconds

2: (Optional) Increase Transmit and Receive Resource Settings
3: (Optional) Check Settings for Microsoft iSCSI Software Initiators for Clustered, Multi-Path I/O Environments
4: (Optional) Check Settings for Microsoft iSCSI Software Initiators for Single System, No Multi-Path Environments
5: Upgrade the HIT (Host Integration Tools) kit (can skip if not present/utilized)

*See "iSCSI Initiator and Operating System Considerations.pdf" from Dell for details on 2, 3, 4 above

Upgrade Tasks

1: (Optional) Shut down the hosts accessing group volumes.
2: Temporarily disable any snapshot tasks
3: Connect to the SAN using telnet, SSH, serial connection (do not connect to the group IP address)
*Recommend updating via the CLI - the GUI at time of writing did not show upgrade progress
4: Log in to the array using the grpadmin account
5: Use FTP (from DOS/Linux shell) to copy the V4.3.8 firmware.tgz file to the array you are upgrading

$ ftp
ftp> open X.X.X.X
ftp> binary
ftp> put kit_12345678.tgz
ftp> close
ftp> bye

*By default, the Microsoft Windows ftp working directory is the directory in which ftp was started
*Replace X.X.X.X with IP of the array, and kit_12345678.tgz with the appropriate file name

6: At the Group Manager CLI prompt, enter the update command

> update

7: When prompted, enter Y to confirm that you want to update the array’s firmware
8: When the controllers' firmware is updated, run the restart command to restart the array and accept yes to load the updated firmware (will briefly drop packets to the SAN whilst controllers fail over)

> restart

9: Verify the firmware update by entering member select member_name show controllers

> member select membername show controllers

*On arrays with dual control modules, if the FW Rev does not match, contact Dell Technical Support

10: Repeat the process for each additional group member
11: Perform 'Post Upgrade Tasks'
12: Repeat 4 to 10 for the V5.0.8 firmware

Post Upgrade Tasks

1: Restart the browser
2: (Optional) Restart hosts
3: Check all hosts connected to the SAN can still access the volumes

Further Notes

Dell Equallogic support advised that this could pretty much be done with no downtime.
The update command will update the primary controller first, then the secondary controller.
Will failover to the second controller which is why the TimeOutValue must be increased (if not done already.)
Whilst failing over - brief writes/reads to the SAN will not be possible.
When primary controller is updated, will failover back to the primary controller.
Must do the V4.3.8 firmware first, followed by the V5.0.8 firmware.
If you receive the error message "update failed - insufficient free space to expand kit; required 21MB, available: 19MB" - then use the dir and delete commands from the FTP connection, to list contents of the patch upload folder and can delete any *.core files (the firmware update kit automatically deletes itself after use)

Wednesday, 21 September 2011

Designing Backup Solutions to Compliment Veeam Backup

Design requirements

1) The backups must be quick and efficient with little impact on the production virtual environment.
2) Backups must not be saved to the same production SAN that contains the data being backed up
3) There must be provision for backups to be off site.
4) Restores must be quick and efficient.
5) (Optional) there must be provision for offline backups.

Component Parts of a Backup Solution

1) Veeam Backup Server


i: Physical Windows Server

→ If the storage infrastructure is pure Fibre Channel (no option for iSCSI) then Veeam Backup Server will need a FC HBA for Direct SAN access
→ If the storage infrastructure is iSCSI (or FC with iSCSI functionality,) will need NIC ports patched into the iSCSI SAN for Direct SAN access
→ The Veeam Backup Server needs to located sufficiently close to the virtual infrastructure, and with sufficient bandwidth, to support efficient Direct SAN access backup
→ Easy support for many different external backup devices
*The backup over networking mode is not recommended for performance reasons
*Veeam Backup is not supported on Windows Storage Server

ii: Virtual Windows Server

→ If the storage environment is predominantly NFS, this is ideal since Virtual Appliance mode can be leveraged to avoid having to use the slower performance backup over network option
→ Works well with iSCSI SANs using Direct SAN access backup mode
→ (Small advantage) If you have more than one Veeam Backup Server, you can use one Veeam Backup Server to backup the other's system and program files drive
*A Veeam Backup Server cannot backup itself
*Veeam Backup is licensed on host sockets, there is no limit to the number of Veeam Backup Servers you can create


Much of the choice here comes down to personal preference and/or cost. It is often useful/desireable to have one physical Windows server alongside the VM host servers, and this one physical Windows server can be the Veeam Backup Server.

2) Backup Storage and Provision for Off-Site Backup

Some options:

i: Physical server with local or direct attached storage
either replicate backups to a similar server (software replication)
and/or backup to removable hard disk to be taken off site

ii: iSCSI/FC SAN (not the same SAN data is being backed up from)
either storage/software level replication of backups to a DR site
and/or backup to removable hard disk to be taken off site

either storage/software level replication of backups to a DR site
and/or backup to removable hard disk to be taken off site

iv: Post-process deduplication (RECOMMENDED)
backup directly to a post process dedupe appliance and replicate to a partner dedupe appliance (the partner dedupe appliance could be a service provider offering BaaS.)
and backup to removable hard disk if additional offline backup is required

v: In-line deduplication
backup to storage local to the Veeam Backup Server then copy across to an in-line dedupe appliance, replicated to a partner dedupe appliance
and backup to removable hard disk if additional offline backup is required
*Depending on the desired speed, there is no reason why cannot backup directly to an in-line dedupe appliance, this will be slower than backup to post-process dedupe appliance


Much of the choice here will come down to personal preference and/or cost. Deduplication is recommended for maximizing use of storage and minimizing network traffic when replicating backups. Post-process deduplication is recommended over in-line dedupe for speed of backup to disk.

Argument against using tape with Veeam Backup

Storing Veeam backup files (vbk's, vrb's, vib's) on tape does not make for an elegant solution. Veeam backup cannot back up directly to tape.

Even so, writing the vbk and vrb/vib sets to tape post backup is not a problem with other tools, the problem is recovery, and to recover from tape a Veeam Backup Server first needs available disk space on which to pull the data off tape prior to commencing a restore to the virtual infrastructure. A restore of a 1TB vbk and vrb/vib set may take 5 hours. Also, testing of Veeam backups written to tape is a similar problem, it requires the time to recover to disk first before even knowing if the file is usable and free from corruption.

It could be argued that tape is only used for cheap archival. This argument does not completely stack up though. There is no point storing backups if there is strong reluctance from the IT Support Team to use them for future restores because it is known that the recovery process is long and time consuming. Also, the tapes need to be tested and this takes additional time over disk-based solutions. Then when it comes to restore from tape, this takes additional time over a restore from disk. And when time is money....

A much better solution is to keep backups on disk, which allows for instant recovery and easy testing of backups. This would mean either keeping all the required backups on disk - either cheap storage, or more expensive in the short-term but – if achieving high levels of de-duplication – cheaper in the long run, then file deduplication storage; and the backups can be replicated off site (which is where dedupe devices come into their own because only deduped changes are replicated) and/or removable hard disk technology can be utilized.


Much of the choice regarding tape or disk comes down to personal preference and/or cost – especially if there has already been considerable investment in existing tape backup infrastructure...

Final Comment

There are many permutations to consider when designing a backup solution to compliment Veeam Backup. I most certainly will have missed out some ideas and solutions, and this is not intentional. On purpose I have avoided mentioning vendor names and products (except for Veeam and Windows.)

Please feel free to leave any comment.


Credit to my colleague Alfredo for introducing me to many of the ideas and concepts in this post.

Sunday, 18 September 2011

VMware vCenter Server Appliance First Look and Installation Walkthrough ( Build 472350)

If you do not mind the current limitations (correct as of 11th September 2011) -

No Update Manager
No Linked-Mode
No support for the VSA (vSphere Storage Appliance)
Only support for Oracle as the external database
Embedded database - DB2 -
supports 5 hosts and 50 VMs [1]
No support for vCenter Heartbeat

- and you have existing Linux administrators who can look after it; then the new VMware vCenter Server Appliance (VMware VCSA) is well worth a look.

Installation Walkthrough

1: Download from VMware →
Note: The imported appliance is a pre-configured Novell SUSE Linux Enterprise 11 box with 8 GB RAM, 2 vCPU, 22 GB thin provisioned system disk, 60 GB thin provisioned data disk

2: vSphere Client → Deploy OVF Template
Note: This will also run in Oracle's Virtualbox via → Import Appliance...

3: Place the imported VC appliance on the correct VM Network
4: Power on
5: The VC appliance will load to a screen like in the image below:

From here → Configure Network and Set Timezone

6: via a web browser → connect to https://IPAddressOfVC:5480 and login with username = root and default password = vmware

7: Accept the EULA
8: vCenter Server → Database → select 'Database Type' = embedded and click 'Save Settings'
9: vCenter Server → Administration → change the root password
10: vCenter Server → Status → Start vCenter
11: Authentication → Active Directory → check 'Active Directory Enabled' and enter the relevant settings
12: System → Information → Reboot to apply Active Directory configuration

After reboot the vCenter Server Appliance is ready to connect to via the vSphere client and configure as normal.

Note 1) In practice, it would be possible to create a pre-built Windows VMware Virtual Center Appliance and deploy this at customer sites to get similar benefits to the quick and easy setup of VMware's SLES 11 VC Appliance.

Note 2) VMware's SLES 11 VC Appliance does not save resources over a Windows VMware vCenter. Minimum requirements for a Windows VMware vCenter Server are as follows:

ProcessorTwo 64-bit CPUs Intel or AMD x64 2.0 GHz or faster (could be one dual core - the key is two logical processors at a minimum)
Memory 4 GB RAM (RAM requirements may be higher if your database runs on the same machine - VMware VirtualCenter Management WebServices requires 128 Mb to 1.5 GB of memory which is allocated at startup)
Disk storage 5 GB (Disk requirements may be higher if your database runs on the same machine)

[1] Originally I had this as 5 hosts and 50 VMs, then - after Diego's comment - it appeared that going by VMware's documentation at that time, that 100 hosts and 1000 VMs was correct, as from the official VMware vSphere 5 Documentation at :
"the embedded database. This option is available only for a small inventory size, with fewer than 100 hosts and 1000 virtual machines."
After another comment I have changed back to 5 hosts and 50 VMs again after reading updated documentation (27th October 2011) from VMware  at :
"The embedded database is not configured to manage an inventory that contains more than 5 hosts and 50 virtual machines. If you use the embedded database with the vCenter Server Appliance, exceeding these limits can cause numerous problems, including causing vCenter Server to stop responding."

Thursday, 15 September 2011

A Philosophy of Information Technology (IT) relating to Business

First, two definitions:

Philosophy = A theory underlying or regarding a sphere of activity (source )
Information Technology = the acquisition, processing, storage and dissemination of vocal, pictoral, textual, and numberical information by a microelectronics-based combination of computing and telecommunications (source )

A Philosophy of IT relating to Business

The goal of Information Technology in relation to business, is to make working processes easier, quicker, and more efficient; to automate repetitive manual tasks; to increase productivity; to make data more secure and also more available; to act as a medium and/or catalyst for rewarding collaboration; to promote an ever swifter and more meaningful exchange of ideas; to enhance communication; and to provide real and quantifiable benefits for the corporation, whether this is measured in financial profit or intellectual wealth.

Following on from the above:

Information Technology exists to make manageable and distributable, the multitude of information accumulated by technological civilization, and information required to maintain the fabric of society.

For an Information Technology solution to be a success it must result in either one or many of the following – more uptime; a quicker return to operation after disaster; increased productivity; increased data security; make life easier to the end user and in doing so increase their effectiveness; improved collaboration; swifter exchange of ideas; increased business agility; and increased wealth and/or profitability.

PS: A nice ideal to aim for - "Make People Happy Through IT."

Comment from author:

This is a bit of a departure from the normal technical walkthroughs, recipes, solutions, ... on my blog. Possibly because my first ever website – now vanished into the ether – had a philosophy theme to it, I had a strange urge to make a philosophy themed post. If by some unexpected miracle you are reading this and would like to express a view, please do. Cheers!

Sunday, 11 September 2011

VMware, NFS, and Thin Provisioning

*UPDATE: The argument below is now obsolete with the advent of vSphere 5

After an entertaining debate with my colleague Alfredo - which Alfredo won – I have put down a few answers to questions raised by the debate.

1: Are all virtual machines thin provisioned on NFS by default? YES

NFS is a file-level storage system, and not a block-level storage system. When a VMDK is created, or moved to an NFS volume, the size of the VMDK file on the NFS volume is just the size of whatever is inside that VMDK, even if the file was originally thick. NFS does not see blocks, it just sees contents or data.

This is why when creating a new VMDK disk on NFS via the vSphere client, the check boxes to specify 'Disk Provisioning' policy are greyed out with the text underneath “Actual allocation policy will be determined by the NFS server.”

2: Can you create a thick provisioned VMDK on NFS? NO

Again, this comes down to the architecture of NFS being what it is, a file-level storage system, blocks cannot be allocated to make it thick. In theory, if you had a VMDK and completely filled it with data, it might look thick in size, but still not thick provisioned, once data gets removed from inside that VMDK, the file will shrink back down again.

3: Is it VMware Thin Provisioning? NO

VMware has no control over thick or thin provisioning on an NFS datastore.
On a VMFS datastore, thin and thick provisioning is controlled by the VMFS 3 driver, this driver does not apply to NFS.

VMware vStorage Thin Provisioning … virtual machines gain access to a large amount of
storage than actual footprint. It is allocated and expanded on-demand by the VMFS 3 driver when the guest OS requests.”

Under 'Virtual Machine Properties' in the vSphere client, a disk file on NFS will have a provisioning type of 'Thin' – this is not VMware Thin Provisioning, just that it cannot possibly be any other way on NFS (try storage migrating a thick disk from VMFS to NFS, choosing the option to keep it thick – it will become thin!)

4: Is NFS storage thin provisioned? Depends on the storage

At a storage level, depending on storage provider, it is possible to create either a thick-provisioned volume or a thin-provisioned volume, and present that as NFS storage.

Possible exception to questions 1 & 2 above: if you create an NFS datastore on an NTFS (Windows) volume...

Sunday, 4 September 2011

Sharepoint 2010 Pilot Project: Part 3/3 Some Additional Steps After Installing SharePoint 2010

1) Sharepoint 2010 Sites Warmup Script

Disable UAC (if not already disabled)

Copy the below into notepad and saves as say C:\STARTUPSCRIPT\sharepointWarmup.ps1

"Warming up local SharePoint WebApplications"
$snapin = Get-PSSnapin | Where-Object { $_.Name -like "Microsoft.SharePoint.PowerShell"}
if ([bool]$snapin) {} else {Add-PsSnapin Microsoft.SharePoint.PowerShell}
function Warmup-Site([string]$url)
$wc = New-Object net.WebClient
$wc.credentials = [System.Net.CredentialCache]::DefaultCredentials;
return $wc.DownloadString($url)
Get-SPWebApplication -IncludeCentralAdministration | Get-SPSite | ForEach-Object { Write-Host "Warming up site:" $_.Url ; $html = Warmup-Site -url $_.Url}
"=> Local SharePoint sites warmed up"

Copy the below into notepad and save as say C:\STARTUPSCRIPT\spWarmUp.bat

powershell set-executionpolicy RemoteSigned
powershell C:\STARTUPSCRIPT\sharepointWarmup.ps1

The create a scheduled task in Task Scheduler to run the batch file C:\STARTUPSCRIPT\spWarmUp.bat at say 4am every morning.

Note 1: Use the spFarmAcc credentials to run the batch script (may want to have the spFarmAcc as a local admin, so can login into the server as spFarmAcc, and test the output of the script in a command prompt, to verify its function.)

Note 2: This resolves the problem of SharePoint sites loading slowly first thing. Default behaviour in IIS is to refresh application pools at 2am every day.

2) Activate the SharePointServer Publishing Infrastructure Feature

Specifically resolves "An error occurred while trying to fetch data from your SharePoint site. The SharePoint Server Publishing Infrastructure feature must be activated at the site collection level before the Publishing feature can be activated."

Log in with the spFarmAcc account (otherwise will not see the 'Site Collection Administration' options)

Site Actions -> Site Settings -> Site Collection Administration -> Site Collection Features ->

Activate : SharePoint Server Publishing Infrastructure

Site Actions -> Site Settings -> Site Actions -> Manage Site Features

Activate: SharePoint Server Publishing

This will allow the following additional sites to be available for use:
Publishing Site, Publishing Site with Workflow, Enterprise Search Center, Enterprise Wiki, and FAST Search Center.

3) Install Microsoft SharePoint Designer 2010

This is a free download from Microsoft and can be installed on a workstation or server.
Note: From http://sharepoint -> Site Actions -> Edit in SharePoint Designer , this will initiate the download of SharePoint Designer 2010 if not already installed.

4) Implement a backup and restore strategy

5) The hard part!

Everything from part 1 up to this point can be done in a day, after this point the hard bit begins – designing the site layout, permissions, content....

Additional notes:

i: Incorporating existing fileserver infrastructure
One way is to use IIS and Directory Browsing to present pre-existing fileserver shares, folders, and files via the SharePoint.

ii: Incorporating public folder calendars
No way out of the box to do this; other options:
a) Amrein Engineerings Exchange Calendar Web Part (see )
b) Could insert an OWA weblink – check with your Exchange administrator regarding overcoming the problem with forms based authentication, which results in the username and password prompt coming up, unless already pre-logged into OWA.

iii: Permissions
Permissions are set at a site level. Can create subsites off the main site to generate an acceptable permissions structure.

Sharepoint 2010 Pilot Project: Part 2/3 Installing SharePoint Server 2010 and Basic Configuration

Installing SharePoint Server 2010

Logged in as spSetupAdmin
1: Insert the SharePoint Server 2010 Media
2: Click 'Install software prerequisites' and follow the prompts to complete
3: Click 'Install SharePoint Server' and enter product key (Standard license is fine for pilot)
i: Select 'Server Farm'
ii: Select 'Complete'
Install Now
4: Wait until the installation has finished and run the 'SharePoint Products Configuration Wizard'

SharePoint Products Configuation Wizard

1: Connect to a server farm:
Choose 'Create a new server farm'
Next >
2: Specify Configuration Database Settings:
Enter Database server name
Enter – DOMAIN\spFarmAcc – for Database Access Account and enter password
Next >
3: Specify Farm Security Settings:
Enter Passphrase and confirm
Next >
4: Configure SharePoint Central Administration Web Application:
Accept the defaults (Port: 38773 and NTLM security)
Next > Next > Finish

SharePoint Central Administration configuration

1: Help Make SharePoint Better:
Select Yes or No -> OK
2: How do you want to configure your SharePoint farm?
Select 'Start the Wizard'
3: Configure your SharePoint farm
Service Account -> Use existing managed account (spFarmAcc)
Services -> Accept the defaults
4: Provide a Title for the SharePoint site -> OK
5: "This Complete the Farm Configuration Wizard" -> Finish

Sharepoint 2010 Pilot Project: Part 1/3 Steps Prior to Sharepoint 2010 Install

Scenario: A Sharepoint 2010 pilot project has been initiated. If the pilot is successful it will be pushed out as an information management and collaboration tool for a 100+ user technical department, with the possibility to expand further for use by other departments.

Installation Walkthrough:

First step is to read Andreas Glaser's excellent "Install Sharepoint Server 2010" manual, available as a free download from:

Highlights/notes from Andreas's manual and additional information pertinent to the pilot project which is installed into a VMware vSphere environment, follow below:

Windows 2008 R2 Sharepoint 2010 Member Server Operating System Setup & Optimize (Pretty typical Windows 2008 R2 generic setup)

1: Create a new Windows Server 2008 R2 Virtual Machine (Standard license is fine for pilot, and here used the 2008 R2 with SP1 ISO) with specs suitable for a pilot:
4 GB RAM, 2 vCPUs, 40 GB O/S disk, 40 GB Data disk, 10 GB Pagefile disk
2: Install VMware Tools and reboot
3: Configure IP Networking (disable IPv6 if not used in your environment)
4: Provide computer name (e.g Sharepoint,) domain join, and reboot
5: Place server in the correct server OU in Active Directory
6: Use diskmgmt.msc to format and setup the Data (D:) and Pagefile (P:) disks
7: Configure the pagefile to be the fixed recommended size on P: drive only, and reboot
8: Enable "File and printer sharing" -> Network and Sharing Center -> Advanced Settings -> Turn on file and printer sharing
9: Enable "Remote Desktop"
10: Turn off Windows Firewall
11: Disable IE Enhanced Security Configuration for Administrators and Users
12: Activate Windows
13: Disable indexing on disks (Local Disk Properties -> Untick "Allow files on this drive to have contents indexed in addition to file properties")
14: Can stop and set to manual start the services - 'Distributed Link Tracking Client', and 'Print Spooler'
15: Set 'Power Options' to 'High Performance'
16: Turn off UAC and reboot
17: Apply any Windows Updates

Add Roles and Features for Sharepoint 2010 Member Server

Server Manager -> Roles -> Add Roles
1: Check 'Application Server' and accept 'Add features required for Application Server'
2: Check 'Web Server (IIS)' -> Next >
3: For 'Application Server – Role Services' check
.NET Framework 3.5.1
WebServer (IIS) Support
TCP Port Sharing
Windows Process Activation Service Support (include all sub components)
Next >
4: Fort 'Web Server – Roles Services' check everything except
Leave unchecked -> Health and Diagnostics - Custom Logging
Leave unchecked -> Health and Diagnostics – ODBC Logging
Leave unchecked -> FTP Server
Leave unchecked -> IIS Hostable Web Core
Next > Install
5: (If you don't have Windows 2008 R2 SP1) need to apply the following updates
-> Windows Server 2008 SP2: download "Windows6.0-KB979917-x64.msu (Vista)"
-> Windows Server 2008 R2: download "Windows6.1-KB979917-x64.msu (Win7)"

Server Manager -> Features -> Add Features
6: Check 'Windows PowerShell Integrated Scripting Environment (ISE)' -> Next > Install
7: Apply any further Windows Updates

Administrative and Service Accounts for Sharepoint 2010

Prior to installing Sharepoint 2010, the following 3 accounts are important (can be normal domain users)

spSqlSvcAcc : Sharepoint SQL Server Service Account
spSetupAdmin : Sharepoint Setup Administrator
spFarmAcc : Sharepoint Farm Account

Recommend set 'Password never expires' on these accounts
The spSetupAdmin account needs to be added to the local administrators group on the Sharepoint server

Installing SQL Server 2008 R2 for Sharepoint 2010

1: Login as spSetupAdmin
2: Run setup.exe from the SQL Server 2008 R2 media
3: Installation -> New installation ...
and follow the prompts, entering Product Key, etcetera ...
4: Setup Role -> SQL Server Feature Installation
5: Feature Selection -> Select
Database Engine Services
Management Tools – Basic
Management Tools – Complete
Next > Next >
6: Instance Configuration -> Select 'Default Instance'
and change the 'Instance root directory' path to the Data drive
Next > Next >
7: Server configuration -> Enter the account as DOMAIN\spSqlSvcAcc and password for both:
'SQL Server Agent' and
'SQL Server Database Engine'
Keep the Collation as the dafault "Latin1_General_CI_AS"
Next >
8: Database Engine Configuration ->
Add spSetupAdmin under 'Specify SQL Server administrators'
(Might also want to add 'Domain Admins' and/or backup account in here.)
Check 'Enable FILESTREAM for Transact-SQL access'
Check 'Enable FILESTREAM for file I/O streaming access'
Next > Next > Next >
9: Install

Configuring SQL Server 2008 R2 for Sharepoint 2010

Logged in as spSetupAdmin
1: Using SQL Server Management Studio
login to locahost and assign spSetupAdmin with the roles:
via Security -> Logins -> spSetupAdmin:Properties -> Server Roles
2: Using SQL Server Configuration Manager
SQL Server Network Configuration -> Protocols for MSSQLSERVER
Verify TCP/IP is Enabled