<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Devin on Earth</title>
	
	<link>http://www.thecabal.org</link>
	<description>I am not a creature of habit; I am a creature of patterns</description>
	<lastBuildDate>Thu, 02 Sep 2010 00:17:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/thecabal/doe" /><feedburner:info uri="thecabal/doe" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Moving to Exchange Server 2010 Service Pack 1</title>
		<link>http://feedproxy.google.com/~r/thecabal/doe/~3/WjTKo8d78aY/</link>
		<comments>http://www.thecabal.org/2010/09/moving-to-exchange-server-2010-service-pack-1/#comments</comments>
		<pubDate>Thu, 02 Sep 2010 00:07:02 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.thecabal.org/2010/09/moving-to-exchange-server-2010-service-pack-1/</guid>
		<description><![CDATA[Microsoft recently announced that Service Pack 1 (SP1) for Exchange Server 2010 had been released to web, prompting an immediate upgrade rush for all of us Exchange professionals. Most of us maintain at least one home/personal lab environment, the better to pre-break things before setting foot on a customer site. Before you go charging out [...]]]></description>
			<content:encoded><![CDATA[<p>Microsoft recently announced that Service Pack 1 (SP1) for Exchange Server 2010 had been released to web, prompting an immediate upgrade rush for all of us Exchange professionals. Most of us maintain at least one home/personal lab environment, the better to pre-break things before setting foot on a customer site. Before you go charging out to do this for production (especially if you’re one of my customers, or don’t want to run the risk of suddenly becoming one of my customers), take a few minutes to learn about some of the current issues with SP1.</p>
<h1>Easy Installation and Upgrade Slipstreaming</h1>
<p>One thing that I love about Exchange service packs is that from Exchange 2007 on, they’re full installations in their own right. Ready to deploy a brand new Exchange 2010 SP1 server? Just run <strong>setup</strong> from the SP1 binaries – no more fiddling around with the original binaries, then applying your service packs. Of course, the Update Rollups now take the place of that, but <a href="http://technet.microsoft.com/en-us/library/ff637981.aspx" target="_blank">there’s a mechanism to slipstream them into the installer</a> (and here is <a href="http://technet.microsoft.com/en-us/library/ee221147(EXCHG.80).aspx" target="_blank">the Exchange 2007 version of this article</a>).</p>
<blockquote><p>Note: If you do make use of the slipstream capabilities, remember that Update Rollups are both version-dependent (tied to the particular RTM/SP release level) <strong>and</strong> are cumulative. SP1 UR4 is <strong>not</strong> the same thing as RTM UR4! However, RTM UR4 will include RTM UR3, RTM UR2, and RTM UR1…just as SP1 UR4 will contain SP1 UR3, SP1 UR2, and SP1 UR1.</p>
<p>The articles I linked to say not to slipstream the Update Rollups with a service pack, and I’ve heard some confusion about what this means. It’s simple: you can use the Updates folder mechanism to slipstream the Update Rollups <strong>when you are performing a clean install</strong>. You <strong>cannot use the slipstream mechanism when you are applying a service pack to an existing Exchange installation</strong>. In the latter situation, apply the service pack, then the latest Update Rollup.</p>
<p>It’s too early for any Update Rollups for Exchange 2010 SP1 to exist at the time of writing, but if there were (for the sake of illustration, let’s say that SP1 UR X just came out), consider these two scenarios:</p>
<ul>
<li>You have an existing Exchange 2010 RTM UR4 environment and want to upgrade directly to SP1 UR1. You would do this in two steps on each machine: run the SP1 installer, then run the latest SP1 UR X installer.</li>
<li>You now want to add a new Exchange 2010 server into your environment and want it to be at the same patch level. You could perform the installation in a single step from the SP1 binaries by making sure the latest SP1 UR X installer was in the Updates folder.</li>
</ul>
</blockquote>
<p>If these scenarios seem overly complicated, just remember back to the Exchange 2003 days…and before.</p>
<h1>Third Party Applications</h1>
<p>This might surprise you, but in all of the current Exchange 2010 projects I’m working on, I’ve not even raised the question of upgrading to SP1 yet. Why would I not do that? Simple – all of these environments have dependencies on third-party software that is not yet certified for Exchange 2010 SP1. In some cases, the software has barely just been certified for Exchange 2010 RTM! If the customer brings it up, I always encourage them to start examining SP1 in the lab, but for most production environments, supportability is a key requirement.</p>
<p>Make sure you’re not going to break any applications you care about before you go applying service packs! Exchange service packs always make changes – some easy to see, some harder to spot. You may need to upgrade your third-party applications, or you may simply need to make configuration changes ahead of time – but if you blindly apply service packs, you’ll find these things out the hard way. If you have a critical issue or lack of functionality that the Exchange 2010 SP1 will address, get it tested in your lab and make sure things will work.</p>
<p>Key applications I encourage my customers to test include:</p>
<ul>
<li>Mobile device connectivity (like BES)</li>
<li>Backup/restore/DR applications</li>
<li>Archival packages</li>
<li>Security/Anti-virus/mail hygiene packages (Microsoft isn’t immune from this; <a href="http://blogs.technet.com/b/isablog/archive/2010/09/01/problems-when-installing-exchange-2010-service-pack-1-on-a-tmg-configured-for-mail-protection.aspx" target="_blank">SP1 breaks their own Exchange 2010 Edge Transport/Forefront Threat Management Gateway integration and they don’t have a fix for it at this time</a>)</li>
<li>Non-standard desktop clients (Entourage and IMAP clients, I’m looking at <em>you</em>)</li>
<li>Anything that uses EWS or MAPI to monitor mailboxes</li>
</ul>
<p>Applications that use SMTP submission are typically pretty safe, and there are other applications that you might be okay living without if something does break. Figure out what you can live with, test them (or wait for certifications), and go from there.</p>
<h1>Complications and Gotchas</h1>
<p>Unfortunately, not every service pack goes smoothly. For Exchange 2010 SP1, one of the big gotchas that early adopters are giving strong feedback about is the number of hotfixes you must download and apply to Windows and the .NET Framework before applying SP1 (a variable number, depending on which base OS your Exchange 2010 server is running).</p>
<p>Having to install hotfixes wouldn’t be that bad if the installer told you, “Hey, click here and here and here to download and install the missing hotfixes.” Exchange has historically not done that (citing boundaries between Microsoft product groups) even though other Microsoft applications don’t seem to be quite as hobbled. However, this instance of (lack of) integration is particularly egregious because of two factors.</p>
<blockquote><p><strong>Factor #1: hotfix naming conventions. </strong>Back in the days of Windows 2000, you knew whether a hotfix was meant for your system, because whether you were running Workstation or Server, it was Windows 2000. Windows XP and Windows 2003 broke that naming link between desktop and server operating systems, often confusingly so once 64-bit versions of each were introduced (32-bit XP and 32-bit 2003 had their own patch versions, but 64-bit XP applied 64-bit 2003 hotfixes).</p>
<p>Then we got a few more twists to deal with. For example, did you know that Windows Vista and Windows Server 2008 are the same codebase under the hood? Or that Windows 7 and Windows Server 2008 R2, likewise, are BFFs? It’s true. Likewise, the logic behind the naming of Windows Server 2003 R2 and Windows Server 2008 R2 were very different; Windows Server 2003 R2 was basically Windows Server 2003 with a SP and few additional components, while Windows Server 2008 R2 has some substantially different code under the hood than Windows Server 2008 with SP. (I would guess that Windows Server 2008 R2 got the R2 moniker to capitalize on Windows 2008’s success, while Windows 7 got a new name to differentiate itself from the perceived train wreck that Vista had become, but that’s speculation on my part.)</p>
<p>At any rate, figuring out which hotfixes you need – and which versions of those hotfixes – is less than easy. Just remember that you’re always downloading the 64-bit patch, and that Windows 2008=Vista while Windows 2008 R2=Windows 7 and you should be fine.</p></blockquote>
<blockquote><p><strong>Factor #2: h</strong><strong>otfix release channels. </strong>None of these hotfixes show up under Windows Update. There’s no easy installer or tool to run that gets them for you. In fact, at least two of the hotfixes must be obtained directly from Microsoft Customer Support Services. All of these hotfixes include scary legal boilerplate about not being fully regression tested and thereby not supported unless you were directly told to install them by CSS. This has caused quite a bit of angst out in the Exchange community, enough so that various people are collecting the various hotfixes and making them available off their own websites in one easy package to download<strong>[1]</strong>.</p>
<p>I know that these people mean well and are trying to save others from a frustrating experience, but in this case, the help offered is a bad idea. That same hotfix boilerplate means that everyone who downloads those hotfixes agree not to redistribute those hotfixes. There’s no exception for good intentions. If you think this is bogus, let me give you two things to think about:</p>
<ul>
<li>You need to be able to verify that your hotfixes are legitimate and haven’t been tampered with. Do you really want to trust production mission-critical systems to hotfixes you scrounged from some random Exchange pro you only know through blog postings? Even if the pro is trustworthy, is their web site? Quite frankly, I trust Microsoft’s web security team to prevent, detect, and mitigate hotfix-affecting intrusions far more quickly and efficiently than some random Exchange professional’s web host. I’m not disparaging any of my colleagues out there, but let’s face it – we have a lot more things to stay focused on. Few of us (if any) have the time and resources the Microsoft security guys do.</li>
<li>Hotfixes in bundles grow stale. When you link to a KB article or Microsoft Download offering to get a hotfix, you’re getting the most recent version of that hotfix. Yes, hotfixes may be updated behind the scenes as issues are uncovered and testing results come in. In the case of the direct-from-CSS hotfixes, you can get them for free through a relatively simple process. As part of that process, Microsoft collects your contact info so they can alert you if any issues later come up with the hotfix that may affect you. Downloading a stale hotfix from a random bundle increases the chances of getting an old hotfix version that may cause issues in your environment, costing you a support incident. How many of these people are going to update their bundles as new hotfix versions become available? How quickly will they do it – and how will you know?</li>
</ul>
</blockquote>
<p>The Exchange product team has gotten an overwhelming amount of feedback on this issue, and <a href="http://msexchangeteam.com/archive/2010/09/01/456094.aspx" target="_blank">they’ve responded on their blog</a>. Not only do they give you a handy table rounding up links to get the hotfixes, they also collect a number of other potential gotchas and advice to learn from from before beginning your SP1 deployment. Go check it out, then start deploying SP1 in your lab.</p>
<p>Good luck, and have fun! SP1 includes some killer new functionality, so take a look and enjoy!</p>
<p><em><strong>[1]</strong> If you’re about to deploy a number of servers in a short period of time, of course you should cache these downloaded hotfixes for your team’s own use. Just make sure that that you check back occasionally for updated versions of the hotfixes. The rule of thumb I’d use is about a week – if I’m hitting my own hotfix cache and it’s older than a week, it’s worth a couple of minutes to make sure it’s still current.</em></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.thecabal.org/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p><img src="http://feeds.feedburner.com/~r/thecabal/doe/~4/WjTKo8d78aY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thecabal.org/2010/09/moving-to-exchange-server-2010-service-pack-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.thecabal.org/2010/09/moving-to-exchange-server-2010-service-pack-1/</feedburner:origLink></item>
		<item>
		<title>Manually creating a DAG FSW for Exchange 2010</title>
		<link>http://feedproxy.google.com/~r/thecabal/doe/~3/pSoV5v1hU0M/</link>
		<comments>http://www.thecabal.org/2010/08/manually-creating-a-dag-fsw-for-exchange-2010/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 01:20:55 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.thecabal.org/?p=1089</guid>
		<description><![CDATA[I just had a comment from Chris on my Busting the Exchange Trusted Subsystem Myth post that boiled down to asking what you do when you have to create the FSW for an Exchange 2010 DAG manually? In order for this to be true, you have to have the following conditions: You have no other [...]]]></description>
			<content:encoded><![CDATA[<p>I just had a comment from Chris on my <a title="Devin on Earth: Busting the Exchange Trusted Subsystem Myth" href="http://www.thecabal.org/2009/12/busting-the-exchange-trusted-subsystem-myth/" target="_blank">Busting the Exchange Trusted Subsystem Myth</a> post that boiled down to asking what you do when you have to create the FSW for an Exchange 2010 DAG manually?</p>
<p>In order for this to be true, you have to have the following conditions:</p>
<ol>
<li>You have no other Exchange 2010 servers in the AD site. This implies that at least one of your DAG nodes is multi-role &#8212; remember that you need to have a CAS role and an HT role in the same site as your MB roles, preferably two or more of each for redundancy and load. If you have another Exchange 2010 server, then it&#8217;s already got the correct permissions &#8212; let Exchange manage the FSW automatically.</li>
<li>If the site in question is part of a DAG that stretches sites, there are more DAG nodes in this site than in the second site. If you&#8217;re trying to place the FSW in the site with fewer members, you&#8217;re asking for trouble<em>[1].</em></li>
<li>You have no other Windows 2003 or 2008 servers in the site that you consider suitable for Exchange&#8217;s automatic FSW provisioning<em>[2]</em>. By this, I mean you&#8217;re not willing to the the <strong>Exchange Trusted Subsystem</strong> security group to the server&#8217;s local Administrators group so that Exchange can create, manage, and repair the FSW on its own. If your only other server in the site is a DC, I can understand not wanting to add the group to the Domain Admins group.</li>
</ol>
<p>If that&#8217;s the case, and you&#8217;re dead set on doing it this way, you will have to manually create the FSW yourself. A FSW consists of two pieces: the directory, and the file share. The process for doing this is not documented anywhere on TechNet that I could find with a quick search, but happily, one Rune Bakkens blogs <a title="Manually create FileWitness Share" href="http://runebelune.spaces.live.com/blog/cns!214999A8EBE4FCB4!188.entry" target="_blank">the following process</a>:</p>
<blockquote><p><em><span style="color: #000000;">To pre-create the FSW share you need the following:<br />
-  Create a folder etc. D:\FilesWitness\DAGNAME<br />
- Give the owner  permission to Exchange Trusted Subsystem<br />
- Give the Exchange Trusted  Subsystem Full Control (NTFS)<br />
- Share the folder with the following  DAGNAME.FQDN (If you try a different share name,<br />
it  won&#8217;t work. This is somehow required)<br />
- Give the DAGNAME$  computeraccount Full Control (Share)</span></em></p>
<p><em><span style="color: #000000;">When you&#8217;ve done this, you can run the  set-databaseavailabilitygroup -witnessserver CLUSTERSERVER &#8211;  witnessdirectory D:\Filewitness\DAGNAME</span></em></p>
<p><em><span style="color: #000000;">You&#8217;ll get the following warning message:</span></em></p>
<p><em><span style="color: #000000;">WARNING: Specified witness server Cluster.fqdn is not  an Exchange server, or part of the Exchange Servers security group.<br />
WARNING:  Insufficient permission to access file shares on witness server  Cluster.fqdn. Until this problem is corrected, the database availability  group may be more vulnerable to failures. You can use the  set-databaseavailabilitygroup cmdlet to try the operation again. Error:  Access is denied</span></em></p>
<p><em><span style="color: #000000;">This is expected, since the cmdlet tries to create the  folder and share, but don&#8217;t have the permissions to do this.</span></em></p>
<p><em><span style="color: #000000;">When this is done, the FSW should be configured  correct. To verify this, the following files should be created:</span></em></p>
<p><em><span style="color: #000000;">- VerifyShareWriteAccess<br />
- Witness </span></em></p></blockquote>
<p><span style="color: #000000;">Just for the record, <strong>I have not tested this process yet</strong>. However, I&#8217;ve had to do some recent FSW troubleshooting lately and this matches with what I&#8217;ve seen for naming conventions and permissions, so I&#8217;m fairly confident this should get you most of the way there. Thank you, Rune!</span></p>
<p><span style="color: #000000;">Don&#8217;t worry, I haven&#8217;t forgotten the next installment of my Exchange 2010 storage series. It&#8217;s coming, honest!<br />
</span></p>
<p><em><span style="color: #000000;"><strong>[1]</strong> Consider the following two-site DAG scenarios:</span></em></p>
<ul>
<li><em>If there&#8217;s an odd number of MB nodes, Exchange won&#8217;t use the FSW.</em></li>
<li><em><span style="color: #000000;">An even number (n) of nodes in each site. The FSW is necessary for there to even be a quorum (you have 2n+1 nodes so a simple majority is n+1). If you lose the FSW and one other node &#8212; no matter where that node is &#8212; you&#8217;ll lose quorum. If you lose the link between sites, you lose quorum no matter where the FSW is.</span></em></li>
<li><span style="color: #000000;"><em>A number (n) nodes in site A, with at least one fewer nodes (m) in site B. If n+m is odd, you have an odd number of nodes &#8212; our first case. Even if m is only 1 fewer than n, putting the FSW in site B is meaningless &#8212; if you lose site A, B will never have quorum (in this case, m+1 = n, and n is only half &#8212; one less than quorum).</em></span></li>
</ul>
<p><span style="color: #000000;"><em>I am confident in this case that if I&#8217;ve stuffed up the math here, someone will come along to correct me. I&#8217;m pretty sure I&#8217;m right, though, and now I&#8217;ll have to write up another post to show why. Yay for you!<br />
</em></span></p>
<p><span style="color: #000000;"><em><strong>[2]</strong> You <strong>do</strong> have at least <strong>one</strong> other Windows server in that site, though, right &#8212; like your DC? Exchange doesn&#8217;t like not having a DC in the local site &#8212; and that DC should also be a GC.</em><br />
</span></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.thecabal.org/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p><img src="http://feeds.feedburner.com/~r/thecabal/doe/~4/pSoV5v1hU0M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thecabal.org/2010/08/manually-creating-a-dag-fsw-for-exchange-2010/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.thecabal.org/2010/08/manually-creating-a-dag-fsw-for-exchange-2010/</feedburner:origLink></item>
		<item>
		<title>On Patriotism</title>
		<link>http://feedproxy.google.com/~r/thecabal/doe/~3/4VYJvfOOPJ4/</link>
		<comments>http://www.thecabal.org/2010/07/on-patriotism/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 00:38:24 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Politics]]></category>

		<guid isPermaLink="false">http://www.thecabal.org/?p=1087</guid>
		<description><![CDATA[Patriotism is being committed to making things better for those around me no matter how good I personally have it. No government, political system, or economic theory is perfect; there will always be people who fall through the cracks. As a patriot, I have a responsibility to identify those cracks and work to mitigate them. [...]]]></description>
			<content:encoded><![CDATA[<p>Patriotism is being committed to making things better for those around me no matter how good I personally have it. No government, political system, or economic theory is perfect; there will always be people who fall through the cracks. As a patriot, I have a responsibility to identify those cracks and work to mitigate them. Dedication to capitalism or socialism should not deaden me to the suffering of those who are not as fortunate as I am. In helping my fellow Americans, I am strengthening my country.</p>
<p>Patriotism is holding my elected officials, their political appointees, and the news media accountable for the choices and actions they take in my name. As a patriot, I have a responsibility to ensure that my representatives are conducting the business of government according to the values and principles they represented during election time. I need accurate and timely information on their performance and actions. I need to understand the difference between news and entertainment and know when each is appropriate.</p>
<p>Patriotism is acknowledging my country’s flaws with integrity and honesty instead of trying to cover them up or excuse them. When my government and policies fail – and being human institutions, they will fail – I will be tempted to downplay or minimize the impact of these failures. Instead, I must face these failures and their consequences forthrightly, make every reasonable effort to keep them from occurring again, and encourage my fellow Americans to do the same.</p>
<p>Patriotism is respecting the offices and institutions of my government even when expressing my disagreement with its policies and actions. Whether I am Democrat, Independent, Libertarian, Republican, some other party, or a member of none, I choose to discuss government and politics with civility and grace. I do not have to vilify political opponents in order to successfully engage their ideas and point out the failures of their actions. I can condemn bad choices and actions without hatred or unnecessary anger towards those who make them.</p>
<p>Patriotism is placing untainted personal ethics and morality ahead of my politics. I will not spread racism, classism, sexism, or other institutionalized forms of hatred. I have a responsibility to ensure that the voice of every American can be heard and that America provides as level of a playing field as possible. I have a personal stake in making America an ideal of compassionate, reasoned behavior to Americans and to the people of the world. I understand that my country will not be truly great if her citizens are not also great.</p>
<p>Patriotism is patient and compassionate. It is not jealous or blind. It does not covet or boast. Patriotism builds up and exhorts. It does not destroy or belittle. It does not promote lies or avoid the truth. Patriotism does not demand perfection, but asks you to always give your best.</p>
<p>May we all strive to be better patriots.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.thecabal.org/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p><img src="http://feeds.feedburner.com/~r/thecabal/doe/~4/4VYJvfOOPJ4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thecabal.org/2010/07/on-patriotism/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.thecabal.org/2010/07/on-patriotism/</feedburner:origLink></item>
		<item>
		<title>How To Develop Patience</title>
		<link>http://feedproxy.google.com/~r/thecabal/doe/~3/dmvNaD0iJsU/</link>
		<comments>http://www.thecabal.org/2010/06/how-to-develop-patience/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 11:10:33 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Health]]></category>
		<category><![CDATA[Karate]]></category>
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://www.thecabal.org/2010/06/how-to-develop-patience/</guid>
		<description><![CDATA[“Lord, give me patience, and give it to me now!” I’m willing to bet most of of us have heard that joke (or some variant) at some point in our lives, but it underscores a serious question: how does one go about learning to exercise patience? I’m no guru or saint, so I can’t answer [...]]]></description>
			<content:encoded><![CDATA[<p>“Lord, give me patience, and give it to me <em>now</em>!” I’m willing to bet most of of us have heard that joke (or some variant) at some point in our lives, but it underscores a serious question: how <em>does</em> one go about learning to exercise patience?</p>
<p>I’m no guru or saint, so I can’t answer the question for you, but for me it turns out the answer comes from a combination of two life experiences: my six and a half years at 3Sharp, and the nearly two years I’ve been studying karate. At 3Sharp, I learned how to do a lot of things that were beyond my initial comfort zone, developing deep technical presentations (and delivering them to large audiences), scoping and producing large technical projects such as books and whitepapers, and doing a large variety of work from hands-on consulting to research projects.</p>
<p>I’ve talked in previous posts about the physical benefits I’ve seen from karate. However, two weeks ago I tested for my 5th kyu belt (the second of my three green belts) and that experience made me aware of some deep changes in my personality and character. The step from 6th kyu to 5th kyu was particularly hard for me, and it took some time to sort out the two reasons why.</p>
<p>The obvious cause was schedule. I took two months off of karate at the beginning of the year, due to a combination of factors. That’s a hard gap to come back from; I had problems after the three week hiatus I took because of the MCM class. After two months, I just didn’t feel that my presence in class was doing any good until I had the privilege of watching two of my friends from the Mukilteo dojo earn their black belts one Saturday morning in February. I walked away from that experience feeling a new level of commitment to karate. <em>After all</em>, I told myself at that point<em>, if I study hard, I’ll get to 5th kyu sooner or later, and that’s half-way to black belt!</em></p>
<p>The other cause was technical. The test kata for 5th kyu (Pinan Shodan) is the karateka’s first introduction<strong>[1]</strong> to a well-known and complicated set of katas, and while most of it seems to be straightforward, there’s a lot boiling up from underneath the surface. Carlos Sensei began introducing us to a series of drills based around Pinan Shodan that unpack a lot of useful theory and practice from the first eight moves of the kata. There’s this very difficult pivot/kick/double punch move right in there (I dub it UberHardMove) that is a key element of the kata, and I was having a hard time getting the pivot, kick, and punches all coordinated together and working the right way without falling on my ass. In fact, I had such a difficult time with it that I can remember sometime around the end of December thinking that maybe I’d found the wall beyond which my lack of coordination was not going to let me pass. In addition, there’s some pretty gnarly tuite that goes along with all of this and I found that I felt horribly weak on my tuite all around, let alone with the techniques I was supposed to able to demonstrate some proficiency at.</p>
<p>What ended up happening, though, was that the two-month time-out did me unexpected good. I didn’t go to class during that period, but I kept practicing karate around the house. (Just ask Steph and the kids; they’ll tell you that it can be difficult to get me to knock it off and stop interfering with whatever they’re trying to do.) And what I did during that time was to take UberHardMove and break it down into components, the way I had previously been shown as a blue belt<strong>[2]</strong>. I combined that with specific suggestions given to me by both Carlos Sensei and Liam Sensei and picked UberHardMove down to bare bones.</p>
<p>When I finally came back to class, I came back finally believing that the whole concept of me one day earning my black belt wasn’t the world’s best joke. I came back believing that I’d already invested nearly two years and I was willing to invest even more. I didn’t have to be perfect; I gave myself permission to suck. I knew that I was going to make stupid mistakes that I wouldn’t make (like mixing up techniques in lower level katas) if I’d been in class the whole time. I knew that my endurance was going to be awful. I knew that there was a lot of rust to scrub off and deal with and that it wasn’t going to happen immediately. I knew that I needed to let my instructors know that I desperately needed help with my tuite techniques. I knew that I was going to have to have them explain the same things about UberHardMove multiple times until I finally grokked it. In short, <em>I accepted failure without accepting being a failure</em>.</p>
<p>That was March. I tested near the end of May. Somewhere in there, I became proficient with my tuite. I learned a measure of peace with UberHardMove; I’m still not great at it, but I mastered it enough to move on to the next lessons<strong>[3]</strong>. Perfection is in fact is a bad word in our household. We think the concept of perfection is one of the worst lies that the Adversary ever got humans to accept.</p>
<p>When you stop trying to be perfect – when you give yourself permission to have flaws and failings and determine to be honest about them and learn from them rather than try to cover them up – something amazing tends to happen. You accept “doing your best” instead of “doing it better than everyone else.” You accept “that’s enough for now” instead of “that’s not good enough yet.” You develop a sense of faith that over time, your progress will trend upwards. With that faith, you can draw valuable lessons from your mistakes and missteps. You stop fighting the basic physical and neurological limits of how your body and mind acquire new proficiencies and start working within your limits to expand them instead of struggling against them to tear them down with brute force. You acquire patience – new and fledgling, but the seed of something that starts to affect how you deal with all of your life.</p>
<p>I’m no paragon of patience, but I can see clear changes. For example, I’ve been spending far less time playing Call of Duty on the Xbox in the last month or so. I have a better understanding of how that experience has been frustrating instead of fun and relaxing and I’m less willing to give in to that anymore.</p>
<p>I don’t know where this will go ultimately or at what pace. I can honestly say, though, that I’m okay with that. Will I get my black belt? I don’t know; there are many circumstances that could prevent or delay that. However, I certainly want to, and I finally know I’m capable of doing it, so I wouldn’t bet against me. But I also know that’s just another waypoint on the journey. It’s not an end. It’s a marker where I can say, “See what I’ve done so far? That’s pretty cool. Now I’ve learned enough that I can get serious about learning this stuff and helping pass it on to others.”</p>
<p>Two months ago, I’d have said I couldn’t wait for that day. You know what? That’s not true. I <em>can</em> wait. I <em>will</em> wait. And I will do so profitably.</p>
<p><strong><em><strong>[1]</strong> In our style, at least. There are other styles that place another Pinan kata before Pinan Shodan.</em></strong></p>
<p><em><strong>[2]</strong> In a nice twist of synchronicity, the person who showed me was at the time was a helpful brown belt from Mukilteo who ended up being one of the two black belts I got to watch test. He has continued to be an amazing source of inspiration for me through what is now a large number of discouraging situations. Hi, Max!</em></p>
<p><em><strong>[3]</strong> It’s not going away; I still practice it, and I know that it will get better as I learn more. In fact, those final four moves in Pinan Nidan where I’m in a cat stance might be helpful here, hmmm…</em></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.thecabal.org/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p><img src="http://feeds.feedburner.com/~r/thecabal/doe/~4/dmvNaD0iJsU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thecabal.org/2010/06/how-to-develop-patience/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.thecabal.org/2010/06/how-to-develop-patience/</feedburner:origLink></item>
		<item>
		<title>The Disk’s The Thing! Exchange 2010 Storage Essays, part 2</title>
		<link>http://feedproxy.google.com/~r/thecabal/doe/~3/R2iKbVAyoO0/</link>
		<comments>http://www.thecabal.org/2010/05/the-disks-the-thing-exchange-2010-storage-essays-part-2/#comments</comments>
		<pubDate>Wed, 05 May 2010 23:01:20 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.thecabal.org/2010/05/the-disks-the-thing-exchange-2010-storage-essays-part-2/</guid>
		<description><![CDATA[Greetings, readers! When I first posted From Whence Redundancy? (part 1 of this series of essays on Exchange 2010 storage) I’d intended to follow up with other posts a bit faster than I have been. So much for intentions; let us carry on. In part 1, I began the process of talking about how I [...]]]></description>
			<content:encoded><![CDATA[<p>Greetings, readers! When I first posted <a href="http://www.thecabal.org/2010/01/from-whence-redundancy-exchange-2010-storage-essays-part-1/">From Whence Redundancy?</a> (part 1 of this series of essays on Exchange 2010 storage) I’d intended to follow up with other posts a bit faster than I have been. So much for intentions; let us carry on.</p>
<p>In part 1, I began the process of talking about how I think the new Exchange 2010 storage options will play out in live Exchange deployments over the next several years. The first essay in this series discussed what is I believe the fundamental question at the heart an Exchange 2010 storage design: at what level will you ensure the redundancy of your Exchange mailbox databases? The traditional approach has used RAID at the disk level, but Exchange 2010 DAGs allow you to deploy mailbox databases in JBOD configurations. While I firmly believe that’s the central question, answering it requires us to dig under the hood of storage.</p>
<p>With Exchange 2010, Microsoft specifically designed Exchange mailbox servers to be capable of using the lowest common denominator of server storage: a directly attached storage (DAS) array of 7200 RPM SATA disks in a Just a Box of Disks (JBOD) configuration (what I call <strong>DJS</strong>). Understanding why they’ve made this shift requires us to understand more about the disk drive technology. In this essay, part 2 of this series, let’s talk about disk technology and find out how Fibre Channel (FC), Serially Attached SCSI (SAS), and Serial Advanced Technology Attachment (SATA) disk drives are the same – and more importantly, what slight differences they have and what that means for your Exchange systems.</p>
<p><a href="http://www.thecabal.org/wp-content/uploads/2010/05/ExchangeStorageSATAvsSAS.png"><img style="display: block; float: none; margin-left: auto; margin-right: auto; border: 0px;" title="Exchange Storage SATA vs SAS" src="http://www.thecabal.org/wp-content/uploads/2010/05/ExchangeStorageSATAvsSAS_thumb.png" border="0" alt="Exchange Storage SATA vs SAS" width="244" height="184" /></a></p>
<p>So here’s the first dirty little secret: for the most part, all disks are the same. Regardless of what type of bus they use, what form factor they are, what capacity they are, and what speed they rotate at, all modern disks use the same construction and principles:</p>
<ul>
<li>They all have one or more thin rotating <em>platters</em> coated with magnetic media; the exact number varies by form factor and capacity. Platters look like mini CD-ROM disks, but unlike CDs, platters are typically double-sided. Platters have a <em>rotational speed</em> measured in revolutions per minute (RPMs).</li>
<li>Each side of a platter has an associated <em>read-write head</em>. These heads are on a single-track arm that moves in toward the hub of the platter or out towards the rim. The heads do not touch the platter, but float very close to the surface. It takes a measurable fraction of a second for the head to relocate from one position to another; this is called its <em>seek time</em>.</li>
<li>The circle described by the head’s position on the platter is called a <em>track</em>. In a multi-platter disk, the heads move in synchronization (there’s no independent tracking per platter or side). As a result, each head is on the same track at the same time, describing a <em>cylinder</em>.</li>
<li>Each drive unit has embedded electronics that implement the bus protocol, control the rotational speed of the platters, and translate I/O requests into the appropriate commands to the heads. Even though there are different flavors, they all perform the same basic functions.</li>
</ul>
<p>If you would like a more in-depth primer on how disks work, <a href="http://computer.howstuffworks.com/hard-disk.htm">I recommend starting with this article</a>. I’ll wait for you.</p>
<p>Good? Great! So that’s how all drives are the same. It’s time to dig into the differences. They’re relatively small, but small differences have a way of piling up. Take a look at Table 1 which summarizes the differences between various FC, SATA, and SAS disks, compared with legacy PATA 133 (commonly but mistakenly referred to as IDE) and SCSI Ultra 320 disks:</p>
<p><strong>Table 1: Disk parameter differences by disk bus type</strong></p>
<table style="text-align: center;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="103" valign="top"><strong>Type</strong></td>
<td width="144" valign="top"><strong>Max wire bandwidth</strong><strong>(Mbit/s)</strong></td>
<td width="126" valign="top"><strong>Max data transfer</strong><strong>(MB/s)</strong></td>
</tr>
<tr>
<td width="103" valign="top">PATA 133</td>
<td width="144" valign="top">1,064</td>
<td width="126" valign="top">133.5</td>
</tr>
<tr>
<td width="103" valign="top">SCSI Ultra 320</td>
<td width="144" valign="top">2,560</td>
<td width="126" valign="top">320</td>
</tr>
<tr>
<td width="103" valign="top">SATA-I</td>
<td width="144" valign="top">1,500</td>
<td width="126" valign="top">150</td>
</tr>
<tr>
<td width="103" valign="top">SATA-II</td>
<td width="144" valign="top">3,000</td>
<td width="126" valign="top">300</td>
</tr>
<tr>
<td width="103" valign="top">SATA 6 Gb/s</td>
<td width="144" valign="top">6,000</td>
<td width="126" valign="top">600</td>
</tr>
<tr>
<td width="103" valign="top">SAS 150</td>
<td width="144" valign="top">1,500</td>
<td width="126" valign="top">150</td>
</tr>
<tr>
<td width="103" valign="top">SAS 300</td>
<td width="144" valign="top">3,000</td>
<td width="126" valign="top">300</td>
</tr>
<tr>
<td width="103" valign="top">FC (copper)</td>
<td width="144" valign="top">4,000</td>
<td width="126" valign="top">400</td>
</tr>
<tr>
<td width="103" valign="top">FC (optic)</td>
<td width="144" valign="top">10,520</td>
<td width="126" valign="top">2,000</td>
</tr>
</tbody>
</table>
<p> </p>
<p>As of this writing, the most common drive types you’ll see for servers are SATA-II, SAS 300, and FC over copper. Note that while SCSI Ultra 320 drives in theory have a maximum data transfer higher than either SATA-II or SAS 300, in reality that bandwidth is shared among all the devices connected to the SCSI bus; both SATA and SAS have a one-to-one connection between disk and controller, removing contention. Also remember that SATA is only a half-duplex protocol, while SAS is a full-duplex protocol. SAS and FC disks use the full SCSI command set to allow better performance when multiple I/O requests are queued for the drive, whereas SATA uses the ATA command set. Both SAS and SATA implement tagged queuing, although they use two different standards (each of which has its pros and cons).</p>
<p>The second big difference is the average access time of the drive, which is the sum of multiple factors:</p>
<ul>
<li>The <em>average seek time</em> of the heads. The actuator motors that move the heads from track to track are largely the same from drive to drive and thus the time contributed to the drive’s average seek time by just the head movements is roughly the same from drive to drive. What varies is the length of the head move; is it moving to a neighboring track, or is it moving across the entire surface? We can average out small track changes with large track changes to come up with idealized numbers.</li>
<li>The <em>average latency</em> of the platter. How fast the platters are spinning determines how quickly a given sector containing the data to be read (or where new data will be written) will move into position under the head once it’s in the proper track. This is a simple calculation based on the RPM of the platter and the observed average drive latency. We can assume that a given sector will move into position, on average, in no more than half a rotation. This gives us 30 seconds out of each minute of rotation, or 30,000 ms, into which we can divide the drive’s actual rotation.</li>
<li>The overhead caused by the various electronics and queuing mechanisms of the drive electronics, including any power saving measures such as reducing the spin rate of the drive platters. Although electricity is pretty fast and on-board electronics are relatively small circuits, there may be other factors (depending on the drive type) that may introduce delays into the process of fulfilling the I/O request received from the host server.</li>
</ul>
<p>What has the biggest impact is how fast the platter is spinning, as shown in Table 2:</p>
<p><strong>Table 2: Average latency caused by rotation speed</strong></p>
<table style="text-align: center;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="91" valign="top"><strong>Platter RPM</strong></td>
<td width="150" valign="top"><strong>Average latency in ms</strong></td>
</tr>
<tr>
<td width="91" valign="top">7,200</td>
<td width="150" valign="top">4.17</td>
</tr>
<tr>
<td width="91" valign="top">10,000</td>
<td width="150" valign="top">3</td>
</tr>
<tr>
<td width="91" valign="top">12,000</td>
<td width="150" valign="top">2.5</td>
</tr>
<tr>
<td width="91" valign="top">15,000</td>
<td width="150" valign="top">2</td>
</tr>
</tbody>
</table>
<p> </p>
<p>(As an exercise, do the same math on the disk speeds for the average laptop drives. This helps explain why laptop drives are so much slower than even low-end 7,200 RPM SATA desktop drives.)</p>
<p>Rather than painfully take you through the result of all of these tables and calculations step by step, I’m simply going to refer you to work that’s already been done. Once we know the various averages and performance metrics, we can figure out how many I/O operations per second (IOPS) a given drive can sustain on average, according to the type, RPMs, and nature of the I/O (sequential or random). Since Microsoft has already done that work for us as part of the <a href="http://msexchangeteam.com/archive/2009/11/09/453117.aspx">Exchange 2010 Mailbox Role Calculator</a> (version 6.3 as of this writing, I’m going to simply use the values there. Let’s take a look at how all this plays out in Table 3 by selecting some representative values.</p>
<p><strong>Table 3: Drive IOPS by type and RPM</strong></p>
<div>
<table style="width: 352px; height: 210px;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="49" valign="top"><strong>Size</strong></td>
<td width="90" valign="top"><strong>Type</strong></td>
<td width="55" valign="top"><strong>RPM</strong></td>
<td width="172" valign="top"><strong>Average Random IOPS</strong></td>
</tr>
<tr>
<td width="49" valign="top">3.5”</td>
<td width="90" valign="top">SATA</td>
<td width="55" valign="top">5,400</td>
<td width="172" valign="top">50</td>
</tr>
<tr>
<td width="49" valign="top">2.5”</td>
<td width="90" valign="top">SATA</td>
<td width="55" valign="top">5,400</td>
<td width="172" valign="top">55</td>
</tr>
<tr>
<td width="49" valign="top">3.5”</td>
<td width="90" valign="top">SAS</td>
<td width="55" valign="top">5,400</td>
<td width="172" valign="top">52.5</td>
</tr>
<tr>
<td width="49" valign="top">3.5”</td>
<td width="90" valign="top">SAS</td>
<td width="55" valign="top">5,900</td>
<td width="172" valign="top">52.5</td>
</tr>
<tr>
<td width="49" valign="top">3.5”</td>
<td width="90" valign="top">SATA</td>
<td width="55" valign="top">7,200</td>
<td width="172" valign="top">55</td>
</tr>
<tr>
<td width="49" valign="top">2.5”</td>
<td width="90" valign="top">SATA</td>
<td width="55" valign="top">7,200</td>
<td width="172" valign="top">60</td>
</tr>
<tr>
<td width="49" valign="top">3.5”</td>
<td width="90" valign="top">SAS</td>
<td width="55" valign="top">7,200</td>
<td width="172" valign="top">57.5</td>
</tr>
<tr>
<td width="49" valign="top">2.5”</td>
<td width="90" valign="top">SAS</td>
<td width="55" valign="top">7,200</td>
<td width="172" valign="top">62.5</td>
</tr>
<tr>
<td width="49" valign="top">3.5”</td>
<td width="90" valign="top">FC/SCSI/SAS</td>
<td width="55" valign="top">10,000</td>
<td width="172" valign="top">130</td>
</tr>
<tr>
<td width="49" valign="top">2.5”</td>
<td width="90" valign="top">SAS</td>
<td width="55" valign="top">10,000</td>
<td width="172" valign="top">165</td>
</tr>
<tr>
<td width="49" valign="top">3.5”</td>
<td width="90" valign="top">FC/SCSI/SAS</td>
<td width="55" valign="top">15,000</td>
<td width="172" valign="top">180</td>
</tr>
<tr>
<td width="49" valign="top">2.5”</td>
<td width="90" valign="top">SAS</td>
<td width="55" valign="top">15,000</td>
<td width="172" valign="top">230</td>
</tr>
</tbody>
</table>
</div>
<p> </p>
<p>There are three things to note about Table 3.</p>
<ol>
<li>These numbers come from Microsoft’s Exchange 2010 Mailbox Sizing Calculator and are validated across vendors through extensive testing in an Exchange environment. While there may be minor variances between drive model and manufacturers and these number may seem pessimistic according to calculated IOPS number published for individual drives, these are good figures to use in the real world. Using calculated IOPS numbers can lead both to a range of figures, depending on the specific drive model and manufacturer, as well as to overestimating the amount of IOPS the drive will actually provide to Exchange.</li>
<li>For the most part, SAS and FC are indistinguishable from the IOPs point of view. Regardless of the difference between the electrical interfaces, the drive mechanisms and I/O behaviors are comparable.</li>
<li>Sequential IOPS are not listed; they will be quite a bit higher than the random IOPS (that same 7,200RPM SATA drive can provide 300+ IOPS for sequential operations). The reason is simple; although a lot of Exchange 2010 I/O has been converted from random to sequential, there’s still some random I/O going on. That’s going to be the limiting factor.</li>
</ol>
<p>The IOPS listed are per-drive IOPS. When you’re measuring your drive system, remember that the various RAID configurations have their own IOPS overhead factor that will consume a certain number</p>
<p>There are of course some other factors that we need to consider, such as form factor and storage capacity. We can address these according to some generalizations:</p>
<ul>
<li>Since SAS and FC tend to have the same performance characteristics, the storage enclosure tends to differentiate between which technology is used. SAS enclosures can often be used for SATA drives as well, giving more flexibility to the operator. SAN vendors are increasingly offering SAS/SATA disk shelves for their systems because paying the FC toll can be a deal-breaker for new storage systems.</li>
<li>SATA disks tend to have a larger storage capacity than SAS or FC disks. There are reasons for this, but the easiest one to understand is that SAS, being traditionally a consumer technology, has a lower duty cycle and therefore lower quality control specifications that must be met.</li>
<li>SATA disks tend to be offered with lower RPMs than SAS and FC disks. Again, we can acknowledge that quality control plays a part here – the faster a platter spins, the more stringently the drive components need to meet their specifications for a longer period of time.</li>
<li>2.5” drives tend to have lower capacity than their 3.5” counterparts. This makes sense – they have smaller platters (and may have fewer platters in the drive).</li>
<li>2.5” drives tend to use less power and generate less heat than equivalent 3.5” drives. This too makes sense – the smaller platters have less mass, requiring less energy to sustain rotation.</li>
<li>2.5” drives tend to permit a higher drive density in a given storage chassis while using only fractionally more power. Again, this makes sense based on the previous two points; I can physically fit more drives into a given space, sometimes dramatically so.</li>
</ul>
<p>Let’s look at an example. A <a href="http://www.supermicro.com/products/chassis/2U/?chs=826">Supermicro SC826 chassis</a> holds 12 3.5” drives with a minimum of 800W power while the equivalent <a href="http://www.supermicro.com/products/chassis/2U/?chs=216">Supermicro SC216 chassis</a> holds 24 2.5” drives with a minimum of 900W of power in the same 2Us of rack space. Doubling the number of drives makes up for the capacity difference between the 2.5” and 3.5” drives, provides twice as many spindles and allows a greater aggregate IOPS for the array, and only requires 12.5% more power.</p>
<p>The careful reader has noted that I’ve had very little to say about capacity in this essay, other than the observation above that SATA drives tend to have larger capacities, and that 3.5” drives tend to be larger than 2.5” drives. From what I’ve seen in the field, the majority of shops are just now looking at 2.5” drive shelves, so it’s safe to assume 3.5” is the norm. As a result, the 3.5” 7,200 RPM SATA drive represents the lowest common denominator for server storage, and that’s why the Exchange product team chose that drive as the performance bar for DJS configurations.</p>
<p>Exchange has been limited by performance (IOPS) requirements for most of its lifetime; by going after DJS, the product team has been able to take advantage of the fact that the capacity of these drives is the first to grow. This is why I think that Microsoft is betting that you’re going to want to simplify your deployment, aim for big, cheap, slow disks, and let Exchange DAGs do the work of replicating your data.</p>
<p>Now that we’ve talked about <strong>RAID vs. JBOD</strong> and <strong>SATA vs. SAS/FC</strong>, we’ll need to examine the final topic: SAN vs. DAS. Look for that discussion in Part 3, which will be forthcoming.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.thecabal.org/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p><img src="http://feeds.feedburner.com/~r/thecabal/doe/~4/R2iKbVAyoO0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thecabal.org/2010/05/the-disks-the-thing-exchange-2010-storage-essays-part-2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.thecabal.org/2010/05/the-disks-the-thing-exchange-2010-storage-essays-part-2/</feedburner:origLink></item>
		<item>
		<title>A Psalm for Karatekas</title>
		<link>http://feedproxy.google.com/~r/thecabal/doe/~3/D_AqTtysj1Q/</link>
		<comments>http://www.thecabal.org/2010/04/a-psalm-for-karatekas/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 17:04:44 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Karate]]></category>

		<guid isPermaLink="false">http://www.thecabal.org/?p=1074</guid>
		<description><![CDATA[Last night I went to my first karate class in several weeks. On the way, my brain reinterpreted Psalm 23 from the viewpoint of a karateka. Enjoy. 1 The LORD is my sensei; I shall not fear. 2 He makes me work out with white belts; he leads me through katas. 3 He perfects my [...]]]></description>
			<content:encoded><![CDATA[<p>Last night I went to my first karate class in several weeks. On the way, my brain reinterpreted Psalm 23 from the viewpoint of a karateka. Enjoy.</p>
<p><strong>1</strong> The LORD is my sensei; I shall not fear.</p>
<p><strong>2</strong> He makes me work out with white belts; he leads me through katas.</p>
<p><strong>3</strong> He perfects my form. He leads me in the path of new techniques for the sake of advancement.</p>
<p><strong>4</strong> Though I walk through the valley of the shadow of death, I fear no evil, for his teachings are with me; my kama and bo staff comfort me.</p>
<p><strong>5</strong> He prepares testing for me in the presence of my fellow karateka; he adorns my waist with new obi, my gi fits better.</p>
<p><strong>6</strong> Surely discipline and health shall follow me all the days of my studies, and I will dwell in the dojo of the LORD forever.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.thecabal.org/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p><img src="http://feeds.feedburner.com/~r/thecabal/doe/~4/D_AqTtysj1Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thecabal.org/2010/04/a-psalm-for-karatekas/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.thecabal.org/2010/04/a-psalm-for-karatekas/</feedburner:origLink></item>
		<item>
		<title>More Exchange blogging with Trace3!</title>
		<link>http://feedproxy.google.com/~r/thecabal/doe/~3/jL29pt7z3Ws/</link>
		<comments>http://www.thecabal.org/2010/04/more-exchange-blogging-with-trace3/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 00:30:42 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.thecabal.org/2010/04/more-exchange-blogging-with-trace3/</guid>
		<description><![CDATA[I just wanted to drop a quick note to let you all know that I&#8217;ll be cross-posting all of my Exchange related material both here and at the Trace3 blog. The Trace3 blog is a multi-author blog, so you&#8217;ll get not only all my Exchange-related content, but you&#8217;ll get a variety of other interesting discussions [...]]]></description>
			<content:encoded><![CDATA[<p>I just wanted to drop a quick note to let you all know that I&#8217;ll be cross-posting all of my Exchange related material both here <em>and</em> at <a href="http://www.trace3.com/blog/">the Trace3 blog</a>. The Trace3 blog is a multi-author blog, so you&#8217;ll get not only all my Exchange-related content, but you&#8217;ll get a variety of other interesting discussions from a number of my co-workers.</p>
<p>To kick it off, I&#8217;ve updated my <em>From Whence Redundancy? Exchange 2010 Storage Essays, Part 1</em> post with some new material on database reseed times and reposted it there in its entirety. Don&#8217;t worry, <a href="http://www.thecabal.org/2010/01/from-whence-redundancy-exchange-2010-storage-essays-part-1/">I&#8217;ve also updated it here</a>.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.thecabal.org/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p><img src="http://feeds.feedburner.com/~r/thecabal/doe/~4/jL29pt7z3Ws" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thecabal.org/2010/04/more-exchange-blogging-with-trace3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.thecabal.org/2010/04/more-exchange-blogging-with-trace3/</feedburner:origLink></item>
		<item>
		<title>What Exchange 2010 on Windows Datacenter Means</title>
		<link>http://feedproxy.google.com/~r/thecabal/doe/~3/AHPx6JFooZE/</link>
		<comments>http://www.thecabal.org/2010/02/what-exchange-2010-on-windows-datacenter-means/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 19:35:00 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.thecabal.org/?p=1053</guid>
		<description><![CDATA[Exchange Server has historically come in two flavors for many versions – Standard Edition and Enterprise Edition. The main difference this license change made for you was the maximum number of supported mailbox databases as shown in Table 1: Version Standard Edition Enterprise Edition Exchange 2003 1 (75GB max) 20 Exchange 2007 5 50 Exchange [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Exchange Server has historically come in two flavors for many versions – Standard Edition and Enterprise Edition. The main difference this license change made for you was the maximum number of supported <em>mailbox</em> databases as shown in Table 1:</p>
<div style="text-align: center;">
<table border="1" cellspacing="0" cellpadding="2" width="400" align="center">
<tbody>
<tr>
<td style="text-align: center;" width="133" valign="top"><strong>Version</strong></td>
<td style="text-align: center;" width="133" valign="top"><strong>Standard Edition</strong></td>
<td style="text-align: center;" width="133" valign="top"><strong>Enterprise Edition</strong></td>
</tr>
<tr>
<td style="text-align: center;" width="133" valign="top">Exchange 2003</td>
<td style="text-align: center;" width="133" valign="top">1 (75GB max)</td>
<td style="text-align: center;" width="133" valign="top">20</td>
</tr>
<tr>
<td style="text-align: center;" width="133" valign="top">Exchange 2007</td>
<td style="text-align: center;" width="133" valign="top">5</td>
<td style="text-align: center;" width="133" valign="top">50</td>
</tr>
<tr>
<td style="text-align: center;" width="133" valign="top">Exchange 2010</td>
<td style="text-align: center;" width="133" valign="top">5</td>
<td style="text-align: center;" width="133" valign="top">100</td>
</tr>
</tbody>
</table>
</div>
<p style="text-align: center;"><strong>Table 1: Maximum databases per Exchange editions</strong></p>
<p>However, the Exchange Server edition is not directly tied to the Windows Server edition:</p>
<ul>
<li>For Exchange 2003 failover cluster mailbox servers, Exchange 2007 SCC/CCR environments <em>[1]</em>, and  Exchange 2010 DAG environments, you need Windows Server Enterprise Edition in order to get the MSCS cluster component framework.</li>
<li>For Exchange 2003 servers running purely as bridgeheads or front-end servers, or Exchange 2007/2010 HT, CAS, ET, and UM servers, you only need Windows Server Standard Edition.</li>
</ul>
<p>I’ve seen some discussion around the fact that Exchange 2010 will install on Windows Server 2008 Datacenter Edition and Windows Server 2008 R2 Datacenter Edition, even though it’s not supported there and <a href="http://technet.microsoft.com/en-us/library/aa996719.aspx" target="_blank">is not listed in the Operating System requirements section of the TechNet documentation</a>.</p>
<p><strong>HOWEVER</strong>…if we look at the <strong><a href="http://www.microsoft.com/exchange/2010/en/us/Licensing.aspx#ExServPre" target="_blank">Prerequisites for Exchange 2010 Server section of the Exchange Server 2010 Licensing site</a></strong>, we now see that Datacenter edition is, in fact listed as shown in Figure 1:</p>
<p style="text-align: center;"><a href="http://www.thecabal.org/wp-content/uploads/2010/02/image.png"><img class="aligncenter" style="display: inline; border: 0px;" title="Exchange 2010 server license comparison" src="http://www.thecabal.org/wp-content/uploads/2010/02/image_thumb.png" border="0" alt="Exchange 2010 server license comparison" width="244" height="107" /></a></p>
<p style="text-align: center;"><strong>Figure 1: Exchange 2010 server license comparison</strong></p>
<p>This is pretty cool, and the appropriate TechNet documentation is in the process of being updated to reflect this. What this means is that you can deploy Exchange 2010 on Windows Server Datacenter Edition; the differences between editions of <a href="http://www.microsoft.com/windowsserver2008/en/us/r2-editions-overview.aspx" target="_blank">Windows Server 2008 R2 are found here</a>.<em>[2]</em> If you take a quick scan through the various feature comparison charts in the sidebar, you might wonder why anyone would want to install Exchange 2010 on Windows Server Datacenter Edition; it’s more costly and seems to provide the same benefits. However, take a look at the <a href="http://www.microsoft.com/windowsserver2008/en/us/r2-compare-specs.aspx" target="_blank">technical specifications comparison</a>; this is, I believe, the meat of the matter:</p>
<ul>
<li>
<div>Both editions give you a maximum of 2 TB – more than you can realistically throw at Exchange 2010.</div>
</li>
<li>
<div>Enterprise Edition gives you support for a maximum eight (8) x64 CPU sockets, while Datacenter Edition gives you sixty-four (64). With quad-core CPUs, this means <strong>a total of 32 cores under Enterprise vs. 256 cores under Datacenter</strong>.</div>
</li>
<li>
<div>With the appropriate hardware, you can hot-add memory in Enterprise Edition. However, <strong>you can’t perform a hot-replace, nor can you hot-add or hot-replace CPUs under Enterprise. With Datacenter, you can hot-add and hot-remove both memory and CPUs</strong>.</div>
</li>
</ul>
<p>These seem to be compelling in many scenarios at first glance, unless you’re familiar with the recommended maximum configurations for Exchange 2010 server sizing. IIRC, the maximum CPUs that are recommended for most Exchange 2010 server configurations (including multirole servers) would be 24 cores – which fits into the 8 socket limitation of Enterprise Edition while using quad core CPUs.</p>
<p>With both Intel and AMD now offering hexa-core (6 core) CPUs, you can move up to 48 cores in Enterprise Edition. This is more than enough for any practical deployment of Exchange Server 2010 I can think of at this time, unless future service packs drastically change the CPU performance factors. Both Enterprise and Datacenter give you a ceiling of 2TB of RAM, which is far greater than required by even the most aggressively gigantic mailbox load I’d want to place on a single server. I’m having a difficult time seeing how anyone could realistically build out an Exchange 2010 server that goes beyond the performance and scalability limits of Enterprise Edition in any meaningful way.</p>
<p>In fact, I can think of only three reasons someone would want to run Exchange 2010 on Windows Server Datacenter Edition:</p>
<ul>
<li>
<div>You have spare Datacenter Edition licenses, aren’t going to use them, and don’t want to buy more Enterprise Edition licenses. This must be a tough place to be in, but it can happen under certain scenarios.</div>
</li>
<li>
<div>You have a very high server availability requirements and require the hot-add/hot-replace capabilities. This will get costly – the server hardware that supports this isn’t cheap – but if you need it, you need it.</div>
</li>
<li>
<div>You’re already running a big beefy box with Datacenter and virtualization<em>[3]</em>. The box has spare capacity, so you want to make use of it.</div>
</li>
</ul>
<p>The first two make sense. The last one, though, I’d be somewhat leery of doing. Seriously, think about this – I’m spending money on monstrous hardware with awesome fault tolerance capabilities, I’ve forked over for an OS license<em>[4]</em> that gives me the right to unlimited virtual machines, and now I’m going to clutter up my disaster recovery operations by mixing Exchange and other applications (including virtualization) in the same host OS instance? That may be great for a lab environment, but I’d have a long conversation with any customer who wanted to do this under production. Seriously, just spin up a new VM, use Windows Server Enterprise Edition, and go to town. The loss of hardware configuration flexibility I get from going virtual is less than I gain by compartmentalizing my Exchange server to its own machine, along with the ability to move that virtual machine to any virtualization host I have.</p>
<p>So, there you have it: Exchange 2010 can now be run on Windows Server Datacenter Edition, which means yay! for options. But in the end, I don’t expect this to make a difference for any of the deployments I’m like to be working on. This is a great move for a small handful of customers who really need this.</p>
<p><em><strong>[1]</strong> <em>MSCS is not required for Exchange 2007 SCR, although manual target activation can be easier in some scenarios if your target is configured as a single passive node cluster.</em></em></p>
<p><em><strong>[2] </strong>From what I can tell, the same specs seem to be valid for Windows Server 2008, with the caveat that Windows Server 2008 R2 doesn’t offer a 32-bit version so the chart doesn’t give that information. However, since Exchange 2010 is x64 only, this is a moot point.</em></p>
<p><em><strong>[3]</strong> This is often an attractive option, since you can hosted an unlimited number of Windows Server virtual machines without having to buy further Windows Server licenses for them.</em></p>
<p><em><strong>[4] </strong>Remember that Datacenter is not licensed at a flat cost per server like Enterprise is; it&#8217;s licensed per socket. The beefier the machine you run it on, the more you pay.</em></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.thecabal.org/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p><img src="http://feeds.feedburner.com/~r/thecabal/doe/~4/AHPx6JFooZE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thecabal.org/2010/02/what-exchange-2010-on-windows-datacenter-means/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://www.thecabal.org/2010/02/what-exchange-2010-on-windows-datacenter-means/</feedburner:origLink></item>
		<item>
		<title>Things They Forgot</title>
		<link>http://feedproxy.google.com/~r/thecabal/doe/~3/38nxtpi0nlM/</link>
		<comments>http://www.thecabal.org/2010/01/things-they-forgot/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 23:10:49 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Spirituality]]></category>

		<guid isPermaLink="false">http://www.thecabal.org/2010/01/things-they-forgot/</guid>
		<description><![CDATA[Pat Robertson’s comments on Haiti basically boil down to “they got what was coming to them.” Mr. Robertson, I think you forgot Matthew 25:34-46 (KJV): 34Then shall the King say unto them on his right hand, Come, ye blessed of my Father, inherit the kingdom prepared for you from the foundation of the world: 35For [...]]]></description>
			<content:encoded><![CDATA[</p>
<p><a href="http://www.dailymotion.com/video/xbukkh_pat-robertson-on-haiti-disaster_news" target="_blank">Pat Robertson’s comments on Haiti</a> basically boil down to “they got what was coming to them.” Mr. Robertson, I think you forgot Matthew 25:34-46 (KJV):</p>
<blockquote><p><sup>34</sup>Then shall the King say unto them on his right hand, Come, ye blessed of my Father, inherit the kingdom prepared for you from the foundation of the world: <sup>35</sup>For I was an hungred, and ye gave me meat: I was thirsty, and ye gave me drink: I was a stranger, and ye took me in: <sup>36</sup>Naked, and ye clothed me: I was sick, and ye visited me: I was in prison, and ye came unto me. <sup>37</sup>Then shall the righteous answer him, saying, Lord, when saw we thee an hungred, and fed thee? or thirsty, and gave thee drink? <sup>38</sup>When saw we thee a stranger, and took thee in? or naked, and clothed thee? <sup>39</sup>Or when saw we thee sick, or in prison, and came unto thee? <sup>40</sup>And the King shall answer and say unto them, Verily I say unto you, Inasmuch as ye have done it unto one of the least of these my brethren, ye have done it unto me.</p>
<p><sup>41</sup>Then shall he say also unto them on the left hand, Depart from me, ye cursed, into everlasting fire, prepared for the devil and his angels: <sup>42</sup>For I was an hungred, and ye gave me no meat: I was thirsty, and ye gave me no drink: <sup>43</sup>I was a stranger, and ye took me not in: naked, and ye clothed me not: sick, and in prison, and ye visited me not. <sup>44</sup>Then shall they also answer him, saying, Lord, when saw we thee an hungred, or athirst, or a stranger, or naked, or sick, or in prison, and did not minister unto thee? <sup>45</sup>Then shall he answer them, saying, Verily I say unto you, Inasmuch as ye did it not to one of the least of these, ye did it not to me. <sup>46</sup>And these shall go away into everlasting punishment: but the righteous into life eternal.</p>
</blockquote>
<p>Rush Limbaugh may have forgotten the above as well. <a href="http://mediamatters.org/research/201001130047" target="_blank">His claims that Obama is using humanitarian aid for political profit</a> definitely seem to have forgotten Matthew 7:15-20:</p>
<blockquote><p>15 Beware of false prophets, which come to you in sheep&#8217;s clothing, but inwardly they are ravening wolves. 16 Ye shall know them by their fruits. Do men gather grapes of thorns, or figs of thistles? 17 Even so every good tree bringeth forth good fruit; but a corrupt tree bringeth forth evil fruit. 18 A good tree cannot bring forth evil fruit, neither can a corrupt tree bring forth good fruit. 19 Every tree that bringeth not forth good fruit is hewn down, and cast into the fire. 20 Wherefore by their fruits ye shall know them.</p>
</blockquote>
<p><font color="#555555">If that last passage seems a bit murky, here’s a quote from C. S. Lewis’s <em>The Last Battle</em> (the last book of the Chronicles of Narnia) that I have always loved. The speaker is a Calormene soldier, Emeth, who has had a life-changing encounter with Aslan during the last hours of Narnia:</font></p>
<blockquote><p>He answered, Child, all the service thou hast done to Tash, I account as service done to me. Then by reasons of my great desire for wisdom and understanding, I overcame my fear and questioned the Glorious One and said, Lord, is it then true, as the Ape said, that thou and Tash are one? The Lion growled so that the earth shook (but his wrath was not against me) and said, It is false. Not because he and I are one, but because we are opposites, I take to me the services which thou hast done to him. For I and he are of such different kinds that no service which is vile can be done to me, and none which is not vile can be done to him. Therefore if any man swear by Tash and keep his oath for the oath&#8217;s sake, it is by me that he had truly sworn, though he know it not, and it is I who reward him. And if any man do a cruelty in my name, then, though he says the name Aslan, it is Tash whom he serves and by Tash his deed is accepted. Dost thou understand, Child?</p>
</blockquote>
<p><font color="#555555">By their fruits ye shall know them…whatever their claims.</font></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.thecabal.org/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p><img src="http://feeds.feedburner.com/~r/thecabal/doe/~4/38nxtpi0nlM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thecabal.org/2010/01/things-they-forgot/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.thecabal.org/2010/01/things-they-forgot/</feedburner:origLink></item>
		<item>
		<title>Poor Google? Not.</title>
		<link>http://feedproxy.google.com/~r/thecabal/doe/~3/NmtY725oy6g/</link>
		<comments>http://www.thecabal.org/2010/01/poor-google-not/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 21:17:02 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Politics]]></category>

		<guid isPermaLink="false">http://www.thecabal.org/2010/01/poor-google-not/</guid>
		<description><![CDATA[Since yesterday, the Net has been abuzz because of Google’s blog posting about their discovery they were being hacked by China. Almost every response I’ve seen has focused on the attempted hacking of the mailboxes of Chinese human rights activists. That’s exactly where Google wants you to focus. Let’s take a closer look at their [...]]]></description>
			<content:encoded><![CDATA[<p>Since yesterday, the Net has been abuzz because of <a href="http://googleblog.blogspot.com/2010/01/new-approach-to-china.html" target="_blank">Google’s blog posting about their discovery they were being hacked by China</a>. Almost every response I’ve seen has focused on the attempted hacking of the mailboxes of Chinese human rights activists.</p>
<p>That’s <em>exactly</em> where Google wants you to focus.</p>
<p>Let’s take a closer look at their blog post.</p>
<p>Paragraph 1:</p>
<blockquote><p>In mid-December, we detected a highly sophisticated and targeted attack on our corporate infrastructure originating from China that resulted in the theft of intellectual property from Google.</p>
</blockquote>
<p>Paragraph 2:</p>
<blockquote><p>As part of our investigation we have discovered that at least twenty other large companies from a wide range of businesses&#8211;including the Internet, finance, technology, media and chemical sectors&#8211;have been similarly targeted.</p>
</blockquote>
<p><font color="#555555">Whoa. That’s some heavy-league stuff right there. Coordinated, targeted commercial espionage across a variety of vertical industries. Google first accuses China of stealing its intellectual property, then says that they weren’t the only ones. Mind you, industry experts – including the <a href="http://en.wikipedia.org/wiki/Titan_Rain" target="_blank">United States government</a>– <a href="http://news.sky.com/skynews/Home/World-News/China-Denies-Internet-Hacking-Network-System-GhostNet-Used-Worldwide-On-Government-Computers/Article/200903415251712?lpos=World_News_Article_Related_Content_Region_8&amp;lid=ARTICLE_15251712_China_Denies_Internet_Hacking_Network_System_GhostNet_Used_Worldwide_On_Government_Computers" target="_blank">have</a> <a href="http://www.eweek.com/c/a/Security/The-Secret-ChinaUS-Hacking-War/" target="_blank">been</a> <a href="http://blogs.zdnet.com/gadgetreviews/?p=477" target="_blank">saying</a> <a href="http://news.zdnet.com/2100-1009_22-145763.html" target="_blank">the</a> <a href="http://news.cnet.com/Security-experts-lift-lid-on-Chinese-hack-attacks/2100-7349_3-5969516.html" target="_blank">same</a> <a href="http://clearwisdom.net/html/articles/2003/9/20/40480.html" target="_blank">thing</a> <a href="http://lists.jammed.com/ISN/2004/06/0105.html" target="_blank">for</a> <a href="http://online.wsj.com/article/SB123914805204099085.html?mod=googlenews_wsj" target="_blank">years</a>. Cries of ‘China hacked us!” happen relatively frequently in the IT security industry, enough so that it blends into the background noise after awhile.</font></p>
<p><font color="#555555">My question is why, exactly, Google thought this wouldn’t happen to them? They’re a big fat juicy target on many levels. Gmail with thousands upon thousands of juicy mailboxes? Check! Search engine code and data that allows sophisticated monitoring and manipulation of Internet queries? Check! Cloud-based office documents that just might contain some competitive value? Check!</font></p>
<p><font color="#555555">My second question is, why, exactly, is Google trying to shift the focus of the story from the IP theft (which by their own press report was successful) and cloak their actions in the “oh, noes, China tried to grab dissidents’ email” moral veil they’re using?</font></p>
<p><font color="#555555">Paragraph 3:</font></p>
<blockquote><p>Second, we have evidence to suggest that a primary goal of the attackers was accessing the Gmail accounts of Chinese human rights activists. Based on our investigation to date we believe their attack did not achieve that objective. Only two Gmail accounts appear to have been accessed, and that activity was limited to account information (such as the date the account was created) and subject line, rather than the content of emails themselves.</p>
</blockquote>
<p><font color="#555555"><strong>Two accounts</strong>, people, and the attempt wasn’t even fully successful. And the moral outrage shimmering from the screen in Paragraph 4, when Google says that “dozens” of accounts were accessed by third parties <em>not through any sort of security flaw in Google</em>, but rather through what is probably malware, is enough to knock you over.</font></p>
<p><font color="#555555">Really, Google? You’re just now tumbling to the fact that people’s GMail accounts are getting hacked through malware?</font></p>
<p><font color="#555555">I don’t buy the moral outrage. I think the meat of the matter is back in paragraph 1. I believe that the rest of the outrage is a smokescreen to repaint Google into the moral high ground for their actions, when from the sidelines here it certainly looks like Google chose knowingly to play with fire and is now suddenly outraged that they, too, got burned.</font></p>
<p><font color="#555555">Google, you have enough people willing to play along with your attempt to be the victim. I’m not one of them. You compromised human rights principles in 2006 and knowingly put your users into harm’s way. “Do no evil,” my ass.</font></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.thecabal.org/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p><img src="http://feeds.feedburner.com/~r/thecabal/doe/~4/NmtY725oy6g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thecabal.org/2010/01/poor-google-not/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.thecabal.org/2010/01/poor-google-not/</feedburner:origLink></item>
		<item>
		<title>From Whence Redundancy? Exchange 2010 Storage Essays, part 1</title>
		<link>http://feedproxy.google.com/~r/thecabal/doe/~3/ZEZgWFiF5EE/</link>
		<comments>http://www.thecabal.org/2010/01/from-whence-redundancy-exchange-2010-storage-essays-part-1/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 09:20:07 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.thecabal.org/2010/01/from-whence-redundancy-exchange-2010-storage-essays-part-1/</guid>
		<description><![CDATA[Updated 4/13 with improved reseed time data provided by item #4 in the Top 10 Exchange Storage Myths blog post from the Exchange team. Over the next couple of months, I’d like to slowly sketch out some of the thoughts and impressions that I’ve been gathering about Exchange 2010 storage over the last year or [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Updated 4/13 with improved reseed time data provided by item #4 in the </strong><strong><a href="http://msexchangeteam.com/archive/2010/03/29/454443.aspx" target="_blank">Top 10 Exchange Storage Myths</a></strong><strong> blog post from the Exchange team. </strong></p>
<p>Over the next couple of months, I’d like to slowly sketch out some of the thoughts and impressions that I’ve been gathering about Exchange 2010 storage over the last year or so and combine them with the specific insights that I’m gaining at my new job. In this inaugural post, I want to tackle what I have come to view as the fundamental question that will drive the heart of your Exchange 2010 storage strategy: will you use a RAID configuration or will you use a JBOD configuration?</p>
<p>In the interests of full disclosure, the company I work for now is a strong NetApp reseller, so of course my work environment is conducive to designing Exchange in ways that make it easy to sell the strengths of NetApp kit. However, part of the reason I picked this job is precisely because I agree with how they address Exchange storage and how I think the Exchange storage paradigm is going to shake out in the next 3-5 years as more people start deploying Exchange 2010.</p>
<p>In Exchange 2010, Microsoft re-designed the Exchange storage system to target what we can now consider to be the lowest common denominator of server storage: a directly attached storage (DAS) array of 7200 RPM SATA disks in a Just a Box of Disks (JBOD) configuration. This DAS/JBOD/SATA (what I will now call <strong>DJS</strong>) configuration has been an unworkable configuration for Exchange for almost its entire lifetime:</p>
<ul>
<li>The DAS piece certainly worked for the initial versions of Exchange; that’s what almost all storage was back then. Big centralized SANs weren’t part of the commodity IT server world, reserved instead for the mainframe world. Server administrators managed server storage. The question was what kind of bus you used to attach the array to the server. However, as Exchange moved to clustering, it required some sort of shared storage. While a shared SCSI bus was possible, it not only felt like a hack, but also didn’t scale well beyond two nodes.</li>
<li>SATA, of course, wasn’t around back in 1996; you had either IDE or SCSI. SCSI was the serious server administrator’s choice, providing better I/O performance for server applications, as well as faster bus speeds. SATA, and its big brother SAS, both are derived from the lessons that years of SCSI deployments have provided. Even for Exchange 2007, though, SATA’s poor random I/O performance made it unsuitable for Exchange storage. You had to use either SAS or FC drives.</li>
<li>RAID has been a requirement for Exchange deployments, historically, for two reasons: to combine enough drive spindles together for acceptable I/O performance (back when disks were smaller than mailbox databases), and to ensure basic data redundancy. Redundancy was especially important once Exchange began supporting shared storage clustering and required both aggregate I/O performance only achievable with expensive disks and interfaces as well as the reduced chance of a storage failure being a single point of failure.</li>
</ul>
<p>If you look at the marketing material for Exchange 2010, you would certainly be forgiven for thinking that DJS is the only smart way to deploy Exchange 2010, with SAN, RAID, and non-SATA systems supported only for those companies caught in the mire of legacy deployments. However, this isn’t at all true. There are a growing number of Exchange experts (and not just those of us who either work for storage vendors or resell their products) who think that while DJS is certainly an interesting option, it’s not one that’s a good match for every customer.</p>
<p>In order to understand why DJS is truly possible in Exchange 2010, and more importantly begin to understand where DJS configurations are a good fit and what underlying conditions and assumptions you need to meet in order to get the most value from DJS, we need to separate these three dimensions and discuss them separately.</p>
<p style="text-align: center;"><a href="http://www.thecabal.org/wp-content/uploads/2010/01/ExchangeStorageJBODvsRAID.png"><img class="aligncenter" style="display: inline; border-width: 0px;" title="JBOD vs RAID" src="http://www.thecabal.org/wp-content/uploads/2010/01/ExchangeStorageJBODvsRAID_thumb.png" border="0" alt="JBOD vs RAID" width="244" height="184" /></a></p>
<p style="text-align: left;">While I will go into more detail on all three dimensions at later date, I want to focus on the JBOD vs.. RAID question now. If you need some summaries, then check out fellow Exchange MVP (and NetApp consultant) <a href="http://blogs.netapp.com/msenviro/2009/06/fas-the-new-das-using-fas-in-a-das-configuration-for-exchange.html" target="_blank">John Fullbright’s post on the economics of DAS vs. SAN</a> as well as <a href="http://www.msteched.com/online/view.aspx?tid=37c931bf-db0c-40d6-9cd5-8a3fb468ac8d" target="_blank">Microsoft’s Matt Gossage and his TechEd 2009 session on Exchange 2010 storage</a>. Although there are good arguments for diving into drive technology or storage connection debates, I’ve come to believe that the central philosophy question you must answer in your Exchange 2010 design is at what level you will keep your data redundant. Until Exchange 2007, you had only one option: keeping your data redundant at the disk controller level. Using RAID technologies, you had two copies of your data<em>[1]</em>. Because you had a second copy of the data, shared storage clustering solutions could be used to provide availability for the mailbox service.</p>
<p>With Exchange 2007’s continuous replication features, you could add in data redundancy at the application level and avoid the dependency of shared storage; CCR creates two copies, and SCR can be used to create one or more additional copies off-site. However, given the realities of Exchange storage, for all but the smallest deployments, you had to use RAID to provide the required number of disk spindles for performance. With CCR, this really meant you were creating four copies; with SCR, you were creating an additional two copies for each target replica you created.</p>
<p>This is where Exchange 2010 throws a wrench into the works. By virtue of a re-architected storage engine, it’s possible under specific circumstances to design a mailbox database that will fit on a single drive while still providing acceptable performance. The reworked continuous replication options, now simplified into the DAG functionality, create additional copies on the application level. If you hit that sweet spot of the 1:1 database to disk ratio, then you only have a single copy of the data per replica <em>and</em> can get an <em>n-1</em> level of redundancy, where <em>n</em> is the number of replicas you have. This is clearly far more efficient for disk usage…or is it? The full answer is complex, the simple answer is, “In some cases.”</p>
<p>In order to get the 1:1 database to disk ratio, you have to follow several guidelines:</p>
<ol>
<li>Have at least three replicas of the database in the DAG, regardless of which sites they are in. Doing so allows you to place both the EDB and transaction log files on the same physical drive, rather than separating them as you did in previous versions of Exchange.</li>
<li>Ensure that you have at least two replicas per site. The reason for this is that unlike Exchange 2007, you can reseed a failed replica from another passive copy. This allows you to avoid reseeding over your WAN, which is something you do not want to do.</li>
<li>Size your mailbox databases to include no more users than will fit in the drive’s performance envelope. Although Exchange 2010 converts many of the random I/O patterns to sequential, giving better performance, not all has been converted, so you still have to plan against the random I/O specs.</li>
<li>Ensure that write transactions can get written successfully to disk. Use a battery-backed caching controller for your storage array to ensure the best possible performance from the disks. Use write caching for the physical disks, which means ensuring each server hosting a replica has a UPS.</li>
</ol>
<p>At this point, you probably have disk capacity to spare, which is why Exchange 2010 allows the creation of archive mailboxes in the same mailbox database. All of the user’s data is kept at the same level of redundancy, and the archived data – which is less frequently accessed than the mainline data – is stored without additional significant disk or I/O penalty. This all seems to indicate that JBOD is the way to go, yes? Two copies in the main site, two off-site DR copies, and I’m using cheaper storage with larger mailboxes and only four copies of my data instead of the minimum of six I’d have with CCR+SCR (or the equivalent DAG setup) on RAID configurations.</p>
<p>Not so fast. Microsoft’s claims around DJS configurations usually talk about the up-front capital expenditures. There’s more to a solid design than just the up-front storage price tag, and even if the DJS solution does provide savings in your situation, that is only the start. You also need to think about the lifetime of your storage and all the operational costs. For instance, what happens when one of those 1:1 drives fails?</p>
<p>Well, if you bought a really cheap DAS array, your first indication will be when Exchange starts throwing errors and the active copy moves to one of the other replicas. (You are monitoring your Exchange servers, right?) More expensive DAS arrays usually directly let you know that a disk failed. Either way, you have to replace the disk. Again, with a cheap white-box array, you’re on your own to buy replacement disks, while a good DAS vendor will provide replacements within the warranty/maintenance period. Once the disk is replaced, you have to re-establish the database replica. This brings us to the wonderful <em>manual</em> process known as <strong>database reseeding</strong>, which is not only a manual task, but can take quite a significant amount of time – especially if you made use of archival mailboxes and stuffed that DJS configuration full of data. Let&#8217;s take a closer look at what this means to you.</p>
<p><strong>[Begin 4/13 update]</strong></p>
<p>There’s a dearth of hard information out there about what types of reseed throughputs we can achieve in the real world, and my initial version of this post where I assumed 20GB/hour as an “educated guess” earned me a bit of ribbing in some quarters. In my initial example, I said that if we can reseed 20GB of data per hour (from a local passive copy to avoid the I/O hit to the active copy), that’s 10 hours for a 200GB database, 30 hours for a 600GB database, or 60 hours –two and a half days! – for a 1.2 TB database<em>[2]</em>.</p>
<p>According to the <a href="http://msexchangeteam.com/archive/2010/03/29/454443.aspx" target="_blank">Top 10 Exchange Storage Myths</a> post on the Exchange team blog, 20GB/hour is way too low; in their internal deployments, they’re seeing between 35-70GB per hour. How would these speeds affect reseed times in my examples above? Well, let’s look at Table 1:</p>
<p><strong>Table 1: Example Exchange 2010 Mailbox Database reseed times</strong></p>
<table border="1" cellspacing="0" cellpadding="2" width="450">
<tbody>
<tr>
<td width="133" valign="top"><strong>Database Size</strong></td>
<td width="187" valign="top"><strong>Reseed Throughput </strong></td>
<td width="128" valign="top"><strong>Reseed Time</strong></td>
</tr>
<tr>
<td width="133" valign="top">200GB</td>
<td width="187" valign="top">20GB/hr</td>
<td width="128" valign="top">10 hours</td>
</tr>
<tr>
<td width="133" valign="top">200GB</td>
<td width="187" valign="top">35GB/hr</td>
<td width="128" valign="top">7 hours</td>
</tr>
<tr>
<td width="133" valign="top">200GB</td>
<td width="187" valign="top">50GB/hr</td>
<td width="128" valign="top">4 hours</td>
</tr>
<tr>
<td width="133" valign="top">200GB</td>
<td width="187" valign="top">70GB/hr</td>
<td width="128" valign="top">3 hours</td>
</tr>
<tr>
<td width="133" valign="top">600GB</td>
<td width="187" valign="top">20GB/hr</td>
<td width="128" valign="top">30 hours</td>
</tr>
<tr>
<td width="133" valign="top">600GB</td>
<td width="187" valign="top">35GB/hr</td>
<td width="128" valign="top">18 hours</td>
</tr>
<tr>
<td width="133" valign="top">600GB</td>
<td width="187" valign="top">50GB per hour</td>
<td width="128" valign="top">12 hours</td>
</tr>
<tr>
<td width="133" valign="top">600GB</td>
<td width="187" valign="top">70GB per hour</td>
<td width="128" valign="top">9 hours</td>
</tr>
<tr>
<td width="133" valign="top">1.2TB</td>
<td width="187" valign="top">20GB/hr</td>
<td width="128" valign="top">60 hours</td>
</tr>
<tr>
<td width="133" valign="top">1.2TB</td>
<td width="187" valign="top">35GB/hr</td>
<td width="128" valign="top">35 hours</td>
</tr>
<tr>
<td width="133" valign="top">1.2TB</td>
<td width="187" valign="top">50GB/hr</td>
<td width="128" valign="top">24 hours</td>
</tr>
<tr>
<td width="133" valign="top">1.2TB</td>
<td width="187" valign="top">70GB/hr</td>
<td width="128" valign="top">18 hours</td>
</tr>
</tbody>
</table>
<p>As you can see, reseed time can be a key variable in a DJS design. In some cases, depending on your business needs, these times could make or break whether this is a good design. I’ve done some talking around and found out that reseed times in the field are all over the charts. I had several people talk to me at the MVP Summit and ask me under what conditions I’d seen 20GB/hour, as that was too high. Astrid McClean and Matt Gossage of Microsoft had a great discussion with me and obviously felt that 20GB/hour is way too low.</p>
<p>Since then, I’ve received a lot of feedback and like I said, it’s all over the map. However, I’ve yet to hear anyone outside of Microsoft publicly state a reseed throughput higher than 20GB/hour. What this says to me is that getting the proper network design in place to support a good reseed rate hasn’t been a big point in deployments so far, and that in order to make a DJS design work, this may need to be an additional consideration.</p>
<p>If your replication network is designed to handle the amount of traffic required for normal DAG replication and doesn’t have sufficient throughput to handle reseed operations, you may be hurting yourself in the unlikely event of suffering multiple simultaneous replica failures on the same mailbox database.</p>
<p>This is a bigger concern for shops that have a small tolerance for any given drive failure. In most environments, one of the unspoken effects of a DJS DAG design is that you are trading number of replicas – and database-level failover – for replica rebuild time. If you’re reduced from four replicas down to three, or three down to two during the time it takes to detect the disk failure, replace the disk, and complete the reseed, you&#8217;ll probably be okay with that taking a longer period of time as long as you have sufficient replicas.</p>
<p>All during the reseed time, you have one fewer replica of that database to protect you. If your business processes and requirements don’t give you that amount of leeway, you either have to design smaller databases (and waste the disk capacity, which brings us right back to the good old bad days of Exchange 2000/2003 storage design) or use RAID.</p>
<p><strong>[End 4/13 update]</strong></p>
<p>Now, with a RAID solution, we don’t have that same problem. We still have a RAID volume rebuild penalty, but that’s happening inside the disk shelf at the controller, not across our network between Exchange servers. And with a well-designed RAID solution such as generic RAID 10 (1+0) or NetApp’s RAID-DP, you can actually survive the loss of more disks at the same time. Plus, a RAID solution gives me the flexibility to populate my databases with smaller or larger mailboxes as I need, and aggregate out the capacity and performance across my disks and databases. Sure, I don’t get that nice 1:1 disk to database ratio, but I have a lot more administrative flexibility and can survive disk loss without automatically having to begin the reseed dance.</p>
<p>Don’t get me wrong – I’m wildly enthusiastic that I as an Exchange architect have the option of designing to JBOD configurations. I like having choices, because that helps me make the right decisions to meet my customers’ needs. And that, in the end, is the point of a well-designed Exchange deployment – to meet <strong>your</strong> needs. Not the needs of Microsoft, and not the needs of your storage or server vendors. While I’m fairly confident that starting with a default NetApp storage solution is the right choice for many of the environments I’ll be facing, I also know how to ask the questions that lead me to consider DJS instead. There’s still a place for RAID at the Exchange storage table.</p>
<p>In further installments over the next few months, I’ll begin to address the <strong>SATA vs. SAS/FC</strong> and <strong>DAS vs. SAN</strong> arguments as well. I’ll then try to wrap it up with a practical and realistic set of design examples that pull all the pieces together.</p>
<p><em><strong>[1]</strong> RAID-1 (mirroring) and RAID-10 (striping and mirroring) both create two physical copies of the data. RAID-5 does not, but it allows the loss of a single drive failure &#8212; effectively giving you a virtual second copy of the data.</em></p>
<p><em><strong>[2]</strong> Curious why picked these database sizes?  200GB is the recommended maximum size for Exchange 2007 (due to backup limitations), and 600GB/1.2TB are the realistic recommended maximums you can get from 1TB and 2TB disks today in a DJS replica-per-disk deployment; you need to leave room for the content index, transaction logs, and free space.</em></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.thecabal.org/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p><img src="http://feeds.feedburner.com/~r/thecabal/doe/~4/ZEZgWFiF5EE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thecabal.org/2010/01/from-whence-redundancy-exchange-2010-storage-essays-part-1/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://www.thecabal.org/2010/01/from-whence-redundancy-exchange-2010-storage-essays-part-1/</feedburner:origLink></item>
		<item>
		<title>A Virtualization Metaphor</title>
		<link>http://feedproxy.google.com/~r/thecabal/doe/~3/skjOAFbmhZ0/</link>
		<comments>http://www.thecabal.org/2010/01/a-virtualization-metaphor/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 05:12:29 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[People]]></category>

		<guid isPermaLink="false">http://www.thecabal.org/2010/01/a-virtualization-metaphor/</guid>
		<description><![CDATA[This is a rare kind of blog post for me, because I’m basically copying a discussion that rose from one of my Twitter/Facebook status updates earlier today: I wish I could change the RAM, CPU configuration on running VMs in #VMWare and have the changes apply on next reboot. This prompted one of my nieces, [...]]]></description>
			<content:encoded><![CDATA[<p>This is a rare kind of blog post for me, because I’m basically copying a discussion that rose from one of my Twitter/Facebook status updates earlier today:</p>
<blockquote><p>I wish I could change the RAM, CPU configuration on running VMs in #VMWare and have the changes apply on next reboot.</p></blockquote>
<p>This prompted one of my nieces, a lovely and intelligent young lady in high school, to ask me to say that in English.</p>
<p>I pondered just hand waving it, but I was loathe to do so. Like I said, she’s intelligent. I firmly believe that kids live up to your expectations; if you talk down to them and treat them like they’re dumb because that’s what you expect, they’re happy to be that way. On the other hand, if you expect them to be able to understand concepts with the proper explanations, even if they may not immediately grasp the fine points, I’ve found that kids are actually quite able to do so – better than many adults, truth be told.</p>
<p>So, this is my answer:</p>
<blockquote><p>The physical machinery of computers is called hardware. The programs that run on them (Windows, games, etc.) is software.<br />
VMware is software that allows you to create virtual machines. That is, instead of buying (for example) 10 computers to do different tasks and have most of them have unused memory and processor power, you buy one or two really beefy computers and run VMWare. That allows you to create a virtual machine in software, so those two computers become 10. I don&#8217;t have to buy quite as much hardware because each virtual machine only uses the resources it needs, leaving the rest for the other virtual machines.</p>
<p>However, one of the problems with VMWare currently is that if you find you&#8217;ve given a virtual machine too much memory or processor (or not enough), you have to shut it down, make the change, then start it back up. I want the software to be smart enough to take the change *now* and automatically apply it when it can, such as when the virtual machine is rebooting. For a physical computer, it makes sense &#8212; I have to power it down, crack the case open, put memory in, etc. &#8212; but for a virtual computer, it should be able to be done in software.</p>
<p>Think of it this way: hardware is like a closet. You can build a big closet or a small closet or a medium closet, but each closet holds a finite amount of stuff. Software is the stuff you put in the closet &#8212; clothes, shoes, linens, etc. You can dump a bunch of stuff into a big closet, but doing so makes it cluttered and hard to use. So if you use multiple smaller closets, you&#8217;re wasting space because you probably won&#8217;t fill every one exactly.</p>
<p>In this metaphor, virtualization is like a closet organizer system. You can add a clothing rod here to hang dresses and blouses on, and underneath that add a shelf or two for shoes, while to the side you have more shelves for pants and towels and other stuff. You waste a little bit of your closet space for the organizer, but you keep everything organized and clutter-free, which means you&#8217;re better off and take less time to keep everything up.</p>
<p>Of course, this metaphor fails on my original point, because it totally makes sense you have to take all the stuff off shelves before moving those shelves around. In the world of software, though, it doesn&#8217;t necessarily make sense &#8212; it&#8217;s just the right people didn&#8217;t think of it at the right time.</p>
<p>Clear?</p></blockquote>
<p>I came close to busting out Visio and starting to diagram some of this. I decided not to.</p>
<p><strong>Edit: I don&#8217;t have to diagram it! Thank you, Ikea, and your lovely <a href="http://www.ikea.com/us/en/catalog/categories/departments/bedroom/10997/" target="_blank">KOMPLEMENT</a> wardrobe organizer line!</strong></p>
<p><strong><a title="Ikea's KOMPLEMENT line" href="http://www.ikea.com/us/en/catalog/categories/departments/bedroom/10997/" target="_blank"><img class="aligncenter size-full wp-image-1028" title="IkeaKOMPLEMENT" src="http://www.thecabal.org/wp-content/uploads/2010/01/IkeaKOMPLEMENT.png" alt="Ikea KOMPLEMENT organizer as virtualization software" width="240" height="360" /></a><br />
</strong></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.thecabal.org/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p><img src="http://feeds.feedburner.com/~r/thecabal/doe/~4/skjOAFbmhZ0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thecabal.org/2010/01/a-virtualization-metaphor/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.thecabal.org/2010/01/a-virtualization-metaphor/</feedburner:origLink></item>
		<item>
		<title>North Pole data leakage woes</title>
		<link>http://feedproxy.google.com/~r/thecabal/doe/~3/JbtDLbhel4o/</link>
		<comments>http://www.thecabal.org/2009/12/north-pole-data-leakage-woes/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 17:00:37 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Humor]]></category>
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://www.thecabal.org/?p=1023</guid>
		<description><![CDATA[Not even old Saint Nick is immune from the need for a good data management and protection regime. First, we have confirmation that his naughty and nice database has been hacked. Now, there are credible rumors that the North Pole CIO has been covering up a years-long, systemic problem with Santa losing mobile devices. According [...]]]></description>
			<content:encoded><![CDATA[<p>Not even old Saint Nick is immune from the need for a good data management and protection regime.</p>
<p>First, we have confirmation that his <a title="Another Leak, the worst so far" href="http://precision-blogging.blogspot.com/2009/12/another-leak-worst-so-far.html" target="_blank">naughty and nice database</a> has been hacked.</p>
<p>Now, there are credible rumors that the <a title="Bumble!" href="http://msmindy.com/rudolph/char_bumble.shtml" target="_blank">North Pole CIO</a> has been covering up a years-long, systemic problem with Santa losing mobile devices. According to unidentified sources, the list of allegations includes:</p>
<ul>
<li>Lack of priority for safeguarding key data, especially through mobile systems. Recent refits for the sled have focused on <a title="Official NORAD Santa Tracker" href="http://www.noradsanta.org/" target="_blank">tracking transponders</a> for &#8220;greater publicity&#8221;, but no corresponding upgrades to mobile IT systems. These systems are specifically characterized as &#8220;obsolete 286 systems running DOS and home-brew <a title="But is it better than Notes?" href="http://en.wikipedia.org/wiki/Paradox_%28database%29" target="_blank">Paradox applications</a> written by some dentist in his spare time.&#8221;</li>
<li>Habitual problems with smartphones. In order to ensure inexpensive world-wide access, Santa&#8217;s system includes the use of multiple handsets from strategically selected regional carriers. &#8220;In the last several years, Santa has yet to come back from his Christmas Eve run without having lost at least three of his devices,&#8221; one insider claims, &#8220;and of course we don&#8217;t have remote wipe capabilities. That would require him spending money.&#8221;</li>
<li>Lax information and network practices, including no formal security policies or processes. Remote accesses aren&#8217;t even protected via SSL, according to sources, since &#8220;anyone who&#8217;s so cheap they haven&#8217;t updated <a title="In black and white, even!" href="http://www.youtube.com/watch?v=Qs-7F94n-ZM" target="_blank">stock PR footage of elves making wooden toys</a> isn&#8217;t likely to shell out for a respected SSL certificate or PKI infrastructure.&#8221;</li>
</ul>
<p>It will take time to gather confirmation of these claims, but if they are true, it shows a shocking disregard for basic security best practices at the North Pole.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.thecabal.org/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p><img src="http://feeds.feedburner.com/~r/thecabal/doe/~4/JbtDLbhel4o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thecabal.org/2009/12/north-pole-data-leakage-woes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.thecabal.org/2009/12/north-pole-data-leakage-woes/</feedburner:origLink></item>
		<item>
		<title>Busting the Exchange Trusted Subsystem Myth</title>
		<link>http://feedproxy.google.com/~r/thecabal/doe/~3/J7ECb_mArho/</link>
		<comments>http://www.thecabal.org/2009/12/busting-the-exchange-trusted-subsystem-myth/#comments</comments>
		<pubDate>Sun, 20 Dec 2009 11:14:11 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Exchange]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.thecabal.org/2009/12/busting-the-exchange-trusted-subsystem-myth/</guid>
		<description><![CDATA[It’s amazing what kind of disruption leaving your job, looking for a new job, and starting to get settled in to a new job can have on your routines. Like blogging. Who knew? At any rate, I’m back with some cool Exchange blogging. I’ve been getting a chance to dive into a “All-Devin, All-Exchange, All [...]]]></description>
			<content:encoded><![CDATA[<p>It’s amazing what kind of disruption leaving your job, looking for a new job, and starting to get settled in to a new job can have on your routines. Like blogging. Who knew?</p>
<p>At any rate, I’m back with some cool Exchange blogging. I’ve been getting a chance to dive into a “All-Devin, All-Exchange, All The Time” groove and it’s been a lot of fun, some of the details of which I hope to be able to share with you in upcoming months. In the process, I’ve been building a brand new Exchange 2010 lab environment and ran smack into a myth that seems to be making the rounds among people who are deploying Exchange 2010. This myth gives bum advice for those of you who are deploying an Exchange 2010 DAG and not using an Exchange 2010 Hub Transport as your File Share Witness (FSW). I call it the <strong>Exchange Trusted Subsystem Myth</strong>, and the first hint of it I see seems to be on <a href="http://www.confusedamused.com/notebook/domain-controller-as-file-share-witness-for-an-exchange-2010-dag/" target="_blank">this blog post</a>. However, that same advice seems to have gotten around the net, as evidenced by <a href="http://blogs.technet.com/ferris/archive/2009/10/13/dag-fsw-permissions-errors-during-creation-process-try-this.aspx" target="_blank">this almost word-for-word copy</a> or this <a href="http://chrislehr.com/2009/10/exchange-2010-database-availability.htm" target="_blank">posting that links to the first one</a>. Like many myths, this one is pernicious not because it’s completely wrong, but because it works even though it’s wrong.</p>
<p>If you follow the Exchange product group’s deployment assumptions, you’ll never run into the circumstance this myth addresses; the FSW is placed on an Exchange 2010 HT role in the organization. Although you can specify the FSW location (server and directory) or let Exchange pick a server and directory or you, the FSW share isn’t created during the configuration of the DAG (<a href="http://www.shudnow.net/2009/11/18/exchange-2010-rtm-dag-using-server-2008-r2-%E2%80%93-part-4/" target="_blank">as documented by fellow Exchange MVP Elan Shudnow</a> and the “Witness Server Requirements” section of the <a href="http://technet.microsoft.com/en-us/library/dd638104.aspx" target="_blank">Planning for High Availability and Site Resilience</a> TechNet topic). Since it’s being created on an Exchange server as the second member of the DAG is joined, Exchange has all the permissions it needs on the system to create the share. If you elect to put the share on a non-Exchange server, then Exchange doesn’t have permissions to do it. Hence the myth:</p>
<ol>
<li>Add the FSW server’s machine account to the <strong>Exchange Trusted Subsystem</strong> group.</li>
<li>Add the <strong>Exchange Trusted Subsystem</strong> group to the FSW server’s local <strong>Administrators</strong> group.</li>
</ol>
<p>The sad part is, only the second action is necessary. True, doing the above will make the FSW work, but it will also open a much wider hole in your security than you need or want. Let me show you from my shiny new lab! In this configuration, I have three Exchange systems: <em>EX10MB01</em>, <em>EX10MB02</em>, and <em>EX10MB03</em>. All three systems have the Mailbox, Client Access, and Hub Transport roles. Because of this, I want to put the FSW on a separate machine. I could have used a generic member server, but I specifically wanted to debunk the myth, so I picked my DC <em>EX10DC01</em> with malice aforethought.</p>
<ul>
<li>In Figure 1, I show adding the <strong>Exchange Trusted Subsystem</strong> group to the <strong>Builtin/Administrators</strong> group on <em>EX10DC01</em>. If this weren’t a domain controller, I could add it to the local <strong>Administrators</strong> group instead, but DCs require tinkering. <strong>[1]</strong></li>
</ul>
<p class="aligncenter" style="text-align: center;"><img class="aligncenter" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="ExTrSubSys-DC-AdminsGroup" src="http://www.thecabal.org/wp-content/uploads/2009/12/ExTrSubSysDCAdminsGroup_thumb.png" border="0" alt="ExTrSubSys-DC-AdminsGroup" width="408" height="450" /><br />
<strong>Figure 1: Membership of the Builtin/Administrators group on EX10DC01</strong></p>
<ul>
<li>In Figure 2, I show the membership of the <strong>Builtin/Administrators</strong> group on <em>EX10DC01</em>. No funny business up my sleeve!</li>
</ul>
<p class="aligncenter" style="text-align: center;"><img class="aligncenter" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="ExTrSubSys-Members" src="http://www.thecabal.org/wp-content/uploads/2009/12/ExTrSubSysMembers_thumb.png" border="0" alt="ExTrSubSys-Members" width="408" height="452" /><br />
<strong>Figure 2: Membership of the Exchange Trusted Subsystem group</strong></p>
<ul>
<li>I now create the DAG object, specifying <em>EX10DC01</em> as my FSW server and the <em>C:\EX10DAG01</em> directory so we can see if it ever gets created (and when).</li>
<li>In Figure 3, I show the root of the C:\ drive on <em>EX10DC01</em> after adding the second Exchange 2010 server to the DAG. Now, the directory and share are created, without requiring the server’s machine account to be added to the <strong>Exchange Trusted Subsystem</strong> group.</li>
</ul>
<p class="aligncenter" style="text-align: center;"><img class="aligncenter" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="ExTrSubSys-FSWCreated" src="http://www.thecabal.org/wp-content/uploads/2009/12/ExTrSubSysFSWCreated_thumb.png" border="0" alt="ExTrSubSys-FSWCreated" width="603" height="641" /><br />
<strong>Figure 3: The FSW created on EX10DC01</strong></p>
<p>I suspect that this bad advice came about through a combination of circumstances, including an improper understanding of Exchange caching of Active Directory information and when the FSW is actually created. However it came about, though, it needs to be stopped, because any administrator that configures their Exchange organization is opening a big fat hole in the Exchange security model.</p>
<p>So, why is adding the machine account to the <strong>Exchange Trusted Subsystem</strong> group a security hole? The answer lies in Exchange 2010’s shift to Role Based Access Control (RBAC). In previous versions of Exchange, you delegated permissions directly to Active Directory and Exchange objects, allowing users to perform actions directly from their security context. If they had the appropriate permissions, their actions succeeded.</p>
<p>In Exchange 2010 RBAC, this model goes away; you now delegate permissions by telling RBAC what options given groups, policies, or users can perform, then assigning group memberships or policies as needed. When the EMS cmdlets run, they do so as the local machine account; since the local machine is an Exchange 2010 server, this account has been added to the <strong>Exchange Trusted Subsystem</strong> group. This group has been delegated the appropriate access entries in Active Directory and Exchange databases objects, as described in the <a href="http://technet.microsoft.com/en-us/library/dd638106.aspx" target="_blank">Understanding Split Permissions</a> TechNet topic. For a comprehensive overview of RBAC and how all the pieces fit together, read the <a href="http://technet.microsoft.com/en-us/library/dd298183.aspx" target="_blank">Understanding Role Based Access Control</a> TechNet topic.</p>
<p>By improperly adding a non-Exchange server to this group, you’re now giving that server account the ability to read and change any Exchange-related object or property in Active Directory or Exchange databases. Obviously, this is a hole, especially given <a href="http://blogs.technet.com/askds/archive/2008/10/22/getting-a-cmd-prompt-as-system-in-windows-vista-and-windows-server-2008.aspx" target="_blank">the relative ease with which one local administrator can get a command line prompt running as one of the local system accounts</a>.</p>
<p>So please, do us all a favor: if you ever hear or see someone passing around this myth, please, link them here.</p>
<p class="aligncenter" style="text-align: center;"><img class="aligncenter" style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="ExTrSubSys-Busted" src="http://www.thecabal.org/wp-content/uploads/2009/12/ExTrSubSysBusted_thumb.png" border="0" alt="ExTrSubSys-Busted" width="204" height="216" /><br />
<strong>Busted!</strong></p>
<p><em><strong>[1]</strong> Yes, it is also granting much broader permissions than necessary to make a DC the FSW node. Now the <strong>Exchange Trusted Subsystem</strong> group is a member of the <strong>Domain Admins</strong> group. This is probably not what you want to do, so really, don’t do this outside of a demo lab.</em></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.thecabal.org/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p><img src="http://feeds.feedburner.com/~r/thecabal/doe/~4/J7ECb_mArho" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thecabal.org/2009/12/busting-the-exchange-trusted-subsystem-myth/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		<feedburner:origLink>http://www.thecabal.org/2009/12/busting-the-exchange-trusted-subsystem-myth/</feedburner:origLink></item>
		<item>
		<title>Support Our Scout</title>
		<link>http://feedproxy.google.com/~r/thecabal/doe/~3/V9-5rmdgRh0/</link>
		<comments>http://www.thecabal.org/2009/10/support-our-scout/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 06:57:01 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Autism Spectrum]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Scouting]]></category>

		<guid isPermaLink="false">http://www.thecabal.org/2009/10/support-our-scout/</guid>
		<description><![CDATA[Edit 11/11/09 to remove the embedded video and replace it with a link. It was messing up the layout and I need to do more research to figure out how to embed videos inline. I love living in the future. First, though, watch this video that Alaric and I made. I was a Boy Scout [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><em>Edit 11/11/09 to remove the embedded video and replace it with a link. It was messing up the layout and I need to do more research to figure out how to embed videos inline.</em></p>
<p style="text-align: left;">I love living in the future. First, though, watch <a title="Support Our Scout" href="http://www.youtube.com/watch?v=wj99G_AXS-w&amp;feature=player_embedded" target="_blank">this video that Alaric and I made</a>.</p>
<p style="text-align: left;">I was a Boy Scout for close to three years. I started as a Boy Scout; I missed Cub Scouts, including Webelos Scout. When I was in Scouting, we had to go door-to-door to do our fundraisers, or spend a lot of time with our relatives over the phone. I hated doing it, for reasons that didn’t become clear until much later in life when I began grappling with autism and Asperger’s. However, I have a lot of good memories of Scouting; it did a lot for me and it was a valuable part of my childhood.</p>
<p style="text-align: left;">Steph and I wanted Alaric to experience Scouting. Even though the modern BSA has some characteristics that I don’t agree with, I’ve come to the decision that first and foremost, Scouting is about the boys. Scouting needs intelligent, reasonable adults of all persuasions to help drive the program. By being part of Scouting, Alaric will learn and do things Steph and I can’t give him on our own; by having us there with him, Alaric will learn how to deal with people from differing backgrounds in a diplomatic and productive manner.</p>
<p style="text-align: left;">Over the summer, Alaric has really seen what a good thing Scouting is. He even got me to go to Scout Camp with him for four days in July, and I must admit I even had fun. It was a great experience for both of us, including facing down and conquering some challenges.</p>
<p style="text-align: left;">Unlike many Scout packs and troops, Alaric’s pack works on the schedule of the school year. As a result, they do their major fundraising push at the beginning of the school year with a number of activities. Alaric’s already helped out pulling Hire-A-Scout wagons at the local auto swap meet and had a great time. However, the major source of operating funds is the traditional <a href="http://www.trails-end.com/estore/scouts/email_referral.jsp?id=3440240" target="_blank">Trail’s End</a> popcorn fundraiser. <a href="http://www.trails-end.com/estore/scouts/email_referral.jsp?id=3440240" target="_blank">Trail’s End</a>, if you don’t know, has been the go-to-source for Scout fundraising for a long time, and they offer some of the best popcorn on the planet.</p>
<p style="text-align: left;">Over the past few weeks, we’ve been rather hectic and busy and haven’t really had time to coach Alaric on his first door-to-door sales campaign. (Poor guy seems to have the same issues I did when I was his age, so it was pretty painful.) This last week, I came up with what is I hope a brainstorm: harness the power of the Internet to get Alaric’s sales pitch out there. So, you get to enjoy the results: the following video where Alaric and I pitch popcorn to YOU, the faithful reader. And because this is the future, <a href="http://www.trails-end.com/estore/scouts/email_referral.jsp?id=3440240" target="_blank">Trail’s End</a> even got with the program: they now allow you to purchase online, supporting a specific Scout, and have the product shipped directly to your door!</p>
<p style="text-align: left;"><strong><a href="http://www.trails-end.com/estore/scouts/email_referral.jsp?id=3440240" target="_blank">Go to Trail’s End to support Alaric’s fundraising for his pack</a></strong></p>
<p style="text-align: left;">Thank you for your support!</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.thecabal.org/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p><img src="http://feeds.feedburner.com/~r/thecabal/doe/~4/V9-5rmdgRh0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thecabal.org/2009/10/support-our-scout/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.thecabal.org/2009/10/support-our-scout/</feedburner:origLink></item>
		<item>
		<title>Leaving 3Sharp</title>
		<link>http://feedproxy.google.com/~r/thecabal/doe/~3/qhlLAoyZyDc/</link>
		<comments>http://www.thecabal.org/2009/10/leaving-3sharp/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 21:19:25 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[3Sharp]]></category>

		<guid isPermaLink="false">http://blogs.3sharp.com/deving/archive/2009/10/15/leaving-3sharp.aspx</guid>
		<description><![CDATA[3Sharp has been a fantastic place to work; for the last six and half years, my co-workers and I have walked the road together. One of the realities of growth, though, is that you often reach the fork in the road where you have to move down different paths. Working with Paul, Tim, Missy, Kevin, [...]]]></description>
			<content:encoded><![CDATA[<p>3Sharp has been a fantastic place to work; for the last six and half years, my co-workers and I have walked the road together. One of the realities of growth, though, is that you often reach the fork in the road where you have to move down different paths. Working with Paul, Tim, Missy, Kevin, and the rest of the folks who have been part of the Platform Services Group here at 3Sharp over the years has been a wild journey, but we were only one of three groups at 3Sharp; the other two groups are also chock-full of smart people doing wonderful things with SharePoint and Office. 3Sharp will be moving forward to focus on those opportunities, and the Platform Services Group (which focused on Exchange, OCS, Windows Server, Windows Mobile, and DPM) is closing its doors. My last day here will be tomorrow, Friday, October 16.</p>
<p>I think that the Ecclesiastes 3:1 says it best; in the King James Version, the poet says, “To every thing there is a season, and a time to every purpose under the heaven.” It has been my privilege to use this blog to talk about Exchange, data protection, and all the other topics I’ve talked about since my first post here five years ago (holy crap, has it really been five years???) With 3Sharp’s gracious permission and blessing, I’ll be duplicating all of the content I’ve posted here over on my personal blog, <a target="_blank" href="http://www.thecabal.org/">Devin on Earth</a>. If you have a link or bookmark for this blog or are following me via RSS, please take a moment to update it now (<a target="_blank" href="http://www.thecabal.org/feed/">Devin on Earth RSS feed</a>). I’ve got a few new posts cooking, but this will be my last post here.</p>
<p>Thank you to 3Sharp and the best damn co-workers I could ever hope to work with over the years. Thank you, my readers. You all have helped me grow and solidify my skills, and I hope I returned the favor. I look forward to continuing the journey with many of you, even if I’m not sure yet where it will take me.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.thecabal.org/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p><img src="http://feeds.feedburner.com/~r/thecabal/doe/~4/qhlLAoyZyDc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thecabal.org/2009/10/leaving-3sharp/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.thecabal.org/2009/10/leaving-3sharp/</feedburner:origLink></item>
		<item>
		<title>OneNote 2010 Keeps Your Brains In Your Head</title>
		<link>http://feedproxy.google.com/~r/thecabal/doe/~3/an4NCScIzG4/</link>
		<comments>http://www.thecabal.org/2009/10/onenote-2010-keeps-your-brains-in-your-head/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 20:03:07 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[3Sharp]]></category>

		<guid isPermaLink="false">http://blogs.3sharp.com/deving/archive/2009/10/13/onenote-2010-keeps-your-brains-in-your-head.aspx</guid>
		<description><![CDATA[Some months back, those of you who follow me on Twitter (@devinganger) may have a noticed a series of teaser Tweets about a project I was working on that involved zombies. Yes, that’s right, zombies. The RAHR-BRAINS-RAHR shambling undead kind, not the “mystery objects in Active Directory” kind. Well, now you can see what I [...]]]></description>
			<content:encoded><![CDATA[<p>Some months back, those of you who follow me on Twitter (@devinganger) may have a noticed a series of teaser Tweets about a project I was working on that involved zombies.</p>
<p>Yes, that’s right, <em>zombies</em>. The RAHR-BRAINS-RAHR shambling undead kind, not the “mystery objects in Active Directory” kind.</p>
<p>Well, now you can see what I was up to.</p>
<p>I was working with long-time fellow 3Sharpie <a target="_blank" href="http://blogs.3sharp.com/davidg/">David Gerhardt</a> on creating a series of 60-second vignettes for the upcoming Office 2010 application suite. Each vignette focuses on a single new area of functionality in one of the Office products. I got to work with OneNote 2010.</p>
<p>Here’s where the story gets good.</p>
<p>I got brought into the project somewhat late, after a bunch of initial planning and prep work had been done. The people who had been working on the project had decided that they didn’t want to do the same boring business-related content in their OneNote 2010 vignettes; oh, no! Instead, they hit upon the wonderful idea of using a <a target="_blank" href="http://www.bing.com/search?q=zombie+plan&amp;form=QBLH&amp;qs=n">Zombie Plan</a> as the base document. Now, I don’t really like zombies, but this seemed like a great way to spice up a project!</p>
<p>The rest, as they say, is history. Check out the results (posted both at GetSharp and somewhere out on YouTube) for yourself:</p>
<ul>
<li><a target="_blank" href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=72&amp;userId=33&amp;caid=&amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D">OneNote 2010 Advanced Wiki Features</a></li>
<li><a target="_blank" href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=71&amp;userId=33&amp;caid=&amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D">OneNote 2010 Linked Notes</a></li>
<li><a target="_blank" href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=70&amp;userId=33&amp;caid=&amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D">OneNote 2010 Quick Filing</a></li>
<li><a target="_blank" href="http://getsharp.3sharp.com/Pages/PodcastDetail.aspx?itemId=69&amp;userId=33&amp;caid=&amp;csId=%257B268419CC-CF1E-466A-B32D-B006109B747A%257D%2540%257B410410E2-5E4F-40A7-8A22-C48A197B4423%257D">OneNote 2010 Search UI</a></li>
</ul>
<p>One of the best parts of this project, other than getting a chance to learn about some of the wildly cool stuff the OneNote team is doing to enhance an already wonderful product, was the music selection. We worked a deal with local artist <a target="_blank" href="http://www.davepezzner.com/">Dave Pezzner</a> to use some of his short music clips for these videos. Dave is immensely talented and provided a wide selection of material, so I enjoyed being able to pick and choose just the right music for each video. It did occur to me how cool it would be if I could use Jonathan Coulton’s fantastic song <a target="_blank" href="http://www.jonathancoulton.com/2006/03/24/thing-a-week-26-re-your-brains/">Re: Your Brains</a>, but somehow I think his people lost my query email. Such is life – and I think Mr. Pezzner’s music provided just the right accompaniment to the Zombie Plan content.</p>
<p>Enjoy!</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.thecabal.org/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p><img src="http://feeds.feedburner.com/~r/thecabal/doe/~4/an4NCScIzG4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thecabal.org/2009/10/onenote-2010-keeps-your-brains-in-your-head/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.thecabal.org/2009/10/onenote-2010-keeps-your-brains-in-your-head/</feedburner:origLink></item>
		<item>
		<title>The Great Exchange Blog Migration</title>
		<link>http://feedproxy.google.com/~r/thecabal/doe/~3/Mf6oJEYcEkY/</link>
		<comments>http://www.thecabal.org/2009/10/the-great-exchange-blog-migration/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 18:12:22 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.thecabal.org/2009/10/the-great-exchange-blog-migration/</guid>
		<description><![CDATA[Over the next few days, I’ll be adding a large number of posts (just over 250!!!) to the archives of this blog. For a number of congruent reasons, 3Sharp is closing down the Platform Services Group (which focused on Exchange, OCS, Windows Server, Windows Mobile, and DPM) and my last day will be this Friday, [...]]]></description>
			<content:encoded><![CDATA[<p>Over the next few days, I’ll be adding a large number of posts (just over 250!!!) to the archives of this blog. For a number of congruent reasons, <a href="http://www.3sharp.com/" target="_blank">3Sharp</a> is closing down the Platform Services Group (which focused on Exchange, OCS, Windows Server, Windows Mobile, and DPM) and my last day will be this Friday, October 16 after over six and half years with them. With 3Sharp’s gracious permission and blessing, I’ll be duplicating all of the content I’ve posted on <a href="http://blogs.3sharp.com/" target="_blank">the 3Sharp blog server</a> over to here. If you have a link or bookmark for <a href="http://blogs.3sharp.com/deving/" target="_blank">my work blog</a> or are following it via RSS, please take a moment to update your settings. Yes, that means there’s going to be more geeky technical Exchange stuff going forward, but hey, with a single blog to focus on, maybe I’ll be more prolific overall!</p>
<p>To head off some of the obvious questions:</p>
<ul>
<li>This is not a horrible thing. 3Sharp and I are parting ways peacefully because it’s the right decision for all of us; they need to focus on SharePoint, and I’m so not a SharePoint person. They’ve done fantastic things for my career and I cherish my time with them, but part of being an adult is knowing when to move on. We’re all agreed that time has come.</li>
<li>I’m not quite sure where I’m going to end up yet. I’ve got a couple of irons in the fire and I have high hopes for them, but it’s not time to talk about them. I <em>am</em> going to have at least a week or two of time off, which is good; there are several projects at home in dire need of sustained attention (unburying my home office, for one; fixing a balky Exchange account for another).</li>
<li>I’m not going to be a complete shut-in. I’ve got a couple of appointments for the following week, including a Microsoft focus group and a presentation on PowerPoint for Treanna’s English class. I’m open to doing some short-term independent consulting or contracting work as well, so contact me if you know someone who needs some Exchange help.</li>
</ul>
<p>Thank you to 3Sharp and the best damn co-workers I could ever hope to work with over the years – and a huge thank you to all of my readers, regardless of which blog you’ve been following. The last several years have been a wild ride, and I look forward to continuing the journey with many of you, even if I’m not sure yet where it will take me.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.thecabal.org/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p><img src="http://feeds.feedburner.com/~r/thecabal/doe/~4/Mf6oJEYcEkY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thecabal.org/2009/10/the-great-exchange-blog-migration/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.thecabal.org/2009/10/the-great-exchange-blog-migration/</feedburner:origLink></item>
		<item>
		<title>Two karate blessings</title>
		<link>http://feedproxy.google.com/~r/thecabal/doe/~3/S8RqBz0CGeY/</link>
		<comments>http://www.thecabal.org/2009/10/two-karate-blessings/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 05:38:01 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Health]]></category>
		<category><![CDATA[Karate]]></category>
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://www.thecabal.org/2009/10/two-karate-blessings/</guid>
		<description><![CDATA[These past 14 months that I’ve been a karate student have given me a number of deeply satisfying moments, including the joy of sharing an activity with my daughter. Last Tuesday, however, proved to be an especially fruitful class for both of us. Starting in September, the YMCA agreed to try out dropping class fees [...]]]></description>
			<content:encoded><![CDATA[<p>These past 14 months that I’ve been a karate student have given me a number of deeply satisfying moments, including the joy of sharing an activity with my daughter. Last Tuesday, however, proved to be an especially fruitful class for both of us.</p>
<p>Starting in September, the YMCA agreed to try out dropping class fees for YMCA members, and as you might imagine, we immediately saw a small but steady wave of new sign-ups for class. As a result, for the first time in a while, we have a good number of new students – white belts. As a result, we spend a large chunk of class time going back over many of the basic techniques in more detail than we’ve gotten used to. Those of us who are higher belts get to work with the white belts one-on-one during many of these exercises. This proves beneficial to everyone – they get a personal workout, and we get a mirror to more clearly see how well we’ve mastered the basics (or not, as it usually happens).</p>
<p>The first blessing was working with a gentleman who has been in class somewhere around a month. He and I were working through one-step exercises: one person performs a basic punch attack while the other defends, then we switch roles. We do this with seven defenses. As you work through the ranks, the defense techniques get more complicated, but for white belt one-steps, it’s pretty simple. Or so it seems <em>now</em> after a year; they were quite challenging when I first started and I got to re-experience that working with this gentleman. During our practice, he had one of those epiphany moments and what had been a struggle suddenly turned into <em>AHA!</em> with a clarity we both felt. It was an honor to be working with him in that moment.</p>
<p>The second blessing came about indirectly because of some misbehavior. You see, our protocol and customs direct us to pay attention and not engage in side conversations or monkey business when <em>sensei</em> is teaching. (Turns out there are no exceptions for “if you think you already know this” or “if you’re bored.” I checked. Who knew?) Well, several of us – including me and Treanna – weren’t quite paying attention to that one, and the senior student got called on it. I later told Treanna that he’d taken one for the team; we all were equally guilty of inattention. As class was drawing to an end, though, Treanna engaged in another breach of protocol that earned her some gentle ribbing. (She might read this, so I won’t tell you what she did. This time.)</p>
<p>Being a vigilant father and role model, I immediately realized we had what the experts call “a teachable moment” here. So we cracked open our karate notebooks and made a date to come back tonight after dinner, both having read the protocols, and discuss what we’d found:</p>
<ul>
<li>There are three basic sets of protocol in our notebook: white belt (people who’ve just joined), blue belt (9th kyu, or your first belt), and orange belt (7th kyu, or your third belt). After reading them, we decided that they all have the common themes of <em>respect</em>, <em>safety</em>, and <em>responsibility</em>.</li>
<li>We think that white belt protocol focuses mainly on the <em>what habits I need to become a student <strong>(discipline)</strong></em>. That is, all of the guidance seems to be directed more at helping the newcomer gain the structures he will need to effectively learn karate.</li>
<li>We think that blue belt protocol focuses mainly on <em>how I become a member of the community <strong>(identity)</strong></em>. This comes after the first belt (typically earned after several months) and the guidance is more focused on becoming aware of and fitting into the dojo structure.</li>
<li>Finally, we think that orange belt protocol focuses mainly on <em>how I give back to the community <strong>(service)</strong></em>. This comes after three belts and around a year of study – a good foundation from which to be able to start learning to progress by helping others.</li>
<li>As a final note, we saw that there was no specific protocol for further belts. We speculate that’s because the student in green and brown belts is expected to do the same things she is already doing, just to a greater degree. And once she gets to black belt – that’s a watershed mark, and <em>sensei</em> will teach us what is expected of us on that day at the proper time.</li>
</ul>
<p>If you’re not in a martial art, that’s probably boring and generic. To Treanna and I, though, it seemed pretty profound, and I think we’ll walk back into class tomorrow with a new-found sense of focus and commitment.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.thecabal.org/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p><img src="http://feeds.feedburner.com/~r/thecabal/doe/~4/S8RqBz0CGeY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thecabal.org/2009/10/two-karate-blessings/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.thecabal.org/2009/10/two-karate-blessings/</feedburner:origLink></item>
		<item>
		<title>Why Aren’t My Exchange Certificates Validating?</title>
		<link>http://feedproxy.google.com/~r/thecabal/doe/~3/1HeKIa21Svk/</link>
		<comments>http://www.thecabal.org/2009/08/why-arenrsquot-my-exchange-certificates-validating/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 23:42:58 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[3Sharp]]></category>
		<category><![CDATA[Exchange]]></category>

		<guid isPermaLink="false">http://blogs.3sharp.com/deving/archive/2009/08/21/why-arenrsquot-my-exchange-certificates-validating.aspx</guid>
		<description><![CDATA[Updated 10/13: Updated the link to the blog article on configuring Squid for Exchange per the request of the author Owen Campbell. Thank you, Owen, for letting me know the location had changed! By now you should be aware that Microsoft strongly recommends that you publish Exchange 2010/2007 client access servers (and Exchange 2003/2000 front-end [...]]]></description>
			<content:encoded><![CDATA[<p style="TEXT-ALIGN: center"><strong>Updated 10/13: <em>Updated the link to the blog article on configuring Squid for Exchange per the request of the author Owen Campbell. Thank you, Owen, for letting me know the location had changed!</em></strong></p>
<p>By now you should be aware that Microsoft strongly recommends that you publish Exchange 2010/2007 client access servers (and Exchange 2003/2000 front-end servers) to the Internet through a reverse proxy like <a href="http://technet.microsoft.com/en-us/forefront/edgesecurity/default.aspx" target="_blank">Microsoft’s Internet Security and Acceleration Server 2006 SP1</a> (ISA) or the still-in-beta <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e05aecbc-d0eb-4e0f-a5db-8f236995bccd" target="_blank">Microsoft Forefront Threat Management Gateway</a> (TMG). There are other reverse proxy products out there, such as the open source <a href="http://www.squid-cache.org/" target="_blank">Squid</a> (<a href="http://www.tanti.org.uk/index.php/blogs/blog-owen/3-tech/3-proxy" target="_blank">with some helpful guides on how to configure it for EAS, OWA, and Outlook Anywhere</a>), but many of them can only be used to proxy the HTTP-based protocols (for example, the reverse proxy module for the <a href="http://www.apache.org/" target="_blank">Apache web server</a>) and won’t handle the RPC component of Outlook Anywhere.</p>
<p>When you’re following this recommendation, you keep your Exchange CAS/HT/front-end servers in your private network and place the ISA Server (or other reverse proxy solution) in your perimeter (DMZ) network. In addition to ensuring that your reverse proxy is scrubbing incoming traffic for you, you can also gain another benefit: <strong>SSL bridging</strong>. SSL bridging is where there are two SSL connections – one between the client machine and the reverse proxy, and a separate connection (often using a different SSL certificate) between the reverse proxy and the Exchange CAS/front-end server. SSL bridging is awesome because it allows you radically reduce the number of commercial SSL certificates you need to buy. You can use Windows Certificate Services to generate and issue certificates to all of your internal Exchange servers, creating them with all of the Subject Alternate Names that you need and desire, and still have a commercial certificate deployed on your Internet-facing system (nice to avoid certificate issues when you’re dealing with home systems, public kiosks, and mobile devices, no?) that has just the public common namespaces like <em>autodiscover.yourdomain.tld</em> and <em>mail.yourdomain.tld</em> (or whatever you actually use).</p>
<p>In the rest of this article, I’ll be focusing on ISA because, well, I don’t know Squid that well and haven’t actually seen it in use to publish Exchange in a customer environment. Write what you know, right?</p>
<p>One of the most irritating experiences I’ve consistently had when using ISA to publish Exchange securely is getting the certificate configuration on ISA correct. If you all want, I can cover certificate namespaces in another post, because that’s not what I’m talking about – I actually find that relatively easy to deal with these days. No, what I find annoying about ISA and certificates is getting all of the proper root CA certificates and intermediate CA certificates in place. The process you have to go through varies on who you buy your certificates from. There are a couple, like GoDaddy, that offer inexpensive certificates that do exactly what Exchange needs for a decent price – but they require an extra bit of configuration to get everything working.</p>
<p>The problem you’ll see is two-fold:</p>
<ol>
<li>External clients will not be able to connect to Exchange services. This will be inconsistent; some browsers and some Outlook installations (especially those on new Windows installs or well-updated Windows installs) will work fine, while others won’t. You may have big headaches getting mobile devices to work, and the error messages will be cryptic and unhelpful.</li>
<li>While validating your Exchange publishing rules with the <a href="https://www.testexchangeconnectivity.com/" target="_blank">Exchange Remote Connectivity Analyzer</a> (ExRCA), you get a validation error on your certificate as shown in Figure 1.</li>
</ol>
<p style="TEXT-ALIGN: center"><a href="http://blogs.3sharp.com/images/blogs_3sharp_com/deving/WindowsLiveWriter/ExchangeISACertificatesandValidation_CBD0/missing-intermediate-cert_2.png"><img class="aligncenter" style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="ExRCA can't find the intermediate certificate on your ISA server" src="http://blogs.3sharp.com/images/blogs_3sharp_com/deving/WindowsLiveWriter/ExchangeISACertificatesandValidation_CBD0/missing-intermediate-cert_thumb.png" border="0" alt="ExRCA can't find the intermediate certificate on your ISA server" width="314" height="338" /></a><br />
<strong>Figure 1: Missing intermediate CA certificate validation error in ExRCA</strong></p>
<p>The problem is that some devices don’t have the proper certificate chain in place. Commercial certificates typically have two or three certificates in their signing chain: the root CA certificate, an intermediate CA certificate, and (optionally) an additional intermediate CA certificate. The secondary intermediate CA certificate is typically the source of the problem; it’s configured as a cross-signing certificate, which is intended to help CAs transition old certificates from one CA to another without invalidating the issued certificates. If your certificate was issued by a CA that has these in place, you have to have both intermediate CA certificates in place on your ISA server <em>in the correct certificate stores</em>.</p>
<p>By default, CAs will issue the entire certificate chain to you in a single bundle when they issue your cert. You have to import this bundle on the machine you issued the request from or else you don’t get the private key associated with the certificate. Once you’ve done that, you need to re-export the certificate, with the private key and its entire certificate chain, so that you can import it in ISA. This is important because ISA needs the private key so it can decrypt the SSL session (required for bridging), and ISA needs all the certificate signing chain so that it can hand out missing intermediate certificates to devices that don’t have them (such as Windows Mobile devices that have the root CA certificates). If the device doesn’t have the right intermediates, can’t download it itself (like Internet Explorer can), and can’t get it from ISA, you’ll get the certificate validation errors.</p>
<p>Here’s what you need to do to fix it:</p>
<ul>
<li>Ensure that your server certificate has been exported with the private key and *all* necessary intermediate and root CA certificates.</li>
<li>Import this certificate bundle into your ISA servers. Before you do this, check the computer account’s personal certificate store and make sure any root or intermediate certificates that got accidentally imported there are deleted.</li>
<li>Using the Certificate MMC snap-in, validate that the certificate now shows as valid when browsing the certificate on your ISA server, as shown in Figure 2.</li>
</ul>
<p style="TEXT-ALIGN: center"><a href="http://blogs.3sharp.com/images/blogs_3sharp_com/deving/WindowsLiveWriter/ExchangeISACertificatesandValidation_CBD0/valid-intermediate-cert_2.png"><img class="aligncenter" style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="Even though the Certificates MMC snap-in shows this certificate as valid, ISA won't serve it out until the ISA Firewall Service is restarted!" src="http://blogs.3sharp.com/images/blogs_3sharp_com/deving/WindowsLiveWriter/ExchangeISACertificatesandValidation_CBD0/valid-intermediate-cert_thumb.png" border="0" alt="Even though the Certificates MMC snap-in shows this certificate as valid, ISA won't serve it out until the ISA Firewall Service is restarted!" width="412" height="512" /></a><br />
<strong>Figure 2: A validated server certificate signing chain on ISA Server</strong></p>
<ul>
<li><strong>IMPORTANT STEP: restart the ISA Firewall Service on your ISA server (if you’re using an array, you have to do this on each member; you’ll want to drain the connections before restarting, so it can take a while to complete).</strong> Even though the Certificate MMC snap-in validates the certificate, the ISA Firewall only picks up the changes to the certificate chain on startup. This is annoying and stupid and has caused me pain in the past – most recently, with 3Sharp’s own Exchange 2010 deployment (thanks to co-worker and all around swell guy <a href="http://blogs.3sharp.com/timr/Default.aspx" target="_blank">Tim Robichaux</a> for telling me how to get ISA to behave).</li>
</ul>
<p>Also note that many of the commercial CAs specifically provide downloadable packages of their root CA and intermediate CA certificates. Some of them get really confusing – they have different CAs for different tiers or product lines, so you have to match the server certificate you have with the right CA certificates. <a href="https://certs.godaddy.com/Repository.go" target="_blank">GoDaddy’s CA certificate page can be found here</a>.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.thecabal.org/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p><img src="http://feeds.feedburner.com/~r/thecabal/doe/~4/1HeKIa21Svk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thecabal.org/2009/08/why-arenrsquot-my-exchange-certificates-validating/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.thecabal.org/2009/08/why-arenrsquot-my-exchange-certificates-validating/</feedburner:origLink></item>
		<item>
		<title>Some Thoughts on FBA (part 2)</title>
		<link>http://feedproxy.google.com/~r/thecabal/doe/~3/cimeoeqoOfw/</link>
		<comments>http://www.thecabal.org/2009/08/some-thoughts-on-fba-part-2/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 18:20:32 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[3Sharp]]></category>
		<category><![CDATA[Exchange]]></category>

		<guid isPermaLink="false">http://blogs.3sharp.com/deving/archive/2009/08/21/some-thoughts-on-fba-part-2.aspx</guid>
		<description><![CDATA[As promised, here’s part 2 of my FBA discussion, in which we&#8217;ll talk about the interaction of ISA’s forms-based authentication (FBA) feature with Exchange 2010. (See part 1 here.) Offloading FBA to ISA As I discussed in part 1, ISA Server includes the option of performing FBA pre-authentication as part of the web listener. You [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">As promised, here’s part 2 of my FBA discussion, in which we&#8217;ll talk about the interaction of ISA’s forms-based authentication (FBA) feature with Exchange 2010. (<a href="http://www.thecabal.org/2009/07/some-thoughts-on-fba-part-1/">See part 1 here</a>.)</p>
<h3 style="text-align: left;">Offloading FBA to ISA</h3>
<p style="text-align: left;">As I discussed in part 1, ISA Server includes the option of performing FBA pre-authentication as part of the web listener. You aren’t stuck with FBA – you can use other pre-auth methods too. The thinking behind this is that ISA is the security server sitting in the DMZ, while the Exchange CAS is in the protected network. Why proxy an incoming connection from the Internet into the real world (even with ISA’s impressive HTTP reverse proxy and screening functionality) if it doesn’t present valid credentials? In this configuration, ISA is configured for FBA while the Exchange 2010/2007 CAS or Exchange 2003 front-end server are configured for Windows Integrated or Basic as shown in Figure 1 (a figure so nice I’ll re-use it):</p>
<p style="text-align: center;"><a href="http://blogs.3sharp.com/images/blogs_3sharp_com/deving/WindowsLiveWriter/Part2_9684/exchange-and-fba_2.png"><img class="aligncenter" style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="Publishing Exchange using FBA on ISA" src="http://blogs.3sharp.com/images/blogs_3sharp_com/deving/WindowsLiveWriter/Part2_9684/exchange-and-fba_thumb.png" border="0" alt="Publishing Exchange using FBA on ISA" width="484" height="264" /></a></p>
<p style="text-align: center;"><em><strong>Figure 1: Publishing Exchange using FBA on ISA</strong></em></p>
<h3 style="text-align: left;">Moving FBA off of ISA</h3>
<p style="text-align: left;">Having ISA (and Threat Management Gateway, the 64-bit successor to ISA 2006) perform pre-auth in this fashion is nice and works cleanly. However, in our Exchange 2010 deployment, we found a couple of problems with it:</p>
<p style="text-align: left;">The early beta releases of <a title="The Mac Office Outlook replacement, upgraded to work with Exchange Web Services" href="http://www.microsoft.com/mac/itpros/entourage-ews.mspx" target="_blank">Entourage for EWS</a> wouldn’t work with this configuration; Entourage could never connect. If our users connected to the 3Sharp VPN, bypassing the ISA publishing rules, Entourage would immediately see the Exchange 2010 servers and do its thing. I don’t know if the problem was solved for the final release.</p>
<p style="text-align: left;">We couldn’t get federated calendar sharing, a new Exchange 2010 feature, to work. Other Exchange 20120 organizations would get errors when trying to connect to our organization. This new calendar sharing feature uses a Windows Live-based central brokering service to avoid the need to provision and manage credentials.</p>
<p style="text-align: left;">Through some detailed troubleshooting with Microsoft and other Exchange 2010 organizations, we finally figured out that our ISA FBA configuration was causing the problem. The solution was to disable ISA pre-authentication and re-enable FBA on the appropriate virtual directories (OWA and ECP) on our CAS server. Once we did that, not only did federated calendar sharing start working flawlessly, but our Entourage users found their problems had gone away too. For more details of what we did, read on.</p>
<h3 style="text-align: left;">How Calendar Sharing Works in Exchange 2010</h3>
<p style="text-align: left;">If you haven’t seen other descriptions of the federated calendar sharing, here’s a quick primer on how it works. This will help you understand why, if you’re using ISA pre-auth for your Exchange servers, you’ll want to rethink it.</p>
<p style="text-align: left;">In Exchange 2007, you could share calendar data with other Exchange 2007 organizations. Doing so meant that your CAS servers had to talk to their calendar servers, and the controls around it were not that granular. In order to do it, you either needed to establish a forest trust and grant permissions to the other forest’s CAS servers (to get detailed per-user free/busy information) or set up a separate user in your forest for the foreign forests to use (to get default per-org free/busy data). You also have to fiddle around with the Autodiscover service connection points and ensure that you’ve got pointers for the foreign Autodiscover SCPs in your own AD (and the foreign systems have yours). You also have to publish Autodiscover and EWS externally (which you have to do for Outlook Anywhere) and coordinate all your certificate CAs. While this doesn’t sound that bad, you have to do these steps for every single foreign organization you’re sharing with. That adds up, and it’s a poorly documented process – you’ll start at <a href="http://technet.microsoft.com/en-us/library/bb125182.aspx" target="_blank">this TechNet topic about the Availability service</a> and have to do a lot of chasing around to figure out how certificates fit in, how to troubleshoot it, and the SCP export and import process.</p>
<p style="text-align: left;">In Exchange 2010, this gets a lot easier; individual users can send sharing invitations to users in other Exchange 2010 organizations, and you can set up organization relationships with other Exchange 2010 organizations. Microsoft has broken up the process into three pieces:</p>
<ol style="text-align: left;">
<li><strong>Establish your organization’s trust relationship with Windows Live.</strong> This is a one-time process that must take place before any sharing can take place – and you don’t have to create or manage any service or role accounts. You just have to make sure that you’re using a CA to publish Autodiscover/EWS that Windows Live will trust. (Sorry, there’s no list out there yet, but keep watching the docs on TechNet.) From your Exchange 2010 organization (typically through EMC, although you can do it from EMS) you’ll swap public keys (which are built into your certificates) with Windows Live and identify one or more accepted domains that you will allow to be federated. Needless to say, Autodiscover and EWS must be properly published to the Internet. You also have to add a single DNS record to your public DNS zone, showing that you do have authority over the domain namespace. <em>If you have multiple domains and only specify some of them, beware: users that don’t have provisioned addresses in those specified domains won’t be able to share or receive federated calendar info!</em></li>
<li><strong>Establish one or more sharing policies.</strong> These policies control how much information your users will be able to share with external users through sharing invitations. The setting you pick here defines the maximum level of information that your users can share from their calendars: none, free/busy only, some details, or all details. You can create a single policy for all your users or use multiple policies to provision your users on a more granular basis. You can assign these policies on a per-user basis.</li>
<li><strong>Establish one or more sharing relationships with other organizations.</strong> When you want to view availability data of users in other Exchange 2010 organizations, you create an organization relationship with them. Again, you can do this via EMC or EMS. This tells your CAS servers to lookup information from the defined namespaces on behalf of your users – contingent, of course, that the foreign organization has established the appropriate permissions in their organization relationships. If the foreign namespace isn’t federated with Windows Live, then you won’t be allowed to establish the relationship.</li>
</ol>
<p style="text-align: left;">You can read more about these steps <a href="http://technet.microsoft.com/en-us/library/dd351109(EXCHG.140).aspx" target="_blank">in the TechNet documentation</a> and at <a href="http://technet.microsoft.com/en-us/library/dd351033(EXCHG.140).aspx" target="_blank">this TechNet topic</a> (although since TechNet is still in beta, it’s not all in place yet). You should also know that these policies and settings combine with the ACLs on users calendar folders, and as is the typical case in Exchange when there are multiple levels of permission, the most restrictive level wins.</p>
<p style="text-align: left;">What’s magic about all of this is that, at no point along the way other than the initial first step, do you have to worry consciously about the certificates you’re using. You never have to provide or provision credentials. As you create your policies and sharing relationships with other organizations – and other organizations create them with yours – Windows Live is hovering silently in the background, acting as a trusted broker for the initial connections. When your Exchange 2010 organization interacts with another, your CAS servers receive a SAML token from Windows Live. This token is then passed to the foreign Exchange 2010 organization, which can validate it because of its own trust relationship with Windows Live. All this token does is validate that your servers are really coming from the claimed namespace – Windows Live plays no part in authorization, retrieving the data, or managing the sharing policies.</p>
<p style="text-align: left;">However, here’s the problem: when my CAS talks to your CAS, they’re using SAML tokens – <strong>not user accounts</strong> – to authenticate against IIS for EWS calls. ISA Server (and, IIRC, TMG) don’t know how to validate these tokens, so the incoming requests can’t authenticate and pass on to the CAS. The end result is that you can’t get a proper sharing relationship set up and you can’t federate calendar data.</p>
<h3 style="text-align: left;">What We Did To Fix It</h3>
<p style="text-align: left;">Once we knew what the problem was, fixing it was easy:</p>
<ol style="text-align: left;">
<li>Modify the OWA and ECP virtual directors on all of our Exchange 2010 CAS servers to perform FBA. These are the only virtual directories that permit FBA, so they’re the only two you need to change:<strong>Set-OWAVirtualDirectory -Identity &#8220;CAS-SERVER\owa (Default Web Site)&#8221; -BasicAuthentication $TRUE -WindowsAuthentication $FALSE -FormsAuthentication $TRUE</strong>Set-ECPVirtualDirectory -Identity &#8220;CAS-SERVER\ecp (Default Web Site)&#8221; -BasicAuthentication $TRUE -WindowsAuthentication $FALSE -FormsAuthentication $TRUE</li>
<li>Modify the Web listener on our ISA server to disable pre-authentication. In our case, we were using a single Web listener for Exchange (and only for Exchange), so it was a simple matter of changing the authentication setting to a value of <strong>No Authentication</strong>.</li>
<li>Modify each of the ISA publishing rules (ActiveSync, Outlook Anywhere, and OWA):On the <em>Authentication</em> tab, select the value <strong>No delegation, but client may authenticate directly</strong>.On the <em>Users</em> tab, remove the value <strong>All Authenticated Users</strong> and replace it with the value <strong>All Users</strong>. This is important! If you don’t do this, ISA won’t pass any connections on!</li>
</ol>
<p style="text-align: left;">You may also need to take a look at the rest of your Exchange virtual directories and ensure that the authentication settings are valid; many places will allow Basic authentication between ISA and their CAS servers and require NTLM or Windows Integrated from external clients to ISA.</p>
<p style="text-align: left;">Calendar sharing and ISA FBA pre-authentication are both wonderful features, and I’m a bit sad that they don’t play well together. I hope that future updates to TMG will resolve this issue and allow TMG to successfully pre-authenticate incoming federated calendar requests.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.thecabal.org/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p><img src="http://feeds.feedburner.com/~r/thecabal/doe/~4/cimeoeqoOfw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thecabal.org/2009/08/some-thoughts-on-fba-part-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.thecabal.org/2009/08/some-thoughts-on-fba-part-2/</feedburner:origLink></item>
		<item>
		<title>Stolen Thunder: Outlook for the Mac</title>
		<link>http://feedproxy.google.com/~r/thecabal/doe/~3/2cOQzJzUdBU/</link>
		<comments>http://www.thecabal.org/2009/08/stolen-thunder-outlook-for-the-mac/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 21:01:51 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[3Sharp]]></category>
		<category><![CDATA[Exchange]]></category>

		<guid isPermaLink="false">http://blogs.3sharp.com/deving/archive/2009/08/13/stolen-thunder-outlook-for-the-mac.aspx</guid>
		<description><![CDATA[I was going to write up a quick post about the release of Entourage for EWS (allowing it to work in native Exchange 2007, and, more importantly, Exchange 2010 environments) and the announcement that Office 2010 for the Mac would have Outlook, not Entourage, but Paul beat me to it, including my whole take on [...]]]></description>
			<content:encoded><![CDATA[<p>I was going to write up a quick post about the release of Entourage for EWS (allowing it to work in native Exchange 2007, and, more importantly, Exchange 2010 environments) and the announcement that Office 2010 for the Mac would have Outlook, not Entourage, but <a target="_blank" href="http://www.robichaux.net/blog/2009/08/ms-releases-entourage-ews-changes-name-t.php">Paul beat me to it</a>, including my whole take on the thing. So go read his.</p>
<p>For those keeping track at home, yes, I still owe you a second post on the Exchange 2010 calendar sharing. I’m working on it! Soon!</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.thecabal.org/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p><img src="http://feeds.feedburner.com/~r/thecabal/doe/~4/2cOQzJzUdBU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thecabal.org/2009/08/stolen-thunder-outlook-for-the-mac/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.thecabal.org/2009/08/stolen-thunder-outlook-for-the-mac/</feedburner:origLink></item>
		<item>
		<title>Windows 7 RC: The Switch</title>
		<link>http://feedproxy.google.com/~r/thecabal/doe/~3/9x9MYj0Cn8k/</link>
		<comments>http://www.thecabal.org/2009/07/windows-7-rc-the-switch/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 01:07:08 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://www.thecabal.org/2009/07/windows-7-rc-the-switch/</guid>
		<description><![CDATA[This weekend, I finally finished getting our desktop computers replaced. They’re older system that have been running Windows XP for a long time. I’d gotten newer hardware and had started building new systems, intending to put Vista Ultimate SP1 on them (so we could take advantage of domain memberships and Windows Media Center goodness with [...]]]></description>
			<content:encoded><![CDATA[<p>This weekend, I finally finished getting our desktop computers replaced. They’re older system that have been running Windows XP for a long time. I’d gotten newer hardware and had started building new systems, intending to put Vista Ultimate SP1 on them (so we could take advantage of domain memberships <em>and</em> Windows Media Center goodness with our Xboxes), but one thing led to another and they’ve been sitting forlornly on a shelf.</p>
<p>I must confess – I’m not a Vista fan. I grudgingly used it as the main OS on my work MacBook Pro for a while, but I never really warmed up to it. SP1, in my opinion, made it barely useable. There were some features about it I grew to like, but those were offset by a continued annoyance at how many clicks useful features had gotten buried behind.</p>
<p>So when I finally got busy getting these systems ready – thanks to Steph’s system suddenly forgetting how to talk to USB devices – I decided to use Windows 7 RC instead. What I’d seen of Windows 7 already made me believe that we’d have a much happier time with it. So far, I’d have to say that’s correct. Steph’s new machine was slightly tricky to install – the built-in network interface on the motherboard wasn’t recognized so I had to bootstrap with XP drivers – but otherwise, the whole experience has been flawless.</p>
<p>Want to try Windows 7 for yourself? <a href="http://windows.microsoft.com/en-US/windows7/products/home?os=nonwin7" target="_blank">Get it here</a>.</p>
<p>One of my favorite experiences was migrating our files and settings from the old machines. Windows 7, like Vista and Server 2008 before it, includes the <strong>Easy Transfer Wizard</strong>. This wizard is the offspring of XP’s <strong>Files and Settings Transfer Wizard</strong> but has a lot more smarts built in. As a result, I was able to quickly and easily get all our files and settings moved over without a hitch. With the exception of a laptop, we’re now XP free in my house.</p>
<p>Today, I ran across this blog post detailing <a href="http://blog.springhouse.com/index.php/2009/07/08/seven-windows-7-tips/" target="_blank">Seven Windows 7 Tips</a>. There were a couple of them I had already figured out (2, 4, and partial 3), but I’ll be trying out the rest this evening!</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.thecabal.org/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p><img src="http://feeds.feedburner.com/~r/thecabal/doe/~4/9x9MYj0Cn8k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thecabal.org/2009/07/windows-7-rc-the-switch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.thecabal.org/2009/07/windows-7-rc-the-switch/</feedburner:origLink></item>
		<item>
		<title>EAS: King of Sync?</title>
		<link>http://feedproxy.google.com/~r/thecabal/doe/~3/GadJ4ruk6lw/</link>
		<comments>http://www.thecabal.org/2009/07/eas-king-of-sync/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 04:06:09 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[3Sharp]]></category>
		<category><![CDATA[Exchange]]></category>

		<guid isPermaLink="false">http://blogs.3sharp.com/deving/archive/2009/07/10/eas-king-of-sync.aspx</guid>
		<description><![CDATA[Seven months or so ago, IBM surprised a bunch of people by announcing that they were licensing Microsoft’s Exchange ActiveSync protocol (EAS) for use with a future version of Lotus Notes. I’m sure there were a few folks who saw it coming, but I cheerfully admit that I was not one of them. After about [...]]]></description>
			<content:encoded><![CDATA[<p>Seven months or so ago, IBM surprised a bunch of people by announcing that <a target="_blank" href="http://www.robichaux.net/blog/2009/01/lotus-to-license-exchange-activesync.php">they were licensing Microsoft’s Exchange ActiveSync protocol</a> (EAS) for use with a future version of Lotus Notes. I’m sure there were a few folks who saw it coming, but I cheerfully admit that I was not one of them. After about 30 seconds of thought, though, I realized that it made all kinds of sense. EAS is a well-designed protocol, I am told by my developer friends, and I can certainly attest to the relative lightweight load it puts on Exchange servers <a target="_blank" href="http://blogs.msdn.com/douggowans/archive/2009/02/16/blackberry-without-bes.aspx">as compared to some of the popular alternatives</a> – enough so that BlackBerry add-ons that speak EAS have become a not-unheard of alternative for many organizations.</p>
<p>So, imagine my surprise when <a target="_blank" href="http://nickw.stormsim.com/">my Linux geek friend Nick</a> told me smugly that he now had a new Palm Pre and was synching it to his Linux-based email system using the Pre’s EAS support. “Oh?” said I, trying to stay casual as I was mentally envisioning the screwed-up mail forwarding schemes he’d put in place to route his email to an Exchange server somewhere. “Did you finally break down and migrate your email to an Exchange system? If not, how’d you do that?”</p>
<p>Nick then proceeded to point me in the direction of <a target="_blank" href="http://z-push.sourceforge.net/soswp/">Z-Push</a>, which is an elegant little open source PHP-based implementation of EAS. A few minutes of poking around and I became convinced that this was a wicked cool project. I really like how Z-Push is designed:</p>
<ul>
<li>The core PHP module answers incoming requests for the <em>http://server/Microsoft-Server-ActiveSync</em> virtual directory and handles all the protocol-level interactions. I haven’t dug into this deeply, but although it appears it was developed against Apache, folks have managed to get it working on a variety of web servers, including IIS! I’m not clear on whether authentication is handled by the package itself or by the web server. Now that I think about it, I suspect it just proxies your provided credentials on to the appropriate back-end system so that you don’t have to worry about integrating Z-Push with your authentication sources.</li>
<li>One or more back-end modules (also written in PHP), which read and write data from various data sources such as your IMAP server, a Maildir file system, or some other source of mail, calendar, or contact information. These back-end modules are run through a differential engine to help cut down on the amount of synching the back-end modules must perform. It looks like the API for these modules is very well thought-out; they obviously want developers to be able to easily write backends to tie in to a wide variety of data sources. You can mix and match multiple backends; for example, get your contact data from one system, your calendar from another, and your email from yet a third system.</li>
<li>If you’re running the Zarafa mail server, there’s a separate component that handles all types of data directly from Zarafa, easing your configuration. (Hey – Zarafa and Z-Push…I wonder if Zarafa provides developer resources; if so, way to go, guys!)</li>
</ul>
<p>You do need to be careful about the back-end modules; because they’re PHP code running on your web server, poor design or bugs can slam your web server. For example, there’s currently a bug in how the IMAP back-end re-scans messages, and the resulting load can create a noticeable impact on an otherwise healthy Apache server with just a handful of users. It’s a good thing that there seems to be <a target="_blank" href="http://z-push.sourceforge.net/soswp/index.php?pages_id=25&amp;t=about">a lively and knowledgeable community on the Z-Push forums</a>; they haven’t wasted any time in diagnosing the bug and providing suggested fixes.</p>
<p>Very deeply cool – folks are using Z-Push to provide, for example, an EAS connection point on their Windows Home Server, synching to their Gmail account. I wonder how long it will take for Linux-based “Exchange killers” (other than Zarafa) to wrap this product into their overall packages.</p>
<p>It’s products like this that help reinforce the awareness that EAS – and indirectly, Exchange – are a dominant enough force in the email market to make the viability of this kind of project not only potentially useful, but viable as an open source project.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.thecabal.org/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p><img src="http://feeds.feedburner.com/~r/thecabal/doe/~4/GadJ4ruk6lw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thecabal.org/2009/07/eas-king-of-sync/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.thecabal.org/2009/07/eas-king-of-sync/</feedburner:origLink></item>
		<item>
		<title>A Deplorable Development in the Tuber Arms Race</title>
		<link>http://feedproxy.google.com/~r/thecabal/doe/~3/-269MaIg5kc/</link>
		<comments>http://www.thecabal.org/2009/07/a-deplorable-development-in-the-tuber-arms-race/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 04:57:48 +0000</pubDate>
		<dc:creator>Devin</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[People]]></category>
		<category><![CDATA[Recreation]]></category>

		<guid isPermaLink="false">http://www.thecabal.org/2009/07/a-deplorable-development-in-the-tuber-arms-race/</guid>
		<description><![CDATA[OMG. No, seriously. _O_ M _G_. Potato guns/canons? Pretty wicked cool. But a potato gatling gun????? Frakking YES.]]></description>
			<content:encoded><![CDATA[<p>OMG.</p>
<p>No, seriously. _O_ M _G_.</p>
<p>Potato guns/canons? Pretty wicked cool.</p>
<p>But <em>a potato gatling gun</em>?????</p>
<p>Frakking YES.</p>
<p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:789d1e08-e511-4198-91e7-20482d661ea8" class="wlWriterEditableSmartContent">
<div><a href="http://www.youtube.com/watch?v=eHUyKrJeNv0&amp;feature=fvhl" target="_new"><img src="http://www.thecabal.org/wp-content/uploads/2009/07/video29e75fbaa44f.jpg" style="border-style: none" galleryimg="no" alt=""></a></div>
</div>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save"><img src="http://www.thecabal.org/wp-content/plugins/add-to-any/share_save_256_24.png" width="256" height="24" alt="Share/Bookmark"/></a> </p><img src="http://feeds.feedburner.com/~r/thecabal/doe/~4/-269MaIg5kc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thecabal.org/2009/07/a-deplorable-development-in-the-tuber-arms-race/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.thecabal.org/2009/07/a-deplorable-development-in-the-tuber-arms-race/</feedburner:origLink></item>
	</channel>
</rss>
