RichCopy under the covers – File Migrations exposed!

I’m sure by now you’ve read my introduction to RichCopyIntroducing RichCopy – your Robocopy replacement!  Well, today I spent some time doing speeds and feed tests over numerous protocols in my lab environment.  I want to establish a disclaimer that this is no way a reflection of the ‘speed’ you will get, or not get respectively – More that the sheer differences between single threaded operation (re:xcopy, robocopy, rsync for windows) will be infinitely improved when using this tool! Oh, and I’ll also go into some of the cool depth you can cover!

I ran a number of very small file copies (<4k file size files) in the 15,000 to 90,000 file range and got the following results!

Speeds and Feeds tests!

The specific items I want to call out here are – when doing a single threaded copy (such as the CIFS job which took 57:16 – well, frankly that is as close to a ‘robocopy’ or ‘xcopy’ we’d get and when you compare it to slightly increasing the number of simultaneous threads – OMFG look at the results! Cut down by a lot of the time! Imagine if that were your production data migration – Cutting that seriously by 1/6th or even more depending upon the workload! The same can be said if you have ‘changed’ data that it is looking to update only the changed blocks.  So much potential!  This particular host was a slooooow VM which can somewhat explain why in general it was slow.  However the slowness is reflective across the board, so the 1/6th speed improvement is likely to be the same if not better in any other situation or circumstance! 

I definitely encourage checking it out, as well as the numerous advanced features this tool offers.

These advanced features… I’m going to discuss in a few moments as well ;)

For those of you who are new to RichCopy – Honestly you can get by with the simplest of actions by simply modifying your thread numbers.  But if you want to get into the special details of it, let me reveal to you a number of VERY cool functions and features.  Oh and might I add, ADVANCED features that let you take it up a notch, not to mention the amazing HELP file too!

Starting with the mothership of all functions! The Advanced option! Which enables a whole series of new options enabled when you go to your File Copy options!

Taking RichCopy to the Advanced! File Copy Options Process Control

The Process Control lets you really dive down into some functions such as your cache sizes and more! Really quite cool.  Though frankly as I jump to the “Others” section, one of the coolest features if the fact that when you modify your options in the GUI, you are presented with your CLI parameters!

Command Line Parameters - CLI so cool!

Though don’t get me wrong, File Attributes, Error handling, inclusion and exclusions, FTP and other things themselves –are- quite cool!

File Attributes and Error Handling Inclusion (Exclusion looks the same, so I didn't dup it!) FTP, Other and more!

Though hands down, the most important part of this tool is the fact that it EXISTS, it is FREE and it is fricking COOL!   So, there’s no reason to sit idly by paying for SecureCopy, or watching your serial operations SLOWLY move by as you migrate data! Get out there, and play around with RichCopy today! It’ll make you wish you had this tool for the past 10 years like MS had!

ReadyBoost does know boundaries!

No ReadyBoost when you have SSD!

So, I was talking with someone recently and noticed they had an SD card sticking in the SD slot on these Lenovo Laptops.    Specifically noticing that I asked him about it to which he replied, that he leveraged that to improve performance by utilizing ReadyBoost! I thought to myself “Wow, that’s a great idea, since it’s just a slot taking up space and often not being used! Why not do this myself!”   So I started offloading my data from this device and then while waiting for it to finish I impatiently went and checked my details for kicking off ReadyBoost and lo and behold, I get this image!    For those of you who know me, you know that I run my Lenovo T61p with Win7 and 2008R2Ent from BootfromVHD images which reside on an SSD.

Apparently, My SSD is so fast (even though it’s running from a VHD) that I cannot gain value from ReadyBoost!

 

Frankly, that’s pretty damn cool from where I’m standing! :)

Introducing RichCopy – your Robocopy replacement!

Alright, for those of you in the know, we all know that RichCopy isn’t anything new.  Infact it’s been being used internally at Microsoft for the past 10 years – however after a near decade of ‘Seriously?! We haven’t released this to the public?!’ it is indeed now available!   There’s a whole slew of details at others blogs RichCopy Build 4.0.216 has been posted to the Microsoft Download Center  and the TechNet Magazine article Utility Spotlight RichCopy and especially, be sure to visit the creator of this amazing tool Ken Tamaru’s blog!

