Re: Need help with live system expansion (zfs+geli)
Date: Sat, 17 Sep 2022 21:20:40 UTC
On Sun, Sep 18, 2022 at 12:58 AM Alan Somers <asomers@freebsd.org> wrote: > On Sat, Sep 17, 2022 at 2:49 PM milky india <milkyindia@gmail.com> wrote: > > > > > > > > On Sun, Sep 18, 2022 at 12:44 AM Alan Somers <asomers@freebsd.org> > wrote: > >> > >> On Sat, Sep 17, 2022 at 2:42 PM milky india <milkyindia@gmail.com> > wrote: > >> > > >> > > >> > > >> > On Sun, Sep 18, 2022 at 12:30 AM Alan Somers <asomers@freebsd.org> > wrote: > >> >> > >> >> On Sat, Sep 17, 2022 at 2:25 PM milky india <milkyindia@gmail.com> > wrote: > >> >> > > >> >> > > >> >> > > >> >> > On Sun, Sep 18, 2022 at 12:20 AM Alan Somers <asomers@freebsd.org> > wrote: > >> >> >> > >> >> >> On Sat, Sep 17, 2022 at 2:03 PM milky india <milkyindia@gmail.com> > wrote: > >> >> >> > > >> >> >> > > >> >> >> > > >> >> >> > On Sat, Sep 17, 2022 at 10:58 PM Alan Somers < > asomers@freebsd.org> wrote: > >> >> >> >> > >> >> >> >> On Sat, Sep 17, 2022 at 12:52 PM milky india < > milkyindia@gmail.com> wrote: > >> >> >> >> > > >> >> >> >> > > >> >> >> >> > > >> >> >> >> > On Sat, Sep 17, 2022 at 10:43 PM Alan Somers < > asomers@freebsd.org> wrote: > >> >> >> >> >> > >> >> >> >> >> On Sat, Sep 17, 2022 at 12:31 PM milky india < > milkyindia@gmail.com> wrote: > >> >> >> >> >> > > >> >> >> >> >> > Sorry about that, again - I'm not sure what you mean by > bottom-post vs top-post. > >> >> >> >> >> > > >> >> >> >> >> > Be that as it may - I read the geli man page. I was > specifically warned against using "geli resize" since it may not work as > expected > https://forums.FreeBSD.org/threads/how-to-extend-zfs-geli-encrypted-disk-space-not-showing.86447/post-581642 > >> >> >> >> >> > Is this advise wrong? > >> >> >> >> >> > > "The geli has autoresize flag which will handle the new > provider size after gpart resize command." > >> >> >> >> >> > followed by > >> >> >> >> >> > > You are right, no geli resize needed. > >> >> >> >> >> > > >> >> >> >> >> > What would be the correct sequence of commands to fix > this - Simply "geli resize" ? (the -s option seems to be additional, will > it figure it out without providing s?) > >> >> >> >> >> > > >> >> >> >> >> > On Sat, Sep 17, 2022 at 10:20 PM Alan Somers < > asomers@freebsd.org> wrote: > >> >> >> >> >> > >> >> >> >> >> top-posting is where you insert your reply above the > previous email. > >> >> >> >> >> Bottom posting is where you insert your reply below it, > like I'm > >> >> >> >> >> doing. The forum user said that you shouldn't need to run > "geli > >> >> >> >> >> resize" because the AUTORESIZE flag is on. But as you can > see from > >> >> >> >> >> your "geli list" output, it's actually off. So you need to > run "geli > >> >> >> >> >> resize". The "-s" flag should be unnecessary since your > provider is > >> >> >> >> >> already online. At any rate, you can try it both ways. > You might > >> >> >> >> >> want to make a copy of /var/backups/ada0p3.eli, just in > case you make > >> >> >> >> >> a mistake. > >> >> >> >> > > >> >> >> >> > Thanks - I hope I am bottom posting this as was expected of > me. > >> >> >> >> > > >> >> >> >> > So if I understand correctly the AUTORESIZE flag is present > for adaop2 and NOT for adap3 (which is the partition we are concerned > about) - hence the advice given to not use "geli resize" isn't applicable > here. Am I understanding this correctly? > >> >> >> >> > >> >> >> >> Yes > >> >> >> >> > >> >> >> >> > > >> >> >> >> > > So you need to run "geli resize" > >> >> >> >> > Is this the only command that I need to run to resize my > geli partition? > >> >> >> >> > >> >> >> >> Yes > >> >> >> >> > >> >> >> >> > > >> >> >> >> > > The "-s" flag should be unnecessary since your provider is > >> >> >> >> > already online. > >> >> >> >> > Ok thanks. > >> >> >> >> > > >> >> >> >> > >You might want to make a copy of /var/backups/ada0p3.eli, > just in case you make a mistake. > >> >> >> >> > Don't have the luxury of backup currently. > >> >> >> >> > >> >> >> >> Um, ok. I can't guess why you aren't able to do that, but it > isn't > >> >> >> >> strictly necessary. > >> >> >> >> > >> >> >> >> > > >> >> >> >> > I suppose at the end of it - if this works - "geli list" > would reflect the size to be 458G? (vs 290G currently) > >> >> >> >> > And that's the output I can trust to have solved the issue - > or is there more to it? > >> >> >> >> > >> >> >> >> Yes. > >> >> >> > > >> >> >> > > The "-s" flag should be unnecessary since your provider is > already online. > >> >> >> > When I try to run "geli resize /dev/ada0p3.eli" it complains. > So I guess options s is must ? If yes - do I need to put in the exact size > down to bytes from the output of geli list ? Under "Mediasize" ? > >> >> >> > --------------------------------------- > >> >> >> > geli: Option 's' not specified. > >> >> >> > ---------------------------------------- > >> >> >> > >> >> >> Dude, it's easier just to try it, than to ask us. Go for it. The > >> >> >> worst case scenario if you get the argument wrong is that nothing > >> >> >> happens. > >> >> > > >> >> > > >> >> > > The worst case scenario if you get the argument wrong is that > nothing happens. > >> >> > I'm not very sure if I put in the wrong value of s (old size) then > "nothing happens" - I would imagine if I put in a size less than the > current size then possibly the data after that get's lost? Or if I put in a > size greater than the current size then there is a gap in the geli > partition? > >> >> > I sense some frustration in your reply - but I'm on a live system > and wouldn't want to possibly risk it going kaput at this last step. That's > the reason I'm trying to understand what is the best value of s for geli > resize and how to obtain it. > >> >> > >> >> The purpose of the "-s" argument is to tell geli where to find the > old > >> >> label, if the provider isn't already attached. If you supply the > >> >> wrong argument, then geli won't be able to find the label, and thus > >> >> won't be able to do anything. It won't destroy any data, and it will > >> >> always automatically determine the size of the current provider. Of > >> >> course, if you're worried about losing data, you should always save a > >> >> copy of /var/backups/ada0p3.eli, as I suggested. > >> >> -Alan > >> > > >> > > >> > >The purpose of the "-s" argument is to tell geli where to find the > old > >> > > label, if the provider isn't already attached. If you supply the > >> > > wrong argument, then geli won't be able to find the label, and thus > >> > > won't be able to do anything. > >> > > >> > I think you're confusing the -s argument with something else - the > man page says it's for the old size - that's why I was trying to figure it > out and still haven't been able to quite yet. Although I suspect the > "Mediasize" output for p3 from "geli list" is what the s value should be - > but not very sure : > >> > > ------------------------------------------------------------------------------------------ > >> > Additional options include: > >> > > >> > -s oldsize The size of the provider before > it was resized. > >> > > ------------------------------------------------------------------------------------------------ > >> > >> Yes, that's right. geli needs to know the old size of the provider in > >> order to find the provider's old label. > > > > > > Thanks for acknowledging. I tried to do this using the s value from geli > list - it won't let me even do it as sudo : > > Getting a bit scared now. Should I not be writing `.eli` part? > > ----------------------------------------------------------------- > > sudo geli resize -s 311481593856 /dev/ada0p3.eli > > Password: > > geli: Cannot open /dev/ada0p3.eli: Operation not permitted. > > sudo geli resize -s 311481593856 ada0p3.eli > > geli: Cannot open ada0p3.eli: Operation not permitted. > > > --------------------------------------------------------------------------- > > Yes, you normally would not write the ".eli", because "geli resize" is > normally used when geli is not attached. But it seems like you're > currently booted from this device, right? In that case, detaching it > isn't an easy option for you. If you like, you could try automatic > expansion instead. First enable it. If it doesn't automatically > expand when you enable that option, then you may have to "gpart > resize" again. You can enable it with "geli configure -r > /dev/ada0p3". > >Yes, you normally would not write the ".eli", because "geli resize" is > normally used when geli is not attached.But it seems like you're > currently booted from this device, right? Yes - on a live system. > You can enable it with "geli configure -r /dev/ada0p3". Seems to have run without any output : ---------------------------------- geli configure -r /dev/ada0p3 -------------------------------------------- But geli list output hasn't changed apparently ---------------------------------------------------- geli list Geom name: ada0p3.eli State: ACTIVE EncryptionAlgorithm: AES-XTS KeyLength: 256 Crypto: accelerated software Version: 7 UsedKey: 0 Flags: BOOT, GELIBOOT KeysAllocated: 73 KeysTotal: 73 Providers: 1. Name: ada0p3.eli Mediasize: 311481593856 (290G) Sectorsize: 4096 Mode: r1w1e1 Consumers: 1. Name: ada0p3 Mediasize: 491516858368 (458G) Sectorsize: 512 Stripesize: 0 Stripeoffset: 8590983168 Mode: r1w1e1 Geom name: ada0p2.eli -------------------------------------------------------------------- Is it supposed to show up after a restart? Or did it just not work? I'm just so lost now - hoping I can even restart the machine and data isn't lost/corrupted :(