From nobody Sat Sep 17 21:47:12 2022 X-Original-To: freebsd-fs@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4MVPg16j0vz4cZhH for ; Sat, 17 Sep 2022 21:47:25 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-qt1-f172.google.com (mail-qt1-f172.google.com [209.85.160.172]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4MVPg10lQZz45wq for ; Sat, 17 Sep 2022 21:47:25 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-qt1-f172.google.com with SMTP id y2so18370731qtv.5 for ; Sat, 17 Sep 2022 14:47:25 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date; bh=NDXyAUV77LvNCTJ+WJlo7L1c2tQESvFESt/GncBEs/w=; b=xnG2LUZ49tfHE+F3R5SI71qOzJHAIpl3EdAnllLaJm3dy0QKCQSqGLWe3mYPZohEbB E+iAAROazFnQbVjxDnVwK2L7qMH3WK1/PXjWEOy1qQcwzP7FlNY3PIIKgnRV8J8bAkis 3IWNqG1IOOXEwOlloEj0cOuVw+ptvXOJA+oxcKYlOvntxN7MsAfFsKB1QNaRY94uK+/+ qtQjj9PWhPp/A9cnIkjmF8tnSBNWaEABhE6FZkSNMR2k1bXy73td8wbr+XeEIeI2X0nt 7ufepbCYo1N4duJ4BMXT5469GCDoekq39ZK5pHREx77B1qBadIDoxZgytCOFB9eitnyn XUhw== X-Gm-Message-State: ACrzQf1b3pW9/5JLFMy0Qy25c8+TSC5xCaz3thjKaVnxcgp8STIQk38W L1VZOy9nCznKSknerq0xlCMdYQ7RS+lnbTvDBfbfZC4i X-Google-Smtp-Source: AMsMyM4/jrpC3rMSvpkMfmUFU6JlFDVipxQYSvsdZLEpDuPXGXYdNLJDYD6YRsPniiymxGWn8FQGptFUuipqwU3f5kA= X-Received: by 2002:ac8:59c4:0:b0:35c:c83b:a202 with SMTP id f4-20020ac859c4000000b0035cc83ba202mr9434636qtf.575.1663451244132; Sat, 17 Sep 2022 14:47:24 -0700 (PDT) List-Id: Filesystems List-Archive: https://lists.freebsd.org/archives/freebsd-fs List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-fs@freebsd.org MIME-Version: 1.0 References: In-Reply-To: From: Alan Somers Date: Sat, 17 Sep 2022 15:47:12 -0600 Message-ID: Subject: Re: Need help with live system expansion (zfs+geli) To: milky india Cc: freebsd-fs Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 4MVPg10lQZz45wq X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of asomers@gmail.com designates 209.85.160.172 as permitted sender) smtp.mailfrom=asomers@gmail.com X-Spamd-Result: default: False [-3.00 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-0.998]; NEURAL_HAM_MEDIUM(-1.00)[-0.998]; FORGED_SENDER(0.30)[asomers@freebsd.org,asomers@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; MIME_GOOD(-0.10)[text/plain]; MLMMJ_DEST(0.00)[freebsd-fs@freebsd.org]; FROM_NEQ_ENVFROM(0.00)[asomers@freebsd.org,asomers@gmail.com]; FREEMAIL_TO(0.00)[gmail.com]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; R_DKIM_NA(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.160.172:from]; RCVD_IN_DNSWL_NONE(0.00)[209.85.160.172:from]; ARC_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; RCVD_TLS_LAST(0.00)[]; FROM_HAS_DN(0.00)[]; FREEFALL_USER(0.00)[asomers]; RCPT_COUNT_TWO(0.00)[2]; PREVIOUSLY_DELIVERED(0.00)[freebsd-fs@freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DMARC_NA(0.00)[freebsd.org]; TO_DN_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-ThisMailContainsUnwantedMimeParts: N On Sat, Sep 17, 2022 at 3:20 PM milky india wrote: > > > > On Sun, Sep 18, 2022 at 12:58 AM Alan Somers wrote: >> >> On Sat, Sep 17, 2022 at 2:49 PM milky india wrote= : >> > >> > >> > >> > On Sun, Sep 18, 2022 at 12:44 AM Alan Somers wro= te: >> >> >> >> On Sat, Sep 17, 2022 at 2:42 PM milky india wr= ote: >> >> > >> >> > >> >> > >> >> > On Sun, Sep 18, 2022 at 12:30 AM Alan Somers = wrote: >> >> >> >> >> >> On Sat, Sep 17, 2022 at 2:25 PM milky india = wrote: >> >> >> > >> >> >> > >> >> >> > >> >> >> > On Sun, Sep 18, 2022 at 12:20 AM Alan Somers wrote: >> >> >> >> >> >> >> >> On Sat, Sep 17, 2022 at 2:03 PM milky india wrote: >> >> >> >> > >> >> >> >> > >> >> >> >> > >> >> >> >> > On Sat, Sep 17, 2022 at 10:58 PM Alan Somers wrote: >> >> >> >> >> >> >> >> >> >> On Sat, Sep 17, 2022 at 12:52 PM milky india wrote: >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > >> >> >> >> >> > On Sat, Sep 17, 2022 at 10:43 PM Alan Somers wrote: >> >> >> >> >> >> >> >> >> >> >> >> On Sat, Sep 17, 2022 at 12:31 PM milky india 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 spe= cifically warned against using "geli resize" since it may not work as expec= ted https://forums.FreeBSD.org/threads/how-to-extend-zfs-geli-encrypted-dis= k-space-not-showing.86447/post-581642 >> >> >> >> >> >> > Is this advise wrong? >> >> >> >> >> >> > > "The geli has autoresize flag which will handle the n= ew 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 t= his - 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 wrote: >> >> >> >> >> >> >> >> >> >> >> >> top-posting is where you insert your reply above the prev= ious email. >> >> >> >> >> >> Bottom posting is where you insert your reply below it, l= ike I'm >> >> >> >> >> >> doing. The forum user said that you shouldn't need to ru= n "geli >> >> >> >> >> >> resize" because the AUTORESIZE flag is on. But as you ca= n 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 c= ase you make >> >> >> >> >> >> a mistake. >> >> >> >> >> > >> >> >> >> >> > Thanks - I hope I am bottom posting this as was expected o= f me. >> >> >> >> >> > >> >> >> >> >> > So if I understand correctly the AUTORESIZE flag is presen= t for adaop2 and NOT for adap3 (which is the partition we are concerned abo= ut) - 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 g= eli 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 i= t isn't >> >> >> >> >> strictly necessary. >> >> >> >> >> >> >> >> >> >> > >> >> >> >> >> > I suppose at the end of it - if this works - "geli list" w= ould 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 nothi= ng >> >> >> >> 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) th= en "nothing happens" - I would imagine if I put in a size less than the cur= rent size then possibly the data after that get's lost? Or if I put in a si= ze 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 syste= m 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 thu= s >> >> >> won't be able to do anything. It won't destroy any data, and it w= ill >> >> >> always automatically determine the size of the current provider. = Of >> >> >> course, if you're worried about losing data, you should always sav= e a >> >> >> copy of /var/backups/ada0p3.eli, as I suggested. >> >> >> -Alan >> >> > >> >> > >> >> > >The purpose of the "-s" argument is to tell geli where to find th= e 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 th= us >> >> > > 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 "Media= size" output for p3 from "geli list" is what the s value should be - but no= t very sure : >> >> > -------------------------------------------------------------------= ----------------------- >> >> > Additional options include: >> >> > >> >> > -s oldsize The size of the provider befo= re it was resized. >> >> > -------------------------------------------------------------------= ----------------------------- >> >> >> >> Yes, that's right. geli needs to know the old size of the provider i= n >> >> order to find the provider's old label. >> > >> > >> > Thanks for acknowledging. I tried to do this using the s value from ge= li 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 :( Like I said, you probably need to run "gpart resize" after "geli configure"= .