So, what is this amazing tool?!  It’s free first of all! And allows you even more granular control over your copy processes, including multi-threaded copy operations!

As you can see here in this image, I’m copying a number of various sized files in different locations simultaneously!    Though one of the major perks is not in the initial copy, but instead in the situation of changed file copies (in our common “what’s changed incremental” model? :) Well, notes about that, taken verbatim from Ken’s blog show:

RichCopy 10 threads 

There must be many users who use RichCopy to copy only updated files. Most of users assign only 1 thread for directory search; however you can dramatically accelerate the performance of source and destination comparison by assigning multiple threads, especially this works well when files are distributed to multiple directories as RichCopy assign 1 thread to each directory search, not a tree.

Here is an example. (local to local, but different storage)

(1 million files in source and destination)
Thread # for Directory Search
1 about 10 minutes
2 about 6 minutes
4 about 2 minutes
8 about 1 minutes

RichCopy Options

Hands down, one of the coolest things is the level of options you can set.

The specific options I’d like to highlight are number of threads you can assign to specific operations.  That way you can increase not only the number of directories you traverse looking for files (or changed files) but also the number of files you can copy simultaneously!  This is a lifesaver when you’re copying many small files which when operating sequentially tends to take a lifetime!

 

I did run a number of speed tests on my machine, however speeds when run from my SSD tend to suffer, compared to if I were copying from say, one SAN to another SAN (something more realistic especially in a migration scenario)

 

In any sense, it’s a great tool, which operates via CLI or GUI and I’ll be sure to use or introduce it into my future migration opportunities as applicable :) Oh and be sure to click on any instance of “RichCopy” in this post in order to get a direct link to its download! :)

RTM-Weekend! Win7, 2008 R2, Boot from VHD and more!

Yay! It’s RTM Weekend! Alright, not for everyone, because as we all are patiently waiting for August 6th as RTM hits TechNet and MSDN, but I needed to get the jump on things because I think I’m busy next weekend!

So, what does RTM weekend entail for me?  Testing was the first ground.   Testing installations on my hardware, and getting a feel for how I’ll architect my deployment model for Win7 and 2008R2!

First things first – Create bootable VHD Images to run my OS out of.    Yes, I planned to deploy my systems via Boot from VHD, so I needed to create bootable images! And for this little decision, I opted to take advantage of WIM2VHD! So, what exactly is WIM2VHD?  Well, that’s pretty simple to explain!

The Windows(R) Image to Virtual Hard Disk (WIM2VHD) command-line tool allows you to create sysprepped VHD images from any Windows 7 installation source. VHDs created by WIM2VHD will boot directly to the Out Of Box Experience, ready for your first-use customizations. You can also automate the OOBE by supplying your own unattend.xml file, making the possibilities limitless.
Fresh squeezed, organically grown, free-range VHDs – just like Mom used to make – that work with Virtual PC, Virtual Server, Microsoft Hyper-V, and Windows 7’s new Native VHD-Boot functionality!

All you need in order to be successful with WIM2VHD is:

  • A computer running one of the following Windows operating systems:
    • Windows 7 Beta or RC (or RTM)
    • Windows Server 2008 R2 Beta or RC (or RTM)
    • Windows Server 2008 with Hyper-V RTM enabled (x64 only)
  • The Windows 7 RC Automated Installation Kit (AIK) or Windows OEM Pre-Installation Kit (OPK) installed.
  • A Windows 7 or Windows Server 2008 R2 installation source, or another Windows image captured to a .WIM file.

Then, simply execute a command like I did below and you’re moving along!

Create a bootable VHD of Windows 7 Ultimate
cscript WIM2VHD.WSF /wim:D:\sources\install.wim /sku:ultimate /VHD:C:\vhd\win7ult.vhd

Create a bootable VHD of Windows Server 2008 R2 Enterprise
cscript WIM2VHD.WSF /wim:D:\sources\install.wim /sku:serverenterprise /VHD:C:\vhd\R2Ent.vhd

This frankly takes care of most of the work on your  behalf! (Sure did for me!)

FYI: The image defaults to 40gb, so if you want to change that, use this flag /size:<vhdSizeInMb>

After this point all you need to do is bcdedit and make the system bootable and you’re set!

bcdedit /copy {current} /d “New VHD Description”
    bcdedit /copy {current} /d “Windows 7 Ultimate”
bcdedit /set <guid> device vhd=[driveletter:]\<directory>\<vhd filename>
    bcdedit /set {GUID} device vhd=[c:]\vhd\win7ult.vhd
bcdedit /set <guid> osdevice vhd=[driverletter:]\<directory>\<vhd filename>
    bcdedit /set {GUID} osdevice vhd=[c:]\vhd\win7ult.vhd
bcdedit /set <guid> detecthal on
    bcdedit /set {GUID} detecthal on

And you can perform those same exact steps again for your 2008 R2 VHD as well.   It’s not only pretty straight forward, but it’s so simple anyone can do it! After performing those steps I was up and running on a system which had no data, nothing, notta!

Now, to apply some context and depth to how I chose to use my deployment model.  I’m running on my personal Lenovo T61p, which I have a Kingston 128GB SSD disk inside of.   Because I wanted to have ‘some’ kind of Native OS in order to help work on anything should something go wrong, I opted for a 2008 Server R2 Enterprise (Core) installation.  That gives me a minimal foot print, yet an OS I can feel comfortable and confident in being able to work on and with!  

What this enables is my NOS which runs on the “C:” drive, and has a VHD directory where my images live.  However, when I’m booted into either of my BootFromVHD OS’s on here, the native SSD becomes the “D:” drive whereby I can share files between the two systems!   However, if you forget to copy something to the shared volume and need to access it, feel free to use the mount VHD feature in the Disk Management tool (or Storage in 2008)

image image

I personally prefer to mount it read-only because… I don’t want to take any risks, especially when it comes to “Anti-Virus” or other things. (Unless that is my specific intention)

Now that you have a working and operational system you’re good to go! And if you stick with a NativeOS for Maintenance reasons, you can use it to take hard backups of your VHD’s for migration to other hardware or general recovery to other points in time! (note: You can backup the un-used OS from your active OS if you’d like as well :))

So, hope you have a good RTM weekend coming up, I look forward to being able to generate and use my license keys come August 6th!

NetApp, Microsoft and APC cut costs in the Datacenter!

Come on down June 2nd to the Chicago Microsoft Office to learn how to not only cut costs by virtualizing your datacenter but by learning so much more, and my good friend Ray LaMarca who will be presenting at the AON Center in Chicago on June 2nd!

The rest of the locations I’m sure will be an absolute blast, but considering I live in Chicago and personally know Ray, I think you should step up and take the morning to attend, learn, and perhaps win!   Do go sign up, the registration is handled through APC’s site, so don’t be surprised! :) 

clip_image001

Learn how to cut costs by virtualizing your data center.
This half-day, free IT seminar, co-hosted by NetApp, APC and Microsoft focuses on how virtualizing your data center will allow you to:

  • Connect virtual and physical infrastructures to achieve a holistic view of your data center energy consumption
  • Accelerate business breakthroughs and achieve cost efficiencies by implementing virtualized data management solutions
  • Build a pay-as-you-grow data center architecture to reduce operating expenses today and plan more effectively for tomorrow

Agenda

8:30 am

Registration and breakfast

9:00 am

Welcome

9:15 am

Microsoft: Sustainable IT @ Microsoft

10:00 am

NetApp: Save Money and Go Green By Driving the Cost Out of IT

10:45 am

APC: Greening of the Data Center

11:30 am

Demo Center Tour

clip_image002
clip_image003

Attend for your chance to
win a GPS

clip_image004

Register today for a seminar near you by clicking on the city below or calling 1.800.788.2208 ext 4012. Please use keycode i630w when you register.

Alpharetta, GA, June 23
Chicago, IL, June 2
Irvine, CA, May 27
Irving, TX, June 17
Mountain View, CA, June 25
New York, NY, June 18
Raleigh, NC, June 3
Reston, VA, June 24
Saint Louis, MO, May 20
Toronto, ON, June 23
Do not miss this opportunity to learn how to get more from your IT dollars while using less.

clip_image006

© 2009 NetApp | Privacy Policy | Unsubscribe | Contact

 

495 E. Java Drive, Sunnyvale, CA 94089 USA