I've got a small home fileserver, Chenowith case with 8 hot-swap bays. Of course, at this level, I don't have cute little lights next to each drive that the OS knows about and can control to indicate things to me.

The configuration I think I have is three mirror pairs. I've got motherboard SATA connections, and an add-in SAS card with SAS-to-SATA cabling (all drives are SATA), and I've tried to wire it so each mirror is split across the two controllers. However -- the old disks were already a pool before. So if I put them in the "wrong" physical slots, when I imported the pool it would have still found them. So I could have the disks in slots that aren't what I expected, without knowing it.

I'm planning to upgrade the first mirror by attaching new, larger, drives, letting the resilver finish, and eventually detaching the old drives. I just installed the first new drive, located what controller it was on, and typed an attach command that did what I wanted:

bash-4.0$ zpool status zp1
  pool: zp1
 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 0h4m, 3.13% done, 2h5m to go
config:

        NAME        STATE     READ WRITE CKSUM
        zp1         ONLINE       0     0     0
          mirror-0  ONLINE       0     0     0
            c9t3d0  ONLINE       0     0     0
            c5t1d0  ONLINE       0     0     0
            c9t5d0  ONLINE       0     0     0  14.0G resilvered
          mirror-1  ONLINE       0     0     0
            c9t4d0  ONLINE       0     0     0
            c6t1d0  ONLINE       0     0     0
          mirror-2  ONLINE       0     0     0
            c9t2d0  ONLINE       0     0     0
            c5t0d0  ONLINE       0     0     0

errors: No known data errors

As you can see, the new drive being resilvered is in fact associated with the first mirror, as I had intended. (The old drives in the first mirror are older than in the second two, and all three are the same size, so that's definitely the one to replace first.)

HOWEVER...the activity lights on the drives aren't doing what I expect. The activity light on the new drive is on pretty solidly (that I expected), but the OTHER activity puzzles me. (User activity is so close to nil that I'm quite confident that's not confusing me; 95% + of the access right now is the resilver. Besides, usage could light up other drives, but it couldn't turn off the lights on the ones being resilvered.)

At first, I saw the second drive in the rack light up. I believe that to be c5t1d0, the second disk in mirror-0, and it's the drive I specified for the old drive in the attach command.

However, soon I started seeing the fourth drive in the rack light up. I believe that to be c6t1d0; part of mirror-1, and thus having no place in this resilver. It remained active. And after a while, the second drive activity light went off. For some minutes now, I've been seeing activity ONLY on the new drive, and on drive 4 (the one I don't think is part of mirror 0).

The activity lights aren't connected by separate cables, so I don't see how I could have them hooked up differently from the disks.

It's clear from zpool status that I have attached the new drive to the right mirror. So things are fine for now, I can let the resilver run to completion. I can detach one of the old drives fine, because that's done with logical names, and those are shown in zpool status, so I have no doubt which logical names are the old drives in mirror 0.

However, eventually it will be time to physically remove the old drives. If I remove only one at a time, I "shouldn't" cause a disaster even if I pull the wrong one, and I can tell by checking spool status right away whether I pulled the right or wrong one. But this gets me into what I regard as risky territory -- if I pull a live drive, I'm going to suddenly need to know the commands needed to reattach it. Can somebody point me at clear examples of that (or post them)?

I just found zpool iostat -v; now that I'm seeing traffic on the individual drives in the pool, it's clearly reading from both the old drives, and writing to the new drive, exactly as expected. But only one activity light is lit on any of the old drives.

Is there a clever way to figure out which drive is which? And if I have to fall back on removing a drive I think is right, and seeing if that's true, what admin actions will I have to perform to get the pool back to safety? (I've got backups, but it's a pain to restore of course.) (Hmmm; in single-user mode, use dd to read huge chunks of one disk, and see which lights come on? Do I even need to be in single-user mode to do that?)
--
David Dyer-Bennet, d...@dd-b.net; http://dd-b.net/
Snapshots: http://dd-b.net/dd-b/SnapshotAlbum/data/
Photos: http://dd-b.net/photography/gallery/
Dragaera: http://dragaera.info
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to