1

There is a ZFS pool with raidz1 in it. The pool is created on top of three 2TB drives using the whole disk and a 2TB partition on a 3TB drive.

What is the recommended process to reconfigure the pool to use the whole 3TB disk instead of the partition?

I read a lot the zfs manual (man zpool) but I'm not sure which commands should be used: attach/detach or online/offline and the pool shold be exported or not.

Because the the array is almost full of data, I don't like the idea to just stab in the dark and play with it.

Also, I ran zpool scrub multiple times and it finished without errors.

3
  • You wouldn’t be able to utilize the space either way. In RAID arrays, the smallest member determines the usable array size. This is true even for software RAID.
    – Daniel B
    Commented May 6, 2014 at 11:58
  • @DanielB Yes, I know. Later I can replace the 2TB disks too, but that is a simple task.
    – EdgarPE
    Commented May 6, 2014 at 14:52
  • I see. Well, the procedure isn’t that complex, I’ll write an answer later. You are aware, however, that this will result in a resilver, right?
    – Daniel B
    Commented May 6, 2014 at 15:03

2 Answers 2

2

I managed to solve the problem. Actually it is not that hard. Here are the steps:

  1. Do a complete scrub on the pool zpool scrub POOL
  2. Make the disk partition offline with zpool offline POOL PARTITIN
  3. Check the status with zpool status POOL, it should be in a degraded but working status.
  4. Here is the tricky part. You have to make zpool to forget that that partition ever was in that pool. I simply used dd to overwrite a few Mb-s on beginning of the disk, like this: dd if=/dev/urandom of=DISK bs=1M count=10
  5. The last step is to use the replace command like this: zpool replace POOL OLD-PARTITION NEW-WHOLE-DISK
  6. The previous step will initiate a resilvering of course. After that was finished I made another scrub just to be sure :)
-1

Just run zpool replace POOL OLD-PARTITION NEW-WHOLE-DISK. There is no need to put your array in a jeopardy by removing (logically or physically) a device.

Now even Microsoft Storage Spaces dropping the idea of intentionally endangering the data, putting array into a degraded state.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .