Expanding ZFS mirror

I’m looking to expand my zpool size on my laptop. I have 2 x 500GB SSDs, mirrored:

        rpool                                                                                 ONLINE       0     0     0
          mirror-0                                                                          ONLINE       0     0     0
            ata-Samsung_SSD_860_EVO_500GB_920A-part2  ONLINE       0     0     0
            ata-Samsung_SSD_870_EVO_500GB_413A-part2  ONLINE       0     0     0

I’ve enabled the autoexpand “flag?”

$ zpool get autoexpand rpool
NAME   PROPERTY    VALUE   SOURCE
rpool    autoexpand  on          local

Am I correct in thinking I replace one of my 500GB disks with the 1TB, wait for it to resilver, and then repeat the process with the other disk? And when both resilvers are done I will have a 1TB mirror identical to the 500GB mirror I have going right now.
Just wondering if I’m missing anything small/stupid to avoid pulling hair out later over something stupid

Thanks

2 Likes

Your thinking is correct, I’ve upgraded from 8TB to 14TB drives that same way although I detached the drive first.

1 Like

No, this is how it works. But you can also just keep the 500GB drives and just add the 2x1TB as a mirror and get 1.5TB pool. If you got the ports/slots.

if autoexpand=on is activated, zed (zfs event daemon) should upgrade the capacity shortly after the second resilver is done.

Thanks for the replies, much appreciated!
It would have been cool to keep the 500GB’ers but my laptop has no additional ports/slots

That’s okay though, I’ll just put the 500GB mirrors in a safe place somewhere, with the hopes of never having to use them; no such thing at too many backups :sweat_smile:

Edit: Do I need to format the new disks in any type of way? Or will zfs transparently do all the work behind the scenes? Haven’t plugged them in or done anything yet

ZFS should do it automatically, if not that is what the force flag is for.

@cowspace do not be surprise if those 500GB are not powered on at least once a month, the information on those drive will be subjected to bit rot.

That’s why we love ZFS. If something flips, we got checksum and redundant copy waiting during a scrub to restore the flipped block back to former glory.

I’d scrub everything that was cold storage for >2-4 weeks.

1 Like

Sweet! This was a success, however, my old disks I had partitioned manually and had a 128M (I think) EFI partition where I stored ZFSBootMenu
This time I let zfs have its way with the entire disk, and it’s done the following:

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 931.5G  0 disk 
├─sda1   8:1    0 931.5G  0 part 
└─sda9   8:9    0     8M  0 part 
sdb      8:16   0 931.5G  0 disk 
├─sdb1   8:17   0 931.5G  0 part 
└─sdb9   8:25   0     8M  0 part

Where should I install my bootloader

You can give ZFS partitions too. ZFS eats all block devices. If you need a separate partition for EFI and stuff, make those partitions and give ZFS the rest. All distros like TrueNAS, Proxmox and Ubuntu use partitions. My e.g. laptop Ubuntu (23.10) rpool is /dev/nvme0n1p4 partition.

Thanks for response, this may sound like a stupid question, but how can I do so after the fact? I didn’t create any partitions, and just fed zfs /dev/disk/by-id/ata-samsung-uniqueid
Last time I instructed it ata-samsung-uniqueid-part2
I guess what I’m asking is, do I need to recreate this for both my mirrors to be in sync? It would be nice if I could just resize the 931.5G zfs partition it created and have 128M leftover where it left 8M on both disks
The way I’m booting now depends on an external usb with ZBM installed to it

Damn, once a month!? I honestly didn’t think of this.
Being that my laptop (EliteBook 8470p) only has 2 SATA ports, how would I go about scrubbing the 2 disks that I replaced?
I can connect one via USB<->SATA but that still leaves one out. Any ideas off top of head?

@cowspace It has been my experience, when external hard drives have been in cold storage (not powered up) more than one month, when you go to use it some files may be missing.

I have only a very intermediate understanding of ZFS. As I understand how ZFS works when you scrub your pool’s, you don’t need any extra disks. I could be wrong.

Jeez. I’ve had drives in a cupboard for Years and be fine…

Jdec says 2 years, unless you cook the drives

But, does not specify the tests drives mlc/TLC/qlc

1 Like

Does this mean I can scrub them one at a time? Without the mirror drive attached?