<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>DD-B</title>
	<atom:link href="http://dd-b.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://dd-b.net</link>
	<description>It&#039;s a playpen!</description>
	<lastBuildDate>Thu, 25 Feb 2010 02:33:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Server Upgrade Chronicles V</title>
		<link>http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-v/</link>
		<comments>http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-v/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 02:33:29 +0000</pubDate>
		<dc:creator>dd-b</dc:creator>
				<category><![CDATA[Computer Software]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[server upgrade chronicles]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[ZFS]]></category>

		<guid isPermaLink="false">http://dd-b.net/?p=1122</guid>
		<description><![CDATA[And I think I&#8217;m going to call it a win. The new disks are in and working. I&#8217;ve even got the regular snapshot script working pretty well.
Never did quite get the two new boot disks set up with identical partition sizes, but it doesn&#8217;t matter since I attached them both to the mirror (which was [...]]]></description>
			<content:encoded><![CDATA[<p>And I think I&#8217;m going to call it a win. The new disks are in and working. I&#8217;ve even got the regular snapshot script working pretty well.</p>
<p>Never did quite get the two new boot disks set up with identical partition sizes, but it doesn&#8217;t matter since I attached them both to the mirror (which was limited by the size of the old 80GB disks) first, and then detached the old disks.  At that point it expanded up to the available size, which was the smallest partition on the two new drives.  They differ by a MB or two out of 160GB, not important.</p>

<a href='http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-v/ddb-20100222-010-001/' title='ddb 20100222 010-001'><img width="150" height="150" src="http://dd-b.net/ddbcms/wp-content/uploads/2010/02/ddb-20100222-010-001-150x150.jpg" class="attachment-thumbnail" alt="Improvised support for SAS controller" title="ddb 20100222 010-001" /></a>
<a href='http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-v/ddb-20100222-010-002/' title='ddb 20100222 010-002'><img width="150" height="150" src="http://dd-b.net/ddbcms/wp-content/uploads/2010/02/ddb-20100222-010-002-150x150.jpg" class="attachment-thumbnail" alt="Guts" title="ddb 20100222 010-002" /></a>
<a href='http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-v/ddb-20100222-010-005/' title='ddb 20100222 010-005'><img width="150" height="150" src="http://dd-b.net/ddbcms/wp-content/uploads/2010/02/ddb-20100222-010-005-150x150.jpg" class="attachment-thumbnail" alt="" title="ddb 20100222 010-005" /></a>
<a href='http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-v/ddb-20100222-010-006/' title='ddb 20100222 010-006'><img width="150" height="150" src="http://dd-b.net/ddbcms/wp-content/uploads/2010/02/ddb-20100222-010-006-150x150.jpg" class="attachment-thumbnail" alt="I see the light!" title="ddb 20100222 010-006" /></a>
<a href='http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-v/ddb-20100222-010-007/' title='ddb 20100222 010-007'><img width="150" height="150" src="http://dd-b.net/ddbcms/wp-content/uploads/2010/02/ddb-20100222-010-007-150x150.jpg" class="attachment-thumbnail" alt="The miniature hot-swap bay" title="ddb 20100222 010-007" /></a>

]]></content:encoded>
			<wfw:commentRss>http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-v/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Replacing A Solaris EFI Disk Label</title>
		<link>http://dd-b.net/ddbcms/2010/02/replacing-a-solaris-efi-disk-label/</link>
		<comments>http://dd-b.net/ddbcms/2010/02/replacing-a-solaris-efi-disk-label/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 04:30:06 +0000</pubDate>
		<dc:creator>dd-b</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Computer Software]]></category>
		<category><![CDATA[disk label]]></category>
		<category><![CDATA[EFI]]></category>
		<category><![CDATA[server upgrade chronicles]]></category>
		<category><![CDATA[SMI]]></category>
		<category><![CDATA[Solaris]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[ZFS]]></category>

		<guid isPermaLink="false">http://dd-b.net/?p=1111</guid>
		<description><![CDATA[This is kind of an adjunct to part 4 of my &#8220;Server Upgrade Chronicles&#8221;.
ZFS root pools have some requirements and best-practices at variance to other ZFS pools. One of the most annoying is that you can&#8217;t use a whole disk, and you can&#8217;t use an EFI-labeled disk. This is annoying because for most ZFS uses [...]]]></description>
			<content:encoded><![CDATA[<p>This is kind of an adjunct to <a href="http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-iv/" target="_self">part 4</a> of my &#8220;Server Upgrade Chronicles&#8221;.</p>
<p>ZFS root pools have some requirements and best-practices at variance to other ZFS pools. One of the most annoying is that you can&#8217;t use a whole disk, and you can&#8217;t use an EFI-labeled disk. This is annoying because for most ZFS uses using a whole disk is the best practice, and when you do that ZFS puts an EFI label on that disk.</p>
<p>So, when you try to use in a root pool a disk you&#8217;d previously used somewhere else in ZFS, you often see this:</p>
<pre style="padding-left: 30px;">bash-3.2$ pfexec zpool attach rpool c4t0d0s0 c9t0d0s0
cannot attach c9t0d0s0 to c4t0d0s0: EFI labeled devices are not supported
on root pools.</pre>
<p>What do you do then? Well, you google, of course. And you find many sites explaining how to overwrite an EFI label on a disk. And every single one of them omits several things that seem to me to be key points (and which I had to play around with a lot to get any understanding of). The fact that ZFS is what drew me back into Solaris, and that I wasn&#8217;t ever really comfortable with their disk labeling scheme to begin with, is no doubt a contributing factor.</p>
<p>This is going to get long, so I&#8217;m putting in a cut here.<span id="more-1111"></span></p>
<p>And I&#8217;ve now found, in the relatively obvious place (but it doesn&#8217;t show up in the google searches I tried) the good and fairly <a href="http://www.solarisinternals.com/wiki/index.php/ZFS_Troubleshooting_Guide#Replacing.2FRelabeling_the_Root_Pool_Disk" target="_blank">official article</a> on how to do this. So maybe you should skip me and go right there. They&#8217;ve got a couple of neater ways of doing things than I did.</p>
<p>The first point, which comes fairly easily from the google hits, is that I need to use &#8220;format -e&#8221;, expert mode.  That much was useful.</p>
<pre style="padding-left: 30px;">bash-3.2$ pfexec format -e
Searching for disks...done

AVAILABLE DISK SELECTIONS:
 0. c4t0d0 &lt;DEFAULT cyl 9726 alt 2 hd 255 sec 63&gt;
 /pci@0,0/pci10de,cb84@5/disk@0,0
 1. c4t1d0 &lt;ATA-ST380811AS-E cyl 9726 alt 2 hd 255 sec 63&gt;
 /pci@0,0/pci10de,cb84@5/disk@1,0
 2. c5t0d0 &lt;ATA-HITACHI HDS7240S-A47A-372.61GB&gt;
 /pci@0,0/pci10de,cb84@5,1/disk@0,0
 3. c5t1d0 &lt;ATA-ST3400620AS-C-372.61GB&gt;
 /pci@0,0/pci10de,cb84@5,1/disk@1,0
 4. c6t0d0 &lt;ATA-HITACHI HDS7240S-A47A-372.61GB&gt;
 /pci@0,0/pci10de,cb84@5,2/disk@0,0
 5. c6t1d0 &lt;ATA-HITACHI HDS7240S-A47A-372.61GB&gt;
 /pci@0,0/pci10de,cb84@5,2/disk@1,0
 6. c9t0d0 &lt;ATA-WDC WD1600BEKT-6-1A13-149.05GB&gt;
 /pci@0,0/pci10de,376@a/pci15d9,a580@0/sd@0,0
 7. c9t2d0 &lt;ATA-WDCWD1600BEKT-6-1A13 cyl 21543 alt 2 hd 16 sec 128&gt;
 /pci@0,0/pci10de,376@a/pci15d9,a580@0/sd@2,0
Specify disk (enter its number): 6
selecting c9t0d0
[disk formatted]</pre>
<p>Note that c9t0d0 (#6) has a variant label string compared to the other identical drive (#7). We&#8217;ll fix that while we&#8217;re at it.</p>
<p>Next we have to delete the existing EFI label using fdisk.</p>
<pre style="padding-left: 30px;">format&gt; fdisk

 Total disk size is 19457 cylinders
 Cylinder size is 16065 (512 byte) blocks

 Cylinders
 Partition   Status    Type          Start   End   Length    %
 =========   ======    ============  =====   ===   ======   ===
 1                 EFI               0  19457    19458    100

SELECT ONE OF THE FOLLOWING:
 1. Create a partition
 2. Specify the active partition
 3. Delete a partition
 4. Change between Solaris and Solaris2 Partition IDs
 5. Exit (update disk configuration and exit)
 6. Cancel (exit without updating disk configuration)

Enter Selection: 3

Specify the partition number to delete (or enter 0 to exit): 1

Are you sure you want to delete partition 1? This will make all files and
programs in this partition inaccessible (type "y" or "n"). y

Partition 1 has been deleted.

             Total disk size is 19457 cylinders
 Cylinder size is 16065 (512 byte) blocks

Cylinders
 Partition   Status    Type          Start   End   Length    %
 =========   ======    ============  =====   ===   ======   ===

WARNING: no partitions are defined!

SELECT ONE OF THE FOLLOWING:
 1. Create a partition
 2. Specify the active partition
 3. Delete a partition
 4. Change between Solaris and Solaris2 Partition IDs
 5. Exit (update disk configuration and exit)
 6. Cancel (exit without updating disk configuration)
Enter Selection: 1
Select the partition type to create:
 1=SOLARIS2  2=UNIX        3=PCIXOS     4=Other
 5=DOS12     6=DOS16       7=DOSEXT     8=DOSBIG
 9=DOS16LBA  A=x86 Boot    B=Diagnostic C=FAT32
 D=FAT32LBA  E=DOSEXTLBA   F=EFI        0=Exit? 1

Specify the percentage of disk to use for this partition
(or type "c" to specify the size in cylinders). 100

Should this become the active partition? If yes, it  will be activated
each time the computer is reset or turned on.
Please type "y" or "n". y

Partition 1 is now the active partition.

 Total disk size is 19457 cylinders
 Cylinder size is 16065 (512 byte) blocks

 Cylinders
 Partition   Status    Type          Start   End   Length    %
 =========   ======    ============  =====   ===   ======   ===
 1       Active    Solaris2          1  19456    19456    100

SELECT ONE OF THE FOLLOWING:
 1. Create a partition
 2. Specify the active partition
 3. Delete a partition
 4. Change between Solaris and Solaris2 Partition IDs
 5. Exit (update disk configuration and exit)
 6. Cancel (exit without updating disk configuration)

Enter Selection: 5
format&gt;</pre>
<p>Sorry that&#8217;s a bit long. It&#8217;s also edited; fdisk uses cursor positioning to update the screen in place, and I&#8217;ve hacked through that in an attempt to present it as a readable transcript. Linespacing has been extensively altered. But it shows us having successfully removed the EFI label and put on a new label.</p>
<p>However, we still don&#8217;t have quite the right partitions for a ZFS root pool.</p>
<pre style="padding-left: 30px;">format&gt; p

PARTITION MENU:
 0      - change `0' partition
 1      - change `1' partition
 2      - change `2' partition
 3      - change `3' partition
 4      - change `4' partition
 5      - change `5' partition
 6      - change `6' partition
 7      - change `7' partition
 8      - change '8' partition
 9      - change `9' partition
 expand - expand label to use whole disk
 select - select a predefined table
 modify - modify a predefined partition table
 name   - name the current table
 print  - display the current table
 label  - write partition map and label to the disk
 !&lt;cmd&gt; - execute &lt;cmd&gt;, then return
 quit
partition&gt; p
Current partition table (default):
Total disk sectors available: 312565390 + 16384 (reserved sectors)

Part      Tag    Flag     First Sector         Size         Last Sector
 0        usr    wm                34      149.04GB          312565390
 1 unassigned    wm                 0           0               0
 2 unassigned    wm                 0           0               0
 3 unassigned    wm                 0           0               0
 4 unassigned    wm                 0           0               0
 5 unassigned    wm                 0           0               0
 6 unassigned    wm                 0           0               0
 7 unassigned    wm                 0           0               0
 8   reserved    wm         312565391        8.00MB          312581774

partition&gt; l
[0] SMI Label
[1] EFI Label
Specify Label type[1]: 0
Auto configuration via format.dat[no]?
Auto configuration via generic SCSI-2[no]? yes
Warning: no backup labels
partition&gt; p
Current partition table (default):
Total disk cylinders available: 152615 + 2 (reserved cylinders)

Part      Tag    Flag     Cylinders          Size            Blocks
 0       root    wm       0                 0         (0/0/0)              0
 1       swap    wu       0                 0         (0/0/0)              0
 2     backup    wu       0 - 152616      149.04GB    (152617/0/0) 312559616
 3 unassigned    wm       0                 0         (0/0/0)              0
 4 unassigned    wm       0                 0         (0/0/0)              0
 5 unassigned    wm       0                 0         (0/0/0)              0
 6        usr    wm       1 - 152614      149.04GB    (152614/0/0) 312553472
 7 unassigned    wm       0                 0         (0/0/0)              0
 8       boot    wu       0 -      0        1.00MB    (1/0/0)           2048
 9 alternates    wm       0                 0         (0/0/0)              0

format&gt; type

AVAILABLE DRIVE TYPES:
 0. Auto configure
 1. DEFAULT
 2. ATA-ST380811AS-E
 3. ATA-WDCWD1600BEKT-6-1A13
 4. other
Specify disk type (enter its number)[3]:
selecting c9t0d0
[disk formatted]

format&gt; p

PARTITION MENU:
 0      - change `0' partition
 1      - change `1' partition
 2      - change `2' partition
 3      - change `3' partition
 4      - change `4' partition
 5      - change `5' partition
 6      - change `6' partition
 7      - change `7' partition
 9      - change `9' partition
 select - select a predefined table
 modify - modify a predefined partition table
 name   - name the current table
 print  - display the current table
 label  - write partition map and label to the disk
 !&lt;cmd&gt; - execute &lt;cmd&gt;, then return
 quit
partition&gt; p
Current partition table (original):
Total disk cylinders available: 152615 + 2 (reserved cylinders)

Part      Tag    Flag     Cylinders          Size            Blocks
 0       root    wm       1 - 152614      149.04GB    (152614/0/0) 312553472
 1       swap    wu       0                 0         (0/0/0)              0
 2 unassigned    wu       0                 0         (0/0/0)              0
 3 unassigned    wm       0                 0         (0/0/0)              0
 4 unassigned    wm       0                 0         (0/0/0)              0
 5 unassigned    wm       0                 0         (0/0/0)              0
 6 unassigned    wm       0                 0         (0/0/0)              0
 7 unassigned    wm       0                 0         (0/0/0)              0
 8       boot    wu       0 -      0        1.00MB    (1/0/0)           2048
 9 alternates    wm       0                 0         (0/0/0)              0</pre>
<p>Turns out there&#8217;s a reason I can&#8217;t just delete the overlapping s2 slice:</p>
<pre style="padding-left: 30px;">bash-3.2$ pfexec /sbin/installgrub /boot/grub/stage1 /boot/grub/stage2
/dev/rdsk/c9t0d0s0
cannot open/stat device /dev/rdsk/c9t0d0s2</pre>
<p>I have no idea what it&#8217;s doing; maybe assuming that s2 is the whole disk?</p>
<p>So I have to go back and recreate s2.</p>
<pre style="padding-left: 30px;">partition&gt; 2
Part      Tag    Flag     Cylinders          Size            Blocks
 2 unassigned    wu       0                 0         (0/0/0)              0

Enter partition id tag[unassigned]: back
Enter partition permission flags[wu]:
Enter new starting cyl[0]:
Enter partition size[0b, 0c, 0e, 0.00mb, 0.00gb]: ?
Expecting up to 312555520 blocks, 152615 cylinders,  152615 end cylinder,  15261\
5.00 megabytes, or 149.04 gigabytes
Enter partition size[0b, 0c, 0e, 0.00mb, 0.00gb]: 152615c
partition&gt; p
Current partition table (unnamed):
Total disk cylinders available: 152615 + 2 (reserved cylinders)

Part      Tag    Flag     Cylinders          Size            Blocks
 0       root    wm       1 - 152614      149.04GB    (152614/0/0) 312553472
 1       swap    wu       0                 0         (0/0/0)              0
 2     backup    wu       0 - 152614      149.04GB    (152615/0/0) 312555520
 3 unassigned    wm       0                 0         (0/0/0)              0
 4 unassigned    wm       0                 0         (0/0/0)              0
 5 unassigned    wm       0                 0         (0/0/0)              0
 6 unassigned    wm       0                 0         (0/0/0)              0
 7 unassigned    wm       0                 0         (0/0/0)              0
 8       boot    wu       0 -      0        1.00MB    (1/0/0)           2048
 9 alternates    wm       0                 0         (0/0/0)              0

partition&gt; l
[0] SMI Label
[1] EFI Label
Specify Label type[0]: 0
Ready to label disk, continue? y

Warning: no backup labels

partition&gt; q

FORMAT MENU:
[long menu snipped]
format&gt; q

bash-3.2$</pre>
<p>And that was in fact that.</p>
<pre style="padding-left: 30px;">bash-3.2$ pfexec zpool attach rpool c4t0d0s0 c9t0d0s0
invalid vdev specification
use '-f' to override the following errors:
/dev/dsk/c9t0d0s0 overlaps with /dev/dsk/c9t0d0s2

bash-3.2$ pfexec zpool attach rpool c4t0d0s0 c9t0d0s0
Please be sure to invoke installgrub(1M) to make 'c9t0d0s0' bootable.

bash-3.2$ pfexec /sbin/installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c9t0d0s0
stage1 written to partition 0 sector 0 (abs 16065)
stage2 written to partition 0, 271 sectors starting at 50 (abs 16115)

bash-3.2$ zpool status rpool
 pool: rpool
 state: ONLINE
status: One or more devices is currently being resilvered.  The pool will
 continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
 scrub: resilver in progress for 0h0m, 23.08% done, 0h1m to go
config:

 NAME          STATE     READ WRITE CKSUM
 rpool         ONLINE       0     0     0
 mirror      ONLINE       0     0     0
 c4t0d0s0  ONLINE       0     0     0
 c4t1d0s0  ONLINE       0     0     0
 c9t2d0s0  ONLINE       0     0     0
 c9t0d0s0  ONLINE       0     0     0  1.47G resilvered

errors: No known data errors

bash-3.2$</pre>
<p>Oh, we should check the partitioning directly:</p>
<pre style="padding-left: 30px;">bash-3.2$ pfexec prtvtoc /dev/dsk/c9t0d0s0
* /dev/dsk/c9t0d0s0 partition map
*
* Dimensions:
*     512 bytes/sector
*     128 sectors/track
*      16 tracks/cylinder
*    2048 sectors/cylinder
*   21545 cylinders
*   21543 accessible cylinders
*
* Flags:
*   1: unmountable
*  10: read-only
*
* Unallocated space:
*       First     Sector    Last
*       Sector     Count    Sector
*           0      2048      2047
*
*                          First     Sector    Last
* Partition  Tag  Flags    Sector     Count    Sector  Mount Directory
 0      2    00       2048 312553472 312555519
 2      5    01          0 312555520 312555519
 8      1    01          0      2048      2047

bash-3.2$ pfexec prtvtoc /dev/dsk/c9t2d0s0
* /dev/dsk/c9t2d0s0 partition map
*
* Dimensions:
*     512 bytes/sector
*     128 sectors/track
*      16 tracks/cylinder
*    2048 sectors/cylinder
*   21545 cylinders
*   21543 accessible cylinders
*
* Flags:
*   1: unmountable
*  10: read-only
*
* Unallocated space:
*       First     Sector    Last
*       Sector     Count    Sector
*           0      2048      2047
*
*                          First     Sector    Last
* Partition  Tag  Flags    Sector     Count    Sector  Mount Directory
 0      2    00       2048 312553472 312555519
 2      5    01          0 312559616 312559615
 6      4    00       2048 312553472 312555519
 8      1    01          0      2048      2047
bash-3.2$</pre>
<p>I&#8217;m going to call this a success, for now.</p>
]]></content:encoded>
			<wfw:commentRss>http://dd-b.net/ddbcms/2010/02/replacing-a-solaris-efi-disk-label/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Server Upgrade Chronicles IV</title>
		<link>http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-iv/</link>
		<comments>http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-iv/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 04:18:11 +0000</pubDate>
		<dc:creator>dd-b</dc:creator>
				<category><![CDATA[Computer Software]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[server upgrade chronicles]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[ZFS]]></category>

		<guid isPermaLink="false">http://dd-b.net/?p=1108</guid>
		<description><![CDATA[I got the two new system disks attached to the root ZFS pool and resilvered, so right now I&#8217;m running a 4-disk mirror for my root!  And I just booted off the #1 new disk, meaning that the Grub installation as well as the mirroring worked, and that the new controller really does support booting.
Actually, [...]]]></description>
			<content:encoded><![CDATA[<p>I got the two new system disks attached to the root ZFS pool and resilvered, so right now I&#8217;m running a 4-disk mirror for my root!  And I just booted off the #1 new disk, meaning that the Grub installation as well as the mirroring worked, and that the new controller really does support booting.</p>
<p>Actually, most of the excitement was earlier. In playing around with the new disks, I&#8217;d made them into a ZFS pool using the whole disk.  This put EFI labels on the disks, which Solaris / ZFS don&#8217;t support in a root pool.  So then I had to somehow get the disks relabeled and the partitions redrawn.  This turns out to be a horrible process which is not documented anywhere. The blogosphere is full of pages saying how to do it, and none of them actually tell you much.  Okay, use format -e, that&#8217;s helpful.  But they never say what device file to use, and none of the obvious ones exist.  I <em>think</em> you can maybe use any device pointed at the right disk for part of it. Also, I had to create an S0 manually, and I&#8221;m not sure I did it ideally (doesn&#8217;t matter much, since these disks are 4 times as big as they need to be).</p>
<p>I&#8217;m deeply confused by Solaris disk labeling, going back to SunOS days; even then, I thought it was absurd,  fact suicidally idiotic, to describe regions of the disk used for different filesystems <em>which overlap</em>. Okay, you&#8217;re not supposed to use any two that overlap for filesystems, but nothing stops you. The whole setup is just baroque, weird, stupid. And then, on x86 hardware, this Solaris idiocy takes place within one real partition (although Solaris documentation tends to call their things partitions).</p>
<p>So, I had to find a way to overwrite EFI labels with SMI labels. Apparently the secret is to use &#8220;format -e&#8221;. None of the pages said anything about manually creating partitions (or gave any clues for what space you could use; I believe you have to leave space at the start for the boot stuff). Anyway, totally infuriating partial documentation, and then a large group of aficionados giving slightly variant documentation with slight differences, all of it missing the key points.</p>
<p>Did I mention that I&#8217;m annoyed?</p>
<p>So I&#8217;m going to chase this for a while, until I get it actually figured out, or until I go postal; whichever comes first.</p>
]]></content:encoded>
			<wfw:commentRss>http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-iv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Server Upgrade Chronicles III</title>
		<link>http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-iii/</link>
		<comments>http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-iii/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 04:42:00 +0000</pubDate>
		<dc:creator>dd-b</dc:creator>
				<category><![CDATA[Computer Software]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[fsfs]]></category>
		<category><![CDATA[server upgrade chronicles]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[ZFS]]></category>

		<guid isPermaLink="false">http://dd-b.net/?p=1106</guid>
		<description><![CDATA[Very briefly, since it&#8217;s late!
I&#8217;ve temporarily given up on getting incremental send/receive working. I&#8217;m liking my results with full backups, and have some reason to believe that the next OpenSolaris release will fix the bug I&#8217;m seeing, and can&#8217;t see how to proceed on that in the short term. With a third backup drive, having [...]]]></description>
			<content:encoded><![CDATA[<p>Very briefly, since it&#8217;s late!</p>
<p>I&#8217;ve temporarily given up on getting incremental send/receive working. I&#8217;m liking my results with full backups, and have some reason to believe that the next OpenSolaris release will fix the bug I&#8217;m seeing, and can&#8217;t see how to proceed on that in the short term. With a third backup drive, having just full backups isn&#8217;t so limiting, either.</p>
<p>I&#8217;ve got the 4x 2.5&#8243; adapter installed in the 5.25&#8243; bay, and the 8 port SATA controller hooked up to it, and two drives in it, and I&#8217;ve copied the system rpool to a new pool there called rp2. And am now looking at details of how to finish making that pool bootable, probably involving booting from a livecd to rename it among other things.</p>
<p>Weird problem with the SATA controller—the bracket on the end of the card doesn&#8217;t match the cutout in the case. I had to remove the bracket, leaving the card unsupported, which is clearly not viable in the long term with two sets of stiff cables attached to it (right now it&#8217;s supported with a bit of gaffer&#8217;s tape).</p>
<p>Haven&#8217;t looked into booting from the new controller, either; it&#8217;s possible I can&#8217;t, I suppose, but if so putting both boot disks on the old controller isn&#8217;t terribly painful, though it ruins my perfect plan to split every mirror pair across controllers.</p>
<p>There&#8217;s also a problem with the bottom left 2.5&#8243; tray, but I&#8217;m ignoring that for now since I only need two drives in the 2.5&#8243; bay to finish my upgrade.</p>
<p>Don&#8217;t know that it might not be better to install to the new drives from scratch, but there are issues duplicating the configuration down to UIDs and GIDs, which is necessary for the data pool to be accessible to the users when I import it.</p>
<p>Still, all the new hardware seems to be working, which is good.</p>
]]></content:encoded>
			<wfw:commentRss>http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-iii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disk Prices</title>
		<link>http://dd-b.net/ddbcms/2010/02/disk-prices/</link>
		<comments>http://dd-b.net/ddbcms/2010/02/disk-prices/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 18:13:51 +0000</pubDate>
		<dc:creator>dd-b</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[economics]]></category>
		<category><![CDATA[disk]]></category>
		<category><![CDATA[drive]]></category>
		<category><![CDATA[inflation]]></category>
		<category><![CDATA[living in the future]]></category>
		<category><![CDATA[old]]></category>
		<category><![CDATA[prices]]></category>

		<guid isPermaLink="false">http://dd-b.net/?p=1104</guid>
		<description><![CDATA[I happened to compute the price per byte for a disk drive I bought Tuesday.  Then it occurred to me to compute the price per byte of the first hard drive I ever bought.
Then it occurred to me to compute the ratio.
2,916,667
The price per byte of that first disk drive was very nearly three million [...]]]></description>
			<content:encoded><![CDATA[<p>I happened to compute the price per byte for a disk drive I bought Tuesday.  Then it occurred to me to compute the price per byte of the first hard drive I ever bought.</p>
<p>Then it occurred to me to compute the ratio.</p>
<h2><strong><strong>2<span>,</span>916,667</strong></strong></h2>
<p>The price per byte of that first disk drive was very nearly <em>three million times</em> higher.</p>
<p>Three.  Million.</p>
<p>That&#8217;s a lot.</p>
<p>I like living in the future.</p>
]]></content:encoded>
			<wfw:commentRss>http://dd-b.net/ddbcms/2010/02/disk-prices/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Server Upgrade Chronicles IIb</title>
		<link>http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-iib/</link>
		<comments>http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-iib/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 13:41:37 +0000</pubDate>
		<dc:creator>dd-b</dc:creator>
				<category><![CDATA[Computer Software]]></category>
		<category><![CDATA[Meta]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[fsfs]]></category>
		<category><![CDATA[server upgrade chronicles]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[ZFS]]></category>

		<guid isPermaLink="false">http://dd-b.net/?p=1097</guid>
		<description><![CDATA[Recreated wrack, the USB backup drive with the oldest data on it, using my updated scripts, and started a full backup, also with the updated scripts.  Was running fine when I went to bed.
Seems to be hung when I got up this morning, dammit.  System and pools are responsive, but there&#8217;s been no progress and [...]]]></description>
			<content:encoded><![CDATA[<p>Recreated wrack, the USB backup drive with the oldest data on it, using my updated scripts, and started a full backup, also with the updated scripts.  Was running fine when I went to bed.</p>
<p>Seems to be hung when I got up this morning, dammit.  System and pools are responsive, but there&#8217;s been no progress and no disk IO since I first checked when I got up. Haven&#8217;t tried to kill any processes yet; waiting to see if the zfs-discuss list has any data-gathering suggestions.</p>
<p>This older software version doesn&#8217;t support the -p option in zfs send, but that won&#8217;t be the cause of the hang; that will simply require me to recreate some key properties manually if I have to restore from backup.</p>
<p>ETA: My <a href="http://opensolaris.org/jive/thread.jspa?threadID=123407&amp;tstart=15" target="_blank">detailed report</a> on the zfs-discuss mailing list.</p>
<p>It&#8217;s sitting at the same spot after work, after sitting all day.  Offiicially hung.</p>
<p>I wonder what it will take to stop the backup and export the pool?  Well, that&#8217;s nice; a straight &#8220;kill&#8221; terminated the processes, at least.</p>
<p>zpool status shows no errors. zfs list shows backup filesystems mounted.</p>
<p>zpool export -f is running&#8230;no disk I/O now&#8230;starting to look hung.</p>
<p>Ah, the zfs receive process is still in the process table.  kill -9 doesn&#8217;t help.</p>
<p>Kill and kill -9 won&#8217;t touch the zpool export process, either.</p>
<p>Pulling the USB cable on the drive doesn&#8217;t seem to be helping any either.</p>
<p>zfs list now hangs, but giving it a little longer just in case.</p>
<p>Kill -9 doesn&#8217;t touch any of the hung jobs.</p>
<p>Closing the ssh sessions doesn&#8217;t touch any of them either.</p>
<p>zfs list on pools other than bup-wrack works. zpool list works, and shows bup-wrack.</p>
<p>Attempting to set failmode=continue gives an I/O error.</p>
<p>Plugging the USB back in and then setting failmode gives the same I/O error.</p>
<p>cfgadm -al lists known disk drives and usb3/9 as &#8220;usb-storage connected&#8221;. I think that&#8217;s the USB disk that&#8217;s stuck.</p>
<p>cfgadm -cremove usb3/9 failed &#8220;configuration operation not supported&#8221;.</p>
<p>cfgadm -cdisconnect usb3/9 queried if I wanted to suspend activity, then failed with &#8220;cannot issue devctl to ap_id: /devices/pci@0,0/pci10de,cb84@2,1:9&#8243;</p>
<p>Still -al the same.</p>
<p>cfgadm -cunconfigure same error as disconnect.</p>
<p>I was able to list properties on bup-wrack:</p>
<p><code>bash-3.2$ zpool get all bup-wrack<br />
NAME       PROPERTY       VALUE               SOURCE<br />
bup-wrack  size           928G                -<br />
bup-wrack  used           438G                -<br />
bup-wrack  available      490G                -<br />
bup-wrack  capacity       47%                 -<br />
bup-wrack  altroot        /backups/bup-wrack  local<br />
bup-wrack  health         UNAVAIL             -<br />
bup-wrack  guid           2209605264342513453  default<br />
bup-wrack  version        14                  default<br />
bup-wrack  bootfs         -                   default<br />
bup-wrack  delegation     on                  default<br />
bup-wrack  autoreplace    off                 default<br />
bup-wrack  cachefile      none                local<br />
bup-wrack  failmode       wait                default<br />
bup-wrack  listsnapshots  off                 default</code></p>
<p>It&#8217;s not healthy, alright. And the attempt to set failmode really did fail.</p>
<p>ETA: So I had to reboot.  However, that worked fine, and I recreated the pool, and I ran the same full backup script overnight, and it completed successfully.  Took 392:23, a bit over 6 hours, but it completed. (Something broke the ssh connection, but luckily I had run the backup under screen, so it just got detached and I could reconnect and see what happened. And it was making a log file, anyway.)</p>
<p>There&#8217;s a &#8216;cut&#8217; version error in some of my after-backup processing that I&#8217;ll need to fix.</p>
]]></content:encoded>
			<wfw:commentRss>http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-iib/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Server Upgrade Chronicles IIa</title>
		<link>http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-iia/</link>
		<comments>http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-iia/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 11:37:22 +0000</pubDate>
		<dc:creator>dd-b</dc:creator>
				<category><![CDATA[Computer Software]]></category>
		<category><![CDATA[Meta]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[upgrade]]></category>

		<guid isPermaLink="false">http://dd-b.net/?p=1089</guid>
		<description><![CDATA[Didn&#8217;t find any useful information.  Asked today online, and found t/3 of what I need at least, so I can revisit the install and upgrade tomorrow (got better things to do tonight). I need to resolve the uncertainties about update before considering doing it to the real server. Maybe I should just wait for the [...]]]></description>
			<content:encoded><![CDATA[<p>Didn&#8217;t find any useful information.  Asked today online, and found t/3 of what I need at least, so I can revisit the install and upgrade tomorrow (got better things to do tonight). I need to resolve the uncertainties about update before considering doing it to the real server. Maybe I should just wait for the next stable release, due in March and expected in April.</p>
<p>Meanwhile, yesterday the new SAS disk controller arrived. I&#8217;ve now got all the hardware to install into the box, and I can do that without changing anything associated with the current boot or data disks, so I probably will. Try things out on the new hardware and new disks, before cutting over.</p>
<p>Meanwhile, not sure why Wordpress is displaying the time in UTC.</p>
<p>ETA: Okay, install log is fairly clean.  There&#8217;s &#8220;device pciclass,030000@3(display#0) keeps up device sd@0,0(sd#0), but the latter is not power managed&#8221; and &#8220;/usr/lib/powerd: [ID387247 daemon.error] Able to open /dev/srn&#8221; and &#8220;SUNW_piclmemcfg init mc failed!&#8221;</p>
<p>Added Emacs.  Going to shutdown, snapshot, and start update from there.</p>
<p>ETA: On boot, several popup errors, and this in the logs:</p>
<pre>Feb  5 07:47:08 osol-play-002 nwamd[37]: [ID 116842 daemon.error] sysevent_bind_handle: Permission denied
Feb  5 07:47:11 osol-play-002 genunix: [ID 127566 kern.info] device pciclass,030000@2(display#0) keeps up device sd@0,0(sd#0), but the former is not power managed
Feb  5 07:47:11 osol-play-002 /usr/lib/power/powerd: [ID 387247 daemon.error] Able to open /dev/srn
Feb  5 07:48:53 osol-play-002 inetd[6089]: [ID 702911 daemon.error] Failed to update state of instance svc:/application/x11/xfs:default in repository: entity not found
Feb  5 07:48:53 osol-play-002 inetd[6089]: [ID 702911 daemon.error] Failed to get instance for svc:/application/x11/xfs:default
Feb  5 07:48:53 osol-play-002 inetd[6089]: [ID 702911 daemon.error] Failed to update state of instance svc:/application/x11/xfs:default in repository: No such file or directory
Feb  5 07:48:53 osol-play-002 inetd[6089]: [ID 702911 daemon.error] Failed to update state of instance svc:/application/x11/xfs:default in repository: entity not found
Feb  5 07:48:53 osol-play-002 inetd[6089]: [ID 702911 daemon.error] Failed to get instance for svc:/application/x11/xfs:default
Feb  5 07:48:53 osol-play-002 inetd[6089]: [ID 702911 daemon.error] Failed to update state of instance svc:/application/x11/xfs:default in repository: No such file or directory
Feb  5 07:49:01 osol-play-002 ip: [ID 224711 kern.warning] WARNING: Memory pressure: TCP defensive mode on
</pre>
<p>But, unlike the previous attempt, the system did boot. I halted and snapshotted it immediately after the boot.</p>
]]></content:encoded>
			<wfw:commentRss>http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-iia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Server Upgrade Chronicles II</title>
		<link>http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-ii/</link>
		<comments>http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-ii/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 03:52:14 +0000</pubDate>
		<dc:creator>dd-b</dc:creator>
				<category><![CDATA[Computer Software]]></category>
		<category><![CDATA[Meta]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[fsfs]]></category>
		<category><![CDATA[server upgrade chronicles]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[ZFS]]></category>

		<guid isPermaLink="false">http://dd-b.net/?p=1082</guid>
		<description><![CDATA[Good news in automatic email: a bug I filed is fixed in build 122. Now, it&#8217;s a duplicate of another bug that I apparently failed to find, and there&#8217;s been an easy workaround all this time (turns out it was a pointer problem in parsing file paths, triggered by not having a &#8220;/&#8221; at the [...]]]></description>
			<content:encoded><![CDATA[<p>Good news in automatic email: a bug I filed is fixed in build 122. Now, it&#8217;s a duplicate of another bug that I apparently failed to find, and there&#8217;s been an easy workaround all this time (turns out it was a pointer problem in parsing file paths, triggered by not having a &#8220;/&#8221; at the end of a directory path). This was apparently what was blocking my ability to do incremental backups with ZFS send/receive.</p>
<p>This makes software update key, not that it wasn&#8217;t already.</p>
<p>So I have had to re-install Virtualbox (because VMWare player won&#8217;t work with virtual machines on my network drive, whereas VirtualBox will), and reinstall Solaris. Then I will learn how to upgrade to various builds, because I&#8217;m ashamed to say I don&#8217;t know how except to &#8220;current&#8221;, which may not be the place to be.</p>
<p>Huh; almost looks like there isn&#8217;t a way.In future, I can update more often, and keep the old snapshots around. Though that doesn&#8217;t give any way to reinstall if what I really need is an old version.</p>
<p>I&#8217;m updating a virtual system, to test techniques and such. It&#8217;s downloading very slowly, equally slowly in bridged or NAT mode. So it&#8217;s not going to be done tonight, which means the testing will be delayed and the actual upgrade thus even more delayed. Well, things take time.</p>
<p>So far, knock on wood, nothing has gone terribly wrong.</p>
<p>ETA: The update (switching to the dev branch) completed overnight, with a number of errors. The new Boot Environment doesn&#8217;t come all the way up. No time to check more this morning.</p>
]]></content:encoded>
			<wfw:commentRss>http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Server Upgrade Chronicles I</title>
		<link>http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-i/</link>
		<comments>http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-i/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 17:18:30 +0000</pubDate>
		<dc:creator>dd-b</dc:creator>
				<category><![CDATA[Computer Software]]></category>
		<category><![CDATA[Meta]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Chenbro]]></category>
		<category><![CDATA[fsfs]]></category>
		<category><![CDATA[server upgrade chronicles]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[ZFS]]></category>

		<guid isPermaLink="false">http://dd-b.net/?p=1069</guid>
		<description><![CDATA[The home fileserver is getting an upgrade. It&#8217;s reaching 90% full on the current disks, which is really about as far as it&#8217;s good to go if you&#8217;re going to upgrade (ZFS balances the load better when you add an additional vdev  before the existing vdevs are too full).
Last night was step one (well, maybe [...]]]></description>
			<content:encoded><![CDATA[<p>The home fileserver is getting an upgrade. It&#8217;s reaching 90% full on the current disks, which is really about as far as it&#8217;s good to go if you&#8217;re going to upgrade (ZFS balances the load better when you add an additional vdev  before the existing vdevs are too full).</p>
<p>Last night was step one (well, maybe step 30; counting all the consideration and research and ordering steps). I installed the memory upgrade, taking it from 1GB to 3GB (and filling all available memory banks), and then upgraded the swap space.</p>
<p>For what I&#8217;m afraid will be the last time in this series, I can report that it went completely smoothly.  I remembered how to open the case (on this one, you release the tabs holding the front on at the top, tilt the faceplate down, and that gives you access to the screws holding the side panels), I didn&#8217;t break anything while vacuuming out the dust, I figured out which way the memory sticks went in, and they went right in).</p>
<h1>Background on This Server</h1>
<p>I think this hardware dates to August 2006. It&#8217;s running Solaris using the <a href="http://en.wikipedia.org/wiki/Zfs" target="_blank">ZFS filesystem</a> (which is why it&#8217;s running Solaris).  It&#8217;s named &#8220;fsfs&#8221;, because it&#8217;s my redundant fileserver (all the data disks are mirrored).</p>
<div class="wp-caption alignright" style="width: 304px"><a href="http://dd-b.net/dd-b/SnapshotAlbum/data/2006/08290-computers/ddb%2020060907%20010-001.jpg"><img src="http://dd-b.net/dd-b/SnapshotAlbum/data/2006/08290-computers/ddb%2020060907%20010-001.jpg" alt="Chenbro Case" width="294" height="197" /></a><p class="wp-caption-text">Chenbro case</p></div>
<p>The hardware is a Chenbro case, actually a 4u rackmount with 8 hot-swap bays, but I&#8217;m using it as a tower. It&#8217;s <em>very</em> deep, since the bays in front don&#8217;t overlap the motherboard at all. ASUS M2N-SLI Deluxe motherboard with AMD dual-core processor. That motherboard has 6 SATA ports, so I&#8217;m not currently using  two of the hot-swap bays.</p>
<p>Two of the bays are for the system disks (mirrored).  The other 4 constitute the data pool.  Currently this is two mirrored pairs of 400GB disks (two of them free from Sun, when they gave up on using anything that small in the Streaming lab).</p>
<p>While the processor is old, it&#8217;s marvelously adequate for what it&#8217;s called on to do; and the case was the expensive part. I don&#8217;t want to mess with it, and certainly don&#8217;t want to buy another hotswap unit at this level. So I&#8217;m upgrading this one.</p>
<h1>Upgrade Plan</h1>
<p>It&#8217;s getting new boot drives (2.5&#8243; disks in a new hot-swap bay; you can get a 4-drive 2.5&#8243; hot-swap bay that mounts in a standard 5.25&#8243; bay), a new disk controller to give me 8 more ports, and new boot disks (in the 2.5&#8243; bays, freeing two of the main 3.5&#8243; bays for data disks).</p>
<p>The current plan of operations goes like this:</p>
<ol>
<li>Upgrade memory (completed)</li>
<li>Update backups</li>
<li>Update software</li>
<li>Update backups</li>
<li>Install 2.5&#8243; hot-swap bay</li>
<li>Install new 2.5&#8243; boot drives</li>
<li>Install new controller</li>
<li>Install software (or transfer existing installation) to new drives</li>
<li>Remove old boot drives</li>
<li>Install a new pair of drives in the data pool</li>
<li>Update backups</li>
</ol>
<p>The new controller is to be the <a href="http://www.supermicro.com/products/accessories/addon/AOC-USAS-L8i.cfm" target="_blank">Supermicro UIO MegaRAID AOC-USAS-L8i</a>. This needs weird expensive cable sets, but with the right ones, it&#8217;ll drive 8 SATA drives from something that looks like a SCSI controller to the computer (it&#8217;ll also drive SAS drives, handle port expanders, and generally do a lot of stuff, and Solaris supposedly has good drivers for it). This will be my first experience with SAS; we&#8217;ll see how exciting that is.</p>
<p>You&#8217;ll notice I&#8217;ll end up with 12 hot-swap bays (4 2.5&#8243; and 8 3.5&#8243;). With 6 SATA ports on the motherboard, this means that I can split each mirrored pair across controllers, meaning that hardware failures and driver bugs can&#8217;t take out both sides of the mirror at once.  There are still plenty of other single points of failure, including power surges, higher level software bugs, user error, and so forth; that&#8217;s why we still need backups.</p>
<h1>ZFS</h1>
<p>ZFS is the &#8220;zettabyte filesystem&#8221;. It&#8217;s a combined volume manager and filesystem, engineered from scratch. And in fact it eliminates all sorts of annoyances, and adds some big features. It was created by a team at Sun Microsystems (now a division of Oracle)</p>
<p>For me, the three big features are:</p>
<ul>
<li>Pool expansion</li>
</ul>
<ul>
<li>Data checksum and scrub</li>
</ul>
<ul>
<li>Snapshots</li>
</ul>
<p>This server  holds my photo archive, including scans of very old stuff. While I may not look at it very often, I do care about it.  I have backups, and can restore if necessary, but a precondition to that is realizing it&#8217;s damaged. I could continue making backups and rotating them through storage and not notice a picture got corrupted for years, by which time the last backup that included it would be gone.</p>
<p>ZFS stores a checksum for every block. An operation called &#8220;scrubbing&#8221; goes through all the blocks and verifies them against their stored checksums. By doing this, I can discover early that something is damaged. If the damage is a disk error, the redundant copy on the mirror drive will be automatically used to fix the problem (if its checksum is correct). If there isn&#8217;t a valid copy of the data online it can at least tell me which file is bad, early enough that I should still have a valid backup.  This makes me feel <em>much</em> safer. I think it even makes my data really somewhat safer.</p>
<p>Snapshots are great for keeping the last month or so of changes easily accessible online. Furthermore, I use snapshots on the backup disks too, so on only two backup drives I actually keep several years worth of change history.</p>
<p>Pool expansion lets me add more space without recopying everything. I&#8217;ve chosen to use mirrored pairs instead of RAID-5-style parity schemes (RAIDZ, it would be in ZFS). It lets me upgrade disks in smaller chunks (because in addition to adding a vdev to a pool, I can also replace the drives in an existing vdev with larger drives, and have that space become available). I don&#8217;t expect to ever have more than 8 hot-swap slots (well, 8 for the big drives I&#8217;m using for data), so working in small units, pairs, gives me more flexibility.  I rather expect to stop at 6 data disks (3 pair) and put in a seventh &#8220;hot spare&#8221; that ZFS can immediately copy data to if something happens to one of the live disks. Using 4-disk RAIDZ vdevs, I would get a higher proportion of the drive space available for use, but I&#8217;d have no space for hot spares, and I&#8217;d have to replace disks in groups of 4, and I&#8217;d have less redundancy and hence more exposure to data loss (luckily I do keep backups).</p>
]]></content:encoded>
			<wfw:commentRss>http://dd-b.net/ddbcms/2010/02/server-upgrade-chronicles-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Absolute Power is Really Neat</title>
		<link>http://dd-b.net/ddbcms/2010/02/absolute-power-is-really-neat/</link>
		<comments>http://dd-b.net/ddbcms/2010/02/absolute-power-is-really-neat/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 21:15:26 +0000</pubDate>
		<dc:creator>dd-b</dc:creator>
				<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[corruption]]></category>
		<category><![CDATA[entitlement]]></category>
		<category><![CDATA[hypocrisy]]></category>
		<category><![CDATA[psychology]]></category>

		<guid isPermaLink="false">http://dd-b.net/?p=1067</guid>
		<description><![CDATA[The Economist strikes again:
If Dr Lammers and Dr Galinsky are right, the sense which some powerful people seem to have that different rules apply to them is not just a convenient smoke screen. They genuinely believe it.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.economist.com/sciencetechnology/displayStory.cfm?story_id=15328544" target="_blank">The Economist</a> strikes again:</p>
<blockquote><p>If Dr Lammers and Dr Galinsky are right, the sense which some powerful people seem to have that different rules apply to them is not just a convenient smoke screen. They genuinely believe it.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://dd-b.net/ddbcms/2010/02/absolute-power-is-really-neat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
